46
Optimizing over the Split Optimizing over the Split Closure Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)

Optimizing over the Split Closure

  • Upload
    hinto

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

Optimizing over the Split Closure. Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas). MIP Model. Contains x j ¸ 0 j 2 N x j · u j j 2 N 1. min cx Ax ¸ b x j 2 Z 8 j 2 N 1. - PowerPoint PPT Presentation

Citation preview

Page 1: Optimizing over the Split Closure

Optimizing over the Split ClosureOptimizing over the Split Closure

Anureet SaxenaACO PhD Student,

Tepper School of Business,

Carnegie Mellon University.

(Joint Work with Egon Balas)

Page 2: Optimizing over the Split Closure

Anureet Saxena, TSoB 2

MIP ModelMIP Model

min cx

Ax ¸ b

xj 2 Z 8 j2N1

N1: set of integer variables

Containsxj ¸ 0 j2N xj · uj j2N1

IncumbentFractionalSolution

Page 3: Optimizing over the Split Closure

Anureet Saxena, TSoB 3

Split DisjunctionsSplit Disjunctions

• 2 ZN, 0 2 Z

• j = 0, j2 N2

• 0 < < 0 + 1

Split Disjunction

x · 0 x ¸ 0 + 1

Page 4: Optimizing over the Split Closure

Anureet Saxena, TSoB 4

Split CutsSplit Cuts

Ax ¸ bx · 0

Ax ¸ bx ¸ 0+1

uu0 v0

v

L x ¸ L R x ¸ R

x ¸ Split Cut

Page 5: Optimizing over the Split Closure

Anureet Saxena, TSoB 5

Split ClosureSplit Closure

Elementary Split Closure of P = { x | Ax ¸ b } is the polyhedral set defined by intersecting P with the valid rank-1 split cuts.

How much duality gap can be closed by optimizing over the split closure?

Rank-1 Chvatal Closure Elementary Disjunctive Closure

M. Fischetti & A.Lodi P. Bonami & M. Minoux

Page 6: Optimizing over the Split Closure

Anureet Saxena, TSoB 6

Algorithmic FrameworkAlgorithmic FrameworkSolve

Master LP

Integral Sol?Unbounded?Infeasible?

Rank-1 Split CutSeparation

MIP Solved

Optimum overSplit Closure

attained

Split Cuts Generated

No Split Cuts Generated

min cx Ax ¸ bt x¸ t t2

Yes

No

Add Cuts

Page 7: Optimizing over the Split Closure

Anureet Saxena, TSoB 7

Algorithmic FrameworkSolve

Master LP

Integral Sol?Unbounded?Infeasible?

Rank-1 Split CutSeparation

Rank-1 Split CutSeparation

MIP Solved

Optimum overSplit Closure

attained

Split Cuts Generated

No Split Cuts Generated

min cx Ax ¸ bt x¸ t t2

Yes

No

Add Cuts

Page 8: Optimizing over the Split Closure

Anureet Saxena, TSoB 8

SC Separation TheoremSC Separation Theorem

Theorem: lies in the split closure of P if and only if the optimal value of the following parametric mixed integer linear program is non-negative.

(u,v,,0,):= uA - = ub - 0

x ¸

Split Cut

Parameter

Parametric

Mixed Integer

Linear Program

Page 9: Optimizing over the Split Closure

Anureet Saxena, TSoB 9

DeparametrizationDeparametrization

Parameteric Mixed

Integer Linear

Program

Page 10: Optimizing over the Split Closure

Anureet Saxena, TSoB 10

DeparametrizationDeparametrization

Parameteric Mixed

Integer Linear

Program

If is fixed,then PMILP reduces

to a MILP

Page 11: Optimizing over the Split Closure

Anureet Saxena, TSoB 11

DeparametrizationDeparametrization

MILP( )

Deparametrized

Mixed Integer

Linear Program

Maintain a dynamicallyupdated grid of parameters

Page 12: Optimizing over the Split Closure

Anureet Saxena, TSoB 12

Separation AlgorithmSeparation Algorithm

Initialize Parameter Grid ( )

For 2 ,

•Solve MILP() using CPLEX 9.0

• Enumerate branch and bound nodes

• Store all the separating split disjunctions which are discovered

At least one

split disjunction

discovered?

Grid Enrichment

Diversification

Strengthening

STOP

Bifurcation

yesno

Page 13: Optimizing over the Split Closure

Anureet Saxena, TSoB 13

Implementation DetailsImplementation Details

Processor Details• Pentium IV• 2Ghz, 2GB RAM

COIN-OR CPLEX 9.0

Core Implementation• Solving Master LP• Setting up MILP• Disjunctions/Cuts Management• L&P cut generation+strengthening

Solving MILP( )

Page 14: Optimizing over the Split Closure

Anureet Saxena, TSoB 14

Computational ResultsComputational Results

• MIPLIB 3.0 instances• OR-Lib (Beasley) Capacitated Warehouse Location

Problems

Page 15: Optimizing over the Split Closure

Anureet Saxena, TSoB 15

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP InstancesInstance # Int Var # Cont Var % Gap Closed 10teams 1800 225 100.00% dcmulti 75 473 100.00% egout 55 86 100.00% flugpl 11 7 100.00% gen 150 720 100.00%

gesa2_o 720 504 100.00% khb05250 24 1326 100.00%

misc06 112 1696 100.00% qnet1 1417 124 100.00%

qnet1_o 1417 124 100.00% rgn 100 80 100.00%

vpm1 168 210 100.00% fixnet6 378 500 99.76% gesa2 408 816 98.66%

14 Instances

98-100% Gap Closed

Page 16: Optimizing over the Split Closure

Anureet Saxena, TSoB 16

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP InstancesInstance # Int Var # Cont Var % Gap Closed 10teams 1800 225 100.00% dcmulti 75 473 100.00% egout 55 86 100.00% flugpl 11 7 100.00% gen 150 720 100.00%

gesa2_o 720 504 100.00% khb05250 24 1326 100.00%

misc06 112 1696 100.00% qnet1 1417 124 100.00%

qnet1_o 1417 124 100.00% rgn 100 80 100.00%

vpm1 168 210 100.00% fixnet6 378 500 99.76% gesa2 408 816 98.66%

14 Instances

98-100% Gap Closed

Page 17: Optimizing over the Split Closure

Anureet Saxena, TSoB 17

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP InstancesInstance # Int Var # Cont Var % Gap Closed

pp08aCUTS 64 176 97.01% modglob 98 324 96.48% pp08a 64 176 95.81% gesa3 384 768 95.78%

gesa3_o 672 480 95.31% set1ch 240 472 89.41% bell5 58 46 87.44%

arki001 538 850 83.05% vpm2 168 210 81.22%

mod011 96 10862 80.72% qiu 48 792 77.51%

11 Instances

75-98% Gap Closed

Unsolved MIP Instance In MIPLIB 3.0

Page 18: Optimizing over the Split Closure

Anureet Saxena, TSoB 18

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP InstancesInstance # Int Var # Cont Var % Gap Closed

rout 315 241 70.73% bell3a 71 62 55.19% blend2 264 89 46.77%

3 Instances

25-75% Gap Closed

Page 19: Optimizing over the Split Closure

Anureet Saxena, TSoB 19

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP InstancesInstance # Int Var # Cont Var % Gap Closed danoint 56 465 7.44%

dano3mip 552 13321 0.12% pk1 55 31 0.00%

3 Instances

0-25% Gap Closed

Page 20: Optimizing over the Split Closure

Anureet Saxena, TSoB 20

MIPLIB 3.0 MIP InstancesMIPLIB 3.0 MIP Instances

Summary of MIP Instances (MIPLIB 3.0)

Total Number of Instances: 34Number of Instances included: 33No duality gap: noswot, dsbmipInstance not included: rentacar

Results

98-100% Gap closed in 14 instances75-98% Gap closed in 11 instances25-75% Gap closed in 3 instances0-25% Gap closed in 3 instancesAverage Gap Closed: 82.53%

Page 21: Optimizing over the Split Closure

Anureet Saxena, TSoB 21

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed

air03 10757 100.00% gt2 188 100.00%

mitre 10724 100.00% mod008 319 100.00% mod010 2655 100.00%

nw04 87482 100.00% p0548 548 100.00% p0282 282 99.90% fiber 1254 98.50%

9 Instances

98-100% Gap Closed

Page 22: Optimizing over the Split Closure

Anureet Saxena, TSoB 22

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed

lseu 89 93.75% p2756 2756 92.32% l152lav 1989 87.56% p0033 33 87.42%

4 Instances

75-98% Gap Closed

Page 23: Optimizing over the Split Closure

Anureet Saxena, TSoB 23

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed

p0201 201 74.93% air04 8904 62.42% air05 7195 62.05%

seymour 1372 61.94% misc03 159 51.47%

cap6000 6000 37.63% 6 Instances

25-75% Gap Closed

Ceria, Pataki et alclosed around 50%

of the gap using 10 rounds of L&P

cuts

Page 24: Optimizing over the Split Closure

Anureet Saxena, TSoB 24

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed misc07 259 19.48%

fast0507 63009 18.08% stein27 27 0.00% stein45 45 0.00%

4 Instances

0-25% Gap Closed

Page 25: Optimizing over the Split Closure

Anureet Saxena, TSoB 25

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP Instances

Summary of Pure IP Instances (MIPLIB 3.0)

Total Number of Instances: 25Number of Instances included: 24No duality gap: enigmaInstance not included: harp2

Results

98-100% Gap closed in 9 instances75-98% Gap closed in 4 instances25-75% Gap closed in 6 instances0-25% Gap closed in 4 instancesAverage Gap Closed: 71.63%

Page 26: Optimizing over the Split Closure

Anureet Saxena, TSoB 26

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed (SC) %Gap Closed (CG)

air03 10757 100.00% 100.00% air04 8904 62.42% 27.60% air05 7195 62.05% 15.50%

cap6000 6000 37.63% 26.90% enigma 100 - -

fast0507 63009 18.08% 4.70% fiber 1254 98.50% 98.50% gt2 188 100.00% 100.00%

l152lav 1989 87.56% 69.20% lseu 89 93.75% 91.30%

misc03 159 51.47% 51.20% misc07 259 19.48% 16.10% mitre 10724 100.00% 100.00%

mod008 319 100.00% 100.00% mod010 2655 100.00% 100.00%

nw04 87482 100.00% 100.00% p0033 33 87.42% 85.40% p0201 201 74.93% 60.50% p0282 282 99.90% 99.90% p0548 548 100.00% 100.00% p2756 2756 92.32% 69.20%

seymour 1372 61.94% 23.50% stein27 27 0.00% 0.00% stein45 45 0.00% 0.00%

24 Instances 71.63% 62.59%

% Gap Closed by First Chvatal Closure

(Fischetti-Lodi Bound)

Page 27: Optimizing over the Split Closure

Anureet Saxena, TSoB 27

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed (SC) %Gap Closed (CG)

air03 10757 100.00% 100.00% air04 8904 62.42% 27.60% air05 7195 62.05% 15.50%

cap6000 6000 37.63% 26.90% enigma 100 - -

fast0507 63009 18.08% 4.70% fiber 1254 98.50% 98.50% gt2 188 100.00% 100.00%

l152lav 1989 87.56% 69.20% lseu 89 93.75% 91.30%

misc03 159 51.47% 51.20% misc07 259 19.48% 16.10% mitre 10724 100.00% 100.00%

mod008 319 100.00% 100.00% mod010 2655 100.00% 100.00%

nw04 87482 100.00% 100.00% p0033 33 87.42% 85.40% p0201 201 74.93% 60.50% p0282 282 99.90% 99.90% p0548 548 100.00% 100.00% p2756 2756 92.32% 69.20%

seymour 1372 61.94% 23.50% stein27 27 0.00% 0.00% stein45 45 0.00% 0.00%

24 Instances 71.63% 62.59%

Page 28: Optimizing over the Split Closure

Anureet Saxena, TSoB 28

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed (SC) %Gap Closed (CG)

air03 10757 100.00% 100.00% air04 8904 62.42% 27.60% air05 7195 62.05% 15.50%

cap6000 6000 37.63% 26.90% enigma 100 - - fast0507 63009 18.08% 4.70%

fiber 1254 98.50% 98.50% gt2 188 100.00% 100.00%

l152lav 1989 87.56% 69.20% lseu 89 93.75% 91.30%

misc03 159 51.47% 51.20% misc07 259 19.48% 16.10% mitre 10724 100.00% 100.00%

mod008 319 100.00% 100.00% mod010 2655 100.00% 100.00%

nw04 87482 100.00% 100.00% p0033 33 87.42% 85.40% p0201 201 74.93% 60.50% p0282 282 99.90% 99.90% p0548 548 100.00% 100.00% p2756 2756 92.32% 69.20%

seymour 1372 61.94% 23.50% stein27 27 0.00% 0.00% stein45 45 0.00% 0.00%

24 Instances 71.63% 62.59%

