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

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

Indicator Constraints in Mixed-Integer Programming

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

On mathematical programming with indicator constraints

Some Recent Advances in Mixed-Integer Nonlinear Programming

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

Analyzing the computational impact of individual MINLP solver components

Cutting Planes for Mixed-Integer Programming: Theory and Practice

Monoidal Cut Strengthening and Generalized Mixed-Integer Rounding for Disjunctions and Complementarity Constraints

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

Projected Chvátal-Gomory cuts for Mixed Integer Linear Programs. Pierre Bonami CMU, USA. Gerard Cornuéjols CMU, USA and LIF Marseille, France

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories

Solving Mixed-Integer Nonlinear Programs

Lecture 2. Split Inequalities and Gomory Mixed Integer Cuts. Tepper School of Business Carnegie Mellon University, Pittsburgh

A computational study of Gomory cut generators

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

On the knapsack closure of 0-1 Integer Linear Programs. Matteo Fischetti University of Padova, Italy

The CPLEX Library: Mixed Integer Programming

Exploring the Numerics of Branch-and-Cut for Mixed Integer Linear Optimization

Improving the Randomization Step in Feasibility Pump using WalkSAT

From structures to heuristics to global solvers

23. Cutting planes and branch & bound

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

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

On the knapsack closure of 0-1 Integer Linear Programs

On handling indicator constraints in mixed integer programming

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh

Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods

A COMPUTATIONAL COMPARISON OF SYMMETRY HANDLING METHODS FOR MIXED INTEGER PROGRAMS

Cutting Planes in SCIP

Column Basis Reduction, Decomposable Knapsack. and Cascade Problems. Gábor Pataki. joint work with Bala Krishnamoorthy. What is basis reduction?

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

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

Constraint Qualification Failure in Action

Software for Integer and Nonlinear Optimization

Heuristics for nonconvex MINLP

Computational Experiments with Cross and Crooked Cross Cuts

Change in the State of the Art of (Mixed) Integer Programming

Feasibility Pump for Mixed Integer Nonlinear Programs 1

Computing with multi-row Gomory cuts

Lift-and-Project Cuts for Mixed Integer Convex Programs

Lift-and-Project cuts: an efficient solution method for mixed-integer programs

LOWER BOUNDS FOR INTEGER PROGRAMMING PROBLEMS

Matteo Fischetti, DEI, University of Padova. COFIN Matheon workshop, Villa Vigoni (Como), May 2006

On Handling Indicator Constraints in Mixed Integer Programming

Solving Box-Constrained Nonconvex Quadratic Programs

Integer Programming, Constraint Programming, and their Combination

Lift-and-Project Inequalities

Decision Diagram Relaxations for Integer Programming

An Integrated Approach to Truss Structure Design

Advances in CPLEX for Mixed Integer Nonlinear Optimization

Decision Procedures An Algorithmic Point of View

BCOL RESEARCH REPORT 07.04

where X is the feasible region, i.e., the set of the feasible solutions.

Computational Experiments with Cross and Crooked Cross Cuts

A First Look at Picking Dual Variables for Maximizing Reduced Cost Fixing

Integer Programming Chapter 15

Cutting Plane Separators in SCIP

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

On the Exact Separation of Mixed Integer Knapsack Cuts

Learning to Branch. Ellen Vitercik. Joint work with Nina Balcan, Travis Dick, and Tuomas Sandholm. Published in ICML 2018

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

MIR Closures of Polyhedral Sets

Computer Sciences Department

Introduction to Bin Packing Problems

Computational Experiments with Cross and Crooked Cross Cuts

Bilevel Integer Optimization: Theory and Algorithms

Integer Programming ISE 418. Lecture 13b. Dr. Ted Ralphs

Information-Based Branching Schemes for Binary Linear Mixed Integer Problems

Integer programming (part 2) Lecturer: Javier Peña Convex Optimization /36-725

Operations Research Lecture 6: Integer Programming

