LaGO. Ivo Nowak and Stefan Vigerske. Humboldt-University Berlin, Department of Mathematics

Similar documents
LaGO - A solver for mixed integer nonlinear programming

The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

Advanced Use of GAMS Solver Links

The AIMMS Outer Approximation Algorithm for MINLP

The AIMMS Outer Approximation Algorithm for MINLP

Fundamentals of Integer Programming

GAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods

An extended supporting hyperplane algorithm for convex MINLP problems

Comparison of Some High-Performance MINLP Solvers

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

On the Global Solution of Linear Programs with Linear Complementarity Constraints

The MIP-Solving-Framework SCIP

LECTURE NOTES Non-Linear Programming

A Center-Cut Algorithm for Quickly Obtaining Feasible Solutions and Solving Convex MINLP Problems

The Branch-and-Sandwich Algorithm for Mixed-Integer Nonlinear Bilevel Problems

Integer Programming Chapter 9

A Nonlinear Presolve Algorithm in AIMMS

Parallel Branch & Bound

Solving the Euclidean Steiner Tree Problem in n-space

An extended supporting hyperplane algorithm for convex MINLP problems

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Standard dimension optimization of steel frames

Bilinear Modeling Solution Approach for Fixed Charged Network Flow Problems (Draft)

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

MINLP applications, part II: Water Network Design and some applications of black-box optimization

Recent Enhancement in GAMS. GAMS Software GmbH GAMS Development Corp.

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

Integer and Combinatorial Optimization

The Efficient Modelling of Steam Utility Systems

Marcia Fampa Universidade Federal do Rio de Janeiro Rio de Janeiro, RJ, Brazil

Exact solutions to mixed-integer linear programming problems

A New Multistart Algorithm. Marcel Hunting AIMMS Optimization Specialist

Machine Learning for Software Engineering

Algorithms for Decision Support. Integer linear programming models

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

3 INTEGER LINEAR PROGRAMMING

Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2

Methods to improve computing times in linear energy system optimization models

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

Benders in a nutshell Matteo Fischetti, University of Padova

SBB: A New Solver for Mixed Integer Nonlinear Programming

control polytope. These points are manipulated by a descent method to compute a candidate global minimizer. The second method is described in Section

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

Welcome to the Webinar. What s New in Gurobi 7.5

An MILP Model for Short Term Scheduling. of a Special Class of Multipurpose Batch Plants

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

TIM 206 Lecture Notes Integer Programming

Research Interests Optimization:

Safe Dike Heights At Minimal Costs: The Nonhomogeneous Case

Selected Topics in Column Generation

Capabilities and limits of CP in Global Optimization

Automated 2223 Performance Analysis in the Evaluation of Nonlinear Programming Solvers

The SCIP Optimization Suite 3.2

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

Crash-Starting the Simplex Method

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

The Gurobi Optimizer. Bob Bixby

Learning a classification of Mixed-Integer Quadratic Programming problems

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Convex Optimization and Machine Learning

Recent enhancements in. GAMS Software GmbH GAMS Development Corporation

Global Solution of Mixed-Integer Dynamic Optimization Problems

Exploiting Degeneracy in MIP

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

Recursive column generation for the Tactical Berth Allocation Problem

DETERMINISTIC OPERATIONS RESEARCH

Primal Heuristics in SCIP

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

B553 Lecture 12: Global Optimization

Best practices for using the multistart algorithm in AIMMS. Marcel Hunting AIMMS Optimization Specialist

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

Lagrangean Methods bounding through penalty adjustment


Bilinear Programming

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Combinatorial Auctions: A Survey by de Vries and Vohra

Noncommercial Software for Mixed-Integer Linear Programming

Mixed Integer Nonlinear Programming Applied To Dike Height Optimization

RENS. The optimal rounding. Timo Berthold

The Gurobi Solver V1.0

5.3 Cutting plane methods and Gomory fractional cuts

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

Solution Methods Numerical Algorithms

