Some Recent Advances in Mixed-Integer Nonlinear Programming

Similar documents
Basic notions of Mixed Integer Non-Linear Programming

Software for Integer and Nonlinear Optimization

Feasibility Pump for Mixed Integer Nonlinear Programs 1

MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms

Mixed Integer Non Linear Programming

Solving Mixed-Integer Nonlinear Programs

Mixed-Integer Nonlinear Decomposition Toolbox for Pyomo (MindtPy)

Lift-and-Project Cuts for Mixed Integer Convex Programs

Improved quadratic cuts for convex mixed-integer nonlinear programs

Heuristics for nonconvex MINLP

IBM Research Report. A Feasibility Pump for Mixed Integer Nonlinear Programs

A Review and Comparison of Solvers for Convex MINLP

Mixed Integer Programming Solvers: from Where to Where. Andrea Lodi University of Bologna, Italy

A Review and Comparison of Solvers for Convex MINLP

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

Applications and algorithms for mixed integer nonlinear programming

Analyzing the computational impact of individual MINLP solver components

Indicator Constraints in Mixed-Integer Programming

Inexact Solution of NLP Subproblems in MINLP

Comparing MIQCP solvers to a specialised algorithm for mine production scheduling

Optimization of a Nonlinear Workload Balancing Problem

A Branch-and-Refine Method for Nonconvex Mixed-Integer Optimization

Computer Sciences Department

A hierarchy of relaxations for nonlinear convex generalized disjunctive programming

Disjunctive Cuts for Mixed Integer Nonlinear Programming Problems

Outline. 1 Introduction. 2 Modeling and Applications. 3 Algorithms Convex. 4 Algorithms Nonconvex. 5 The Future of MINLP? 2 / 126

A novel branch-and-bound algorithm for quadratic mixed-integer problems with quadratic constraints

Hot-Starting NLP Solvers

Mixed Integer Nonlinear Programming

Mixed Integer Nonlinear Programming

Solving LP and MIP Models with Piecewise Linear Objective Functions

An Improved Approach For Solving Mixed-Integer Nonlinear Programming Problems

A Fast Heuristic for GO and MINLP

Strong-Branching Inequalities for Convex Mixed Integer Nonlinear Programs

Effective Separation of Disjunctive Cuts for Convex Mixed Integer Nonlinear Programs

On Perspective Functions, Vanishing Constraints, and Complementarity Programming

Advances in CPLEX for Mixed Integer Nonlinear Optimization

Mixed Integer NonLinear Programs featuring On/Off constraints: convex analysis and applications

Solving nonconvex MINLP by quadratic approximation

An Empirical Evaluation of a Walk-Relax-Round Heuristic for Mixed Integer Convex Programs

GLOBAL OPTIMIZATION WITH GAMS/BARON

IBM Research Report. Branching and Bounds Tightening Techniques for Non-Convex MINLP

Lift-and-project cuts for convex mixed integer nonlinear programs. Linear programming based separation and extended formulations

On handling indicator constraints in mixed integer programming

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

A computational study of Gomory cut generators

On Handling Indicator Constraints in Mixed Integer Programming

Mixed Integer Nonlinear Programming (MINLP)

PERSPECTIVE REFORMULATION AND APPLICATIONS

An Exact Algorithm for a Resource Allocation Problem in Mobile Wireless Communications

23. Cutting planes and branch & bound

On mathematical programming with indicator constraints

The CPLEX Library: Mixed Integer Programming

Benders Decomposition

A Computational Comparison of Branch and Bound and. Outer Approximation Algorithms for 0-1 Mixed Integer. Brian Borchers. John E.

The IMA Volumes in Mathematics and its Applications Volume 154

A note on : A Superior Representation Method for Piecewise Linear Functions

Cuts for Conic Mixed-Integer Programming

Online generation via offline selection - Low dimensional linear cuts from QP SDP relaxation -

A note on : A Superior Representation Method for Piecewise Linear Functions by Li, Lu, Huang and Hu

Bound reduction using pairs of linear inequalities

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Mixed-Integer Nonlinear Programs featuring on/off constraints

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Monomial-wise Optimal Separable Underestimators for Mixed-Integer Polynomial Optimization

Minotaur: A Mixed-Integer Nonlinear Optimization Toolkit

IE418 Integer Programming