Disjunctive Inequalities: Applications and Extensions

Introduction to Integer Linear Programming

Decision Diagrams for Sequencing and Scheduling

The Separation Problem for Binary Decision Diagrams

Branching on General Disjunctions

{0, 1 2. }-Chvátal-Gomory Cuts. Algorithms to Separate. Konrad-Zuse-Zentrum für Informationstechnik Berlin

IE418 Integer Programming

Presolve Reductions in Mixed Integer Programming

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

Projected Perspective Reformulations for NonLinear Network Design Problems

Advances in Bayesian Network Learning using Integer Programming

Proximity search heuristics for Mixed Integer Programs

Computational Mixed-Integer Programming

Integer program reformulation for robust branch-and-cut-and-price

The strength of multi-row models 1

Operations Research Methods in Constraint Programming

On the Relative Strength of Split, Triangle and Quadrilateral Cuts

Cuts for Conic Mixed-Integer Programming

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano

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

MDD-based Postoptimality Analysis for Mixed-integer Programs

Optimization in Process Systems Engineering

Integer Programming. Wolfram Wiesemann. December 6, 2007

Computational testing of exact separation for mixed-integer knapsack problems

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

On optimizing over lift-and-project closures

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

Transcription:

Mixed Integer Programming Solvers: from Where to Where Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it November 30, 2011 @ Explanatory Workshop on Locational Analysis, Sevilla A. Lodi, MIP Computation and beyond

Motivation Why Mixed Integer Programming and Locational Analysis? A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. Thus, location is possibly THE example of the virtuous loop characterizing our discipline: A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. Thus, location is possibly THE example of the virtuous loop characterizing our discipline: ideas originated in the applied context, A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. Thus, location is possibly THE example of the virtuous loop characterizing our discipline: ideas originated in the applied context, moving (through generalization) to theory, i.e., methodology, and A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. Thus, location is possibly THE example of the virtuous loop characterizing our discipline: ideas originated in the applied context, moving (through generalization) to theory, i.e., methodology, and coming back to practice, i.e., software. A. Lodi, MIP Computation and beyond 1

Motivation Why Mixed Integer Programming and Locational Analysis? A widely recognized origin for Operations Research is in location analysis, and namely localization of radars within Great Britain during World War II. More generally, Facility Location problems started immediately to play a central role in the algorithmic development and their models are among the first examples of Linear Programming with Integer variables. Since then, many of the techniques proposed for location problems have been incorporated into the solvers and, vice versa, MIP solvers have been extensively used to solve location problems. Thus, location is possibly THE example of the virtuous loop characterizing our discipline: ideas originated in the applied context, moving (through generalization) to theory, i.e., methodology, and coming back to practice, i.e., software. We will discuss MIP solvers with this flavor in mind: highlighting the route followed to reach the current status and foreseeing the next steps. A. Lodi, MIP Computation and beyond 1

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. A. Lodi, MIP Computation and beyond 2

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. (The talk does not cover LP advances.) A. Lodi, MIP Computation and beyond 2

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. (The talk does not cover LP advances.) The implicit question the talk tries to answer is: what does a general-purpose MIP solver contain/do? A. Lodi, MIP Computation and beyond 2

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. (The talk does not cover LP advances.) The implicit question the talk tries to answer is: what does a general-purpose MIP solver contain/do? The talk is organized as follows: A. Lodi, MIP Computation and beyond 2

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. (The talk does not cover LP advances.) The implicit question the talk tries to answer is: what does a general-purpose MIP solver contain/do? The talk is organized as follows: 1. MIP solvers, Evolution: (a) A performance perspective (b) A modeling perspective A. Lodi, MIP Computation and beyond 2

Outline, Assumptions and Notation We consider a general Mixed Integer Program in the form: min{c T x : Ax b, x 0, x j integer, j I} (1) where matrix A does not have a special structure. Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. (The talk does not cover LP advances.) The implicit question the talk tries to answer is: what does a general-purpose MIP solver contain/do? The talk is organized as follows: 1. MIP solvers, Evolution: (a) A performance perspective (b) A modeling perspective 2. MIP solvers, Challenges: (a) A performance perspective (b) A modeling perspective A. Lodi, MIP Computation and beyond 2

