Presolve Reductions in Mixed Integer Programming

Mixed integer programming has become a very powerful tool for modeling and solving real-world planning and scheduling problems, with the breadth of applications appearing to be almost unlimited. A critical component in the solution of these mixed-integer programs is a set of routines commonly referred to as presolve. Presolve can be viewed as a collection of preprocessing techniques that reduce the size of and, more importantly, improve the ``strength'' of the given model formulation, that is, the degree to which the constraints of the formulation accurately describe the underlying polyhedron of integer-feasible solutions. As our computational results will show, presolve is a key factor in the speed with which we can solve mixed-integer programs, and is often the difference between a model being intractable and solvable, in some cases easily solvable. In this paper we describe the presolve functionality in the Gurobi commercial mixed-integer programming code. This includes an overview, or taxonomy of the different methods that are employed, as well as more-detailed descriptions of several of the techniques, with some of them appearing, to our knowledge, for the first time in the literature.

[1]  Igor L. Markov,et al.  Exploiting structure in symmetry detection for CNF , 2004, Proceedings. 41st Design Automation Conference, 2004..

[2]  François Margot,et al.  Symmetry in Integer Linear Programming , 2010, 50 Years of Integer Programming.

[3]  Armin Fügenschuh,et al.  Computational Integer Programming and Cutting Planes , 2005 .

[4]  Claude Le Pape,et al.  Exploring relaxation induced neighborhoods to improve MIP solutions , 2005, Math. Program..

[5]  Robert E. Bixby,et al.  Mixed-Integer Programming: A Progress Report , 2004, The Sharpest Cut.

[6]  Timo Berthold,et al.  Hybrid Branching , 2009, CPAIOR.

[7]  Tobias Achterberg,et al.  SCIP: solving constraint integer programs , 2009, Math. Program. Comput..

[8]  Martin W. P. Savelsbergh,et al.  Conflict graphs in solving integer programming problems , 2000, Eur. J. Oper. Res..

[9]  Egon Balas,et al.  An Algorithm for Large Zero-One Knapsack Problems , 1980, Oper. Res..

[10]  Erling D. Andersen,et al.  Presolving in linear programming , 1995, Math. Program..

[11]  Robert E. Bixby,et al.  Progress in computational mixed integer programming—A look back from the other side of the tipping point , 2007, Ann. Oper. Res..

[12]  Tobias Achterberg,et al.  Constraint integer programming , 2007 .

[13]  H. Markowitz The Elimination form of the Inverse and its Application to Linear Programming , 1957 .

[14]  Nikolaos V. Sahinidis,et al.  A Finite Algorithm for Global Minimization of Separable Concave Programs , 1998, J. Glob. Optim..

[15]  Gautam Mitra,et al.  Analysis of mathematical programming problems prior to applying the simplex algorithm , 1975, Math. Program..

[16]  Martin W. P. Savelsbergh,et al.  Integer-Programming Software Systems , 2005, Ann. Oper. Res..

[17]  G. Dantzig Discrete-Variable Extremum Problems , 1957 .

[18]  J. Tomlin Pivoting for Size and Sparsity in Linear Programming Inversion Routes , 1972 .

[19]  Uwe H. Suhl,et al.  Supernode processing of mixed-integer models , 1994, Comput. Optim. Appl..

[20]  Thorsten Koch,et al.  Progress in presolving for mixed integer programming , 2015, Math. Program. Comput..

[21]  S. Thomas McCormick,et al.  Implementation and computational results for the hierarchical algorithm for making sparse matrices sparser , 1993, TOMS.

[22]  Marc E. Pfetsch,et al.  A computational comparison of symmetry handling methods for mixed integer programs , 2019, Math. Program. Comput..

[23]  François Margot,et al.  Exploiting orbits in symmetric ILP , 2003, Math. Program..

[24]  Tobias Achterberg,et al.  Mixed Integer Programming: Analyzing 12 Years of Progress , 2013 .

[25]  Martin W. P. Savelsbergh,et al.  Preprocessing and Probing Techniques for Mixed Integer Programming Problems , 1994, INFORMS J. Comput..

[26]  M. Gu,et al.  Strong rank revealing LU factorizations , 2003 .

[27]  M. Padberg,et al.  Degree-two Inequalities, Clique Facets, and Biperfect Graphs , 1982 .

[28]  Igor L. Markov,et al.  Faster symmetry discovery using sparsity of symmetries , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[29]  Uwe H. Suhl,et al.  Experiments in integer programming , 1980, Discret. Appl. Math..

[30]  Vasek Chvátal,et al.  Edmonds polytopes and a hierarchy of combinatorial problems , 1973, Discret. Math..

[31]  Monique Guignard-Spielberg,et al.  Logical Reduction Methods in Zero-One Programming - Minimal Preferred Variables , 1981, Oper. Res..