looking inside gomory
play

Looking inside Gomory Matteo Fischetti, DEI University of Padova - PowerPoint PPT Presentation

Looking inside Gomory Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo Zanette) 1 Looking inside Gomory Aussois, January 7-11 2008 Gomory cuts Modern branch-and-cut MIP methods heavily based on Gomory cuts


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

  2. 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 ! 2 Looking inside Gomory Aussois, January 7-11 2008

  3. 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 3 Looking inside Gomory Aussois, January 7-11 2008

  4. 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 2 + 3 x 3 <= 5 can work much better than its GMI (dominating but numerically less stable) counterpart 2.272727272 6 x 1 - x 2 + 3.181818181 5 x 3 <= 5 4 Looking inside Gomory Aussois, January 7-11 2008

  5. 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 5 Looking inside Gomory Aussois, January 7-11 2008

  6. 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! 6 Looking inside Gomory Aussois, January 7-11 2008

  7. 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 ? 7 Looking inside Gomory Aussois, January 7-11 2008

  8. Lex-FGC: fractional vertices (stein15) Cut# x0 x1 x2 x3 x4 x5 x6 x7 … 00) 5.000 0.333 0.333 0.333 0.333 0.333 0.333 0.333 … ... 05) 7.000 0.000 0.000 0.333 0.333 0.333 0.666 0.666 … 06) 7.000 0.000 0.071 0.785 0.428 0.500 0.428 0.214 … 07) 7.000 0.000 1.000 0.333 0.333 0.666 0.333 0.666 … 08) 7.000 0.030 0.969 0.696 0.606 0.121 0.303 0.272 … 09) 7.000 1.000 0.000 0.333 0.666 0.666 0.333 0.666 … 10) 7.000 1.000 0.025 0.743 0.230 0.435 0.538 0.333 … 11) 7.000 1.000 1.000 0.095 0.285 0.571 0.619 0.238 … 12) 7.000 1.000 1.000 1.000 0.333 0.333 0.333 0.333 … 13) 7.068 0.931 0.931 0.862 0.310 0.413 0.379 0.275 … 14) 8.000 0.000 0.000 0.000 0.000 0.000 1.000 … … ... 64) 8.000 1.000 1.000 1.000 1.000 1.000 1.000 0.500 … 65) 8.013 0.973 0.973 0.947 0.907 0.572 0.868 0.171 … 66) 9.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000 … all integer! • Each FGC removes “enough fractionality” of current x * • A consequence of the nice “sign pattern” of lex-optimal tableau 8 Looking inside Gomory Aussois, January 7-11 2008

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

  10. 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… • 10 Looking inside Gomory Aussois, January 7-11 2008

  11. Aussois, January 7-11 2008 11 Role of lex reoptimization (stein15) Looking inside Gomory

  12. 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 ) 12 Looking inside Gomory Aussois, January 7-11 2008

  13. 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 . 13 Looking inside Gomory Aussois, January 7-11 2008

  14. 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 14 Looking inside Gomory Aussois, January 7-11 2008

  15. Aussois, January 7-11 2008 15 Instance air04 Looking inside Gomory

  16. Aussois, January 7-11 2008 16 Instance bm23 Looking inside Gomory

  17. Aussois, January 7-11 2008 17 Instance stein27 Looking inside Gomory

  18. Aussois, January 7-11 2008 18 Multi-cut version Looking inside Gomory

  19. 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) 19 Looking inside Gomory Aussois, January 7-11 2008

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

  21. Looking inside the chest: sentoy Condition number of the optimal basis 21 Looking inside Gomory Aussois, January 7-11 2008

  22. Looking inside the chest: sentoy Average absolute value of cut coefficients 22 Looking inside Gomory Aussois, January 7-11 2008

  23. Looking inside the chest: sentoy Avg. geometric distance of x * from the FGC 23 Looking inside Gomory Aussois, January 7-11 2008

  24. Aussois, January 7-11 2008 24 … questions? sed lex x e l a r u d , x e L Looking inside Gomory

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend