Looking inside Gomory Aussois, January 7-11 2008 1 Looking inside Gomory Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo.

Slides:



Advertisements
Similar presentations
Branch-and-Bound In this handout,  Summary of branch-and-bound for integer programs Updating the lower and upper bounds for OPT(IP) Summary of fathoming.
Advertisements

Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
Computational Methods for Management and Economics Carla Gomes Module 8b The transportation simplex method.
Looking inside Gomory Aussois, January ISMP Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University.
MATH 685/ CSI 700/ OR 682 Lecture Notes
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
Aussois, 4-8/1/20101 = ? Matteo Fischetti and Domenico Salvagnin University of Padova +
Computational Methods for Management and Economics Carla Gomes
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
Computational Methods for Management and Economics Carla Gomes
D Nagesh Kumar, IIScOptimization Methods: M3L4 1 Linear Programming Simplex method - II.
1 Robustness by cutting planes and the Uncertain Set Covering Problem AIRO 2008, Ischia, 10 September 2008 (work supported my MiUR and EU) Matteo Fischetti.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Looking inside Gomory Aussois, January CPAIOR Toward a MIP cut meta-scheme Matteo Fischetti, DEI, University of Padova.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
On the role of randomness in exact tree search methods EURO XXV, Vilnius, July Matteo Fischetti, University of Padova (based on joint work with Michele.
Decision Procedures An Algorithmic Point of View
Optimizing over the Split Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Simplex method (algebraic interpretation)
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
MILP algorithms: branch-and-bound and branch-and-cut
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
Integer programming, MA Operational Research1 Integer Programming Operational Research -Level 4 Prepared by T.M.J.A.Cooray Department of Mathematics.
3.3 Implementation (1) naive implementation (2) revised simplex method
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
Integer Bounds on Suppressed Cells in Multi-Way Tables Stephen F. Roehrig Carnegie Mellon University For.
Intersection Cuts for Bilevel Optimization
OR  Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined.
OR Chapter 4. How fast is the simplex method  Efficiency of an algorithm : measured by running time (number of unit operations) with respect to.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Sebastian Ceria Graduate School of Business and
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
Perturbation method, lexicographic method
Matteo Fischetti, University of Padova
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
Linear Programming.
Chapter 4 Linear Programming: The Simplex Method
Chap 9. General LP problems: Duality and Infeasibility
Chapter 6. Large Scale Optimization
Chapter 6. Large Scale Optimization
2. Generating All Valid Inequalities
Chapter 8. General LP Problems
Chapter 5. The Duality Theorem
Matteo Fischetti, University of Padova
Chapter 8. General LP Problems
Intersection Cuts from Bilinear Disjunctions
DUALITY THEORY Reference: Chapter 6 in Bazaraa, Jarvis and Sherali.
Chapter 8. General LP Problems
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Intersection Cuts for Quadratic Mixed-Integer Optimization
Presentation transcript:

Looking inside Gomory Aussois, January Looking inside Gomory Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo Zanette)

Looking inside Gomory Aussois, January Gomory cuts Modern branch-and-cut MIP methods heavily based on Gomory cuts, used to reduce the number of branching nodes needed to reach optimality However, pure cutting plane methods based on Gomory cuts alone are typically not used in practice, due to their poor convergence properties Branching as a symptomatic cure to the well-known drawbacks of Gomory cuts---saturation, bad numerical behavior, etc. From the cutting plane point of view, however, the cure is even worse than the disease—it hides the trouble source!

Looking inside Gomory Aussois, January The pure cutting plane dimension The purpose of our project is to try to come up with a viable pure cutting plane method (i.e., one that is not knocked out by numerical difficulties)… … even if on most problems it will not be competitive with the branch-and-bound based methods First step: Gomory's fractional cuts (FGCs), for two reasons: –simplest to generate, and –when expressed in the structural variables, all their coefficients are integer  easier to work with them and to assess how nice or weird they are (numerically more stable than GMI cuts) This talk: looking inside the chest of FGC convergent method

Looking inside Gomory Aussois, January Rules of the game: cuts from LP tableau Main requirement: reading (essentially for free) the FGCs directly from the optimal LP tableau Cut separation heavily entangled with LP reoptimization! Intrinsically different from the recent works on the first closure by Fischetti and Lodi (Chvatal-Gomory) and Balas and Saxena (GMI/split closure) where separation is decoupled from optimization Subtle side effects! The FGC 2 x 1 - x x 3 <= 5 can work much better than its GMI (dominating but numerically less stable) counterpart x 1 - x x 3 <= 5

Looking inside Gomory Aussois, January Cuts and Pivots: an entangled pair Long sequence of cuts that eventually lead to an optimal integer solution  cut side effects that are typically underestimated when just a few cuts are used within an enumeration scheme A must! Pivot strategies aimed to keep the optimal tableau clean so as generate clean cuts in the next iterations In particular: avoid cutting LP optimal vertices with a weird fractionality (possibly due to numerical inaccuracy)  the corresponding LP basis has a large determinant (needed to describe the weird fractionality)  the tableau contains weird entries that lead to weaker and weaker Gomory cuts

