Intersection Cuts from Multiple-Term Disjunctions - CNR · Intersection Cuts from Multiple-Term...

30
Intersection Cuts from Multiple-Term Disjunctions Egon Balas Carnegie Mellon University Talk based on joint work with Andrea Qualizza

Transcript of Intersection Cuts from Multiple-Term Disjunctions - CNR · Intersection Cuts from Multiple-Term...

Intersection Cuts from Multiple-TermDisjunctions

Egon BalasCarnegie Mellon University

Talk based on joint work withAndrea Qualizza

Recent Work

• Andersen, Louveaux, Weismantel and Wolsey (2007)

• Borozan and Cornuejols (2007)

• Dey and Wolsey (2008)

• Cornuejols and Margot (2009)

• Basu, Bonami, Cornuejols and Margot (2009)

Predecessors

• Intersection cuts (B. 1971)

• Group problem for MIP (Johnson 1974)

Let Q := {1, . . . , q}, J := {1, . . . , n}, and

x = f +∑

j∈J

r j sj , x , f , r j ∈ Rq, 0 ≤ fi ≤ 1, i ∈ Q, sj ≥ 0, j ∈ J (1)

PL := {(x , s) ∈ Rq × R

n : (x , s) satisfies (1)}

PI := {(x , s) ∈ PL : xi integer, i ∈ Q := {1, . . . , q}}

PD := {(x , s) ∈ PL : xi ≤ 0 ∨ xi ≥ 1, i ∈ Q}

P=D := {(x , s) ∈ PL : xi = 0 ∨ xi = 1, i ∈ Q}

convPI integer hull (corner polyhedron)

convPD simple disjunctive hull

convP=D 0-1 disjunctive hull

localconcepts

Proposition convPD ⊇ convPI ⊇ convP=D

• convPD is a weaker relaxation of PI than convPI , but easierto handle through disjunctive programming (CGLP)

• convP=D is not a relaxation of PI

• For mixed 0-1 programs,convP=

D is strictly contained in the corner polyhedron

• Computing conv P=D or conv PD requires the same effort

• Facets of conv P=D dominate all valid cuts from the q rows

• From the sequential convexification theorem for facialdisjunctive programs, the split rank of inequalities definingconv P=

D is at most q.

PD = {(x , s) ∈ Rq × R

n satisfying (1), (2)}

x = f + R s, s ≥ 0, (1)

x1 ≤ 0x2 ≤ 0

.

..xq ≤ 0

x1 ≥ 1x2 ≤ 0

.

..x1 ≤ 0

∨ . . . ∨

x1 ≥ 1x2 ≥ 1

.

..xq ≥ 1

(2)

Eliminating x , and letting f =

f1...fq

, R =

r1...rq

, we get

−r1s ≥ f1−r2s ≥ f2

...−rqs ≥ fq

r1s ≥ 1− f1−r2s ≥ f2

...−rqs ≥ fq

r1x ≥ 1− f1r2x ≥ 1− f2

...rqs ≥ 1− fq

(3)

If we let Pi stand for the i -th term of (3), then PD = ∪ti=1Pi , where t = 2q .

Theorem. convPD is defined by (1) and all αs ≥ 1 s.t. α satisfies

αj + u11rj1 + · · ·+ u1qr

jq ≥ 0

αj − u21rj1 + · · ·+ u2qr

jq ≥ 0

...... j ∈ J (2)

αj − utj rj1 − · · · − utqr

jq ≥ 0

u11f1 + · · ·+ u1qfq = 1

u21(1− f1) + · · ·+ u2qfq = 1

...... (3)

−ut1(1 − f1)− · · · − utq(1− fq) = 1

uik ≥ 0, ∀i , k (4)

for some uik , k = 1, . . . , q, i = 1, . . . , t = 2q

Theorem. convP=D is defined by (1) and all αs ≥ 1 s.t. α satisfies (2),

(3) for some uik , k = 1, . . . , q, i = 1, . . . , t = 2q.

Facets of convPD and convP=D

• For any p ∈ Rn, p > 0, all optimal basic solutions to

min{pα : (α, u) satisfies (2),(3),(4)} (CGLP)

are of the formαj = max{α1

j , . . . , αtj } (5)

whereα1j = −u11r

j1 − · · · − u1qr

jq

α2j = u21r

j1 − · · · − u2qr

jq

