reformulation and decomposition of integer programsfvanderb/papers/rdslides.pdf · 2013. 10. 1. ·...

110
Reformulation and Decomposition of Integer Programs François Vanderbeck 1 and Laurence A. Wolsey 2 (Reference: CORE DP 2009/16) (1) Université Bordeaux 1 & INRIA-Bordeaux (2) Université de Louvain, CORE.

Upload: others

Post on 11-Dec-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Reformulation and Decomposition of

Integer Programs

François Vanderbeck1 and Laurence A. Wolsey2

(Reference: CORE DP 2009/16)(1) Université Bordeaux 1 & INRIA-Bordeaux

(2) Université de Louvain, CORE.

Page 2: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc Reformulations

4 Generic Reformulations

5 Algorithms for Price Decomp

6 Hybrid approaches

Page 3: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 MotivationsInterests of reformulationsDecompositionThe Steiner Tree exampleThe Bin Packing Example

2 Definitions

3 Ad-hoc Reformulations

4 Generic Reformulations

5 Algorithms for Price Decomp

6 Hybrid approaches

Page 4: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations

Integer Program

(IP) min{cx : x ∈ X }where X = P ∩ Z

n with P = {x ∈ Rn+ : Ax ≥ a}.

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

4 / 70

Page 5: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations

Integer Program

(IP) min{cx : x ∈ X }where X = P ∩ Z

n with P = {x ∈ Rn+ : Ax ≥ a}.

Mixed Integer Program

(MIP) min{cx + hy : (x , y) ∈ X }where X = P ∩ (Zn × R

p) with P = {(x , y) ∈ Rn+ × R

p+ :

Gx + Hy ≥ b}.

4 / 70

Page 6: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations

Integer Program

(IP) min{cx : x ∈ X }where X = P ∩ Z

n with P = {x ∈ Rn+ : Ax ≥ a}.

Mixed Integer Program

(MIP) min{cx + hy : (x , y) ∈ X }where X = P ∩ (Zn × R

p) with P = {(x , y) ∈ Rn+ × R

p+ :

Gx + Hy ≥ b}.

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

x1 < 3 x1 > 4

P0

P1 P2

4 / 70

Page 7: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations

Integer Program

(IP) min{cx : x ∈ X }where X = P ∩ Z

n with P = {x ∈ Rn+ : Ax ≥ a}.

Mixed Integer Program

(MIP) min{cx + hy : (x , y) ∈ X }where X = P ∩ (Zn × R

p) with P = {(x , y) ∈ Rn+ × R

p+ :

Gx + Hy ≥ b}.

• MIP solvers are quite efficient but can still “fail” onmany problems (beyond a certain size).

• They barely exploit “problem structure”.

4 / 70

Page 8: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

5 / 70

Page 9: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

1] To obtain better LP bounds

5 / 70

Page 10: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

1] To obtain better LP bounds

a) Introducing new constraints → polyhedral approachb) Introducing new variables:

◮ variables that capture a combinatorial structure (chooseamong scenarios associated with sub-problem solutions)

◮ tighter relations between variables (f.i. in the presenceof setups)

◮ new variables to formulate cuts◮ new variables for branching

5 / 70

Page 11: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

1] To obtain better LP bounds

a) Introducing new constraints → polyhedral approachb) Introducing new variables:

◮ variables that capture a combinatorial structure (chooseamong scenarios associated with sub-problem solutions)

◮ tighter relations between variables (f.i. in the presenceof setups)

◮ new variables to formulate cuts◮ new variables for branching

2] To eliminate symmetry

5 / 70

Page 12: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

1] To obtain better LP bounds

a) Introducing new constraints → polyhedral approachb) Introducing new variables:

◮ variables that capture a combinatorial structure (chooseamong scenarios associated with sub-problem solutions)

◮ tighter relations between variables (f.i. in the presenceof setups)

◮ new variables to formulate cuts◮ new variables for branching

2] To eliminate symmetry

3] To work is a smaller dimensional space (if size is an issue)

5 / 70

Page 13: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Interests of reformulations

1] To obtain better LP bounds

a) Introducing new constraints → polyhedral approachb) Introducing new variables:

◮ variables that capture a combinatorial structure (chooseamong scenarios associated with sub-problem solutions)

◮ tighter relations between variables (f.i. in the presenceof setups)

◮ new variables to formulate cuts◮ new variables for branching

2] To eliminate symmetry

3] To work is a smaller dimensional space (if size is an issue)

4] To lead to a decomposition approach (from simplevariable splitting techniques to generic Dantzig-wolfe orBenders’ scheme) and possibly specific (more effective)algorithms

5 / 70

Page 14: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Decomposition

(IP) min{cx : x ∈ X }1] Constraint decomposition

X = Y ∩ Z◮ tighter formulation for Z (conv(Z ) in the best case)◮ implicitly enumerate set Z

(Lagrangian/Dantzig-Wolfe approach relying on atractable optimisation over Z , OPT(Z))

◮ implicitly give the polyhedral description of conv(Z )(Cutting Plane approach relying on a tractableseparation over Z , SEP(Z))

OPT(Z) ∈ P iff SEP(Z) ∈ P

6 / 70

Page 15: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Decomposition

(IP) min{cx : x ∈ X }1] Constraint decomposition

X = Y ∩ Z◮ tighter formulation for Z (conv(Z ) in the best case)◮ implicitly enumerate set Z

(Lagrangian/Dantzig-Wolfe approach relying on atractable optimisation over Z , OPT(Z))

◮ implicitly give the polyhedral description of conv(Z )(Cutting Plane approach relying on a tractableseparation over Z , SEP(Z))

OPT(Z) ∈ P iff SEP(Z) ∈ P

X = Y ∪ Z (Convex combination of y and z solutions,Disjunctive Cuts)

6 / 70

Page 16: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations Decomposition

(IP) min{cx : x ∈ X }1] Constraint decomposition

X = Y ∩ Z◮ tighter formulation for Z (conv(Z ) in the best case)◮ implicitly enumerate set Z

(Lagrangian/Dantzig-Wolfe approach relying on atractable optimisation over Z , OPT(Z))

◮ implicitly give the polyhedral description of conv(Z )(Cutting Plane approach relying on a tractableseparation over Z , SEP(Z))

OPT(Z) ∈ P iff SEP(Z) ∈ P

X = Y ∪ Z (Convex combination of y and z solutions,Disjunctive Cuts)

2] Variable decomposition: x = (x 1, x 2)Fixing x 1 yields an “easier” problem in x 2 (Bender’sapproach relying on cut generation for projx1X ).

Farkas Lemma6 / 70

Page 17: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

D

2 3

4 5

9 10 11 12 13

6

8

7

1

A

B

C

7 / 70

Page 18: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

D

2 3

4 5

9 10 11 12 13

6

8

7

1

A

B

C

7 / 70

Page 19: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

D

2 3

4 5

9 10 11 12 13

6

8

7

1

A

B

C

Special cases:

• T = {i} : shortest path from r to i

• T = V \ {r} : minimum cost spanning tree

7 / 70

Page 20: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

Arc flow formulation

min

(i ,j )∈A

cijxij

j∈V +(r)

yrj = |T |

j∈V −(i)

yji −∑

j∈V +(i)

yij = 1 i ∈ T

j∈V −(i)

yji −∑

j∈V +(i)

yij = 0 i ∈ V \ (T ∪ {r})

yij ≤ |T |xij (i , j ) ∈ A

y ∈ R|A|+ ,

x ∈ {0, 1}|A|

8 / 70

Page 21: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

Multi commodity arc flow formulation: (VS: yij =∑

k w kij )

min

(i ,j )∈A

cijxij

j∈V +(r)

w krj = 1 k ∈ T

j∈V −(i)

w kji −

j∈V +(i)

w kij = 0 i ∈ V \ {r , k}, k ∈ T

j∈V −(i)

w kjk −

j∈V +(i)

w kkj = 1 k ∈ T i ∈ T

w kij ≤ xij (i , j ) ∈ A, k ∈ K

w ∈ R|K |×|A|+ ,

x ∈ {0, 1}|A|

9 / 70

Page 22: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

Path flow formulation (decomposition)

min

(i ,j )∈A

cijxij

p∈P(k)

λkp = 1 k ∈ T

p∈P(k)

δpijλk

p ≤ xij (i , j ) ∈ A, k ∈ K

λkp ∈ {0, 1}|P(k)| k ∈ K

x ∈ {0, 1}|A|

10 / 70

Page 23: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

Network design formulation (projection)

min

(i ,j )∈A

cijxij

(i ,j )∈δ+(U )

xij ≥ 1 r ∈ U , T \ U 6= ∅

x ∈ {0, 1}|A|,

11 / 70

Page 24: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Steiner Tree example

Network design formulation (projection)

min

(i ,j )∈A

cijxij

(i ,j )∈δ+(U )

xij ≥ 1 r ∈ U , T \ U 6= ∅

x ∈ {0, 1}|A|,

Note: This projection onto the x space of the (x , w)formulation has the same LP value than the multi-commodityarc flow formulation or the path flow formulation (itself betterthan the initial arc flow formulation).

11 / 70

Page 25: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

12 / 70

Page 26: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

Item Assignment Formulation

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

uk , xik ∈ {0, 1} ∀i , k

13 / 70

Page 27: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

Item Assignment Formulation

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

uk , xik ∈ {0, 1} ∀i , k

Symmetry breaking:

xik = 1 if item i is in the same bin as k (k < i)

uk = xkk = 1 if item k is the smallest index item in its bin.

13 / 70

Page 28: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

Item Assignment Formulation

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

uk , xik ∈ {0, 1} ∀i , k

New variables for branching:

wij = 1 if item i and j are in the same bin

wij =∑

k

xikxjk for all i , j

13 / 70

Page 29: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

Item Assignment Formulation

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

uk , xik ∈ {0, 1} ∀i , k

Decomposition: Z k = {(u, x ) ∈ {0, 1}×Zn+ :

i

si xi ≤ u}

0 1 2 3 4 5 6 7

5 5 5 5 5 5

7 7 7 7 7 7

0 0 0 0 0 0 0

13 / 70

Page 30: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Motivations The Bin Packing Example

Arc Flow Formulation (DP based reformulation)

0 1 2 3 4 5 6 7

5 5 5 5 5 5

7 7 7 7 7 7

0 0 0 0 0 0 0

min

t

w0t

t :t≥si

wt−si ,t = 1 ∀i

j

wjt −∑

j

wtj = 0 t = 1, · · · , b − 1

wjt ∈ {0, 1} ∀(j , t)

no symmetry in k + better LP bounds

14 / 70

Page 31: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc Reformulations

4 Generic Reformulations

5 Algorithms for Price Decomp

6 Hybrid approaches

Page 32: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Combinatorial Optimization Problem

(CO) min{cx : x ∈ X }where X is the “discrete” set of feasible solutions.

16 / 70

Page 33: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Combinatorial Optimization Problem

(CO) min{cx : x ∈ X }where X is the “discrete” set of feasible solutions.

PolyheronP⊆ R

n

+ is the intersection of a finite number of half-spaces:∃A ∈ R

m×n , a ∈ Rm such that P = {x ∈ R

n+ : Ax ≥ a}.

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

16 / 70

Page 34: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Combinatorial Optimization Problem

(CO) min{cx : x ∈ X }where X is the “discrete” set of feasible solutions.

PolyheronP⊆ R

n

+ is the intersection of a finite number of half-spaces:∃A ∈ R

m×n , a ∈ Rm such that P = {x ∈ R

n+ : Ax ≥ a}.

FormulationA polyhedron P is a formulation for (CO) if X = P ∩ Z

n,i.e., (CO) can be modeled by the Integer Program:

(IP) min{cx : x ∈ P ∩ Zn}.

16 / 70

Page 35: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Reformulation (loose definition)

P ′ is a reformulation for (CO) if it provides an alternativepolyhedral description:(CO) ≡ min{cx : x ∈ P ∩ Z

n} ≡ min{c ′x ′ : x ′ ∈ P ′ ∩ Zn′

}

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

17 / 70

Page 36: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Reformulation (loose definition)

P ′ is a reformulation for (CO) if it provides an alternativepolyhedral description:(CO) ≡ min{cx : x ∈ P ∩ Z

n} ≡ min{c ′x ′ : x ′ ∈ P ′ ∩ Zn′

}

Stronger formulation

Reformulation P ′ ⊆ Rn is a stronger than P ⊆ R

n if P ′ ⊂ P :min{cx : x ∈ X } ≥ min{cx : x ∈ P ′} ≥ min{cx : x ∈ P}.

17 / 70

Page 37: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Reformulation (loose definition)

P ′ is a reformulation for (CO) if it provides an alternativepolyhedral description:(CO) ≡ min{cx : x ∈ P ∩ Z

n} ≡ min{c ′x ′ : x ′ ∈ P ′ ∩ Zn′

}

Stronger formulation

Reformulation P ′ ⊆ Rn is a stronger than P ⊆ R

n if P ′ ⊂ P :min{cx : x ∈ X } ≥ min{cx : x ∈ P ′} ≥ min{cx : x ∈ P}.

Note: If P ′ and P are in different variable spaces, one cancompare P and projx (P

′) (or P and TP ′, T is a lin. transf.).

17 / 70

Page 38: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Reformulation (loose definition)

P ′ is a reformulation for (CO) if it provides an alternativepolyhedral description:(CO) ≡ min{cx : x ∈ P ∩ Z

n} ≡ min{c ′x ′ : x ′ ∈ P ′ ∩ Zn′

}

Stronger formulation

Reformulation P ′ ⊆ Rn is a stronger than P ⊆ R

n if P ′ ⊂ P :min{cx : x ∈ X } ≥ min{cx : x ∈ P ′} ≥ min{cx : x ∈ P}.

Note: If P ′ and P are in different variable spaces, one cancompare P and projx (P

′) (or P and TP ′, T is a lin. transf.).

Ideal formulationGiven X ⊆ R

n , the convex hull of X , denoted conv(X ), isthe smallest closed convex set containing X . The convex hullof an integer set X defined by rational data is a polyhedron.

17 / 70

Page 39: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Comparing P , P ′, and conv(X )

x11 2 3 4

1

2

3

5

(7)

(6) (5)

(4)

x2

18 / 70

Page 40: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Projection

of a set Q ⊆ Rn ×R

p , Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d},

on the first n variables, x = (x1, · · · , xn), isprojx (Q) = {x ∈ R

n : ∃ w ∈ Rp with (x , w) ∈ U }.

Y

19 / 70

Page 41: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Projection

of a set Q ⊆ Rn ×R

p , Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d},

on the first n variables, x = (x1, · · · , xn), isprojx (Q) = {x ∈ R

n : ∃ w ∈ Rp with (x , w) ∈ U }.

Farka’s LemmaGiven H ∈ R

m×n and (d − Gx ) ∈ Rm , the polyhedron

{w ∈ Rn+ : Hw ≥ (d − Gx )} 6= ∅ iff ∀v ∈ R

m+ such that

vH ≤ 0, we have v(d − Gx ) ≤ 0.

Hence,

projx (Q) = {x ∈ Rn : v(d − Gx ) ≤ 0 ∀v ∈ V }

= {x ∈ Rn : v j (d − Gx ) ≤ 0 j = 1, . . . , J}

where V = {v ∈ Rm+ : vH ≤ 0}, and {v j}j are exteme rays.

19 / 70

Page 42: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Projection

of a set Q ⊆ Rn ×R

p , Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d},

on the first n variables, x = (x1, · · · , xn), isprojx (Q) = {x ∈ R

n : ∃ w ∈ Rp with (x , w) ∈ U }.

An extended Formulation for P ⊆ Rn

is a polyhedron Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d} such

that P =projx (Q).

19 / 70

Page 43: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Projection

of a set Q ⊆ Rn ×R

p , Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d},

on the first n variables, x = (x1, · · · , xn), isprojx (Q) = {x ∈ R

n : ∃ w ∈ Rp with (x , w) ∈ U }.

An extended Formulation for P ⊆ Rn

is a polyhedron Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d} such

that P =projx (Q).

An extended Formulation for an IP set X ⊆ Zn

is a polyhedron Q ⊆ Rn+p such that X =projx (Q) ∩ Z

n .

19 / 70

Page 44: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Projection

of a set Q ⊆ Rn ×R

p , Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d},

on the first n variables, x = (x1, · · · , xn), isprojx (Q) = {x ∈ R

n : ∃ w ∈ Rp with (x , w) ∈ U }.

An extended Formulation for P ⊆ Rn

is a polyhedron Q = {(x , w) ∈ Rn+p : Gx + Hw ≥ d} such

that P =projx (Q).

An extended Formulation for an IP set X ⊆ Zn

is a polyhedron Q ⊆ Rn+p such that X =projx (Q) ∩ Z

n .

An extended IP-formulation for an IP set X ⊆ Zn

is a setQ = {(x , w 1, w 2) ∈ R

n ×Zp1 ×R

p2 : Gx +H 1w 1+H 2w 2 ≥ b}such that X =projx Q . 19 / 70

Page 45: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Extended formulation & reformulationIf polyhedron Q is an extended IP-formulation for X and alinear transformation x = Tw links the original x variables andthe additional variables w , then an IP-reformulation ismin{cTw : ATw ≥ a, w ∈ W }.

20 / 70

Page 46: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Extended formulation & reformulationIf polyhedron Q is an extended IP-formulation for X and alinear transformation x = Tw links the original x variables andthe additional variables w , then an IP-reformulation ismin{cTw : ATw ≥ a, w ∈ W }.

A formulation P (resp. extended f. Q) is tight

if P = conv(X ) (resp. projx (Q) = conv(X )).

20 / 70

Page 47: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Extended formulation & reformulationIf polyhedron Q is an extended IP-formulation for X and alinear transformation x = Tw links the original x variables andthe additional variables w , then an IP-reformulation ismin{cTw : ATw ≥ a, w ∈ W }.

A formulation P (resp. extended f. Q) is tight

if P = conv(X ) (resp. projx (Q) = conv(X )).

A formulation (resp. extended f.) is compact

if the length of the description of P (resp. Q) is polynomial inthe input length of the description of CO .

20 / 70

Page 48: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Definitions

Extended formulation & reformulationIf polyhedron Q is an extended IP-formulation for X and alinear transformation x = Tw links the original x variables andthe additional variables w , then an IP-reformulation ismin{cTw : ATw ≥ a, w ∈ W }.

A formulation P (resp. extended f. Q) is tight

if P = conv(X ) (resp. projx (Q) = conv(X )).

A formulation (resp. extended f.) is compact

if the length of the description of P (resp. Q) is polynomial inthe input length of the description of CO .

Compactness of an Ideal FormulationAn ideal formulation cannot be compact unless CO is in P.

20 / 70

Page 49: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc ReformulationsVariable SplittingDynamic ProgrammingLP separationUnion of PolyhedraReduced coefficient & basis

4 Generic Reformulations

5 Algorithms for Price Decomp

6 Hybrid approaches

Page 50: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations

• Variable Splitting

Multi-Commodity Flow: xij =∑

k x kij

Unary expansion:x =

∑Cq=0

q zq ,∑C

q=0zq = 1, z ∈ {0, 1}C+1

Binary expansion:x =

∑Pp=0

2pwp ≤ C , , w ∈ {0, 1}P+1, withP = log2⌊C ⌋.

• Dynamic Programming for OPT → reformulation

• Separation is easy over a set → reformulation

• Union of Polyhedra

• Reduced coefficent / basis reformulations

In the context of a decomposition X = Y ∩ Z , Z → Z ′

22 / 70

Page 51: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations Variable Splitting

Multi-commodity flow: Three-Index Flow for the ATSP

min

cijxij

j

xij =∑

j

xij = 1 ∀ i ∈ V

i∈S

j∈V \S

xij ≥ 1 ∀ S with φ ⊂ S ⊂ V

x ∈ {0, 1}|A|

min

cijxij

j

w tij −

j

w tji =

1 i = r

−1 t = i

0 otherwiset ∈ V \ {r}

w tij ≤ xij ∀ (i , j ) ∈ A, t ∈ V \ {r}

x ∈ {0, 1}|A|, w ∈ [0, 1] ∀(i , j ) ∈ A, t ∈ V \ {r}23 / 70

Page 52: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations Variable Splitting

Unary expansion: Time-Indexed Formulation

Single machine scheduling problem (with integer data):

Sj ≥ Si + pi , or Si ≥ Sj + pj ∀ i , j

requires big M formulation: Sj ≥ Si + pi − M (1 − xij).Instead let w

jt = 1 iff job j starts at the beginning of [t − 1, t ].

T∑

t=1

wjt = 1 ∀ j

n∑

j=1

t∑

u=t−pj +1

w ju ≤ 1 ∀ t

wjt ∈ {0, 1} for t ∈ rj , . . . , dj − pj + 1, ∀j

Sj =∑

t(t − 1)w jt .

24 / 70

Page 53: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations Dynamic Programming

DP based reformulation: the knapsack example

G(t) = maxj=1,...,n:t−aj≥0

{G(t − aj ) + cj}

min G(b)

G(t) − G(t − aj ) ≥ cj j = 1, . . . , n, t = aj , · · · , b

G(0) = 0.

is the dual of a longest path problem; the primal is

max∑n

j=1

∑b−aj

t=0cj wjt

j wjt = +1 t = 0

−∑

j wj ,t−aj+

j wjt = 0 t = 1, · · · , b − 1

−∑

j wj ,t−aj= −1 t = b