An Inexact Sequential Quadratic Optimization Method for Nonlinear Optimization

IBM Research Report. Convex Relaxations of Non-Convex Mixed Integer Quadratically Constrained Programs: Extended Formulations

MIXED INTEGER SECOND ORDER CONE PROGRAMMING

Introduction to Integer Linear Programming

Projected Perspective Reformulations for NonLinear Network Design Problems

On Counting Lattice Points and Chvátal-Gomory Cutting Planes

Computer Sciences Department

Multiobjective Mixed-Integer Stackelberg Games

From structures to heuristics to global solvers

Bilevel Integer Optimization: Theory and Algorithms

Solving Box-Constrained Nonconvex Quadratic Programs

Cutting Planes for Mixed-Integer Programming: Theory and Practice

Lessons from MIP Search. John Hooker Carnegie Mellon University November 2009

Decomposition-based Methods for Large-scale Discrete Optimization p.1

Semidefinite Relaxations for Non-Convex Quadratic Mixed-Integer Programming

A Primal Heuristic for MINLP based on Dual Information

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

Development of the new MINLP Solver Decogo using SCIP - Status Report

Disjunctive Inequalities: Applications and Extensions

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

An Integrated Approach to Truss Structure Design

GENERALIZED DISJUNCTIVE PROGRAMMING: A FRAMEWORK FOR FORMULATION AND ALTERNATIVE ALGORITHMS FOR MINLP OPTIMIZATION

Convex Quadratic Relaxations of Nonconvex Quadratically Constrained Quadratic Progams

BCOL RESEARCH REPORT 06.03

Integer Programming Chapter 15

Bilevel Integer Linear Programming

Generation and Representation of Piecewise Polyhedral Value Functions

Rounding-based heuristics for nonconvex MINLPs

Constraint Qualification Failure in Action

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

Integer Programming. Wolfram Wiesemann. December 6, 2007

On global optimization with indefinite quadratics

Transcription:

Some Recent Advances in Mixed-Integer Nonlinear Programming Andreas Wächter IBM T.J. Watson Research Center Yorktown Heights, New York andreasw@us.ibm.com SIAM Conference on Optimization 2008 Boston, MA May 12, 2008 Andreas Wächter (IBM) MINLP SIOPT 2008 1 / 30

An MINLP Research Initiative CMU-IBM research collaboration, started in 2004 The Team: CMU Pietro Belotti Lorenz T. Biegler Gérard Cornuéjols Ignacio E. Grossmann Carl D. Laird (Texas A&M) François Margot Nick Sawaya Nick Sahinidis IBM Pierre Bonami (CNRS Marseilles) Andrew R. Conn Claudia D Ambrosio (U Bologna) John J. Forrest Joao Goncalves Oktay Günlük Laszlo Ladanyi Jon Lee Andrea Lodi (U Bologna) Andreas Wächter Andreas Wächter (IBM) MINLP SIOPT 2008 2 / 30

Mixed-Integer Nonlinear Programming (MINLP) min f (x, y) s.t. c(x, y) 0 y L y y U x {0, 1} n, y R p f, c sufficiently smooth (e.g., C 2 ) Often in practice: Simplify original problem to obtain NLP by relaxing integrality conditions (rounding) MILP by approximating nonlinearities (piece-wise linear) Andreas Wächter (IBM) MINLP SIOPT 2008 3 / 30

Mixed-Integer Nonlinear Programming (MINLP) min f (x, y) s.t. c(x, y) 0 y L y y U x {0, 1} n, y R p f, c sufficiently smooth (e.g., C 2 ) and convex Often in practice: Simplify original problem to obtain NLP by relaxing integrality conditions (rounding) MILP by approximating nonlinearities (piece-wise linear) Goal: Design exact algorithms In this talk: Convex MINLP (f, c convex) Andreas Wächter (IBM) MINLP SIOPT 2008 3 / 30

The Power Of MILP MILP has been extensively explored for decades Based on branch-and-bound [Dakin (1965)] Very powerful algorithms, techniques, and codes Can solve very large problems Used heavily in practice Andreas Wächter (IBM) MINLP SIOPT 2008 4 / 30

The Power Of MILP MILP has been extensively explored for decades Based on branch-and-bound [Dakin (1965)] Very powerful algorithms, techniques, and codes Can solve very large problems Used heavily in practice How can this be used for MINLP? Use MILP solvers directly: Piece-wise linear approximation (SOS constraints) Outer approximation Andreas Wächter (IBM) MINLP SIOPT 2008 4 / 30