...

αtj = ut1r

j1 + · · ·+ utqr

jq

• For an optimal solution (α, u) to (CGLP)Q , αs ≥ 1 defines a facetof convPD if and only if all alternative optima (if they exist) havethe same α-component.

• Same properties hold for convP=D .

• All facet defining inequalities for convPD (convP=D ) can be

obtained by solving a smaller CGLP in t = 2q variables αj , andusing the resulting uik and (5) to compute the remaining αj .

• The cost of generating facets of convPD (convP=D ) is linear

in n.

Advantage of the multi-term disjunction perspective

• A multi-term disjunction can be enriched (strengthened) byintroducing into each term the common constraints Ax ≥ b

• In the case of 2-term disjunctions xk ≤ 0 ∨ xk ≥ 1, this hasled to Lift-and-Project as a way of improving Gomory cuts bymoving to a different simplex tableau

10 rounds of cuts at the root node

Gap closed by 10 rounds of MIG cuts on 65 MIPLIB3 instances

- Group 1 (20 instances) > 75%

- Group 2 (12 instances) 50% ≤ ≤ 75%

- Group 3 ( 33 instances) < 50%

Average gap closed by 10 rounds

Lift-and-Project

MIG Variant 1 Variant 2 Variant 3

Group 1 91.44 93.74 94.53 95.00

Group 2 60.98 78.98 80.03 78.69

Group 3 20.98 30.13 32.69 29.51

Source: E. Balas and P. Bonami (2009), Mathematical Programming

Computation 1, 165-189.

Cut-and-branch with 10 rounds of cuts

(on 53 MIPLIB.3 instances solved in <12 hrs)

Group A: ≤ 30 sec and 1000 nodesGroup B: > 30 sec or 1000 nodes

MIG cuts L&P, Variant 3

Time(s) Nodes Time(s) NodesGroup AAverage 2.71 283.2 5.99 172.4Geom. mean 1.04 62.75 1.55 38.56

Group BAverage 802.3 2.6e+05 265.5 1.23+05Geom. mean 73.18 23,449 42.69 10,021

Source: E. Balas and P. Bonami (2009), Mathematical Programming

Computation 1, 165-189.

Geometric Interpretation of intersection cuts from q-term disjunctions

The convex set used to generate the intersection cuts is theq-dimensional parametric octahedron (cross-polytope) K ∗(u) defined by

−u11x1 − u12x2 − · · · − u1qxq ≤ 0u21x1 − u22x2 − · · · − u2qxq ≤ u21

...

ut1x1 + ut2x2 + · · ·+ utqxq ≤q∑

j=1

utj

uij ≥ 0 ∀i , j (t = 2q)

(1)

K = {x ∈ Rq : − 1

2≤ xj ≤

12, j ∈ Q} |Q| = q

outer polar → K∗ = {x ∈ Rq :

(|xj | : j ∈ Q) ≤ 12n}

= {x ∈ Rq : −x1 − · · · − xq ≤ 1

2n

.

..x1 + · · ·+ xq ≤ 1

2n}

Parametrization (with uij ) and translation of origin (from ( 12, · · · , 1

2) to (0, 0))

yields (1).

p���

@@@

���

@@@K

K ∗

The parametric octahedron for q = 2

(ui1, . . . , uiq) = (vi ,wi)

• K ∗(v ,w) := {(x1, x2) ∈ R2 : −v1x1 − w1x2 ≤ 0

v2x1 − w2x2 ≤ v2−v3x1 + w3x2 ≤ w3

v4x1 + w4x2 ≤ v4 + w4}

• Each of the 2q = 4 facets of K ∗(v ,w) corresponds to a term of thedisjunction(x1 ≤ 0 (v1)

x2 ≤ 0 (w1)

)∨

(x1 ≥ 1 (v2)

x2 ≤ 0 (w2)

)∨

(x1 ≤ 0 (v3)

x2 ≥ 1 (w3)

)∨

(x1 ≥ 1 (v4)

x2 ≥ 1 (w4)

)

• Normalizing each inequality of K ∗(v ,w) by (3) yields

v1f1 + w1f2 = 1v2(1− f1) + w2f2 = 1v3f1 + w3(1− f2) = 1v4(1− f1) + w4(1− f2) = 1

which reduces the number of variables to 4.

Possible configurations of the Parametric Octahedron

The 0-1 case: facets of convP=D that cut off

(nonbinary) integer points of convPI

• If any component of K ∗(u) becomes negative, a vertex of Kgets excluded, and some integer points of convPI getincluded, into K ∗(u), a generalized K ∗(u)

• Example: K ∗(v ,w) → K ∗(v ,w)

v4 > 0, w4 > 0 v4 > 0, w4 = 0 v4 > 0, w4 < 0

Relations between convPD , convP=D and convPI for q = 2

• Every facet defining inequality for convPD is valid forconvP=

D , but not necessarily facet defining

• Proposition. The number of facets of convP=D that cut off

some integer point of convPI is larger than the number offacets of convPD .

Proposition. Let K ∗(v ,w) = Q be a quadrilateral containing inits boundary all 4 vertices of K2. Then there exist 3 triangles Ti ,i = 1, . . . , 3, each Ti containing in its boundary 3 vertices of K2,and containing in its interior at least one nonbinary integer point.Furthermore, 2 of the 3 sides of each Ti have the same equationsas the corresponding sides of Q.

Proposition. Let K ∗(v ,w) = T be a triangle of Type 3, with a0-1 point in the interior of each of its 3 sides. Then there exist 2triangles Ti , i = 1, 2, whose boundary contains the same 3 0-1points as the boundary of T , but whose interior contains at leastone nonbinary integer point. Furthermore, 2 of the 3 sides of eachTi have the same equations as the corresponding sides of T .

Fig. 1

a

b

c

d

Fig. 2

a

Fig. 3a

Fig. 4

b

Fig. 5d

Fig. 6

Fig. 1

a

b

c

Fig. 2

a

Fig 3.

b

Fig. 4

Fig. 5

Example of Andersen et al (2007)

x1 = 14 + 2s1 + 1s2 − 3s3 + 1s5 xi ∈ Z, i = 1, 2

x2 = 12 + 1s1 + 1s2 + 2s3 − 1s4 − 2s5 sj ≥ 0, ∀j

• Facets of conv PD (other than sj ≥ 0)

Split rank2s1 + 2 s2 + 4 s3 + 1 s4 +

127 s5 ≥ 1 2

83 s1 + 2 s2 + 4 s3 + 1 s4 +

43 s5 ≥ 1 2

83 s1 +

43 s2 +

449 s3 +

89 s4 +

43 s5 ≥ 1 2

83 s1 +

43 s2 + 12s3 + 4

3x5 ≥ 1 1

2s1 + 2 s2 +687 s3 +

27 s4 +

127 s5 ≥ 1 2

• Vertices of conv PD (x-components):

– Integer: (0,0), (0,1), (1,-1), (1,1), (1,0), (1,0) 6

– Fractional: (− 12 , 1), (1,

54 ), (

54 , 1) 3

ab

c2 4

1 5,6

3

Origin of cut 2s1 + 2s2 + 4s3 + 1s4 +127s5 ≥ 1

• CGLP solution:α = (2, 2, 4, 1, 127 )

(v ,w) = (2, 87 , 0, 0; 1, 2

7 , 2, 2)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

x1

x2

Origin of cut 83s1 +

43s2 +

449s3 +

89s4 +

43s5 ≥ 1

• CGLP solution:α = ( 83 ,

43 ,

449 ,

89 ,

43 )

(v ,w) = ( 209 ,43 ,

49 ,

43 ;

89 , 0,

169 , 0)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

x1

x2

Origin of cut 83s1 + 2s2 + 4s3 + 1s4 +

43s5 ≥ 1

• CGLP solution:α = ( 83 , 2, 4, 1,

43 )

(v ,w) = (2, 43 , 0, 0; 1, 0, 2, 2)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

x1

x2

Example of Anderson et al (2007) withxi ∈ {0, 1}, i = 1, 2

Facets of convP=D

2s1 + 2s2 + 4s3 + 1s4 +127 s5 ≥ 1

83 s1 +

43 s2 + 44

9 s3 +89 s4 +

43 s5 ≥ 1

83 s1 +

43s2 + 12s3 + 0s4 +

43 s5 ≥ 1

Also facets of convPD

6417 s1 +

5217 s2 +

4417 s3 +

76 s4 +

710 s5 ≥ 1

4811 s1 +

2811 s2 +

3611 s3 +

1211 s4 +

411 s5 ≥ 1

138 s1 +

198 s2 +

769 s3 +

49 s4 +

2714 s5 ≥ 1

5619 s1 +

2019 s2 +

214 s3 +

56 s4 +

257 s5 ≥ 1

145 s1 +

65 s2 +

6112 s3 +

67 s4 +

9237 s5 ≥ 1

Only valid for convP=D

(make 2 of the 5 facets ofconvPD redundant)

• Of the 9 vertices of convPD , 4 are cut off by the new facets, and 11others are created (for a total of 16)

Computational experiments on 18 MIPLIB instances with≤ 200 variables (of which 100 integer) and ≤ 300 constraints

• From each pair of rows, generate the intersection cuts fromthe 4 triangles below:

0,0

0,1

0,2

1,0 2,0

1,1

-1,0

0,1 1,1

0,0 1,0

1,2

0,1

0,0 1,0

0,-1

1,1 2,1 -1,1 0,1 1,1

0,0 1,0

1,-1

Gap closed by one round of cuts

instance mig% mig# T△

1 % T△

1 # mig+T△

1 % mig+T△

1 #

stein09∗ 28.57 9 28.57 114 28.57 123flugpl 11.74 10 13.11 180 13.11 190stein15∗ 16.64 15 16.88 403 17.23 418sample2 5.82 12 5.86 264 5.86 276bm23 16.81 4 19.21 60 19.36 64stein27∗ 8.30 27 8.33 1375 8.53 1402p0033 12.60 5 57.04 98 57.04 103pipex 31.49 6 31.87 148 31.87 154mod013 4.40 5 18.78 140 18.78 145egout 21.84 16 61.11 3162 61.11 3178bell5 14.43 22 15.92 1214 16.14 1236misc02 3.68 8 4.26 207 4.26 215bell4 23.37 43 23.62 4133 23.62 4176bell3a 58.07 11 64.11 1990 64.11 2001bell3b 41.11 31 41.44 2747 41.44 2778misc05 23.50 12 23.65 553 23.65 565misc01 1.68 12 1.68 556 1.68 568lseu 55.83 12 55.19 289 55.83 301

Average 21.10 27.26 27.35

Cut-and-branch experiments with T△1

Cut-and-branch experiment setting

• Branch-and-bound framework: Cbc 2.2.2

• LP solver: Clp 1.6

• Cuts applied at the root:• 1 round of CglGomory• all cuts obtained from T

1 . We remove ALL T△

1 cuts whoseslack variables were basic after reoptimization.

• Dropped very easy instances (solved in less than 1 second)

• Added some small instances (less than 500 integer variables)from MIPLIB 3.0 (not MIPLIB3 C V2) that could be solvedwithin 2 hours.

Cut and Branch

instance mig+T△

1 time mig time mig+T△

1 B&B n mig B&B n

entries solved in less than 1 second are not shown

misc05 1.04 1.28 373 416bell4 168.18 95.13 273865 181562bell3a 14.86 17.27 24554 34880bell3b 8.95 12.01 18157 22671bell5 198.37 5.97 444458 13818aflow30a 402.13 460.73 73069 83149rout 606.51 5991.47 147582 1678960vpm2 70.39 705.73 70252 594779mas74 4805.99 4863.50 6399791 7538264mas76 274.71 206.16 423280 370069pp08aCUTS 136.9 318.59 46254 143079pp08a 402.38 5253.59 323993 5944120gesa2 382.52 148.75 80824 32452pk1 359.23 281.79 448408 365842qiu 524.05 1796.90 19814 61939

Average(all instances)

298.62 720.13 314527.43 609994.57

Let σi be the i-th q × q “sign pattern” matrix,

σ1=

−1

− 1. . .

− 1

, σ2=

1−1

. . .− 1

, . . . , σt =

11. . .

1

, t = 2q.

Then the intersection cut from q rows is αs ≥ 1, with

αj = maxi∈T

αij , T = {1, . . . , t = 2q}, (1)

withαij = uiσi r

j, i ∈ T (2)

The standard strengthening yields the coefficient

αj = infµ∈Zq

maxi∈T

uiσi (rj + µ) (3)

The monoidal strengthening yields the coefficient

¯αj = infm∈M

maxi∈T

uiσi rj + (uie)mi (4)

withM = {m ∈ Z

2q :∑

i∈T

mi ≥ 0}. (5)