Looking inside Gomory Aussois, January Role of degeneracy Keep a clean tableau  deal with numerical issues … Avoid cutting weird optimal vertices  ?? Exploit dual degeneracy! Dual degeneracy is notoriously massive in cutting plane methods It can play an important role and actually can favor the practical convergence of the method… … provided that it is exploited to choose the cleanest LP solution (and tableau) among the equivalent optimal ones… Unfortunately, the highly-correlated sequence of reoptimization pivots performed by a generic LP solver leads invariably to an uncontrolled growth of the basis determinant  method out of control after just a few iterations!

Looking inside Gomory Aussois, January Dura lex, sed lex … In his proof of convergence, Gomory used the lexicographic simplex to cope with degeneracy The dual lexicographic simplex is a modified version of the dual simplex algorithm: –instead of considering the minimization of the objective function x 0 = c T x –one is interested in the lexicographic minimization of the entire solution vector (x 0,x 1,…, x n ) Rigid pivoting rules with ratio tests involving vectors  cumbersome and slow/unstable implementation Useful in theory for convergence proofs, but … … also in practice?

Looking inside Gomory Aussois, January Lex-FGC: fractional vertices (stein15) Cut# x0 x1 x2 x3 x4 x5 x6 x7 … 00) …... 05) … 06) … 07) … 08) … 09) … 10) … 11) … 12) … 13) … 14) … …... 64) … 65) … 66) … all integer! Each FGC removes “enough fractionality” of current x * A consequence of the nice “sign pattern” of lex-optimal tableau

Looking inside Gomory Aussois, January Textbook vs Lex (stein15) (left) x* trajectories (vertical axis: lower bound) (right) basis temperature = log(det(B))

Looking inside Gomory Aussois, January A reliable and fast lex. implementation Based on the use of a black-box LP solver –Step 0. Optimize x 0 --> optimal value x * 0 –Step 1. Fix x 0 = x * 0, and optimize x 1 --> optimal value x * 1 –Step 2. Fix also x 1 = x * 1, and optimize x 2 --> optimal value x * 2 –... Simple, but … does it work? Forget! … just a nightmare! Clever version: at each step, instead of adding the equation x j = x * j … fix out of the basis all the nonbasic variables with nonzero reduced cost  sequence of fast (and clean) reoptimizations on smaller and smaller degeneracy subspaces, leading to the required lex- optimal tableau  to be compared with Balas-Perregaard L&P pivoiting…

Looking inside Gomory Aussois, January Role of lex reoptimization (stein15)

Looking inside Gomory Aussois, January Heuristic pivoting rules Alternative pivoting rules to mimic the lexicographic dual simplex Useful to try to highlight the crucial properties that allow the lexicographic method to produce stable Gomory cuts HEUR1 Just a truncated lex. method on the arguably most-important variable – After the addition of a FGC, lex. minimize (x 0,x i ) where x * i is the basic fractional variable generating the FGC HEUR2 Try to select optimal vertices where the previously generated FGCs are slack (having a cut slack into the basis avoids it appears in the cut- generation row and hence reduces cut correlation) – After the addition of the i-th FGC with slack variable s i (say), try to keep all slacks s 1,…,s i inside the opt. basis by lex. minimizing (x 0, -s i,, …, -s 2,-s 1 )

Looking inside Gomory Aussois, January Experiments Pure ILP instances from MIPLIB 3 and MIPLIB 2003 (none solved by previous pure cutting plane methods based on FGCs) Input data is assumed to be integer. Cuts also derived from the objective function tableau row, as prescribed by Gomory’s proof of convergence. Once a FGC is generated, we put it in its all-integer form in the space of the structural variables. Numerical stabilization: we use a threshold of 0.1 to test whether a coefficient is integer or not: –a coefficient with fractional part smaller than 0.1 is rounded to its nearest integer –cuts with larger fractionality are viewed as unreliable and hence discarded.

Looking inside Gomory Aussois, January Experiments (one cut at a time) First set of experiments addressed the single-cut version of Gomory's algorithm Runs on a PC Intel Core 2 Q6600, 2.40GHz, with a time limit of 1 hour of CPU time and a memory limit of 2GB for each instance

Looking inside Gomory Aussois, January Instance air04

Looking inside Gomory Aussois, January Instance bm23

Looking inside Gomory Aussois, January Instance stein27

Looking inside Gomory Aussois, January Multi-cut version

Looking inside Gomory Aussois, January Instance protfold Very hard protein-folding instance (max; opt=31; 9x2 days using tuned Xpress2006b) Cplex: after 14 days, memory overflow (3GB) after 4,000,000 nodes; best bound 36 lexFGC: after 14 days, about 3,000,000 cuts in 9,500 rounds; best bound 34, still alive and kicking (max 100 MB memory)

Looking inside Gomory Aussois, January Looking inside the chest: sentoy Upper bound (max problem; multi-cut version)

Looking inside Gomory Aussois, January Looking inside the chest: sentoy Condition number of the optimal basis

Looking inside Gomory Aussois, January Looking inside the chest: sentoy Average absolute value of cut coefficients

Looking inside Gomory Aussois, January Looking inside the chest: sentoy Avg. geometric distance of x * from the FGC

Looking inside Gomory Aussois, January … questions? sed lex Lex, dura lex