The Power Of MILP MILP has been extensively explored for decades Based on branch-and-bound [Dakin (1965)] Very powerful algorithms, techniques, and codes Can solve very large problems Used heavily in practice How can this be used for MINLP? Use MILP solvers directly: Piece-wise linear approximation (SOS constraints) Outer approximation In a nonlinear branch-and-bound algorithm: Try to learn from MILP tricks Andreas Wächter (IBM) MINLP SIOPT 2008 4 / 30

The Power Of MILP MILP has been extensively explored for decades Based on branch-and-bound [Dakin (1965)] Very powerful algorithms, techniques, and codes Can solve very large problems Used heavily in practice How can this be used for MINLP? Use MILP solvers directly: Piece-wise linear approximation (SOS constraints) Outer approximation In a nonlinear branch-and-bound algorithm: Try to learn from MILP tricks Andreas Wächter (IBM) MINLP SIOPT 2008 4 / 30

Outer Approximation (Duran, Grossmann [1986]) min z (linear objective) s.t. f (x, y) z c(x, y) 0 x {0, 1} n, y R p, z R Andreas Wächter (IBM) MINLP SIOPT 2008 5 / 30

Outer Approximation (Duran, Grossmann [1986]) min z (linear objective) s.t. f (x, y) z c(x, y) 0 x {0, 1} n, y R p, z R Approximate by MILP (hyperplanes) min z ( ) s.t. f (x k, y k ) T x x k y y k + f (x k, y k ) z ( ) c(x k, y k ) T x x k y y k + c(x k, y k ) 0 x {0, 1} n, y R p, z R for all (x k, y k ) T T contains linearization points Andreas Wächter (IBM) MINLP SIOPT 2008 5 / 30

Outer Approximation (Duran, Grossmann [1986]) min z (linear objective) s.t. f (x, y) z c(x, y) 0 x {0, 1} n, y R p, z R Approximate by MILP (hyperplanes) min z ( ) s.t. f (x k, y k ) T x x k y y k + f (x k, y k ) z ( ) c(x k, y k ) T x x k y y k + c(x k, y k ) 0 x {0, 1} n, y R p, z R for all (x k, y k ) T T contains linearization points augmented during algorithm Algorithm: Repeat 1 solve current MILP (x l, ỹ l ) 2 solve NLP with x l fixed y l 3 add (x l, y l ) to T Andreas Wächter (IBM) MINLP SIOPT 2008 5 / 30

Outer Approximation Discussion Original algorithm: Alternatingly solve NLPs and MILPs Finite termination Advantage: Simple to implement; uses all MILP techniques Disadvantage: Solve every MILP from scratch Andreas Wächter (IBM) MINLP SIOPT 2008 6 / 30

Outer Approximation Discussion Original algorithm: Alternatingly solve NLPs and MILPs Finite termination Advantage: Simple to implement; uses all MILP techniques Disadvantage: Solve every MILP from scratch Improvement [Quesada, Grossmann (1992)]: Build only one MILP enumeration tree Andreas Wächter (IBM) MINLP SIOPT 2008 6 / 30

Quesada-Grossmann LP LB=4 x 2 =0 x 2 =1 LP LB=5 LP LB=6 x 3 =0 x 3 =1 x 1 =0 x 1 =1 integer feasible LP UB=7 LP infeasible LP LB=8 Andreas Wächter (IBM) MINLP SIOPT 2008 7 / 30

Quesada-Grossmann LP LB=4 x 2 =0 x 2 =1 LP LB=5 LP LB=6 x 3 =0 x 3 =1 x 1 =0 x 1 =1 integer feasible NLP UB=7.5 LP infeasible LP LB=8 Andreas Wächter (IBM) MINLP SIOPT 2008 7 / 30

Outer Approximation Discussion Original algorithm: Alternatingly solve NLPs and MILPs Finite termination Advantage: Simple to implement; uses all MILP techniques Disadvantage: Need to solve every MILP from scratch Improvement [Quesada, Grossmann (1992)]: Build only one MILP enumeration tree Solve NLP for every MILP integer feasible solution Add new outer approximation cuts to current MILP Andreas Wächter (IBM) MINLP SIOPT 2008 8 / 30