MIP Evolution, early days Despite quite some work on basically all aspects of IP and in particular on cutting planes, the early days of general-purpose MIP solvers were mainly devoted to develop fast and reliable LP solvers used within good branch-and-bound schemes. A. Lodi, MIP Computation and beyond 3

MIP Evolution, early days Despite quite some work on basically all aspects of IP and in particular on cutting planes, the early days of general-purpose MIP solvers were mainly devoted to develop fast and reliable LP solvers used within good branch-and-bound schemes. Remarkable exceptions are: 1983 Crowder, Johnson & Padberg: PIPX, pure 0/1 MIPs 1987 Van Roy & Wolsey: MPSARX, mixed 0/1 MIPs A. Lodi, MIP Computation and beyond 3

MIP Evolution, early days Despite quite some work on basically all aspects of IP and in particular on cutting planes, the early days of general-purpose MIP solvers were mainly devoted to develop fast and reliable LP solvers used within good branch-and-bound schemes. Remarkable exceptions are: 1983 Crowder, Johnson & Padberg: PIPX, pure 0/1 MIPs 1987 Van Roy & Wolsey: MPSARX, mixed 0/1 MIPs When do the early days end? Or equivalently, when does the current generation of MIP solvers appear? A. Lodi, MIP Computation and beyond 3

MIP Evolution, early days Despite quite some work on basically all aspects of IP and in particular on cutting planes, the early days of general-purpose MIP solvers were mainly devoted to develop fast and reliable LP solvers used within good branch-and-bound schemes. Remarkable exceptions are: 1983 Crowder, Johnson & Padberg: PIPX, pure 0/1 MIPs 1987 Van Roy & Wolsey: MPSARX, mixed 0/1 MIPs When do the early days end? Or equivalently, when does the current generation of MIP solvers appear? It looks like a major (crucial) step to get to nowadays MIP solvers has been the ultimate proof that cutting plane generation in conjunction with branching could work in general, i.e., after the success in the TSP context: 1994 Balas, Ceria & Cornuéjols: lift-and-project 1996 Balas, Ceria, Cornuéjols & Natraj: gomory cuts revisited A. Lodi, MIP Computation and beyond 3

MIP Evolution, Cplex numbers Bob Bixby (Gurobi) & Tobias Achterberg (IBM) performed the following interesting experiment comparing Cplex versions from Cplex 1.2 (the first one with MIP capability) up to Cplex 11.0. A. Lodi, MIP Computation and beyond 4

MIP Evolution, Cplex numbers Bob Bixby (Gurobi) & Tobias Achterberg (IBM) performed the following interesting experiment comparing Cplex versions from Cplex 1.2 (the first one with MIP capability) up to Cplex 11.0. 1,734 MIP instances, time limit of 30,000 CPU seconds, computing times as geometric means normalized wrt Cplex 11.0 (equivalent if within 10%). Cplex versions year better worse time 11.0 2007 0 0 1.00 10.0 2005 201 650 1.91 9.0 2003 142 793 2.73 8.0 2002 117 856 3.56 7.1 2001 63 930 4.59 6.5 1999 71 997 7.47 6.0 1998 55 1060 21.30 5.0 1997 45 1069 22.57 4.0 1995 37 1089 26.29 3.0 1994 34 1107 34.63 2.1 1993 13 1137 56.16 1.2 1991 17 1132 67.90 A. Lodi, MIP Computation and beyond 4

MIP Evolution, Cplex numbers (cont.d) On a slightly larger set of 1,852 MIPs (including some models in which older versions encountered numerical troubles), the experiment highlights the version-to-version improvement in the number of solved problems. A. Lodi, MIP Computation and beyond 5

