Looking inside Gomory Aussois, January 7-11 2008 ISMP 2009 1 Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University.

Slides:



Advertisements
Similar presentations
Understanding optimum solution
Advertisements

Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
Computational Methods for Management and Economics Carla Gomes Module 6a Introduction to Simplex (Textbook – Hillier and Lieberman)
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)
Looking inside Gomory Aussois, January Looking inside Gomory Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo.
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:
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
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.
Simplex Method LP problem in standard form. Canonical (slack) form : basic variables : nonbasic variables.
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.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
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)
A Decomposition Heuristic for Stochastic Programming Natashia Boland +, Matteo Fischetti*, Michele Monaci*, Martin Savelsbergh + + Georgia Institute of.
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.
Pareto Linear Programming The Problem: P-opt Cx s.t Ax ≤ b x ≥ 0 where C is a kxn matrix so that Cx = (c (1) x, c (2) x,..., c (k) x) where c.
MILP algorithms: branch-and-bound and branch-and-cut
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.
Divide and Conquer Optimization problem: z = max{cx : x  S}
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Simplex Method Simplex: a linear-programming algorithm that can solve problems having more than two decision variables. The simplex technique involves.
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.
Sebastian Ceria Graduate School of Business and
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Lap Chi Lau we will only use slides 4 to 19
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
Topics in Algorithms Lap Chi Lau.
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
Perturbation method, lexicographic method
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
Matteo Fischetti, University of Padova
Gomory Cuts Updated 25 March 2009.
Chapter 6. Large Scale Optimization
Chap 3. The simplex method
Matteo Fischenders, University of Padova
2. Generating All Valid Inequalities
Chapter 8. General LP Problems
Matteo Fischetti, University of Padova
Chapter 8. General LP Problems
Intersection Cuts from Bilinear Disjunctions
Simplex method (algebraic interpretation)
Chapter 8. General LP Problems
Chapter 6. Large Scale Optimization
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Intersection Cuts for Quadratic Mixed-Integer Optimization
Discrete Optimization
Presentation transcript:

Looking inside Gomory Aussois, January ISMP Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree?

Looking inside Gomory Aussois, January ISMP Outline 1.Pure cutting plane methods for ILPs: motivation 2.Kickoff: Gomory’s method for ILPs (1958, fractional cuts) 3.Bad (expected) news: very poor if implemented naively 4.Good news: room for more clever implementations Based on joint work with Egon Balas and Arrigo Zanette

Looking inside Gomory Aussois, January ISMP Motivation Modern branch-and-cut MIP methods are heavily based on Gomory cuts  reduce the number of branching nodes to 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 ISMP The pure cutting plane dimension Goal: 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 This talk: Gomory's fractional cuts (FGCs), for several reasons: –simple tableau derivation –reliable LP validity proof (runtime cut-validity certificate) –all integer coefficients  numerically more stable than their mixed-integer counterpart (GMIs)

Looking inside Gomory Aussois, January ISMP 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! Closed loop system (tableau-cut-tableau) without any control valve: highly unstable! Intrinsically different from the recent works on the first closure by F. & Lodi (Chvatal-Gomory closure) and Balas & Saxena and Dash, Gunluk & Lodi (GMI/split closure) where separation is an external black-box decoupled from LP reoptimization

Looking inside Gomory Aussois, January ISMP Bad news: Stein15 (LP bound) Toy set covering instance from MIPLIB; LP bound = 5; ILP optimum = 8 The multi-cut vers. generates rounds of cuts before each LP reopt.

Looking inside Gomory Aussois, January ISMP The tip of the iceberg Bound saturation is just the tip of the iceberg Let’s have a look under the sea… … with our brand-new 3D glasses

Looking inside Gomory Aussois, January ISMP Bad news: Stein15 (LP sol.s) Fractionality spectrography: color plot of the LP sol.s (muti-cut vers.) After few iterations, an almost-uniform red plot (very bad…) iter.t=0t=1t=2t x1x x * 1 (t) x2x x * 2 (t) … … xjxj x * j (t) … …

Looking inside Gomory Aussois, January ISMP Bad news: Stein15 (LP sol.s) Plot of the LP-sol. trajectories for single-cut (red) and multi-cut (blue) versions ( multidimensional scaling) Both versions collapse after a while  no more fuel?

Looking inside Gomory Aussois, January ISMP Bad news: Stein15 (determinants) Too much fuel !!

Looking inside Gomory Aussois, January ISMP Cuts and Pivots Very 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 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 ISMP Role of degeneracy Dual degeneracy is an intrinsic property of cutting plane methods It can play an important role and actually can favor the practical convergence of a cutting plane method… … provided that it is exploited to choose the cleanest LP solution (and tableau) among the equivalent optimal one Unfortunately, by design, efficient LP codes work against us! They are so smart in reducing the n. of dual pivots, and of course they stop immediately when primal feasibility is restored!  The new LP solution tends to be close to the previous one  Small changes in the LP solution imply large determinants  Large determinants imply unstable tableaux and shallow cuts  Shallow cuts induce smaller and smaller LP solution changes  Hopeless!

