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

looking inside gomory
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Looking inside Gomory Aussois, January 7-11 2008

Looking inside Gomory

Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo Zanette)

slide-2
SLIDE 2

2

Looking inside Gomory Aussois, January 7-11 2008

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!

slide-3
SLIDE 3

3

Looking inside Gomory Aussois, January 7-11 2008

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

  • r weird they are (numerically more stable than GMI cuts)
  • This talk: looking inside the chest of FGC convergent method
slide-4
SLIDE 4

4

Looking inside Gomory Aussois, January 7-11 2008

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 x1 - x2 + 3 x3 <= 5 can work much better than its GMI (dominating but numerically less stable) counterpart 2.2727272726 x1 - x2 + 3.1818181815 x3 <= 5

slide-5
SLIDE 5

5

Looking inside Gomory Aussois, January 7-11 2008

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

slide-6
SLIDE 6

6

Looking inside Gomory Aussois, January 7-11 2008

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!

slide-7
SLIDE 7

7

Looking inside Gomory Aussois, January 7-11 2008

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 x0 = cT x – one is interested in the lexicographic minimization of the entire solution vector (x0,x1,…, xn)

  • Rigid pivoting rules with ratio tests involving vectors cumbersome

and slow/unstable implementation

  • Useful in theory for convergence proofs, but …

… also in practice?

slide-8
SLIDE 8

8

Looking inside Gomory Aussois, January 7-11 2008

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
slide-9
SLIDE 9

9

Looking inside Gomory Aussois, January 7-11 2008

Textbook vs Lex (stein15)

(left) x* trajectories (vertical axis: lower bound) (right) basis temperature = log(det(B))

slide-10
SLIDE 10

10

Looking inside Gomory Aussois, January 7-11 2008

A reliable and fast lex. implementation

  • Based on the use of a black-box LP solver

– Step 0. Optimize x0 --> optimal value x* – Step 1. Fix x0 = x*

0, and optimize x1 --> optimal value x* 1

– Step 2. Fix also x1 = x*

1, and optimize x2 --> optimal value x* 2

– ...

  • Simple, but … does it work?

Forget! … just a nightmare!

  • Clever version: at each step, instead of adding the equation xj = 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-

  • ptimal tableau
  • to be compared with Balas-Perregaard L&P pivoiting…
slide-11
SLIDE 11

11

Looking inside Gomory Aussois, January 7-11 2008

Role of lex reoptimization (stein15)

slide-12
SLIDE 12

12

Looking inside Gomory Aussois, January 7-11 2008

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 (x0,xi) 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 si (say), try to keep all slacks s1,…,si inside the opt. basis by lex. minimizing (x0, -si,, …, -s2,-s1)

slide-13
SLIDE 13

13

Looking inside Gomory Aussois, January 7-11 2008

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
  • bjective 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.

slide-14
SLIDE 14

14

Looking inside Gomory Aussois, January 7-11 2008

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

slide-15
SLIDE 15

15

Looking inside Gomory Aussois, January 7-11 2008

Instance air04

slide-16
SLIDE 16

16

Looking inside Gomory Aussois, January 7-11 2008

Instance bm23

slide-17
SLIDE 17

17

Looking inside Gomory Aussois, January 7-11 2008

Instance stein27

slide-18
SLIDE 18

18

Looking inside Gomory Aussois, January 7-11 2008

Multi-cut version

slide-19
SLIDE 19

19

Looking inside Gomory Aussois, January 7-11 2008

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)

slide-20
SLIDE 20

20

Looking inside Gomory Aussois, January 7-11 2008

Looking inside the chest: sentoy

Upper bound (max problem; multi-cut version)

slide-21
SLIDE 21

21

Looking inside Gomory Aussois, January 7-11 2008

Looking inside the chest: sentoy

Condition number of the optimal basis

slide-22
SLIDE 22

22

Looking inside Gomory Aussois, January 7-11 2008

Looking inside the chest: sentoy

Average absolute value of cut coefficients

slide-23
SLIDE 23

23

Looking inside Gomory Aussois, January 7-11 2008

Looking inside the chest: sentoy

  • Avg. geometric distance of x* from the FGC
slide-24
SLIDE 24

24

Looking inside Gomory Aussois, January 7-11 2008

… questions?

sed lex L e x , d u r a l e x