MIP Evolution, Cplex numbers (cont.d) On a slightly larger set of 1,852 MIPs (including some models in which older versions encountered numerical troubles), the experiment highlights the version-to-version improvement in the number of solved problems. Cplex # % v-to-v % versions year optimal optimal improvement 11.0 2007 1,243 67.1% 7.8% 10.0 2005 1,099 59.3% 3.5% 9.0 2003 1,035 55.9% 2.6% 8.0 2002 987 53.3% 2.5% 7.1 2001 941 50.8% 4.3% 6.5 1999 861 46.5% 13.4% 6.0 1998 613 33.1% 1.0% 5.0 1997 595 32.1% 1.8% 4.0 1995 561 30.3% 4.4% 3.0 1994 479 25.9% 6.2% 2.1 1993 365 19.7% 4.7% 1.2 1991 278 15.0% A. Lodi, MIP Computation and beyond 5

MIP Evolution, Cplex numbers (cont.d) On a slightly larger set of 1,852 MIPs (including some models in which older versions encountered numerical troubles), the experiment highlights the version-to-version improvement in the number of solved problems. Cplex # % v-to-v % versions year optimal optimal improvement 11.0 2007 1,243 67.1% 7.8% 10.0 2005 1,099 59.3% 3.5% 9.0 2003 1,035 55.9% 2.6% 8.0 2002 987 53.3% 2.5% 7.1 2001 941 50.8% 4.3% 6.5 1999 861 46.5% 13.4% 6.0 1998 613 33.1% 1.0% 5.0 1997 595 32.1% 1.8% 4.0 1995 561 30.3% 4.4% 3.0 1994 479 25.9% 6.2% 2.1 1993 365 19.7% 4.7% 1.2 1991 278 15.0% Does anybody know/remember which was the key feature of Cplex v. 6.5? A. Lodi, MIP Computation and beyond 5

MIP Evolution, Cutting Planes Figure 1: Strengthening the LP relaxation by cutting planes. A. Lodi, MIP Computation and beyond 6

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): A. Lodi, MIP Computation and beyond 7

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): Cutting plane generation: Gomory Mixed Integer cuts, Mixed Integer Rounding, cover cuts, flow covers,... A. Lodi, MIP Computation and beyond 7

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): Cutting plane generation: Gomory Mixed Integer cuts, Mixed Integer Rounding, cover cuts, flow covers,... Sophisticated branching strategies: strong branching, pseudo-cost branching, diving and hybrids A. Lodi, MIP Computation and beyond 7

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): Cutting plane generation: Gomory Mixed Integer cuts, Mixed Integer Rounding, cover cuts, flow covers,... Sophisticated branching strategies: strong branching, pseudo-cost branching, diving and hybrids Primal heuristics: rounding heuristics (from easy to complex), local search,... A. Lodi, MIP Computation and beyond 7

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): Cutting plane generation: Gomory Mixed Integer cuts, Mixed Integer Rounding, cover cuts, flow covers,... Sophisticated branching strategies: strong branching, pseudo-cost branching, diving and hybrids Primal heuristics: rounding heuristics (from easy to complex), local search,... Preprocessing: probing, bound strengthening, propagation A. Lodi, MIP Computation and beyond 7