Outer Approximation Discussion Original algorithm: Alternatingly solve NLPs and MILPs Finite termination Advantage: Simple to implement; uses all MILP techniques Disadvantage: Need to solve every MILP from scratch Improvement [Quesada, Grossmann (1992)]: Build only one MILP enumeration tree Solve NLP for every MILP integer feasible solution Add new outer approximation cuts to current MILP Hybrid approach [Bonami et al. (2005)] Solve NLPs also at non-integer nodes For example, solve NLP in every 10th node + Includes information about nonlinear geometry more quickly Requires solution of more NLPs Abhishek, Leyffer, Linderoth (2007) (FilMINT code): Don t solve NLP, just add linearization (Extended cutting plane) Andreas Wächter (IBM) MINLP SIOPT 2008 8 / 30

Preliminary Numerical Experiments Software implementation Bonmin (Open source software on COIN-OR) http://www.coin-or.org/bonmin Based on other COIN-OR projects (Cbc, Clp, Cgl, Ipopt,... ) - Essential for fast development: Availability of open source NLP solvers: FilterSQP [Fletcher, Leyffer] and Ipopt Andreas Wächter (IBM) MINLP SIOPT 2008 9 / 30

Preliminary Numerical Experiments Software implementation Bonmin (Open source software on COIN-OR) http://www.coin-or.org/bonmin Based on other COIN-OR projects (Cbc, Clp, Cgl, Ipopt,... ) - Essential for fast development: Availability of open source NLP solvers: FilterSQP [Fletcher, Leyffer] and Ipopt Test problems Representative selection of 44 convex MINLPs from - CMU/IBM library http://egon.cheme.cmu.edu/ibm/page.htm - MacMinlp [Leyffer] Difficult, but mostly solvable within 3 hour time limit Problem statistics # total vars: 42 1796 (289.8); # discrete vars: 14 432 (93.7) # constraints: 42 3190 (395.4) Andreas Wächter (IBM) MINLP SIOPT 2008 9 / 30

Bonmin 0.1.4 with Ipopt (CPU) 100 Performance Hybrid_0.1.4 QG_0.1.4 OA_0.1.4 80 % of problems 60 40 20 0 1 10 100 1000 not more than x times worse than best Andreas Wächter (IBM) MINLP SIOPT 2008 10 / 30

Developer Version with FilterSQP (CPU) 100 Performance Hybrid QG OA 80 % of problems 60 40 20 0 1 10 100 1000 not more than x times worse than best Andreas Wächter (IBM) MINLP SIOPT 2008 11 / 30

The Success Story Of MILP In: Bixby, Fenelon, Gu, Rothberg, Wunderling (2004) Mixed-Integer Programming: A Progress Report What lead to the dramatic improvement of MILP solvers? Andreas Wächter (IBM) MINLP SIOPT 2008 12 / 30

The Success Story Of MILP In: Bixby, Fenelon, Gu, Rothberg, Wunderling (2004) Mixed-Integer Programming: A Progress Report What lead to the dramatic improvement of MILP solvers? Very efficient node solvers Andreas Wächter (IBM) MINLP SIOPT 2008 12 / 30

The Success Story Of MILP In: Bixby, Fenelon, Gu, Rothberg, Wunderling (2004) Mixed-Integer Programming: A Progress Report What lead to the dramatic improvement of MILP solvers? Very efficient node solvers Variable/node selection Primal heuristics Presolve Cutting planes Andreas Wächter (IBM) MINLP SIOPT 2008 12 / 30

The Success Story Of MILP In: Bixby, Fenelon, Gu, Rothberg, Wunderling (2004) Mixed-Integer Programming: A Progress Report What lead to the dramatic improvement of MILP solvers? Very efficient node solvers Variable/node selection Primal heuristics Presolve Cutting planes What can we learn from this for a B&B-based method for MINLP? Andreas Wächter (IBM) MINLP SIOPT 2008 12 / 30

Branch-and-bound: Variable Selection LB=4 x 2 =0 x 2 =1 LB=5 LB=6 x 3 =0 x 3 =1 x 1 =0 x 1 =1 integer feasible UB=7 infeasible LB=8 Andreas Wächter (IBM) MINLP SIOPT 2008 13 / 30