Page 29: Optimizing over the Split Closure

Anureet Saxena, TSoB 29

MIPLIB 3.0 Pure IP InstancesMIPLIB 3.0 Pure IP InstancesInstance # Variables %Gap Closed (SC) %Gap Closed (CG) Ratio

air04 8904 62.42% 27.60% 2.261 air05 7195 62.05% 15.50% 4.003

cap6000 6000 37.63% 26.90% 1.347 fast0507 63009 18.08% 4.70% 3.847 l152lav 1989 87.56% 69.20% 1.265

lseu 89 93.75% 91.30% 1.027 misc03 159 51.47% 51.20% 1.005 misc07 259 19.48% 16.10% 1.210 p0033 33 87.42% 85.40% 1.024 p0201 201 74.93% 60.50% 1.239 p2756 2756 92.32% 69.20% 1.334

seymour 1372 61.94% 23.50% 2.636 24 Instances 62.42% 45.09% 1.850

Comparison of Split Closure vs CG Closure

Total Number of Instances: 24CG closure closes >98% Gap: 9

Results (Remaining 15 Instances)

Split Closure closes significantly more gap in 9 instancesBoth Closures close almost same gap in 6 instances

Page 30: Optimizing over the Split Closure

Anureet Saxena, TSoB 30

OrLib CWLPOrLib CWLP

• Set 1– 37 Real-World Instances– 50 Customers, 16-25-50 Warehouses

• Set 2– 12 Real-World Instances– 1000 Customers, 100 Warehouses

Page 31: Optimizing over the Split Closure

Anureet Saxena, TSoB 31

OrLib CWLP Set 1OrLib CWLP Set 1

Instance % Gap Closed Instance % Gap Closed cap41 100.000% cap93 100.000% cap42 100.000% cap94 100.000% cap43 100.000% cap101 100.000% cap44 100.000% cap102 100.000% cap51 100.000% cap103 100.000% cap61 100.000% cap104 100.000% cap62 100.000% cap111 100.000% cap63 100.000% cap112 100.000% cap64 100.000% cap113 100.000% cap71 100.000% cap114 100.000% cap72 100.000% cap121 100.000% cap73 100.000% cap122 100.000% cap74 100.000% cap123 100.000% cap81 100.000% cap124 100.000% cap82 100.000% cap131 100.000% cap83 100.000% cap132 100.000% cap84 100.000% cap133 100.000% cap91 100.000% cap134 100.000% cap92 100.000%

Summary of OrLib CWLP Instances (Set 1)

Number of Instances: 37Number of Instances included: 37

Results

100% Gap closed in 37 instances

Page 32: Optimizing over the Split Closure

Anureet Saxena, TSoB 32

OrLib CWLP Set 2OrLib CWLP Set 2

Instance % Gap Closed capa_8000 87.00%

capa_10000 87.57% capa_12000 91.53% capa_14000 97.53% capb_5000 94.18% capb_6000 92.80% capb_7000 92.42% capb_8000 93.74% capc_5000 93.42% capc_5750 93.90% capc_6500 94.69% capc_7250 95.06%

Summary of OrLib CWFL Instances (Set 2)

Number of Instances: 12Number of Instances included: 12

Results

>90% Gap closed in 10 instances85-90% Gap closed in 2 instancesAverage Gap Closed: 92.82%

Page 33: Optimizing over the Split Closure

Anureet Saxena, TSoB 33

Support Size & SparsitySupport Size & Sparsity

The support of a split disjunction D(, 0) is the set of non-zero components of

x · 0 x ¸ 0 + 1

Page 34: Optimizing over the Split Closure

Anureet Saxena, TSoB 34

Support Size & SparsitySupport Size & Sparsity

The support of a split disjunction D(, 0) is the set of non-zero components of

Sparse Split Disjunctions

Sparse Split Cuts

• Computationally Faster• Avoid fill-in

Disjunctive argumentNon-negative row

combinations

Basis FactorizationSparse Matrix Op

Page 35: Optimizing over the Split Closure

Anureet Saxena, TSoB 35

Support Size & SparsitySupport Size & Sparsityair05 [ MIPLIB 3.0 Pure IP instance, 7195 Int Var, 62.05% Gap closed by Split Closure ]

0

5

10

15

20

25

30

1 5 9

13

17

21

25

29

33

37

41

45

49

53

57

61

65

69

73

77

81

85

89

93

97

10

1

10

5

10

9

11

3

11

7

12

1

