constraint branching and disjunctive cuts for mixed ... · “constraint branching and disjunctive...

33
Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 1 Constraint Branching and Disjunctive Cuts for Mixed Integer Programs Michael Perregaard Dash Optimization

Upload: vuthu

Post on 06-Jul-2019

259 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 1

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

Michael PerregaardDash Optimization

Page 2: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 2

Small Example

Optimal LP solution: z = 0Optimal MIP solution: z = 1Consider pure branch-and-bound.Will alternately branch on fractional x1 or x2.Requires exhaustive search of

(x1, x2) = (0,49.5), (0.5,49), (1,48.5), …, (49.5, 0)100 solutions to search. 100 times more with new x3.Alternatively, branch on

+∈≥++

Zzxxzxx

z

,,9922s.t.

min

21

21

5049 2121 ≥+∨≤+ xxxx

Page 3: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3

Branching from Disjunctive Cuts

• Branching is imposing a disjunction valid for all (feasible) integer solutions, but not the current LP solution.

• Disjunctive cuts are derived from some base disjunction and often a strengthening argument.– Gomory’s Mixed Integer cuts.– Lift-and-Project cuts.– Reduce and Split cuts of Andersen, Cornuéjols and Li

(2003).

• The strengthening of the cut can be transformed into a strengthening of the base disjunction.

• Use the strengthened base disjunction for branching.

Page 4: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 4

Basic Mixed Integer Program

We consider solving:

Ijxx

bAxtscx

j ∈∈≥

=

for0

..min

Z

• Solve using branch-and-bound.

• Standard branching selects a single fractional variable xj and imposes disjunction

• Can we find a better disjunction? jjjj xxxx ≥∨≤

Page 5: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 5

Disjunctive Normal Form

qqQq dxD 0≥∈∨

Example

For constraint

where e.g. x1 and x2 are fractional, we can create a disjunction

11

=∑=

k

jjx

011 2121 ≤+∨≥∨≥ xxxx

Page 6: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 6

where for q∈Q.

Example

If x1, x2 and x3 are fractional binaries, we can consider the disjunction

Leads to 23 = 8 branches.