Variable Selection Some possible options: Random Most-fractional (most integer-infeasible) - used in MINLP-BB [Fletcher, Leyffer] Andreas Wächter (IBM) MINLP SIOPT 2008 14 / 30

Variable Selection Some possible options: Random Most-fractional (most integer-infeasible) - used in MINLP-BB [Fletcher, Leyffer] Strong branching [Applegate et al. (1995)] Pseudo costs [Benichou et al. (1971), Forrest et al. (1974)] - optional in SBB [GAMS] Reliability branching [Achterberg et al. (2005)] Andreas Wächter (IBM) MINLP SIOPT 2008 14 / 30

Strong Branching Q: Which variable x i should be branched on? x? =0 x? =1 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i1 =0 x i1 =1 LB 0 i 1 LB 1 i 1 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i2,... x i2 =0 x i2 =1 LB 0 i 2 LB 1 i 2 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i2,... Choose candidate with largest LBi 0 and LBi 1 x i2 =0 x i2 =1 LB 0 i 2 LB 1 i 2 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i2,... Choose candidate with largest LBi 0 and LBi 1 If candidate s child infeasible: fix variable x i2 =0 x i2 =1 infeasible LB 1 i 2 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i2,... Choose candidate with largest LBi 0 and LBi 1 If candidate s child infeasible: fix variable If LB 0/1 i > UB: fix variable x i2 =0 x i2 =1 LB 0 i 2 > UB LB 1 i 2 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Q: Which variable x i should be branched on? Idea: Try some candidates x i1, x i2,... Choose candidate with largest LBi 0 and LBi 1 If candidate s child infeasible: fix variable If LB 0/1 i > UB: fix variable Requires to solve many relaxations x i2 =0 x i2 =1 LB 0 i 2 > UB LB 1 i 2 Andreas Wächter (IBM) MINLP SIOPT 2008 15 / 30

Strong Branching Improvements Approximate node solutions For MILP: Limit the number of simplex iterations Dual simplex algorithm gives valid bounds Andreas Wächter (IBM) MINLP SIOPT 2008 16 / 30

Strong Branching Improvements Approximate node solutions For MILP: Limit the number of simplex iterations Dual simplex algorithm gives valid bounds For MINLP: Solve approximation problem LP: Linearize functions at parent solution QP: Use QP from last SQP iteration (BQPD [Fletcher]) Andreas Wächter (IBM) MINLP SIOPT 2008 16 / 30

Strong Branching Improvements Approximate node solutions For MILP: Limit the number of simplex iterations Dual simplex algorithm gives valid bounds For MINLP: Solve approximation problem LP: Linearize functions at parent solution QP: Use QP from last SQP iteration (BQPD [Fletcher]) Can use hot-starts (reuse factorization) Only one bound changes Andreas Wächter (IBM) MINLP SIOPT 2008 16 / 30

Strong Branching Improvements Pseudo costs Idea: Collect statistical data about the effect of fixing each x i : Average change in LB 0 i and LB 1 i per unit change in x i (up and down change separately) Use to estimate LB 0 i and LB 1 i of child nodes Andreas Wächter (IBM) MINLP SIOPT 2008 17 / 30

Strong Branching Improvements Pseudo costs Idea: Collect statistical data about the effect of fixing each x i : Average change in LB 0 i and LB 1 i per unit change in x i (up and down change separately) Use to estimate LB 0 i and LB 1 i of child nodes Initialize with strong branching Update each time a node has been solved Andreas Wächter (IBM) MINLP SIOPT 2008 17 / 30

Strong Branching Improvements Pseudo costs Idea: Collect statistical data about the effect of fixing each x i : Average change in LB 0 i and LB 1 i per unit change in x i (up and down change separately) Use to estimate LB 0 i and LB 1 i of child nodes Initialize with strong branching Update each time a node has been solved Reliability branching Pseudo costs, but do strong-branching on non-trusted variables Limit the number of strong-branching solves Andreas Wächter (IBM) MINLP SIOPT 2008 17 / 30

Variable Selection Comparative experiments in literature: MILP Linderoth, Savelsbergh (1999): - Pseudo costs work very well Achterberg, Koch, Martin (2005): - Reliability branching best - Most-fractional about as good as Random Andreas Wächter (IBM) MINLP SIOPT 2008 18 / 30