12

5

12

9

13

3

13

7

14

1

14

5

14

9

15

3

15

7

Iteration

Su

pp

ort

Siz

e

Mean Support Size Standard Deviation

Page 36: Optimizing over the Split Closure

Anureet Saxena, TSoB 36

Support Size & SparsitySupport Size & Sparsityarki001** [ MIPLIB 3.0 Mixed IP instance, 538 Int Var, 83.35% Gap closed by Split Closure ]

0

1

2

3

4

5

6

7

8

9

10

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91

Iteration

Su

pp

ort

Siz

e

Mean Support Size Standard Deviation

Page 37: Optimizing over the Split Closure

Anureet Saxena, TSoB 37

Support Size & SparsitySupport Size & Sparsity

Pure IP Instance # Int Variables Mean Support Size nw04 87482 2.084 air05 7195 8.210 seymour 1372 5.263 misc03 159 3.771 p0033 33 4.847

Mixed IP Instance # Int Variables Mean Support Size qnet1_o 1417 6.690 gesa2_o 720 4.937 arki001 538 3.146 vpm1 168 4.503 pp08aCUTS 64 3.850

Empirical Observation

Substantial Duality gap can be closedby using split cuts generated from

sparse split disjunctions

Page 38: Optimizing over the Split Closure

Anureet Saxena, TSoB 38

Support CoefficientsSupport Coefficients

Practice

• Elementary 0/1 disjunctions• Mixed Integer Gomory Cuts• Lift-and-project cuts

Theory

• Determinants of sub-matrices• Andersen, Cornuejols & Li (’05)• Cook, Kannan & Scrhijver (’90)

1 det (B)

Huge Gap

Page 39: Optimizing over the Split Closure

Anureet Saxena, TSoB 39

Support CoefficientsSupport Coefficientsair05 [ MIPLIB 3.0 Pure IP instance, 7195 Int Var, 62.05% Gap closed by Split Closure ]

0

1

2

3

4

5

6

7

8

1 5 9

13

17

21

25

29

33

37

41

45

49

53

57

61

65

69

73

77

81

85

89

93

97

10

1

10

5

10

9

11

3

11

7

12

1

12

5

12

9

13

3

13

7

14

1

14

5

14

9

15

3

15

7

Iteration

Co

eff

icie

nt

Siz

e

Mean Coef Size Standard Deviation

Page 40: Optimizing over the Split Closure

Anureet Saxena, TSoB 40

Support CoefficientsSupport Coefficientsarki001** [ MIPLIB 3.0 Mixed IP instance, 538 Int Var, 83.35% Gap closed by Split Closure ]

0

5

10

15

20

25

30

35

40

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91

Iteration

Co

eff

icie

nt

Siz

e

Mean Coef Size Standard Deviation

Page 41: Optimizing over the Split Closure

Anureet Saxena, TSoB 41

Pure IP Instance #Int Variables Mean Coef Size nw04 87482 1.228 air05 7195 1.156 seymour 1372 1.099 misc03 159 1.227 p0033 33 2.099

Mixed IP Instance #Int Variables Mean Coef Size qnet1_o 1417 2.381 gesa2_o 720 1.767 arki001 538 3.044 vpm1 168 1.833 pp08aCUTS 64 1.418

Support CoefficientsSupport Coefficients

Empirical Observation

Substantial Duality gap can be closedby using split cuts generated from

split disjunctions containingsmall support coefficients.

Page 42: Optimizing over the Split Closure

Anureet Saxena, TSoB 42

arki001arki001

• MIPLIB 3.0 & 2003 instance• Metallurgical Industry• Unsolved for the past 10 years [1996-2000-2005]

Problem Stats

1048 Rows 1388 Columns 123 Gen Integer Vars 415 Binary Vars 850 Continuous Vars

Page 43: Optimizing over the Split Closure

Anureet Saxena, TSoB 43

Strengthening + CPLEX 9.0Strengthening + CPLEX 9.0

Crossover Point(227 rank-1 cuts)

Solved to optimality

Page 44: Optimizing over the Split Closure

Anureet Saxena, TSoB 44

CPLEX 9.0CPLEX 9.0

43 million B&B nodes22 million active nodes12GB B&B Tree

Page 45: Optimizing over the Split Closure

Anureet Saxena, TSoB 45

ComparisonComparison

Crossover Point

Page 46: Optimizing over the Split Closure

Anureet Saxena, TSoB 46

Thank You