Split Disjunctions

)1( 00 +≥∨≤∈∧ qI

qI

qI

qIQq dxddxd

)10()10()10( 332211 ≥∨≤∧≥∨≤∧≥∨≤ xxxxxx

1||0 ),( +∈ Iqq

I dd Z

Page 7: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 7

Basic Disjunctive (Intersection) Cut

Given disjunction (in nonbasic space)

where , then

with

is a valid inequality that cuts off the LP solution .

qN

qNQq dxd 0≥∈∨

00 >qd

1≥α NN x

=α∈ q

qj

Qqj dd

0

max

0=Nx

Page 8: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 8

Strengthening Disjunctions

(Balas, Jeroslaw 1980)Let fq be the largest value for which

is valid for (MIP). Set .Let for j ∈ I, q ∈ Q, be any set of integers that satisfies for all j ∈ I. Then

with

is a valid inequality for (MIP)

qqjm Z∈

0≥∈Σ qjQq m

1≥α NN x

INjdd

Ijdhmdqq

jQqj

qq

qj

qjQqj

\ for}{max

for})({max

0

0

∈=α

∈+=α

qNqN fxd ≥

)( 0 qq

q fdh −=

Page 9: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 9

Strengthening Disjunctions [continued]Instead of strengthening cut, as in

modify the disjunction directly, as in

(*)

Basic disjunctive cut from (*) identical to strengthened cut.

INjdd

Ijdhmdqq

jQqj

qq

qj

qjQqj

\ for}{max

for})({max

0

0

∈=α

∈+=α

qIN

qINIq

qI

qIQq dxdxhmd 0\\)( ≥++∈∨

Page 10: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 10

Given valid disjunction for (MIP)

Let for j ∈ I, q ∈ Q, be any set of integers. Then

is a valid disjunction for (MIP) since must be integer.

Strengthening Conjunctions

)1( 00 +≥∨≤∈∧ qqI

qqIQq dxddxd

qqjm Z∈

( )1)()( 00 +≥+≤+ ∨∧ ∈q

IqI

qI

qI

qI

qIQq dxmddxmd

IqI xm

• Gomory’s Mixed Integer cuts and Lift-and-Project cuts strengthens in nonbasics.

• Andersen, Cornuéjols, Li cuts iteratively strengthens individual basics and all nonbasics.

Page 11: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 11

General Branching Alternatives

• Ryan-Foster for Set Packing and Set Partitioning.– B.A. Foster and D.M. Ryan (1981).– Specifically designed for Set Partitioning constraints:

• Basis Reduction– H.W. Lenstra (1983)– Polynomial algorithm for solving integer programs for fixed

number of variables.

• General Branching of Mehrotra, Owen (2001)– Tests each variable using LP reoptimization to determine

“best” coefficient.

Page 12: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 12

Even more Alternatives

• General Branching of Karamanov, Cornjuéjols (Monday)– Branches on Gomory cut related disjunction.

• Column Basis Reduction of Pataki (Thursday)• Generalized Branching Methods of Mehrotra (Friday)

Page 13: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 13

Small Examplesobjective

Page 14: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 14

General vs. 0-1 branchingGeneral branching 0-1 branching

+ Branch on any linear disjunction.

- Adds new constraints ⇒matrix size grows.

- More difficult to get implications.

- More basic integers ⇒less reduced cost tightening.

? Heaps of choices

- Branch on 0-1 disjunctions only

+ Changes bounds ⇒matrix size unchanged.

+ Easy to get implications (bound propagation).

+ Branched variables will be non-basic ⇒ allows reduced cost tightening.

? Easy to find “best”choice.

Page 15: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 15

Work in space of nonbasic variables

Measure the quality of a disjunction

through that of the implied disjunctive cut αx ≥ 1, with

Evaluating a Disjunction

NNBBBNNBB xAAbAxbxAxA 11 −− −=⇒=+

qN

qNQq dxd 0≥∈∨

{ }qqjQqj dd 0max

∈=α

Page 16: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 16

Evaluating a Cut

Andersen, Cornuéjols, Li (2003) suggests minimizing the L2-norm of cut coefficients for continuous variables.

What about scaling and cost? Consider reduced costs .

Cost to satisfy the cut by increasing non-basic variable xjis at least .

Make cut expensive to satisfy ⇒ maximize , or minimize .

Since can be zero, we estimate a cut by

1≥α NN x

jNjjc

g αδ+

=α ∑ ∈ 11

)(

Nc

jjc α

jjc αjj cα

jc

Page 17: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 17

Improving a Disjunction - Nonbasics

Express disjunction in nonbasics xN

Strengthened cut coefficients in nonbasics are

Find optimal for each j independently ⇒ easy.

Note: For simple split disjunctionoptimal gives Gomory’s Mixed Integer cut.

qN

qNQq

qN

qNB

qBQq dxddxdxd 00 ≥⇒≥+ ∈∈ ∨∨

INjdd

INjdhmdqq

jQqj

qq

qj

qjQqj

\ for}{max

for})({max

0

0

∈=α

∩∈+=α

kkkk xxxx ≤∨≥

qjm

qjm

Page 18: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 18

Same strengthening applies to basic variable xk

Use the row i of the simplex tableau in which xk is basic:

to re-express the disjunction in nonbasics:

Problem: Find optimal discrete amount to add simplex tableau row i (without basic xk) to each term q of the disjunction.

Improving a Disjunction - Basics

qN

qNkq

qkQq dxdxhm 0≥+∈∨

ijNj

ijk bxax =+ ∑∈

00)( iqqk

qNiNq

qk

qNQq ahmdxahmd −≥−∈∨

qqk hm−

Page 19: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 19

Procedure

1. Convert Xpress selected branching variable xk into a simple disjunction

2. Apply Gomory-esque strengthening to coefficients of non-basics in D.

3. Are there more basic, integer variables to use for strengthening? If not, stop.

4. Select basic, integer variable xi. Calculate optimal continuous coefficient mi in D. Update D with the better of or . Repeat from 2. im im

Page 20: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 20

Test Set

• Miplib 3– http://www.caam.rice.edu/~bixby/miplib/miplib.html– 65 instances, 15 with general integers

• Miplib 2003– http://miplib.zib.de/– 61 instances, 15 with general integers

• H. Mittelmann’s test set– http://plato.la.asu.edu/bench.html– 63 instances, 6 with general integers

146 unique instances, 30 with general integers.

Page 21: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 21

Instances with General Integers

150165981353256822momentum3

10011808373224238momentum2

733031833216481manna81

71642418830gt2

333633611521225gesa3_o

316821611521369gesa3

333638412241249gesa2_o

316824012241393gesa2

246144870781gen

181101819flugpl

233231353275blend2

3379283010492bell5

10003239133124bell3a

2.127e9106466674873821732atlanta-ip

512341513881049arki001

Int.GapIntegersBinariesColumnsRowsName

2.106e953202372114315851msc98-ip

3802043415561994neos7

9004232242322846324neos8

352519989102409500mzzv11

26235114821171710461mzzv42z

9005234842348946793neos10

9413363771019neos16

2673093711652446neos20

1000002575128183noswot

512912881541504qnet1

512912881541457qnet1_o

249224611662296roll3000

215300556292rout

210764397171timtab1

3181113675295timtab2

Int.GapIntegersBinariesColumnsRowsName

• Instances not suited for general integer branching.

Page 22: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 22

Computational Settings

• Implemented in C using Xpress 2005B optimizer library.

• Uses Xpress callbacks to override default branches with new constraint branches.

• No in-tree cutting.• No heuristics.• Best-first search.• Run on a dual processor Opteron 246 system

(2GHz, 4GB RAM, Linux OS).

Page 23: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 23

Nonbasic Strengthening

(19702878)*(19702878)*msc98-ip

33013350gt2

1011871gesa3

16521292gesa3_o

290250gesa2

22911951gesa2_o

32908010flugpl

651651dsbmip

6695575636blend2

13571384977446bell5

41305210524bell3a

(82.92)*(82.88)*atlanta-ip

(7580295)*(7580565)*arki001

Nodes(Bound)

TimeNodes(Bound)

TimeInstance

Simple StrengtheningNo Strengthening

* Not finished in 1800 secondsgen, manna81: solved on root (excluded).noswot: can’t raise bound (excluded).atlanta-ip, dsbmip, msc98-ip, mzzv11, mzzv42z, neos10: very few branches on integers

(660029)*(695712)*timtab2

(570727)*(644157)*timtab1

(1047)*228537574rout

(12456)*(12453)*roll3000

1034592qnet1

1353291qnet1_o

(713934)*(709934)*neos7

(-468)*(-461)*neos20

(432)*(434)*neos16

421271421265neos10

9017109990171060mzzv42z

(-21728)*(-21728)*mzzv11

Nodes(Bound)

TimeNodes(Bound)

TimeInstance

Simple StrengtheningNo Strengthening

Page 24: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 24

Full Strengthening

(19702878)*(19702878)*msc98-ip

39013350gt2

1052871gesa3

12921292gesa3_o

350250gesa2

12111951gesa2_o

3108010flugpl

651651dsbmip

6879575636blend2

6110384977446bell5

19505210524bell3a

(82.89)*(82.88)*atlanta-ip

(7580052)*(7580565)*arki001

Nodes(Bound)

TimeNodes(Bound)

TimeInstance

Full StrengtheningNo Strengthening

* Not finished in 1800 seconds.bell3a, bell5: Half the number of nodes of Nonbasic Strengthening.flugpl: reduced from 329 to 31 nodes.

(642602)*(695712)*timtab2

(552455)*(644157)*timtab1

(1053)*228537574rout

(12459)*(12453)*roll3000

395592qnet1

656291qnet1_o

(713718)*(709934)*neos7

(-468)*(-461)*neos20

(432)*(434)*neos16

421266421265neos10

9017100390171060mzzv42z

(-21728)*(-21728)*mzzv11

Nodes(Bound)

TimeNodes(Bound)

TimeInstance

Simple StrengtheningNo Strengthening

Page 25: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 25

Branching on Binaries

1718#Worse

Comparing results from Nonbasic Strengthening on all Binary/Integer branches against previous results.

34#Better

Strengthening on integer branches

No Strengthening

NonbasicStrengthening

1517#Worse

Comparing results from Full Strengthening on all Binary/Integer branches against previous results.

57#Better

Strengthening on integer branches

No Strengthening

FullStrengthening

Page 26: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 26

Reduced Cost Scaling of Cut Coefficients

68δ = 0.1 * median reduced cost.

38δ = medianreduced cost

126δ = ∞(no scaling)

#Worst#Best

δ+=

jj c

f1

1

Page 27: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 27

Improvement in Cut Estimate

0

1

2

3

4

5

6

7

8

9

10

atla

nta-

ipds

bmip

neo

s10

mzz

v42z

msc

98-ip

mzz

v11

neo

s7b

len

d2

ges

a2_o

timta

b2g

esa2

timta

b1 gt2

qn

et1

no

swo

tg

esa3

qn

et1_

og

esa3

_obe

ll5fl

ug

pl

rou

tro

ll300

0ar

ki00

1b

ell3

an

eos1

6n

eos2

0

Nonbasic improvement Full improvement

Average improvement in cut estimate relative to initial disjunction when applying either nonbasic improvement or full improvement.

Page 28: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 28

Basic Improvement Coefficients

0

1

2

3

4

5

6

7

8

9

10

qn

et1_

oq

net

1m

zzv1

1ro

ll300

0m

zzv4

2zn

eos1

6at

lant

a-ip

timta

b2b

len

d2

timta

b1g

esa3

_on

eos2

0g

t2m

sc98

-ipg

esa3

rou

tn

eos1

0g

esa2

_og

esa2

flu

gp

lar

ki00

1b

ell3

ads

bmip

bell5

neo

s7

Average optimal continuous coefficient for basic integer variables, excluding when zero is optimal.

Page 29: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 29

Results on Full Test SetUsing full strengthening on both binary and integer branches (137 instances).

039Both unfinished, best bound

29

25

No

2One finished

18Both finished, least nodes

FullStrengthening?

Top 10 with best performance when applying full strengthening.

1971160.39696147.78neos1

203536.5711671228.9neos4

1870.2412670.52lseu

654.635035.49l152lav

1043681.89017999.64mzzv42z

330.018010.15flugpl

430.1213350.48gt2

250.157910.84mod008

1830.145210524.45bell3a

5310.26384977465.42bell5

NodesTimeNodesTimeInstance

Full strengtheningNo strengthening

Page 30: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 30

None

Improv. ∑maxdeg∑mindeg

512117

Nonbas.

None

Improv. ∑maxdeg∑mindeg

179134

512117

Full

Nonbas.

None

Improv. ∑maxdeg∑mindeg

255177

179134

512117

L152LAVFull Improvements

4666

4676

4686

4696

4706

4716

No Improvements

4666

4676

4686

4696

4706

4716

Nonbasic Improvements

4666

4676

4686

4696

4706

4716

Sum of min and max degradation over best 25 nodes.

Page 31: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 31

Client Set 1

Strengthening

21

20

21

Rows

827

827

827

Cols

31275100%(870)

31275100%

(7)

31266.670%

(903588)

3127531266.67d6

75100%

(10248)

75100%

(35)

00%

(621444)

750d4

7732100%(227)

7732100%

(37)

7730.50%

(6118006)

77327730.5d3

Full on cycles only

FullNoneBest Sol.Root Objective

Name

Small cutting stock problems with general integers.

Page 32: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 32

Client Set 2

Strengthening

2606

6530

108425

278479

Rows

5548

20365

110932

1016708

Cols

2.50477100%

(45)

2.50477·109

100%(45)

2.50477·1092.50477·109C6

2.21877·1010

0.1626%(12213)

2.21876·1010

0.1621%(39146)

2.22042·10102.21516·1010C4

7.72309·108

0.0032%(2372)

7.72289·108

0.0006%(10071)

7.73051·1087.72284·108C3

1.32208·1011

0.0015%(450)

1.32207·1011

0.0008%(561)

1.32235·10111.32206·1011C2

FullNon-basicNoneRoot Objective

Name

Lot sizing problems with general integers.

Page 33: Constraint Branching and Disjunctive Cuts for Mixed ... · “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts • Branching

Dash Optimization IMA 2005

“Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 33

Future Directions

• Select initial disjunction independently of Xpress.• Evaluation of disjunctions.

Xpress uses e.g. pseudo costs, strongbranch estimates and history values to select a branch candidate. How can this be carried over to general branching?

• Assimilate ideas from/compare against other general branching schemes.– Basis reduction– LP guided strengthening of disjunction.– IMA general branching presentations..

• Efficiency (no exploitation of sparsity at the moment).• Include most promising scheme in future release of

Xpress?.