wjt ≥ 0, t = 0, 1, · · · , b − aj , j = 1, · · · , n

25 / 70

Page 54: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations LP separation

Reformulation of the Uncapacitated Lot-Sizingmin

∑n

t=1ptxt +

∑n

t=1htst +

∑n

t=1qtyt

st−1 + xt = dt + st ∀ t

xt ≤ Myt ∀ t

s , x ∈ Rn+, y ∈ {0, 1}n

Facet-defining inequalities: L = {1, . . . , l}, S ⊆ L∑

j∈S

xj +∑

j∈L\S

djlyj ≥ d1l

Let µjl = min{xj , djlyj} for 1 ≤ j ≤ l ≤ n ⇒ a tight andcompact extended formulation is obtained from the OF byadding:

∑l

j=1µjl ≥ d1l 1 ≤ l ≤ n

µjl ≤ xj 1 ≤ j ≤ l ≤ n

µjl ≤ djlyj 1 ≤ j ≤ l ≤ n.26 / 70

Page 55: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations Union of Polyhedra

The 1 − k Configuration example

Y = {(x0, x ) ∈ {0, 1}n+1 : kx0 +n∑

j=1

xj ≤ n}.

Y 0 = {x0 = 0,

n∑

j=1

xj ≤ n} ∪ Y 1 = {x0 = 1,

n∑

j=1

xj ≤ n − k}

Tight extended formulation:

xj = x 0

j + x 1

j j = 1, . . . , n

x 0

j ≤ 1 − x0 j = 1, . . . , n

x 1

j ≤ x0 j = 1, . . . , n

n∑

j=1

x 1

j ≤ (n − k)x0

x ∈ [0, 1]3n−2

27 / 70

Page 56: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Ad-hoc Reformulations Reduced coefficient & basis

The knapsack problem example

X = P1 ∩ Zn = P2 ∩ Z

n

where

P1 = {x ∈ [0, 1]5 : 97x1 + 65x2 + 47x3 + 46x4 + 25x5 ≤ 136}

P2 = {x ∈ [0, 1]5 : 5x1 + 3x2 + 3x3 + 2x4 + 1x5 ≤ 6}

P2 ⊂ P1

28 / 70

Page 57: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc Reformulations

4 Generic ReformulationsResource DecompositionPrice DecompositionLagrangian relax.Dantzig-Wolfe Reform.

5 Algorithms for Price Decomp

6 Hybrid approaches

Page 58: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Resource Decomposition

min cx + hy

Gx + Hy ≥ d

x ∈ Zn, y ∈ R

p+

• The integer variables x are seen as the “important”decisions: ex. network design

• Fix x and compute the associated optimal y (solve SP).

• A feedback loop allowing one to adjust the x solutionafter obtaining the associated y : Bender’s cuts.

30 / 70

Page 59: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Resource Decomposition

min{cx + hy : Gx + Hy ≥ d , x ∈ Z n , y ∈ Rp+}

min{cx + φ(x ) : x ∈ projx (Q) ∩ Zn} → a MIP

whereQ = {(x , y) ∈ Rn × R

p+ : Gx + Hy ≥ d}

φ(x ) = min{hy : Hy ≥ d − Gx , y ∈ Rp+}

= max{u(d − Gx ) : uH ≤ h, u ∈ Rm+ }

= maxt=1,...,T

{ut(d − Gx )} for x ∈ projx (Q)

ut are extreme points of U = {u ∈ Rm+ : uH ≤ h}, v r are extreme rays;

Bender’s Master ≡ min cx + σ

σ ≥ ut (d − Gx ) t = 1, · · · , T

v r (d − Gx ) ≤ 0 r = 1, · · · , R

x ∈ Zn

Branch-and-Cut 31 / 70

Page 60: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Resource Decomposition

Bender’s algorithm: branch-and-cut

i) Solve the restricted master LP. If it is infeasible, that node is infeasible,backtrack. Otherwise, record (σ∗, x ∗).

ii) Solve the cut generation subproblem

φ(x ∗) = min{hy : Hy ≥ d − Gx ∗, y ∈ Rp+},

or its dual max{u(d − Gx ∗) : uH ≤ h, u ∈ Rm+ }.

ii.a) The separation problem is infeasible and one obtains a newextreme ray v r with v r (d − Gx ∗) > 0.A feasibility cut, v r (d − Gx ) ≤ 0, is added to the master.

ii.b) The separation subproblem is feasible, and one obtains a newdual extreme point ut with φ(x ∗) = ut (d − Gx ∗) > σ∗.An optimality cut, σ ≥ ut (d − Gx ), is added to the master.

ii.c) The separation subproblem is feasible with optimal valueφ(x ∗) = σ∗. Then, (x ∗, σ∗) is a solution to the linear master program atthe node. 32 / 70

Page 61: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Resource Decomposition

Block Diagonal Structure: Resource Decomposition

min cx + h1y1 + h2y2 + · · · +hK yK

G1x + H 1y1 ≥ d1

G2x + H 2y2 ≥ d2

. . .. . . ≥

...GK x + H K yK ≥ dK

x ∈ X , yk ∈ Z k k = 1, . . . , K

ζk = min{hkyk : H kyk ≥ d k − Gk x , yk ∈ Z k}.

33 / 70

Page 62: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Resource Decomposition

Multi-Machine Job Assignment Problem: integer SP

min{K∑

k=1

n∑

j=1

ckj x k

j :

K∑

k=1

x kj = 1 ∀ j ,

x k ∈ Z k ∀ k}

where x k ∈ Z k if and only if the set S k = {j : x kj = 1} of jobs

can be scheduled on machine k .Otherwise one generates an infeasibility cut of the form:

j∈Sk

x kj ≤ |S k | − 1

34 / 70

Page 63: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Price Decomposition

(IP) z = min{cx : Dx ≥ d , Bx ≥ b, x ∈ Zn+

︸ ︷︷ ︸

x∈X

}

where Dx ≥ d represent “complicating constraints” while theset Z = {x ∈ Z

n+ : Bx ≥ b} is “more tractable”

(OPT(Z))

• Relaxing Dx ≥ d while penalizing (pricing) theirviolation in the objective → Lagrangian relaxation

• Reformulate the problem as selecting a solution from Z

that satisfy Dx ≥ d → Dantzig-Wolfe Reformulation– Column Generation

35 / 70

Page 64: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Price Decomposition

The block diagonal case

min c1x 1 + c2 x 2 + . . . + cK x K

D1 x 1 + D2 x 2 + . . . + DK x K ≥ d

B1 x 1 ≥ b1

B2 x 2 ≥ b2

. . . ≥...

BK x K ≥ bK

x 1 ∈ Zn1

+ , x 2 ∈ Zn2

+ , . . . x K ∈ ZnK+ .

Relaxing the constraints Dx ≥ d decomposes the problem intoK smaller size optimization problems:

min{ckx k : x k ∈ Z k}The “complicating” constraints only depend on the aggregatevariables:

y =∑K

k=1x k Y = {y ∈ Z

n+ : Dy ≥ d}.

36 / 70

Page 65: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Lagrangian relax.• Lagrangian sub-problem:

L(π) = minx{cx + π(d − Dx ) : Bx ≥ b, x ∈ Zn+

︸ ︷︷ ︸

x∈Z

}.

37 / 70

Page 66: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Lagrangian relax.• Lagrangian sub-problem:

L(π) = minx{cx + π(d − Dx ) : Bx ≥ b, x ∈ Zn+

︸ ︷︷ ︸

x∈Z

}.

Borne dual (inf): Z IP = cx ∗ ≤ cx ∗ + π(d − Dx ∗) ≤ L(π)

37 / 70

Page 67: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Lagrangian relax.• Lagrangian sub-problem:

L(π) = minx{cx + π(d − Dx ) : Bx ≥ b, x ∈ Zn+

︸ ︷︷ ︸

x∈Z

}.

• Lagrangian dual:zLD = maxπ≥0 L(π) = maxπ≥0 minx∈Z{cx + π(d − Dx )}.

= maxπ≥0 mint=1,...,T{cx t + π(d − Dx t)} (Z bounded)= max πd + σ

πDx t + σ ≤ cx t t = 1, . . . , T

π ≥ 0, σ ∈ IR1.

= min∑T

t=1cx tλt

∑T

t=1Dx tλt ≥ d

∑T

t=1λt = 1, λt ≥ 0 t = 1, . . . , T .

37 / 70

Page 68: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Lagrangian relax.• Lagrangian sub-problem:

L(π) = minx{cx + π(d − Dx ) : Bx ≥ b, x ∈ Zn+

︸ ︷︷ ︸

x∈Z

}.

• Lagrangian dual:zLD = maxπ≥0 L(π) = maxπ≥0 minx∈Z{cx + π(d − Dx )}.

= maxπ≥0 mint=1,...,T{cx t + π(d − Dx t)} (Z bounded)= max πd + σ

πDx t + σ ≤ cx t t = 1, . . . , T

π ≥ 0, σ ∈ IR1.

= min∑T

t=1cx tλt

∑T

t=1Dx tλt ≥ d

∑T

t=1λt = 1, λt ≥ 0 t = 1, . . . , T .

Lagrangian duality

zLD = min{cx : Dx ≥ d , x ∈ conv(Z )}

37 / 70

Page 69: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Lagrangian relax.

Example: the Bin Packing Problem

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

xik , uk ∈ {0, 1} ∀i , k

L(π) =∑

i

πi + K min{(u −∑

i

πixi)

i

sixi ≤ u

u ∈ {0, 1}, xi ∈ {0, 1}}

38 / 70

Page 70: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

Reformulation of conv(Z ) → convexification

Every Polyhedron P , in particular conv(Z ), can be representedas

P = {x ∈ Rn : x =

g∈G λgx g +∑

r∈R µrv r ,∑

g∈G λg = 1, λ ∈ R|G|+ , µ ∈ R

|R|+ }

where {x g}g∈G are the extreme points and {v r}r∈R theextreme rays of P .

39 / 70

Page 71: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

Reformulation of conv(Z ) → convexification

Every Polyhedron P , in particular conv(Z ), can be representedas

P = {x ∈ Rn : x =

g∈G λgx g +∑

r∈R µrv r ,∑

g∈G λg = 1, λ ∈ R|G|+ , µ ∈ R

|R|+ }

where {x g}g∈G are the extreme points and {v r}r∈R theextreme rays of P .

IP-Reformulation of Z → discretizationEvery IP set Z = {x ∈ Z

n : Bx ≥ b} can be represented inthe form Z =projx (Q), with

Q = {(x , λ, µ) ∈ Rn × Z

|G|+ × Z

|R|+ :

x =∑

g∈G λgx g +∑

r∈R µrv r ,∑

g∈G λg = 1},where {x g}g∈G is a finite set of integer points in Z , and{v r}r∈R are the extreme integer rays of conv(Z ).

39 / 70

Page 72: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

40 / 70

Page 73: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

• The convexification approach: Extended formulation

min∑

g∈Gc(cx g)λg∑

g∈Gc(Dx g)λg ≥ d

(DWc)∑

g∈Gc λg = 1

x =∑

g∈Gc x gλg ∈ Zn

λg ≥ 0 ∀g ∈ Gc

• The discretization approach: IP-Reformulation

min∑

g∈Gd (cx g)λg∑

g∈Gd (Dx g)λg ≥ d

(DWd)∑

g∈Gd λg = 1

λg ∈ {0, 1} ∀g ∈ Gd

41 / 70

Page 74: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

• The convexification approach: Extended formulation

min∑

g∈Gc(cx g)λg∑

g∈Gc(Dx g)λg ≥ d

(DWc)∑

g∈Gc λg = 1

x =∑

g∈Gc x gλg ∈ Zn

λg ≥ 0 ∀g ∈ Gc

• The discretization approach: IP-Reformulation

min∑

g∈Gd (cx g)λg∑

g∈Gd (Dx g)λg ≥ d

(DWd)∑

g∈Gd λg = 1

λg ∈ {0, 1} ∀g ∈ Gd

Strength of the LP BoundThe linear program modeling LD is precisely the LP relaxationof DWc and equivalent to the LP relaxations of DWd . Hencez DWc

LP = z DWdLP = zLD .

41 / 70

Page 75: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

Block diagonal with Identical Subsystems: νg =∑

k λkg

min

g∈G

(cx g)νg (1)

(DWad)∑

g∈G

(Dx g)νg ≥ d (2)

g∈G

νg = K (3)

ν ∈ Z|G|+ , (4)

The projection into the original variable space will only providethe aggregate variables:

y =∑

g∈G

x gνg . (5)

The convexification approach does not carry over to this case. 42 / 70

Page 76: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Generic Reformulations Dantzig-Wolfe Reform.

Example: the Bin Packing Problem

min

K∑

k=1

uk

K∑

k=1

xik = 1 ∀i

i

si xik ≤ uk ∀k

xik , uk ∈ {0, 1} ∀i , k

Z = {x ∈ Zn+ :

n∑

i=1

sixi ≤ 1} = {x g}g∈G

min{∑

g∈G

νg :∑

g∈G

xgi νg = 1∀i ,

g∈G

νg = K , ν ∈ Z|G|+ }

43 / 70

Page 77: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc Reformulations

4 Generic Reformulations

5 Algorithms for Price DecompColumn GenerationSub-gradient alg.The volume algor.Bundle MethodAccelerated col genBranch-and-Price

6 Hybrid approaches

Page 78: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

min∑

g∈G(cx g)λg∑

g∈G(Dixg)λg ≥ di ∀i

g∈G λg = 1

λg ≥ 0 g ∈ G

max∑

i πidi + σ∑

i πiDixg + σ ≤ cx g ∀g ∈ G

π ≥ 0, σ ∈ IR1.

45 / 70

Page 79: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

min∑

g∈G(cx g)λg∑

g∈G(Dixg)λg ≥ di ∀i

g∈G λg = 1

λg ≥ 0 g ∈ G

max∑

i πidi + σ∑

i πiDixg + σ ≤ cx g ∀g ∈ G

π ≥ 0, σ ∈ IR1.

45 / 70

Page 80: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

min∑

g∈G(cx g)λg∑

g∈G(Dixg)λg ≥ di ∀i

g∈G λg = 1

λg ≥ 0 g ∈ G

max∑

i πidi + σ∑

i πiDixg + σ ≤ cx g ∀g ∈ G

π ≥ 0, σ ∈ IR1.