MIP Evolution, nowadays key features The current generation of MIP solvers incorporates key ideas developed continuously during the first 50 years of Integer Programming (often in the context of location problems): Cutting plane generation: Gomory Mixed Integer cuts, Mixed Integer Rounding, cover cuts, flow covers,... Sophisticated branching strategies: strong branching, pseudo-cost branching, diving and hybrids Primal heuristics: rounding heuristics (from easy to complex), local search,... Preprocessing: probing, bound strengthening, propagation Moreover, the MIP computation has reached such an effective and stable quality to allow the solution of sub-mips in the algorithmic process, the MIPping approach. [Fischetti & Lodi] These sub-mips are solved both for cutting plane generation and in the primal heuristic context. A. Lodi, MIP Computation and beyond 7

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. A. Lodi, MIP Computation and beyond 8

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. Nowadays MIP solvers include useful tools for complex algorithmic design and data and model analysis. Some of them are: A. Lodi, MIP Computation and beyond 8

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. Nowadays MIP solvers include useful tools for complex algorithmic design and data and model analysis. Some of them are: automatic tuning of the parameters: the number of parameters (corresponding to different algorithmic options) makes the hand-tuning complex but it guarantees great flexibility A. Lodi, MIP Computation and beyond 8

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. Nowadays MIP solvers include useful tools for complex algorithmic design and data and model analysis. Some of them are: automatic tuning of the parameters: the number of parameters (corresponding to different algorithmic options) makes the hand-tuning complex but it guarantees great flexibility multiple solutions: allow flexibility and support for decision making and, as side effect, improve primal heuristics A. Lodi, MIP Computation and beyond 8

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. Nowadays MIP solvers include useful tools for complex algorithmic design and data and model analysis. Some of them are: automatic tuning of the parameters: the number of parameters (corresponding to different algorithmic options) makes the hand-tuning complex but it guarantees great flexibility multiple solutions: allow flexibility and support for decision making and, as side effect, improve primal heuristics detection of sources of infeasibility in the models: real-world models are often over constrained and sources of infeasibility must be removed [Amaldi; Chinneck] A. Lodi, MIP Computation and beyond 8

MIP Evolution, a modeling viewpoint Solving an MIP to optimality is only one aspect of using an MIP solver for applications, sometimes not the most important one. Nowadays MIP solvers include useful tools for complex algorithmic design and data and model analysis. Some of them are: automatic tuning of the parameters: the number of parameters (corresponding to different algorithmic options) makes the hand-tuning complex but it guarantees great flexibility multiple solutions: allow flexibility and support for decision making and, as side effect, improve primal heuristics detection of sources of infeasibility in the models: real-world models are often over constrained and sources of infeasibility must be removed [Amaldi; Chinneck] callbacks: allow flexibility to accommodate the user code so as to take advantage of specific knowledge A. Lodi, MIP Computation and beyond 8

MIP Challenges Overall, a big challenge from both performance and modeling viewpoints is accuracy which is a new issue, i.e., an old issue that starts to be very important after realizing that MIP solvers can now really solve the problems. A. Lodi, MIP Computation and beyond 9

MIP Challenges Overall, a big challenge from both performance and modeling viewpoints is accuracy which is a new issue, i.e., an old issue that starts to be very important after realizing that MIP solvers can now really solve the problems. Some difficult MIPs: bad modeling: the model has numerical difficulties the MIP modeling capability is not sufficient wrt the real problem large problems knapsack constraints with huge coefficients and general-integer variables with large bounds scheduling models with disjunctive constraints and fundamental continuous variables A. Lodi, MIP Computation and beyond 9

MIP Challenges, performance The performance of MIP solvers can/must be improved in many different directions. A. Lodi, MIP Computation and beyond 10

MIP Challenges, performance The performance of MIP solvers can/must be improved in many different directions. Among them, my favorite ones are: branching vs cutting sophisticated techniques for general-integer and continuous variables performance variability revisiting good old methods cutting plane exploitation symmetric MIPs A. Lodi, MIP Computation and beyond 10

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x A. Lodi, MIP Computation and beyond 11

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x A. Lodi, MIP Computation and beyond 11

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x x β T x = β 0 x,1 x,2 first wisdom A. Lodi, MIP Computation and beyond 11

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x x x,1 x,2 β T x = β 0 α T x = α 0 x α T x = α 0 + 1 β T x = β 0 first wisdom A. Lodi, MIP Computation and beyond 11

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x x x,1 x,2 β T x = β 0 α T x = α 0 x α T x = α 0 + 1 β T x = β 0 first wisdom A. Lodi, MIP Computation and beyond 11