Variable Selection Comparative experiments in literature: MILP Linderoth, Savelsbergh (1999): - Pseudo costs work very well Achterberg, Koch, Martin (2005): - Reliability branching best - Most-fractional about as good as Random MINLP Gupta, Ravindran (1985) - Most-fractional works best Andreas Wächter (IBM) MINLP SIOPT 2008 18 / 30

Branch-And-Bound Comparison (# Nodes) 100 80 Performance Random MostFra StrongNLP StrongQP PseudoNLP PseudoQP % of problems 60 40 20 0 1 10 100 1000 not more than x times worse than best Andreas Wächter (IBM) MINLP SIOPT 2008 19 / 30

Branch-And-Bound Comparison (CPU time) 100 80 Performance Random MostFra StrongNLP StrongQP PseudoNLP PseudoQP % of problems 60 40 20 0 1 10 100 1000 not more than x times worse than best Andreas Wächter (IBM) MINLP SIOPT 2008 20 / 30

B&B and Hybrid Comparison 100 Performance PseudoQP Hybrid 80 % of problems 60 40 20 0 1 10 100 1000 not more than x times worse than best Andreas Wächter (IBM) MINLP SIOPT 2008 21 / 30

Experiments Summary Strong-branching, pseudo-costs work for nonlinear B&B Hot-started QP approximations improve performance LP approximation not efficient In these experiments: Reliability branching not helpful Andreas Wächter (IBM) MINLP SIOPT 2008 22 / 30

Experiments Summary Strong-branching, pseudo-costs work for nonlinear B&B Hot-started QP approximations improve performance LP approximation not efficient In these experiments: Reliability branching not helpful B&B competitive to OA-based Hybrid method Methods should learn from each other - e.g., use nonlinear strong-branching in Hybrid approach Best choice depends on problem instance Need to identify relevant problem characteristics Andreas Wächter (IBM) MINLP SIOPT 2008 22 / 30

Experiments Summary Strong-branching, pseudo-costs work for nonlinear B&B Hot-started QP approximations improve performance LP approximation not efficient In these experiments: Reliability branching not helpful B&B competitive to OA-based Hybrid method Methods should learn from each other - e.g., use nonlinear strong-branching in Hybrid approach Best choice depends on problem instance Need to identify relevant problem characteristics Number of nodes for solved problems: Min Max GeoMean Hybrid 8 436393 6226.5 StrongQP 14 2033352 1685.8 Andreas Wächter (IBM) MINLP SIOPT 2008 22 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient In MINLP: NLP solvers now much more robust and efficient than in the past For trimloss4: Solved >2,000,000 NLPs! (105 [85] var, 64 con) Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient In MINLP: NLP solvers now much more robust and efficient than in the past For trimloss4: Solved >2,000,000 NLPs! (105 [85] var, 64 con) Large-scale problems: Large-scale active-set methods? Combine interior-point and active-set methods? Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient In MINLP: NLP solvers now much more robust and efficient than in the past For trimloss4: Solved >2,000,000 NLPs! (105 [85] var, 64 con) Large-scale problems: Large-scale active-set methods? Combine interior-point and active-set methods? Hot-starts possible? Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient In MINLP: NLP solvers now much more robust and efficient than in the past For trimloss4: Solved >2,000,000 NLPs! (105 [85] var, 64 con) Large-scale problems: Large-scale active-set methods? Combine interior-point and active-set methods? Hot-starts possible? Storing warm-start information more memory intensive In experiments: Use optimal solution of root node Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Node Solvers In MILP: Very efficient implementation of dual simplex Tailored to B&B: Changes in bounds; added cuts Hot-starts (reusing factorization) extremely efficient In MINLP: NLP solvers now much more robust and efficient than in the past For trimloss4: Solved >2,000,000 NLPs! (105 [85] var, 64 con) Large-scale problems: Large-scale active-set methods? Combine interior-point and active-set methods? Hot-starts possible? Storing warm-start information more memory intensive In experiments: Use optimal solution of root node Need fast detection of infeasibility Andreas Wächter (IBM) MINLP SIOPT 2008 23 / 30

Cuts Approximate convex hull of integer-feasible points Strengthen the relaxation Andreas Wächter (IBM) MINLP SIOPT 2008 24 / 30

Cuts Approximate convex hull of integer-feasible points Strengthen the relaxation MILP: (hot topic over past 30 years) Many cut generators available (many easy to compute) Andreas Wächter (IBM) MINLP SIOPT 2008 24 / 30

Cuts Approximate convex hull of integer-feasible points Strengthen the relaxation MILP: (hot topic over past 30 years) Many cut generators available (many easy to compute) MINLP: For linear parts, can use MILP machinery directly - Hybrid method works with linear formulation - B&B: could work with linearizations Andreas Wächter (IBM) MINLP SIOPT 2008 24 / 30

Cuts Approximate convex hull of integer-feasible points Strengthen the relaxation MILP: (hot topic over past 30 years) Many cut generators available (many easy to compute) MINLP: For linear parts, can use MILP machinery directly - Hybrid method works with linear formulation - B&B: could work with linearizations Some research specific for nonlinear case: - Stubbs, Mehrotra (1999, 2002) - Atamtürk, Narayanan (2007) -... Can also use nonlinear cuts Ideally: Need access to problem representation (expression tree) Andreas Wächter (IBM) MINLP SIOPT 2008 24 / 30

Other MILP techniques Primal heuristics (quickly finding good integer feasible points) Have answer when time limit exceeded Improve upper bounds (e.g, for strong branching) Andreas Wächter (IBM) MINLP SIOPT 2008 25 / 30

Other MILP techniques Primal heuristics (quickly finding good integer feasible points) Have answer when time limit exceeded Improve upper bounds (e.g, for strong branching) MILP: A dozen generic heuristics (root node and in tree) (hot topic over last 7 years) MINLP: Preliminary work, e.g., - Nonlinear feasibility pump [Bonami et al. (2006)] Andreas Wächter (IBM) MINLP SIOPT 2008 25 / 30

Other MILP techniques Node selection In experiments: Use best-bound (node with smallest LB) Diving - Quickly find integer solution - Allows hot-starts when proceeding to child nodes Andreas Wächter (IBM) MINLP SIOPT 2008 26 / 30

Other MILP techniques Node selection In experiments: Use best-bound (node with smallest LB) Diving - Quickly find integer solution - Allows hot-starts when proceeding to child nodes Presolve (tighten and simplify formulation) At root node and in search tree MILP: Just look at coefficients of linear functions MINLP: General nonlinear functions difficult to predict - Requires access to problem representation (e.g., expression tree) Andreas Wächter (IBM) MINLP SIOPT 2008 26 / 30

What is Good Modeling? Example: Uncapacitated facility location problem min n i=1 c ix i + n m i=1 j=1 d ijy ij s.t. m j=1 y ij = 1 (i = 1,...,n) Weak : n i=1 y ij n x i (j = 1,...,m) Strong : y ij x i (i = 1,...,n; j = 1,...,m) x {0, 1} n, y R m + MILP MINLP n = 30, m = 100 nodes time nodes time weak formulation 46,294 143.16 strong formulation 0 0.18 Andreas Wächter (IBM) MINLP SIOPT 2008 27 / 30

What is Good Modeling? Example: Uncapacitated facility location problem min n i=1 c ix i + n m i=1 j=1 d ijyij 2 s.t. m j=1 y ij = 1 (i = 1,...,n) Weak : n i=1 y ij n x i (j = 1,...,m) Strong : y ij x i (i = 1,...,n; j = 1,...,m) x {0, 1} n, y R m + MILP MINLP n = 30, m = 100 nodes time nodes time weak formulation 46,294 143.16 46,384 8117.52 strong formulation 0 0.18 30,112 7888.24 Andreas Wächter (IBM) MINLP SIOPT 2008 27 / 30

What is Good Modeling? Example: Uncapacitated facility location problem min n i=1 c ix i + n m i=1 j=1 d ijyij 2 s.t. m j=1 y ij = 1 (i = 1,...,n) Weak : n i=1 y ij n x i (j = 1,...,m) Strong : y ij x i (i = 1,...,n; j = 1,...,m) x {0, 1} n, y R m + MILP MINLP n = 30, m = 100 nodes time nodes time weak formulation 46,294 143.16 46,384 8117.52 strong formulation 0 0.18 30,112 7888.24 weak with cuts/presolve 25 2.71 Andreas Wächter (IBM) MINLP SIOPT 2008 27 / 30

The Nonconvex Case Global optimization already very difficult Spatial branch-and-bound with convex under-estimators Incorporation of discrete variables natural Several algorithms and codes: Alpha-BB [Adjiman et al.], BARON [Sahinidis, Tawarmalani], Couenne [Belotti et al.], LaGO, [Nowak, Vigerske],... Limitation in problem size Andreas Wächter (IBM) MINLP SIOPT 2008 28 / 30

The Nonconvex Case Global optimization already very difficult Spatial branch-and-bound with convex under-estimators Incorporation of discrete variables natural Several algorithms and codes: Alpha-BB [Adjiman et al.], BARON [Sahinidis, Tawarmalani], Couenne [Belotti et al.], LaGO, [Nowak, Vigerske],... Limitation in problem size Heuristics based on convex MINLP algorithms Outer-approximation based (e.g., DICOPT [Grossmann et al.]) - use one side of equality constraints based on multipliers - allow penalized slack in OA cuts - delete violated OA cuts Andreas Wächter (IBM) MINLP SIOPT 2008 28 / 30

The Nonconvex Case Global optimization already very difficult Spatial branch-and-bound with convex under-estimators Incorporation of discrete variables natural Several algorithms and codes: Alpha-BB [Adjiman et al.], BARON [Sahinidis, Tawarmalani], Couenne [Belotti et al.], LaGO, [Nowak, Vigerske],... Limitation in problem size Heuristics based on convex MINLP algorithms Outer-approximation based (e.g., DICOPT [Grossmann et al.]) - use one side of equality constraints based on multipliers - allow penalized slack in OA cuts - delete violated OA cuts Nonlinear branch-and-bound - resolve NLPs from different starting points - do not trust lower bounds or infeasibilities Andreas Wächter (IBM) MINLP SIOPT 2008 28 / 30

Conclusions Encouraging progress New algorithms and implementations (e.g., Bonmin, FilMINT) Outer-approximation based algorithms - MILP framework with NLP solves Nonlinear branch-and-bound - Pseudo costs, QP-based strong branching Andreas Wächter (IBM) MINLP SIOPT 2008 29 / 30

Conclusions Encouraging progress New algorithms and implementations (e.g., Bonmin, FilMINT) Outer-approximation based algorithms - MILP framework with NLP solves Nonlinear branch-and-bound - Pseudo costs, QP-based strong branching Many open questions Can we repeat the success of MILP? - Further explore MILP techniques in the nonlinear case - Robust large-scale NLP solvers with hot starts? - Devise specific nonlinear techniques (e.g., cuts) Andreas Wächter (IBM) MINLP SIOPT 2008 29 / 30

Conclusions Encouraging progress New algorithms and implementations (e.g., Bonmin, FilMINT) Outer-approximation based algorithms - MILP framework with NLP solves Nonlinear branch-and-bound - Pseudo costs, QP-based strong branching Many open questions Can we repeat the success of MILP? - Further explore MILP techniques in the nonlinear case - Robust large-scale NLP solvers with hot starts? - Devise specific nonlinear techniques (e.g., cuts) Nonconvex problems Andreas Wächter (IBM) MINLP SIOPT 2008 29 / 30

Conclusions Encouraging progress New algorithms and implementations (e.g., Bonmin, FilMINT) Outer-approximation based algorithms - MILP framework with NLP solves Nonlinear branch-and-bound - Pseudo costs, QP-based strong branching Many open questions Can we repeat the success of MILP? - Further explore MILP techniques in the nonlinear case - Robust large-scale NLP solvers with hot starts? - Devise specific nonlinear techniques (e.g., cuts) Nonconvex problems Implementation - Collaboration essential (through open source?) - Accessible nonlinear problem representation - Parallel implementation Andreas Wächter (IBM) MINLP SIOPT 2008 29 / 30

Conclusions Encouraging progress New algorithms and implementations (e.g., Bonmin, FilMINT) Outer-approximation based algorithms - MILP framework with NLP solves Nonlinear branch-and-bound - Pseudo costs, QP-based strong branching Many open questions Can we repeat the success of MILP? - Further explore MILP techniques in the nonlinear case - Robust large-scale NLP solvers with hot starts? - Devise specific nonlinear techniques (e.g., cuts) Nonconvex problems Implementation - Collaboration essential (through open source?) - Accessible nonlinear problem representation - Parallel implementation Need representative real-world test problems Andreas Wächter (IBM) MINLP SIOPT 2008 29 / 30

Thank you! Andreas Wächter (IBM) MINLP SIOPT 2008 30 / 30