the reduced cost of x g is cx g − πDx g − σ.ζ = ming∈G(cx g − πDx g) = minx∈Z (c − πD)x . Thus,pricing consists in solving OPT (Z ).zRMLP =

g∈G′(cx g)λg = πd + σ ≥ zMLP . (PB)(π, ζ) forms a feasible dual solution / L(π) is availableafter pricing. Hence L(π) = πd + ζ ≤ zMLP . (DB)If λ is integer, it defines a primal (upper) bound forproblem IP. (INC)

45 / 70

Page 81: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

min∑T

t=1(cx t )λt

∑T

t=1(Dix

t)λt ≥ di ∀i∑T

t=1λt = 1

λt ≥ 0 t = 1, . . . , T .

max∑

i πidi + σ∑

i πiDixt + σ ≤ cx t ∀t

π ≥ 0, σ ∈ IR1.

844

0 100 200 300 400 500 600 700 800 900 10000

84

169

253

338

422

506

591

675

760

46 / 70

Page 82: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

i) Initialize INC = PB = +∞, DB = −∞. Generate a subset of pointsx g so that RMLP is feasible.

ii) Iteration t ,

ii.a) Solve RMLP ; record the primal solution (λ, PB) and the dualsolution (π, σ).

ii.b) Check whether λ defines an integer solution of IP; if so updateINC . If INC = DB , stop.

ii.c) Solve the pricing problem

ζ = min{(c − πD)x : x ∈ Z}.

Let x ∗ be an optimal solution. If ζ − σ = 0, set DB = z RMLP and stop.Otherwise, add x ∗ to G and include the associated column in RMLP (itsreduced cost is ζ − σ < 0).

ii.d) Compute the dual bound: L(π) = πd + ζ; update

DB = max{DB , L(π)}. If PB = DB , stop. 47 / 70

Page 83: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

Example: the Bin Packing Problem

Numerical example: n = 5, s = (1, 2, 2, 3, 4), S = 6.

[M ] ≡ min ν1 + ν2 + ν3 + ν4 + ν5

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

ν1

ν2

ν3

ν4

ν5

1

1

1

1

1

Z 1 = 5, ν = (1, 1, 1, 1, 1), π = (1, 1, 1, 1, 1).

[SP ] ≡ max x1 + x2 + x3 + x4 + x5

x1 + 2 x2 + 2 x3 + 3 x4 + 4 x5 ≤ 6

xi ∈ {0, 1}

KNP(π) = 3, solution x = (1, 1, 1, 0, 0) 48 / 70

Page 84: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

Example: the Bin Packing Problem

t Z t master sol. πt L(πt ) PB x t

5 5 ν1 = ν2 = ν3 = ν4 = ν5 = 1 (1, 1, 1, 1, 1) −5 5 (1, 1, 1, 0, 0)6 3 ν4 = ν5 = ν6 = 1, (0, 0, 1, 1, 1) −2 3 (0, 0, 1, 1, 0)7 3 ν1 = ν4 = ν5 = 1 (0, 1, 0, 1, 1) −2 3 (0, 1, 0, 1, 0)

8 3 ν1 = ν6 = ν7 = ν8 = 1

2, ν5 = 1 (1, 0, 0, 1, 1) −2 3 (1, 0, 0, 0, 1)

9 2.5 ν6 = ν7 = ν8 = 1

2, ν9 = 1 (0,

1

2,

1

2,

1

2, 1) 0 3 (0, 1, 0, 0, 1)

10 2.33 ν6 = ν8 = ν10 = 1

3, ν7 = ν9 = 2

3( 1

3,

1

3,

1

3,

2

3,

2

3) 2

33 (1, 1, 0, 1, 0)

11 2.25 ν6 = ν11 = 1

4, ν9 = ν10 = 1

2, ν7 = 3

4( 1

4,

1

4,

1

2,

1

2,

3

4) 4

33 (0, 0, 1, 0, 1)

12 2 ν11 = ν12 = 1 (0, 0, 0, 1, 1) 2 2 (0, 0, 0, 0, 1)

min ν1 + ν2 + ν3 + ν4 + ν5 + ν6 + ν7 + ν8 + ν9 + ν10 + ν11 + ν12

0

B

B

B

@

1 0 0 0 0 1 0 0 1 0 1 0

0 1 0 0 0 1 0 1 0 1 1 0

0 0 1 0 0 1 1 0 0 0 0 1

0 0 0 1 0 0 1 1 0 0 1 0

0 0 0 0 1 0 0 0 1 1 0 1

1

C

C

C

A

0

B

B

B

B

B

B

B

B

B

B

B

B

B

B

B

B

@

ν1

ν2

ν3

ν4

ν5

ν6

ν7

ν8

ν9

ν10

ν11

ν12

1

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

A

0

B

B

B

@

1

1

1

1

1

1

C

C

C

A

Z 12 = 2, ν11 = 1, ν12 = 1, u = (0, 0, 0, 1, 1). 49 / 70

Page 85: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

Economic Interpretation

MASTER PROGRAM↓ ↑

prices proposals↓ ↑

SUBPROBLEMS

Decentralized decision-making process:

• Coordinator sets prices that serve as incentives to meetthe global constraints

k Dx k ≥ d .

• Each independent subdivision uses these prices toevaluate the profitability of its activities (x k ∈ Z k) andreturns an interesting business proposal: x gk .

50 / 70

Page 86: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Column Generation

Drawbacks 844

0 100 200 300 400 500 600 700 800 900 10000

84

169

253

338

422

506

591

675

760

1] convergence can be slow with very little progress made in improvingthe bounds (tailing-off);

2] during the initial stages, when few points x g are available, primaland dual bounds are very weak and ineffective (heading-in);

3] the dual bounds can behave erratically as π jumps from oneextreme point solution to another at successive iterations,(bang-bang → yo-yo);

4] a the upper bounds z RMLP can remain stuck at the same value dueto degeneracy (plateau). 51 / 70

Page 87: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Sub-gradient alg.

zLD = maxπ≥0

mint=1,...,T

{cx t + π(d − Dx t)}

52 / 70

Page 88: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Sub-gradient alg.

i) Initialize π0 = 0, t = 1.ii) Iteration t ,

ii.a) Solve the Lagrangian subproblem to obtain the dual boundL(πt ) = min{cx + πt(d − Dx )} and an optimal solution x t .

ii.b) Compute x t ’s violation of the dualized constraints (d − Dx t);this provides a “sub-gradient" that can be used as a “potential directionof ascent" to modify the dual variables.

ii.c) Update the dual solution using

πt+1 = max{0, πt + ǫt (d − Dx t)}

where ǫt is a appropriately chosen step-size.

iii) If t < τ , increment t and return to ii).

53 / 70

Page 89: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Sub-gradient alg.

• Step size: πt+1 = max{0, πt + ǫt(d − Dx t)} withǫt = αt

||d−Dx t ||

a) αt = C (INC − L(πt )) with C ∈ (0, 2);b) the αt form a geometric series: αt = Cρt with

ρ ∈ (0, 1) and C > 0;c) the αt form a divergent series: f.i., αt = 1

t.

• Candidate primal solution: x (no guarantee to satisfyconstraints Dx ≥ d):

a) x =∑t

g=1x gλg where λg =

αgP

tg=1

αg, or

b) x = ηx + (1 − η)x t with η ∈ (0, 1).

54 / 70

Page 90: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp The volume algor.