MIP Challenges: branching vs cutting α T x = α 0 α T x = α 0 + 1 x x x,1 x,2 β T x = β 0 α T x = α 0 x α T x = α 0 + 1 β T x = β 0 first wisdom second wisdom A. Lodi, MIP Computation and beyond 11

MIP Challenges, branching vs cutting (cont.d) The previous slide highlights a possibility of using traditional cutting plane theory in the branching context. [Karamanov & Cornuéjols] A. Lodi, MIP Computation and beyond 12

MIP Challenges, branching vs cutting (cont.d) The previous slide highlights a possibility of using traditional cutting plane theory in the branching context. [Karamanov & Cornuéjols] It seems that a better coordination of these two fundamental ingredients of the MIP solvers is crucial for strong improvements. A. Lodi, MIP Computation and beyond 12

MIP Challenges, branching vs cutting (cont.d) The previous slide highlights a possibility of using traditional cutting plane theory in the branching context. [Karamanov & Cornuéjols] It seems that a better coordination of these two fundamental ingredients of the MIP solvers is crucial for strong improvements. In the context of hard knapsack constraints branching on variables is not effective while (pure) basis reduction methods have proved to be very powerful. [Eisenbrand; Aardal; Pataki;... ] A. Lodi, MIP Computation and beyond 12

MIP Challenges, branching vs cutting (cont.d) The previous slide highlights a possibility of using traditional cutting plane theory in the branching context. [Karamanov & Cornuéjols] It seems that a better coordination of these two fundamental ingredients of the MIP solvers is crucial for strong improvements. In the context of hard knapsack constraints branching on variables is not effective while (pure) basis reduction methods have proved to be very powerful. [Eisenbrand; Aardal; Pataki;... ] On the other hand, a tight integration of basis reduction techniques within MIP solvers has not yet been achieved. One possibility for such an integration is the use of partial reformulations but an intriguing option is exploiting these reformulations to generate cuts in the original space of variables. [Aardal & Wolsey] A. Lodi, MIP Computation and beyond 12