A robust optimization based approach to the general solution of mp-milp problems

Modern Benders (in a nutshell)

The Size Robust Multiple Knapsack Problem

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition

Minimum Weight Constrained Forest Problems. Problem Definition

Mixed Integer Programming Class Library (MIPCL)

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

Gurobi Guidelines for Numerical Issues February 2017

Transcription:

LaGO a Branch and Cut framework for nonconvex MINLPs Ivo Nowak and Humboldt-University Berlin, Department of Mathematics EURO XXI, July 5, 2006 21st European Conference on Operational Research, Reykjavik

Lagrangian Global Optimizer General purpose solver for sparse, block-separable, nonconvex MINLPs History: 2000 Development started by Ivo Nowak as a solver for nonconvex MIQQPs based on Lagrangian decomposition and semidenite relaxation 2001-2004 Project funded by German Science Foundation: extension to MINLP solver Branch and Cut for MIQQPs heuristic Branch and Cut for nonconvex MINLPs start of Branch Cut and Price algorithm for MINLPs Webpage: http://www.math.hu-berlin.de/~eopt/lago Book: Ivo Nowak, Relaxation and Decomposition Methods for Mixed Integer Nonlinear Programming, Birkhäuser 2005

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

MINLP We consider problems of the form minimize c T x such that h i (x) 0, i I, h j (x) = 0, j E, x k {0, 1}, k B, x [x, x] < x i x i <, i {1,..., n}, h ( C 2 [x, x], R I + E ), c R n LaGO interfaces problems via GAMS

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

Preprocessing Investigation of problem structure (sparsity, block-separability, quadratic functions, convexity). Reduction of box [x, x], determine bounding box for unbounded variables Initialization of linear relaxation: 1. Nonquadratic nonconvex function g quadratic (nonconvex) underestimator q 2. Quadratic nonconvex function q quadratic convex underestimator q g q q 3. Nonlinear convex function linearization g 4. Binary conditions are dropped.

Nonconvex quadratic underestimator Let g C 2 ([x, x], R) be nonquadratic. Consider a sample set S [x, x]. We compute q (x) = x T Ax + b T x + c by minimization of (g (x) q (x)) + δ 1 (g q) (x) 1 + δ 2 2 (g q) (x) 1 x S x S1 x S2 such that q (x) g (x) for all x S, where S 2 S 1 S and δ 1, δ 2 0. Can be formulated as a linear program. Sparsity of A and b determined by g (x).

Convex quadratic underestimator Let q (x) = x T Ax + b T x + c be a quadratic nonconvex function. A convex α-underestimator (Adjiman and Floudas 1997) of q (x) is n q (x) = q (x) + α i (x i x i ) (x i x i ) where α i = λ 1 (Diag ( x x) A Diag ( x x)) ( x i x i ) 2. i=1 2 1 0-1 -2-1 -0.5 0 0.5 1 0.5 0-0.5 1-1 2 1 0 0.5-2 -1 0-0.5 0-0.5 0.5 1-1

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

Main Loop Denote by ˆx a solution of the linear relaxation. 1. Take node with lowest lower bound from Branch and Bound tree. 2. Upper bounds: Start local search (with xed binary variables) from ˆx (rounded) (GAMS/NLP-Solver or IPOPT)

Main Loop Denote by ˆx a solution of the linear relaxation. 1. Take node with lowest lower bound from Branch and Bound tree. 2. Upper bounds: Start local search (with xed binary variables) from ˆx (rounded) (GAMS/NLP-Solver or IPOPT) 3. Branch: select a variable x i whose binary condition is mostly violated by ˆx or: where g (x) 0 is mostly violated by ˆx, g x i (ˆx) is large, and the box of x i hasn't been reduced very much so far or: whose box is least reduced