x = ηx + (1 − η)x t with a suitable η ∈ (0, 1);π = argmaxg=1,...,t{L(πg )};the “direction of ascent” is defined by the violation of x ,i.e. (d − Dx), instead of x t ;the dual price updating rule is computed from π, insteadof πt : πt+1 = max{0, π + ǫt(d − Dx )}.Stopping criteria: when ||d − Dx || ≤ ǫ and||cx − πd || ≤ ǫ.

Adapted conjugate gradient method, the method is equivalentto making a suitable correction v t in the dual price updatingdirection πt+1 = max{0, πt + ǫt(d − Dx t) + v t}.

55 / 70

Page 91: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Bundle Method

maxπ≥0

{L(π)−||π − π||2

η}

m (in the case Dx = d)

minx

{cx + π(d − Dx ) + η||d − Dx ||2 : x ∈ conv(Z )}

Thus, the dual restricted master is a quadratic program:

max∑

i πidi + σ− ||π−π||2

η∑

i πiDixt + σ ≤ cx t ∀t = 1, . . . , T

π ≥ 0, σ ∈ IR1.

56 / 70

Page 92: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Accelerated col gen

◮ proper initialization (warm start): meaningful dualsolutions π from the outset, using a dual heuristic or arich initial set of points x g (produced with a heuristicINC, or using a sub-gradient method)

◮ pricing strategy: multiple column gen., intelligentsequence of pricing problems

◮ stabilization: penalizing deviations of the dual solutionsfrom a stability center π:

maxπ≥0{L(π) + S (π − π)}◮ smoothing:

πt = απt−1 + (1 − α)πt

πt = απ + (1 − α)πt

◮ interior point approaches: ACCPM, convex combinationof dual extreme points.

◮ Dual cuts: f.i., application specific symmetry breaking,ex. BPP: πi ≥ πi+1 if si ≥ si+1

57 / 70

Page 93: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Accelerated col gen

Stabilization functions

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

ππ

S(π − π)

π

58 / 70

Page 94: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Accelerated col gen

Stabilization functions

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

ππ

S(π − π)

π

min∑T

t=1(cx t)λt +

i πiρi∑T

t=1(Dix

t )λt + ρi ≥ di ∀i∑T

t=1λt = 1

λt ≥ 0 t = 1, . . . , T ; ρi ≥ 0 ∀i

max∑

i πidi + σ∑

i πiDixt + σ ≤ cx t ∀t

πi ≤ πi ∀i

π ≥ 0, σ ∈ IR1.58 / 70

Page 95: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Accelerated col gen

Stabilization functions

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

π

π

S(π − π)

ππ

S(π − π)

π

min∑T

t=1(cx t)λt +

i πiρi∑T

t=1(Dix

t)λt + ρi ≥ di ∀i∑T

t=1λt = 1

λt ≥ 0 ∀t 0 ≤ ρi ≤ pi ∀i

max∑

i(πidi − pisi) + σ∑

i πiDixt + σ ≤ cx t

πi − si ≤ πi ∀π, s ≥ 0, σ ∈ IR1.

58 / 70

Page 96: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Single subsystem (or multiple non-identical subsystems)

min∑

g∈G(cx g)λg∑

g∈G(Dx g)λg ≥ d∑

g∈G λg = 1

λg ≥ 0 ∀g ∈ G• Integrality Test. If λ∗ is integer, or more generally if

x ∗ =∑

g∈G x gλ∗g ∈ Z

n , stop. x ∗ is an optimal solution ofIP.

• Branching. Select a variable xj for whichx ∗

j =∑

g∈G xgj λ∗

g /∈ Z. Separate intoX ∩ {x : xj ≤ ⌊x ∗

j ⌋} and X ∩ {x : xj ≥ ⌈x ∗j ⌉}.

Option 1: the branching constraint is dualized as a“difficult” constraint.Option 2: the branching constraint is enforced in thesub-problem.

59 / 70

Page 97: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Single subsystem: consider the up-branch

• Option 1: The branching constraint goes in the master:

min∑

g∈G

(cx g)λg

g∈G

(Dx g)λg ≥ d

g∈G

xgj λg ≥ ⌈x ∗

j ⌉

g∈G

λg = 1

λg ≥ 0 g ∈ G,

• Option 2: The branching constraint goes in thesubproblem:

ζ2 = min{(c − πD)x : x ∈ Z ∩ {x : xj ≥ ⌈x ∗j ⌉}}.

60 / 70

Page 98: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Single subsystem: comparing the 2 options

Strength of the linear programming bound

z MLP1 = min{cx : Dx ≥ d , x ∈ conv(Z ), xj ≥ ⌈x ∗j ⌉}

≤ z MLP2 = min{cx : Dx ≥ d , x ∈ conv(Z ∩ {x : xj ≥ ⌈x ∗j ⌉})}

Complexity of the subproblem For option 1 the subproblem isunchanged, whereas for option 2 the subproblemmay become more complicated.

Getting Integer Solutions If an optimal solution x ∗ of IP is notan extreme point of conv(Z ), it cannot beobtained as a solution of the subproblem underOption 1. Under Option 2, one can eventuallygenerate a column x g = x ∗ in the interior ofconv(Z ).

61 / 70

Page 99: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Multiple identical subsystems : set partitioning

νg =∑

k λkg min

g∈G(cx g)νg∑

g∈G xgi νg = 1 ∀i

g∈G νg = K

νg ≥ 0 ∀g ∈ G

62 / 70

Page 100: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Multiple identical subsystems : set partitioning

νg =∑

k λkg min

g∈G(cx g)νg∑

g∈G xgi νg = 1 ∀i

g∈G νg = K

νg ≥ 0 ∀g ∈ G• Integrality Test.

If ν is integer, stop. Else, sort columns and disaggregate ν:λk

g = min{1, νg −∑k−1

κ=1λκ

g , (k −∑

γ≺g νg)+} ∀k = 1, . . . , K , g ∈ G

Let x k =∑

g∈G x gλkg ∀k . If x ∈ Z

n ,stop.

62 / 70

Page 101: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Multiple identical subsystems : set partitioning

νg =∑

k λkg min

g∈G(cx g)νg∑

g∈G xgi νg = 1 ∀i

g∈G νg = K

νg ≥ 0 ∀g ∈ G• Integrality Test.

If ν is integer, stop. Else, sort columns and disaggregate ν:λk

g = min{1, νg −∑k−1

κ=1λκ

g , (k −∑

γ≺g νg)+} ∀k = 1, . . . , K , g ∈ G

Let x k =∑

g∈G x gλkg ∀k . If x ∈ Z

n ,stop.

νg 1 0 1 1

20 0 1

21 0 0 1

20 1

20 0

xi11 1 1 1 1 1 1 0 0 0 0 0 0 0 0

xi21 1 1 0 0 0 0 1 1 1 1 0 0 0 0

xi31 0 0 1 1 0 0 1 1 0 0 1 1 0 0

xi40 1 0 1 0 1 0 1 0 1 0 1 0 1 0

x k1 x k2 x k3 x k4 x k5

⇒ xk3

i3= 1

2 62 / 70

Page 102: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Multiple identical subsystems : set partitioning

νg =∑

k λkg min

g∈G(cx g)νg∑

g∈G xgi νg = 1 ∀i

g∈G νg = K