MIP Challenges, branching vs cutting (cont.d) The previous slide highlights a possibility of using traditional cutting plane theory in the branching context. [Karamanov & Cornuéjols] It seems that a better coordination of these two fundamental ingredients of the MIP solvers is crucial for strong improvements. In the context of hard knapsack constraints branching on variables is not effective while (pure) basis reduction methods have proved to be very powerful. [Eisenbrand; Aardal; Pataki;... ] On the other hand, a tight integration of basis reduction techniques within MIP solvers has not yet been achieved. One possibility for such an integration is the use of partial reformulations but an intriguing option is exploiting these reformulations to generate cuts in the original space of variables. [Aardal & Wolsey] Finally, branching on appropriate disjunctions has been recently proposed in the context of highly symmetric MIPs. [Ostrowsky, Linderoth, Rossi & Smriglio] A. Lodi, MIP Computation and beyond 12

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. Another example are the models in which continuous variables are important: for those variables MIP solvers do not do much (heuristics, strengthening,... ). A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. Another example are the models in which continuous variables are important: for those variables MIP solvers do not do much (heuristics, strengthening,... ). A (urgent) MIP challenge is definitely dealing with general-integer and continuous variables with special-purpose techniques. A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. Another example are the models in which continuous variables are important: for those variables MIP solvers do not do much (heuristics, strengthening,... ). A (urgent) MIP challenge is definitely dealing with general-integer and continuous variables with special-purpose techniques. Cutting plane generation has been a key step for the success of MIP solvers but: are we using cuts in the best way? A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. Another example are the models in which continuous variables are important: for those variables MIP solvers do not do much (heuristics, strengthening,... ). A (urgent) MIP challenge is definitely dealing with general-integer and continuous variables with special-purpose techniques. Cutting plane generation has been a key step for the success of MIP solvers but: are we using cuts in the best way?by far not! A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) A very important class of MIPs is 0/1 IPs. Many of the sophisticated techniques already discussed have been originally proposed for this class and eventually extended to general MIPs. For example, branching on variables is particularly natural and effective in the 0/1 case while it is not when general-integer variables play a central role. Another example are the models in which continuous variables are important: for those variables MIP solvers do not do much (heuristics, strengthening,... ). A (urgent) MIP challenge is definitely dealing with general-integer and continuous variables with special-purpose techniques. Cutting plane generation has been a key step for the success of MIP solvers but: are we using cuts in the best way?by far not! Fundamental questions about the use of cutting planes remain open: stabilization/saturation issues cut selection cut interaction A. Lodi, MIP Computation and beyond 13

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. On the negative side, finding a (near-)optimal solution very early in the search tree explicitly improves the quality of the primal bound but might sometimes hurt in proving optimality (or at least does not help). A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. On the negative side, finding a (near-)optimal solution very early in the search tree explicitly improves the quality of the primal bound but might sometimes hurt in proving optimality (or at least does not help). This is an example of what we call performance variability: some good/neutral features that might not be monotonically helpful, or, worse, can deteriorate performance. [Koch et al.] A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. On the negative side, finding a (near-)optimal solution very early in the search tree explicitly improves the quality of the primal bound but might sometimes hurt in proving optimality (or at least does not help). This is an example of what we call performance variability: some good/neutral features that might not be monotonically helpful, or, worse, can deteriorate performance. [Koch et al.] A deeper understanding through sophisticated testing techniques is needed. [Hooker; McGeoch; Margot] A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. On the negative side, finding a (near-)optimal solution very early in the search tree explicitly improves the quality of the primal bound but might sometimes hurt in proving optimality (or at least does not help). This is an example of what we call performance variability: some good/neutral features that might not be monotonically helpful, or, worse, can deteriorate performance. [Koch et al.] A deeper understanding through sophisticated testing techniques is needed. [Hooker; McGeoch; Margot] The negative example suggests an additional very crucial question: besides avoiding good primal solutions hurting the optimality proof, how can we use them to have instead a strong speed up? A. Lodi, MIP Computation and beyond 14

MIP Challenges, performance (cont.d) The interaction of key ingredients presented before has side effects: positive and negative ones. On the positive side, improvements in LP performance explicitly speed up node throughput, but implicitly help because one can now do more strong branching and MIPping. On the negative side, finding a (near-)optimal solution very early in the search tree explicitly improves the quality of the primal bound but might sometimes hurt in proving optimality (or at least does not help). This is an example of what we call performance variability: some good/neutral features that might not be monotonically helpful, or, worse, can deteriorate performance. [Koch et al.] A deeper understanding through sophisticated testing techniques is needed. [Hooker; McGeoch; Margot] The negative example suggests an additional very crucial question: besides avoiding good primal solutions hurting the optimality proof, how can we use them to have instead a strong speed up? Good old methods have been rediscovered and revisited during the years, Gomory Mixed Integer cuts being the most noticeable example. Recently: strong Benders cutting planes [Fischetti, Salvagnin & Zanette] lexicographic [Zanette, Fischetti & Balas] cutting planes from group relaxation [Gomory; Richard; Dey; Wolsey; Dash & Günlük;... ] A. Lodi, MIP Computation and beyond 14

MIP Challenges, the modeling viewpoint Besides developing additional tools in the spirit of the ones described before (among all possible I would like a tool for detecting minimal sources of numerical instability) A. Lodi, MIP Computation and beyond 15

MIP Challenges, the modeling viewpoint Besides developing additional tools in the spirit of the ones described before (among all possible I would like a tool for detecting minimal sources of numerical instability) the main challenge from an application viewpoint seems to be dissemination. A. Lodi, MIP Computation and beyond 15

MIP Challenges, the modeling viewpoint Besides developing additional tools in the spirit of the ones described before (among all possible I would like a tool for detecting minimal sources of numerical instability) the main challenge from an application viewpoint seems to be dissemination. More precisely, an interesting direction would be extending the modeling (and solving) capability within the MIP framework. A. Lodi, MIP Computation and beyond 15