Main Loop Denote by ˆx a solution of the linear relaxation. 1. Take node with lowest lower bound from Branch and Bound tree. 2. Upper bounds: Start local search (with xed binary variables) from ˆx (rounded) (GAMS/NLP-Solver or IPOPT) 3. Branch: select a variable x i whose binary condition is mostly violated by ˆx or: where g (x) 0 is mostly violated by ˆx, g x i (ˆx) is large, and the box of x i hasn't been reduced very much so far or: whose box is least reduced 4. Bound: for each child node 4.1 Generate and update cuts 4.2 Update the box 4.3 Solve the linear relaxation (CPLEX or COIN/Clp) 4.4 Put nodes into tree 5. Prune: Prune nodes which lower bound exceeds upper bound

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

Linearization Cuts reference point ˆx, convex constraint g (x) 0 g (ˆx) + g (ˆx) (x ˆx) 0 g Linearizations of convexied functions n g (x) := q (x) + α i (x i x i ) (x i x i ) i=1 x x can easily be updated after a reduction of the box [x, x].

Mixed Integer Rounding Cuts Linear relaxation solved via COIN Open Solver Interface COIN Cut Generator Library provides several types of cuts to cut o a nonintegral solution of the relaxation Mixed Integer Rounding Cut (Nemhauser, Wolsey 1988) principle: X := {(x, y) Z R + x y b } x 1 1 (b b ) y b (x, y) X 1 2 y x y=0.5 x 2y=0 0 1 1 x 2

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

Boxreduction based on intervalarithmetic Consider a constraint g (x, y) := h (x) + y 0, i.e., y h (x), and let [ h, h] := h ([x, x]). If h ȳ, set ȳ := h and proceed with other constraints depending on y. Does not rely on relaxations. Easy and fast to compute. Interval arithmetic provided by GAMS-interface and FILIB++.

Boxreduction based on linear relaxation Consider a linear relaxation with constraints Ax b. Let x be the best solution found so far. x x i := min x i s.t. Ax b c T x c T x linear relax. convexification x* x i := max x i s.t. Ax b c T x c T x feasible set new box level cut x old box

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

GAMS MINLPLib and GlobalLib at most 1000 variables and no integrality conditions except for binary 33 MIQQPs, 72 (nonquadratic) MINLPs, 166 QQPs timelimit: 1 hour NLP subsolver: CONOPT; LP subsolver: CPLEX 10.0 MIQQPs MINLPs number of models 33 72 best known optimal solution found 21 41 nonoptimal solution found 5 9 unsuccessful Branch & Cut search 7 13 failure in preprocessing 0 9 Pentium IV 3.00 Ghz, 1 GB RAM, Linux 2.16.11

LaGO vs. BARON on MIQQPs LaGO and BARON 7.5 on MIQQPs from MINLPLib: optimal value Total LaGO better same BARON better BARON fail, LaGO not 3 3 LaGO faster 1 1 2 both solvers the same 7 5 BARON faster 15 2 12 1 LaGO fail, BARON not 2 2 LaGO and BARON fail 5 5 Total 33 5 23 5

LaGO vs. BARON on MINLPs LaGO and BARON 7.5 on (nonquadratic) MINLPs from MINLPLib: optimal value Total LaGO better same BARON better BARON fail, LaGO not 5 5 LaGO faster 10 1 4 5 both solvers the same 10 1 9 BARON faster 25 3 18 4 LaGO fail, BARON not 11 11 LaGO and BARON fail 11 11 Total 72 10 38 20 LaGO stops branching when all binary variables are xed

LaGO vs. BARON on QQPs running LaGO and BARON 7.5 on QQPs from GlobalLib: optimal value Total LaGO better same BARON better BARON fail, LaGO not 1 1 LaGO faster 11 1 9 1 both solvers the same 90 89 1 BARON faster 61 61 LaGO fail, BARON not 3 3 Total 166 2 159 5

