30.06.2015 Views

What is a Disjunction? - IEOR @IIT Bombay

What is a Disjunction? - IEOR @IIT Bombay

What is a Disjunction? - IEOR @IIT Bombay

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

In Search of Optimal D<strong>is</strong>junctions in Mixed<br />

Integer Programming<br />

Ted Ralphs 1 , Ashutosh Mahajan 2<br />

1 Cor@l Lab<br />

Department of Industrial and Systems Engineering<br />

Lehigh University<br />

2 Mathematics and Computer Science Div<strong>is</strong>ion<br />

Argonne National Lab<br />

UC Berkeley, 2009


Solving MIPs Using D<strong>is</strong>junctions<br />

SOLVE LP<br />

GENERATE<br />

"APPLY<br />

RELAXATION<br />

DISJUNCTION<br />

DISJUNCTION"<br />

DIVIDE THE LP FEASIBLE REGION<br />

INTO SMALLER REGIONS<br />

(BRANCH−AND−BOUND)<br />

"APPLY<br />

DISJUNCTION"<br />

GENERATE VALID INEQUALITIES TO<br />

OBTAIN TIGHTER RELAXATION<br />

(CUTTING PLANE ALGORITHM)<br />

How to select d<strong>is</strong>junctions for branching or generating valid<br />

inequalities?


<strong>What</strong> <strong>is</strong> a D<strong>is</strong>junction?<br />

Given a MIP of the form<br />

min cx<br />

(objective function)<br />

such that Ax ≥ b (constraints)<br />

x ∈ Z d × R n−d .<br />

(integrality)<br />

◮ Variable D<strong>is</strong>junction: x i ≤ π 0 ∨ x i ≥ π 0 + 1, i ∈ {1, 2, . . .,d}<br />

◮ General D<strong>is</strong>junction: πx ≤ π 0 ∨ πx ≥ π 0 + 1,<br />

(π, π 0 ) ∈ Z d × {0} n−d × Z.<br />

* * * * * * *<br />

* * * * * * *<br />

S 1<br />

S 2<br />

S 1<br />

S 2<br />

*<br />

*<br />

*<br />

* *<br />

*<br />

*<br />

* *<br />

*


Problem of Maximizing Lower Bound<br />

Criterion for selecting general d<strong>is</strong>junction: Maximization of the lower<br />

bound obtained after applying the d<strong>is</strong>junction.<br />

Problem<br />

Find (ˆπ, ˆπ 0 ) ∈ Z such that objective function value <strong>is</strong> at least (some<br />

given) K in both subproblems.<br />

Ax ≥ b<br />

cx ≤ K<br />

πx ≤ π 0<br />

and<br />

Ax ≥ b<br />

cx ≤ K<br />

ˆπx ≥ ˆπ 0 + 1<br />

(1)<br />

should both be infeasible.


Formulation Technique<br />

LP 2<br />

DUAL 2<br />

MIP<br />

Br. MIP<br />

General<br />

D<strong>is</strong>junction<br />

LP<br />

1<br />

DUAL<br />

1<br />

Solve using<br />

traditional solver


The Formulation<br />

Lower bound after “application” of a d<strong>is</strong>junction can be at least K if<br />

and only if<br />

pA − s L c − π = 0<br />

qA − s R c + π = 0<br />

pb − s L K − π 0 ≥ δ (2)<br />

qb − s R K + π 0 ≥ −1 + δ<br />

p, q, s L , s R ≥ 0<br />

(π, π 0 ) ∈ Z d × {0} n−d × Z 1 ,<br />

<strong>is</strong> feasible for some δ > 0.<br />

Solve (2) over different values of K to get the best one.


Examples<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

* *<br />

*<br />

*<br />

*<br />

*<br />

* *<br />

1<br />

*<br />

*<br />

S 1<br />

S 2<br />

*<br />

*<br />

* * * * *<br />

*<br />

of d<strong>is</strong>junctions: 4) (No. of d<strong>is</strong>junctions: 1)<br />

Tree size for selected instances:<br />

Instance Variable Gen. D<strong>is</strong>j. Improvement<br />

10teams 115 12 9.58<br />

bell3a 16387 259 63.27<br />

flugpl 394 6 65.67<br />

gt2 340 10 34<br />

mod008 2840 68 41.76<br />

vpm1 263111 20 13155.55<br />

(No.


Compar<strong>is</strong>on over 30 instances (MIPLIB and Mittleman)<br />

1<br />

Fraction of Instances<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

Variable Branching<br />

General D<strong>is</strong>j., k=5<br />

General D<strong>is</strong>j., k=15<br />

1 2 4 8 16 32 64 128<br />

Times size of branch-and-bound tree than the smallest


Computational Complexity<br />

The problem of finding the “best” d<strong>is</strong>junction <strong>is</strong>:<br />

◮ N P−complete in general (Reduction from Number Partitioning<br />

Problem)<br />

◮ N P−complete when π ∈ {0, 1} n<br />

◮ N P−complete when π ∈ {−1, 0, 1} n<br />

◮ N P−complete when (π, π 0 ) ∈ {0, 1} n+1<br />

◮ N P−complete when x ∈ {0, 1} n and either of above four<br />

conditions hold (Reduction from 1-IN-3SAT)<br />

. . . lead to similar results for some problems of generating split<br />

inequalities


D<strong>is</strong>junctions for the Cutting-Plane Algorithm<br />

* * *<br />

* *<br />

*<br />

*<br />

S 1<br />

S 2<br />

αx ≥ β<br />

*<br />

*<br />

*<br />

*<br />

*<br />

αx ≥ β<br />

*<br />

*<br />

*<br />

*<br />

*<br />

*<br />

αx ≥ β <strong>is</strong> a “split-cut” that separates the LP solution from the feasible<br />

region.<br />

◮ Most valid inequalities are types of Split Inequalities: C-G, GMI,<br />

Lift and Project, MIR . . . .<br />

◮ Given an inequality αx ≥ β, <strong>is</strong> it an elementary split inequality?<br />

N P−Complete.<br />

◮ Given a polyhedron P and K ∈ R, does there ex<strong>is</strong>t an elementary<br />

split inequality such that the LP bound after adding it <strong>is</strong> at least<br />

K? N P−Complete.


Using Formulations for “best” C-G Inequalities<br />

64<br />

maximize bound<br />

maximize violation<br />

32<br />

Gap (%) closed by inequalities<br />

16<br />

8<br />

4<br />

2<br />

1<br />

1 4 16 64 256 1024 4096<br />

Number of valid C-G inequalities


Using Formulations for “best” Split Inequalities<br />

64<br />

maximize bound<br />

maximize violation<br />

32<br />

Gap (%) closed by inequalities<br />

16<br />

8<br />

4<br />

2<br />

1<br />

1 4 16 64 256 1024 4096 16384 65536<br />

Number of valid split inequalities


Conclusions and Future Work<br />

◮ Selecting the “best” d<strong>is</strong>junction <strong>is</strong> N P−hard in the general case<br />

and also for several natural restrictions.<br />

◮ These d<strong>is</strong>junctions can reduce significantly the size of<br />

branch-and-bound tree.<br />

◮ Inequalities obtained from such d<strong>is</strong>junctions can also increase<br />

the bound much better than maximally violated inequalities.<br />

◮ However, fast heur<strong>is</strong>tics to d<strong>is</strong>cover such d<strong>is</strong>junctions need to be<br />

developed.<br />

◮ <strong>What</strong> <strong>is</strong> best way to use a d<strong>is</strong>junction: branch or generate valid<br />

inequalities?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!