Looking inside Gomory Aussois, January ISMP Dura lex, sed lex … In his proof of convergence, Gomory used the lexicographic (dual) simplex to cope with degeneracy  lex-minimize (x 0 = c T x, x 1, x 2, …, x n ) Implementation: use a modern LP solver as a black box: –Step 0. Minimize x 0 --> optimal value x * 0 –Step 1. Fix x 0 = x * 0, and minimize x 1 --> optimal value x * 1 –Step 2. Fix also x 1 = x * 1, and minimize x 2 --> optimal value x * 2 –... Key point: at each step, instead of adding equation x j = x * j explicitly… … just fix out of the basis all the nonbasic var.s with nonzero reduced cost  Sequence of fast (and clean) reoptimizations on smaller and smaller degeneracy subspaces, leading to the required lex-optimal tableau Lex-min useful for the convergence proof, but … also in practice?

Looking inside Gomory Aussois, January ISMP Good news #1: Stein15 (LP bound) LP bound = 5; ILP optimum = 8 TB = “Text-Book” multi-cut vers. (as before) LEX = single-cut with lex-optimization

Looking inside Gomory Aussois, January ISMP Good news #1: Stein15 (LP sol.s) TB = multi-cut vers. (as before) LEX = single-cut with lex-optimization Fractionality spectrography

Looking inside Gomory Aussois, January ISMP Good news #1: Stein15 (LP sol.s) Plot of the LP-sol. trajectories for TB (red) and LEX (black) versions (X,Y) = 2D representation of the x-space ( multidimensional scaling)

Looking inside Gomory Aussois, January ISMP Good news #1: Stein15 (determinants) TB = multi-cut vers. (as before) LEX = single-cut with lex-opt.

Looking inside Gomory Aussois, January ISMP Good news #1: sentoy (max. problem) TB = multi-cut vers. (as before) LEX = single-cut with lex-opt.

Looking inside Gomory Aussois, January ISMP Good news #1: sentoy TB = multi-cut vers. (as before) LEX = single-cut with lex-opt. Avg. geometric distance of x* from the Gomory cut

Looking inside Gomory Aussois, January ISMP Good news #1: sentoy Avg. geometric distance between two consecutive optimal sol.s x* TB = multi-cut vers. (as before) LEX = single-cut with lex-opt.

Looking inside Gomory Aussois, January ISMP Ok, it works … but WHY? Enumerative interpretation of the Gomory method (Nourie & Venta, 1982)

Looking inside Gomory Aussois, January ISMP The underlying enumeration tree Any fractional solution x * can be visualized on a lex-tree The structure of the tree is fixed (for a given lex-order of the var.s) Leaves correspond to integer sol.s of increasing lex-value (left to right)

Looking inside Gomory Aussois, January ISMP The “bad” Gomory (TB = no lex) lex-value z may decrease  risk of loop in case of naïve cut purging!

Looking inside Gomory Aussois, January ISMP Nice “sign pattern” of lex-optimal tableau x*0x* X*1X* X*5X* X*kX*k X*8X* X*hX*h X * X 25 XhXh X0X0 RHS  basic var.s   nonbasic var.s  Green row: nonbasic “+” var. x j increases  a basic var x k with k < h increases increasing lex. order  X 10 XjXj

Looking inside Gomory Aussois, January ISMP The key FGC property for convergence Take the tableau row associated with the (lex) first fractional var. x * h where and We want to lex-increase the optimal value  add a FGC in its ≥ form: (a FGC in its ≤ form will not work!). Two cases for the new LP-opt. x [BRANCH] x j = 0 for all j ε J +  [BACKTRACK] otherwise, a “previous component” increases  BIG lex- increase

Looking inside Gomory Aussois, January ISMP The “good” Gomory (lex & ≥)

Looking inside Gomory Aussois, January ISMP A “still bad” Gomory (lex but ≤) … slow sequence, but still monotonically lex-increasing (not enough for finite convergence)

Looking inside Gomory Aussois, January ISMP Lessons learned The Gomory method is framed within its enumerative cast “Good” FGCs may allow for large backtracking steps, but they cannot modify the underlying tree Inefficient depth-first branching on an unnatural variable order  branching even on integer- valued variables!!

Looking inside Gomory Aussois, January ISMP Good news #2: lex on the fly Facts: If x * h is the first fractional var. of the current lex-optimal LP sol., there is no harm in changing the lex sequence from position h Our lex-reoptimization method allows one to do this “natively”, in an effective way The first fractional var. x* h plays the role of the branching var. in enumerative method One can borrow from enumerative methods any clever selection policy for the branching variable x* b (b for branching), and move this var. in the h- th position of the current lex-order  (hopefully) no more branchings on integer variables!

Looking inside Gomory Aussois, January ISMP Variants: get rid of the obj. function The first branching variable x 0 is the objective function  a very unnatural choice for an enumerative method! In some cases, this choice forces Gomory’s method to visit a same subtree several times (see e.g. the Cook-Kannan-Schrijver example below)  Try to get rid of the obj. function: use of invalid cuts (L-CP), binary search, etc. BUT: are these still pure cutting plane methods ?? Let z := 1000 y z integer

Looking inside Gomory Aussois, January ISMP Role of cuts & dynamic lex-order L-CP and L-B&B work on the same underlying tree (L-CP exploiting FGCs) *.dyn versions modify the lex-order on the fly (no branching on integer var.s)

Looking inside Gomory Aussois, January ISMP Computational tests

Looking inside Gomory Aussois, January ISMP Thank you Lex. dual simplex Gomory cuts

Looking inside Gomory Aussois, January ISMP Question: what about GMI cuts? Bits required to represent the integer cut coeff.s when approximating GMI cuts (approx. error =1 for FGCs, approx. error = 0 for GMIs)  GMI cuts appear numerically much more difficult to handle (at least, in a pure cutting plane context …)