Optimizing the design of a complex energy conversion plant 2001-2004: project funded by German Science Foundation Institute for Energy Engineering (Technical University Berlin) T. Ahadi-Oskui, F. Cziesla, G. Tsatsaronis Institute for Mathematics (Humboldt University Berlin) H. Alperin, I. Nowak, S. Vigerske Model: superstructure of a combined-cycle-based cogeneration plant Simultaneous structural and process variable optimization P 17 B HS 12 49 13 HR 14 21 11 Erdgas 23 A 12 22 20 HS 24 13 14 Erdgas HR 23 Erdgas 50 15 HV HE 16 O NS N M K L 16 17 18 19 20 21 22 23 54D 79 80 83I 90 91 92 HE MS MV ME NS NV NE KE 110 G 84 HE 16 ME 19 E J MS 17 NS 20 16 19 C 85 MS 70 H HE NS ME 20 17 20 F NS 19 81 18 MV 82 ME picture: exhaust gas path through heat-recovery steam generator

Model of a complex energy conversion plant superstructure for electric power output of 400 MW and process steam production of 500 t/h degrees of freedom: 27 structural and 48 process variables constraints: logic of the superstructure (connecting binary variables) thermodynamic behavior (highly nonlinear), mass+energy balances purchase equipment costs objective: total cost for cogeneration plant investment cost, operation and maintenance cost, taxes and insurances,... MINLP model: 1308 variables (44 binary) and 1659 constraints GAMS MINLPLib models super1, super2, super3, and super3t

Distributed genetic algorithm individual = set of decision variables tness obtained by simulation of the superstructure HSC-GA: hierarchical social competition algorithm: F(I) > F(P1) Population 1 Subpopulation 1 handling several populations in parallel organized by tness of inhabitants individuals from lower population can move into subpopulation at higher level after evolving for some time, they migrate into higher population Population 2 Population 3 Population 4 F(I) > F(P2) Subpopulation 2 F(I) > F(P3) Subpopulation 3

Optimization of the superstructure HSC-GA and LaGO run for 24 hours HSC-GA: 20000 generations LaGO: 30000 Branch and Bound iterations demand method eciency cost electric power: 300 MW LaGO 56.7% 12674 Euro/h HSC-GA 55.4% 12774 Euro/h electric power: 290 MW LaGO 68.5% 13424 Euro/h process steam: 150 t/h HSC-GA 67.7% 13399 Euro/h electric power: 400 MW LaGO 58.6% 16771 Euro/h HSC-GA 58.7% 17229 Euro/h Turang Ahadi-Oskui (2006): Optimierung des Entwurfs komplexer Energieumwandlungsanlagen, Fortschritts-Berichte VDI, Reihe 6, Nr. 543.

Overview Preprocessing Branch and Cut algorithm Cutting planes Boxreduction Numerical Results Further developments

Mixed-integer linear relaxation MIP solver are fast and robust today. Replace linear relaxation by a mixed-integer linear relaxation. Allows use of intervalgradient cuts (Boddy, Johnson 2003 for MIQQPs): Intervalgradient of g: g(x)=1 x^2 [ d, d] := g ([x, x]) 0 ( g (x) [ d, d] x [x, x]) Intervalgradient cut w.r.t. ˆx [x, x]: g (ˆx) + min d [d, d] d T (x ˆx) 0 2 1 0 1 2

Intervalgradient Cuts Intervalgradient cut w.r.t. ˆx [x, x]: [ d, d ] := g ([x, x]) g (ˆx) + min d [d, d] d T (x ˆx) 0 Reformulation: g (ˆx) + d T y + d T y 0 x ˆx = y + y 0 y + z i i ( x i ˆx i ), i = 1,..., n 0 y (1 z i i ) (ˆx i x i ), i = 1,..., n z i {0, 1}, i = 1,..., n applied to original formulation of MINLP, independent of relaxations currently implemented in LaGO with relaxed binary conditions

Further improvements... reliable underestimators of nonquadratic nonconvex functions support of integer variables branching rules node selection rules...

Further improvements... reliable underestimators of nonquadratic nonconvex functions support of integer variables branching rules node selection rules... Thank you! http://www.math.hu-berlin.de/~eopt/lago