MIP Challenges, the modeling viewpoint Besides developing additional tools in the spirit of the ones described before (among all possible I would like a tool for detecting minimal sources of numerical instability) the main challenge from an application viewpoint seems to be dissemination. More precisely, an interesting direction would be extending the modeling (and solving) capability within the MIP framework. Two successful stories in this direction are: 1. SCIP (Solving Constraint Integer Programs, [Achterberg]) whose main feature is a tight integration of Constraint Programming (CP) and SATisfiability techniques within an MIP solver. It can handle arbitrary (non-linear) constraints in a CP fashion. A. Lodi, MIP Computation and beyond 15

MIP Challenges, the modeling viewpoint Besides developing additional tools in the spirit of the ones described before (among all possible I would like a tool for detecting minimal sources of numerical instability) the main challenge from an application viewpoint seems to be dissemination. More precisely, an interesting direction would be extending the modeling (and solving) capability within the MIP framework. Two successful stories in this direction are: 1. SCIP (Solving Constraint Integer Programs, [Achterberg]) whose main feature is a tight integration of Constraint Programming (CP) and SATisfiability techniques within an MIP solver. It can handle arbitrary (non-linear) constraints in a CP fashion. 2. Bonmin (Basic Open-source Nonlinear Mixed INteger programming, [Bonami et al.]) has been developed for Convex MINLP within the framework of the MIP solver Cbc [Forrest]. A. Lodi, MIP Computation and beyond 15

MIP Modeling, CP and SCIP Figure 2: Modeling in the CP paradigm. A. Lodi, MIP Computation and beyond 16

MIP Modeling, CP and SCIP Figure 2: Modeling in the CP paradigm. A global constraint defines combinatorially a portion of the feasible region, i.e., it is able to check feasibility of an assignment of values to variables. A. Lodi, MIP Computation and beyond 16

MIP Modeling, CP and SCIP Figure 2: Modeling in the CP paradigm. A global constraint defines combinatorially a portion of the feasible region, i.e., it is able to check feasibility of an assignment of values to variables. Moreover, a global constraint contains an algorithm which prunes (filters) values from the variable domains so as to reduce as much as possible the search space. A. Lodi, MIP Computation and beyond 16

MIP Modeling, Convex (and Non-Convex) MINLPs and Bonmin Figure 3: A network design example in the water distribution, instance fossolo. A. Lodi, MIP Computation and beyond 17

MIP Modeling, Convex (and Non-Convex) MINLPs and Bonmin Figure 3: A network design example in the water distribution, instance fossolo. The model does not have special difficulties besides the so-called Hazen-Williams equation modeling pressure loss in water pipes. However, such an equation is very bad... A. Lodi, MIP Computation and beyond 17

MIP Modeling, Convex (and Non-Convex) MINLPs and Bonmin Figure 3: A network design example in the water distribution, instance fossolo. The model does not have special difficulties besides the so-called Hazen-Williams equation modeling pressure loss in water pipes. However, such an equation is very bad... A classical MIP model from the 80 s linearizes such an equation BUT ILOG-Cplex does not find any feasible solution for fossolo in 2 days of CPU time (!!) while Bonmin finds a very accurate one in few seconds. A. Lodi, MIP Computation and beyond 17

MIP Modeling, Convex (and Non-Convex) MINLPs and Bonmin Figure 3: A network design example in the water distribution, instance fossolo. The model does not have special difficulties besides the so-called Hazen-Williams equation modeling pressure loss in water pipes. However, such an equation is very bad... A classical MIP model from the 80 s linearizes such an equation BUT ILOG-Cplex does not find any feasible solution for fossolo in 2 days of CPU time (!!) while Bonmin finds a very accurate one in few seconds. Using the diameters computed by Bonmin, the MIP does not certify the solution to be feasible even allowing 1,000 linearization points. A. Lodi, MIP Computation and beyond 17