νg ≥ 0 ∀g ∈ G• Integrality Test.

If ν is integer, stop. Else, sort columns and disaggregate ν:λk

g = min{1, νg −∑k−1

κ=1λκ

g , (k −∑

γ≺g νg)+} ∀k = 1, . . . , K , g ∈ G

Let x k =∑

g∈G x gλkg ∀k . If x ∈ Z

n ,stop.• Branching. Option 1 and 2 are not useful, as

yj =∑

g∈G xgj νg = 1 always. Instead, consider two

components i and j . Branch on an auxiliary variablewij , using

(wij =∑

g :xgi=1,x

gj=1

νg = 0) or (wij =∑

g :xgi=1,x

gj=1

νg = 1)

62 / 70

Page 103: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

The set partitioning case: branching options

Up-branch (wij =∑

g :x g

i=1,x

g

j=1

νg = 1)

• Option 3: the branching constraint goes in the master∑

g :x gi =1,x

gj =1

νg ≥ 1

ζ3 = min{(c − πD)x − µwij : x ∈ Z , wij ≤ xi , wij ≤ xj , wij ∈ {0, 1}}.

• Option 4: implicitly enforced in the sub-prob: Ryan-Fosterζ4 = min{(c − πD)x : x ∈ Z , xi = xj}.

• Option 5: differentiate 2 pricing problems, and enforceBC explicitly in SP

ζ5A = min{(c − πD)x : x ∈ Z , xi = xj = 0}

ζ5B = min{(c − πD)x : x ∈ Z , xi = xj = 1}.∑

g∈G5Aνg = K − 1 and

g∈G5Bνg = 1

Strength of the LP bound, Complexity of the SP, Interior Points63 / 70

Page 104: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Multiple identical subsystems: the general case

min{∑

g∈G(cx g)νg :∑

g∈G(Dx g)νg ≥ d ,∑

g∈G νg = K , ν ∈ R|G|+ }.

• Option 1: branch on the aggregate variablesyi =

g∈G xgi νg = α /∈ Z∑

g∈G xgi νg ≤ ⌊α⌋ or

g∈G xgi νg ≥ ⌈α⌉.

• Option 3 & 4: branch on auxiliary variables (implicitreformulation) in the master or the SP.

VRP: edge useCSP: arc use of arc flow formulation of SP

• Option 2 & 5: Branch on one (or several) components ofx and differentiate subproblems: if

g :x gj ≥lj

νg = α 6∈ Z,∑

g :x g

j≥lj

νg ≥ ⌈α⌉ or∑

g :x g

j≤lj −1

νg ≥ K − ⌊α⌋

Pricing is carried out independently over the two setsZ = Z ∩ {xj ≥ lj } and Z \ Z on both branches.

64 / 70

Page 105: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Algorithms for Price Decomp Branch-and-Price

Practical implementation issues

• Initialisation: initial columns (heuristic, sub-gradient,volume), artificial columns (dual heuristic)

min∑T

t=1(cx t)λt +

i πiρi∑T

t=1(Dix

t)λt + ρi ≥ di ∀i∑T

t=1λt = 1

λt ≥ 0 t = 1, . . . , T . ρi ≥ 0 ∀i

max∑

i πidi + σ∑

i πiDixt + σ ≤ cx t ∀t

πi ≤ πi ∀i

π ≥ 0, σ ∈ IR1.

• Preprocessing: “proper columns” (that account formaster constraints)

• Stabilization

• Primal heuristics: Restricted master solved as an IP,rounding, local search.

• Cut generation: based on master constraints.

• Branching strategies: branch on constraints.

65 / 70

Page 106: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

1 Motivations

2 Definitions

3 Ad-hoc Reformulations

4 Generic Reformulations

5 Algorithms for Price Decomp

6 Hybrid approachesPrice-and-PriceBranch-and-Price-and-CutReformulation + B-P-C

Page 107: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Hybrid approaches Price-and-Price

min cy

y − z = 0

y ∈ Y

z ∈ Z .

min∑

i∈I

cy iλi

i∈I

y iλi =∑

j∈J

z j βj

i∈I

λi = 1∑

j∈J

βj = 1

λ ∈ R|I |+ , β ∈ R

|J |+

ζ1 = min{πx − π0, x ∈ Y }

ζ2 = min{−πx − µ0, x ∈ Z}.

67 / 70

Page 108: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Hybrid approaches Branch-and-Price-and-Cut

The Vehicle Routing Problemmin

e∈E

ce xe

e∈δ(i)

xe = 2 ∀i ∈ V \ {0, n + 1}

e∈δ(i)

xe = K ∀i ∈ {0, n + 1}

e∈δ(S)

xe ≥ 2 B(S ) ∀S ⊆ V \ {0, n + 1}

xe ∈ {0, 1} ∀e ∈ E ,

Z = {q-routes}

min{∑

g∈G(∑

e cex ge )λg :

g∈G(∑

e∈δ(i) x ge )λg = 2 ∀i ∈ V \ {0, n + 1},

g∈G λg ≤ K , λg ∈ {0, 1} ∀g}CUTS:∑

g∈G,e∈δ(S) x ge λg ≥ 2 B(S ) ≥ 2 ⌈(

i∈S di)/C ⌉ ≥ 2 (∑

i∈S di)/C68 / 70

Page 109: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Hybrid approaches Reformulation + B-P-C

Variable splitting:xa =∑

q=0,...,C

waq

where waq = 1 if a verhicle traverse arc a = (i , j ) with load q.

a∈δ−(i)

waq =

a∈δ+(i)

waq−di

di ≤ q ≤ C

C∑

q=0

a∈δ−(i)

qwaq −

C∑

q=0

a∈δ+(i)

qwaq = di i ∈ V .

Summing over S ⊂ V and defining aggregate variablesy−

q (S ) =∑

a∈δ−(S) waq and y+

q (S ) =∑

a∈δ+(S) waq , one obtains integer

knapsack sets

C∑

q=0

qy−q (S ) −

C∑

q=0

qy+q (S ) =

i∈S

di , y−q (S ), y+

q (S ) ∈ ZC+1

+

for which a variety of cutting planes can be generated.

waq are implicit variables in resource contrained shortest path SP.

69 / 70

Page 110: Reformulation and Decomposition of Integer Programsfvanderb/papers/RDslides.pdf · 2013. 10. 1. · Motivations Interests of reformulations 1] To obtain better LP bounds a) Introducing

Hybrid approaches Reformulation + B-P-C

Multi-Item Lot-Sizing

Machine

Item 2

Item 1

Periods 1 to 5

F

d1

d1

d2

d2

d3

d3

d4

d4

d5

d5

xit ≤ cit yit

i(xit + si yit ) ≤ Ct

min∑

i t

(pit

2x A

it +fit

2yA

it ) +∑

i t

(pit

2x B

it +fit

2yB

it )

x Ait ≥ x B

it ∀i , t yAit ≥ yB

it ∀i , t

i

(x Ait + si yA

it ) ≤ Ct ∀t

t∑

τ=1

x Biτ ≥ di1t ∀i t

x Ait ≤ cit yA

it ∀i t x Bit ≤ cit yB

it ∀i t

x Ait ≥ 0 , yA

it ∈ {0, 1} ∀i t x Bit ≥ 0 , yB

it ∈ {0, 1} ∀i t 70 / 70