DECOMP: A Framework for Decomposition in Integer Programming
Transcript of DECOMP: A Framework for Decomposition in Integer Programming
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 1/30
DECOMP: A Framework for Decomposition inInteger Programming
Matthew V. GalatiTed K. Ralphs
SAS Institute - Analytical Solutions - Operations Research and Development, Cary, NC
Lehigh University - Department of Industrial and Systems Engineering, Bethlehem, PA
COR@L - Computational Optimization Research at Lehigh
http://sagan.ie.lehigh.edu/mgalati
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 2/30
Outline
■ Decomposition Methods
◆ Cutting Plane Method
◆ Dantzig-Wolfe Method
◆ Lagrangian Method
■ Integrated Decomposition Methods
◆ Price and Cut
◆ Relax and Cut
■ Structured Separation and Motivation
■ Decomp and Cut
■ DECOMP Framework
● Outline
Decomposition Methods
● Preliminaries
● Preliminaries
● Example - Polyhedra
● Bounding
● Cutting Plane Method
● Dantzig-Wolfe Method
● Lagrangian Method
● Common Framework
Integrated Decomposition Methods
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 3/30
Decomposition Methods
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 4/30
Preliminaries
■ Consider the following integer linear program (ILP):
zIP = minx∈F
{c>x} = minx∈P
{c>x} = minx∈Zn
{c>x | Ax ≥ b}
where
F = {x ∈ Zn | A′x ≥ b′, A′′x ≥ b′′} Q = {x ∈ R
n | A′x ≥ b′, A′′x ≥ b′′}
F ′ = {x ∈ Zn | A′x ≥ b′} Q′ = {x ∈ R
n | A′x ≥ b′}
Q′′ = {x ∈ Rn | A′′x ≥ b′′}
■ Denote P = conv(F) and P ′ = conv(F ′).
■ OPT (c, X): Subroutine returns x ∈ X that minimizes c>x.
■ SEP (x, X): Subroutine returns (a, β) which separates x from X (if exists).
Q′
Q′′
(2,1)P
P′
● Outline
Decomposition Methods
● Preliminaries
● Preliminaries
● Example - Polyhedra
● Bounding
● Cutting Plane Method
● Dantzig-Wolfe Method
● Lagrangian Method
● Common Framework
Integrated Decomposition Methods
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 5/30
Preliminaries
■ Assumption:
◆ OPT (c,P) and SEP (x,P) are “hard”.
◆ OPT (c,P ′) and SEP (x,P ′) are “easy”.
◆ Q′′ can be represented explicitly (description has polynomial size).
◆ P ′ must be represented implicitly (description has exponential size).
■ Classical Example - Traveling Salesman Problem
x(δ({u})) = 2 ∀u ∈ V
x(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1
xe ∈ {0, 1} ∀e ∈ E
■ One classical decomposition of TSP is to look for a spanning subgraph with|V | edges (P ′ = 1-Tree) that satisfies the 2-degree constraints (Q′′).
● Outline
Decomposition Methods
● Preliminaries
● Preliminaries
● Example - Polyhedra
● Bounding
● Cutting Plane Method
● Dantzig-Wolfe Method
● Lagrangian Method
● Common Framework
Integrated Decomposition Methods
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 6/30
Example - Polyhedra
min x1
7x1 − x2 ≥ 13 (1)
x2 ≥ 1 (2)
−x1 + x2 ≥ −3 (3)
−4x1 − x2 ≥ −27 (4)
−x2 ≥ −5 (5)
0.2x1 − x2 ≥ −4 (6)
−x1 − x2 ≥ −8 (7)
−0.4x1 + x2 ≥ 0.3 (8)
x1 + x2 ≥ 4.5 (9)
3x1 + x2 ≥ 9.5 (10)
0.25x1 − x2 ≥ −3 (11)
x ∈ Z2 (12)
Q′ = {x ∈ Rn | x satisfies (1) − (6)}
Q′′ = {x ∈ Rn | x satisfies (7) − (11)}
P ′ = conv(Q′ ∩ Zn)
Q′
Q′′
(2,1)P
P′
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 7/30
Bounding
■ Goal: Compute a lower bound on zIP by building an approximation to P .
■ The most straightforward approach is to use the continuous approximation
zLP = minx∈Q
{c>x} = minx∈Rn
{c>x | A′x ≥ b′, A′′x ≥ b′′}
■ Decomposition approaches attempt to improve on this bound by utilizing thefact that OPT (c,P ′) or SEP (x,P ′) is easy.
zD = minx∈P′
{c>x | A′′x ≥ b′′} = minx∈P′∩Q′′
{c>x} ≥ zLP
■ P ′ is represented implicitly through solution of a subproblem.
■ Decomposition Methods
◆ Cutting Plane Method (Outer Method)
◆ Dantzig-Wolfe Method / Lagrangian Method (Inner Methods)
Example: zLP = 2.25 < zD = 2.42 < zIP = 3.0
Q′′
Q′ ∩ Q′′
P′ ∩ Q′′
c>
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 8/30
Cutting Plane Method
■ Cutting Plane Method (CPM) gives an approximation of P by building an outerapproximation of P ′ intersected with Q′′.
■ Let [D, d] denote the facets of P ′, so that P ′ = {x ∈ Rn | Dx ≥ d}.
1. Initialize: Form outer approximation [D0, d0] = [A′′, b′′]
P0O = {x ∈ R
n | D0x ≥ d0} ⊇ P ′
2. Master Problem: Obtain optimal primal solution xtCP
ztCP = min
x∈Rn{c>x | Dtx ≥ dt} = min
x∈PtO
{c>x}
3. Subproblem: Call SEP (xtCP
,P ′) to generate v.i.s for P , violated by xtCP
.
4. Update: If found, form a new outer approximation, and go to Step 2
Pt+1O
= {x ∈ Rn | Dt+1x ≤ dt+1} ⊇ P ′
■ The method converges to the bound zCP = c>x̂CP = zD .
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 9/30
Dantzig-Wolfe Method■ Dantzig-Wolfe Method (DW) gives an approximation of P by building an inner
approximation of P ′ intersected with Q′′.
■ Let E denote the extreme points of P ′, so that
P ′ = {x ∈ Rn | x =
X
s∈E
sλs,X
s∈E
λs = 1, λs ≥ 0 ∀s ∈ E}.
1. Initialize: Form inner approximation E0 ⊂ E
P0I = {x ∈ R
n | x =X
s∈E0
sλs,X
s∈E0
λs = 1, λs ≥ 0 ∀s ∈ E0} ⊆ P ′
2. Master Problem: Obtain optimal dual solution (utDW
, αtDW
)
z̄tDW = min
λ∈REt+
{c>(X
s∈Et
sλs) | A′′(X
s∈Et
sλs) ≥ b′′,X
s∈Et
λs = 1}
3. Subproblem: Call OPT (c> − (utDW
)>A′′,P ′), to generate e.p.s with rc(s) < 0.
4. Update: If found, form a new inner approximation, and go to Step 2
Pt+1I
= {x ∈ Rn | x =
X
s∈Et+1
sλs,X
s∈Et+1
λs = 1, λs ≥ 0 ∀s ∈ Et+1} ⊆ P ′
■ The method converges to the bound zDW = c>(P
s∈Esλ̂s) = c>x̂DW = zD
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 10/30
Lagrangian Method
■ Lagrangian Method (LD) formulates a relaxation as finding the minimal extremepoint of P ′ with respect to a cost which is penalized if the point lies outside of Q′′.
■ The Lagrangian Dual is a piecewise-linear concave function
zLD = maxu∈R
m′′
+
{mins∈E
{c>s + u>(b′′ − A′′s)}}
■ Rewriting LD as an LP gives the dual of the DW-LP
zLD = maxα∈R,u∈R
m′′
+
{α + b′′>u | α ≤ (c> − u>A′′)s ∀s ∈ E}
■ So, zLD = zDW and Lagrangian Method also achieves the bound zD .
1. Initialize: Define s0 ∈ E , initialize dual multipliers u0LD
for [A′′, b′′].
2. Master Problem: Update the dual multipliers using directional information from st.
3. Subproblem: Call OPT (c − (utLD
)>A′′,P ′), to obtain a new direction st+1 ∈ E .If the stopping criterion is not met, go to Step 2.
● Outline
Decomposition Methods
● Preliminaries
● Preliminaries
● Example - Polyhedra
● Bounding
● Cutting Plane Method
● Dantzig-Wolfe Method
● Lagrangian Method
● Common Framework
Integrated Decomposition Methods
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 11/30
Common Framework
■ The continuous approximation of P is formed as the intersection of twoexplicitly defined polyhedra (both with a small description).
zLP = minx∈Rn
{c>x | x ∈ Q′ ∩ Q′′}
■ Decomposition Methods form an approximation as the intersection of oneexplicitly defined polyhedron (with a small description) and one implicitlydefined polyhedron (with a large description).
zD = minx∈Rn
{c>x | x ∈ P ′ ∩ Q′′} ≥ zLP
■ Each of the traditional decomposition methods contain two primary steps
◆ Master Problem: Update the primal or dual solution information.
◆ Subproblem: Update the approximation of P : SEP (x,P ′) or OPT (c,P ′).
■ Integrated Decomposition Methods form an approximation as the intersectionof two implicitly defined polyhedra (both with a large description).
■ So, we improve on the bound zD by building both an inner approximation PI
of P ′ intersected with some outer approximation PO ⊂ Q′′.
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 12/30
Integrated Decomposition Methods
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 13/30
Price and Cut
■ Price and Cut (PC) gives an approximation of P by building an inner approximationof P ′ (as in DW) intersected with an outer approximation of P .
1. Initialize: Form inner E0 ⊂ E and outer [D0, d0] = [A′′, b′′] approximations
P0I
= {x ∈ Rn | x =
P
s∈E0 sλs,P
s∈E0 λs = 1, λs ≥ 0 ∀s ∈ E0} ⊆ P ′
P0O
= {x ∈ Rn | D0x ≥ d0} ⊇ P
2. Master Problem: Solve the DW-LP to obtain optimal dual (utPC
, αtPC
),decomposition λt
PC, and primal solution xt
PC.
z̄tPC = min
λ∈REt+
{c>(X
s∈Et
sλs) | Dt(X
s∈Et
sλs) ≥ dt,X
s∈Et
λs = 1}
3. Do either (a) or (b).
(a) Pricing Subproblem and Update: Call OPT (c> − (utPC
)>Dt,P ′), to generate
e.p.s with rc(s) < 0. If found, form a new inner approximation Pt+1I
, and goto Step 2.
(b) Cutting Subproblem and Update: Call SEP (xtPC
,P) to generate v.i.s violated by
xtPC
. If found, form a new outer approximation Pt+1O
, and go to Step 2.
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 14/30
Relax and Cut
■ Relax and Cut (RC) improves on the bound zD using LD and augmenting themultiplier space with valid inequalities that are violated by the solution to theLagrangian subproblem.
1. Initialize: Define s0 ∈ E , [D0, d0] = [A′′, b′′], initialize dual multipliers u0LD
for[D0, d0].
2. Master Problem: Update the dual multipliers using directional information from st.
3. Do either (a) or (b).(a) Pricing Subproblem: Call OPT (c − (ut
LD)>Dt,P ′), to obtain a new direction
st+1 ∈ E . If the stopping criterion is not met, go to Step 2.(b) Cutting Subproblem: Call SEP (st,P) to generate v.i.s violated by st. If found,
add them to [Dt, dt] along with new dual multipliers, and go to Step 2.
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 15/30
Structured Separation
■ In general, the complexity of OPT (c, X) = SEP (x, X).
■ Observation: Restrictions on the input or output of these subroutines canchange their complexity.
■ Template Paradigm, restricts the output of SEP (x, X) to valid inequalities(a, β) that conform to a certain structure. This class of inequalities forms apolyhedron C ⊃ X.
■ For example, let P be the convex hull of solutions to the TSP.
◆ SEP (x,P) is NP -Complete.
◆ SEP (x, C) is polynomially solvable, for C ⊃ P the Subtour Polytope(Min-Cut) or Blossom Polytope (Padberg-Rao).
■ Structured Separation, restricts the input of SEP (x, X), such that x conformsto some structure. For example, if x is restricted to solutions to acombinatorial problem, then separation often becomes much easier.
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 16/30
Example - TSP
■ Traveling Salesman Problem Formulation:
x(δ({u})) = 2 ∀u ∈ V
x(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1
xe ∈ {0, 1} ∀e ∈ E
■ P ′ = 1-Tree Relaxation: OPT (c, 1 − Tree) in O(|E| log |V |)
x(δ({0})) = 2
x(E(V \ {0})) = |V | − 2
x(E(S)) ≤ |S| − 1 ∀S ⊂ V \ {0}, 3 ≤ |S| ≤ |V | − 1
xe ∈ {0, 1} ∀e ∈ E
■ P ′ = 2-Matching Relaxation: OPT (c, 2 − Match) in polynomial time
x(δ(u)) = 2 ∀u ∈ V
xe ∈ {0, 1} ∀e ∈ E
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 17/30
Example - TSP
■ Separation of Subtour Inequalities:x(E(S)) ≤ |S| − 1
■ SEP (x, Subtour), for x ∈ Rn can be solved in O(|V |4) (Min-Cut)
■ SEP (s, Subtour), for s a 2-matching, can be solved in O(|V |)
◆ Simply determine the connected components Ci, and set S = Ci for eachcomponent (each gives a violation of 1).
00
11
22
0.6
33
4
0.2
5
0.8
6
0.2
7
4
5
8
6
9
0.8
7
10
0.8
8
11
9
12
0.6
13
10
14
11
15
0.4
0.2
12
0.2
0.2
0.2
130.4
0.60.8
14
0.6
0.2
0.2
15
0.2
0.2
0.2
0.8
0.6
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 18/30
Example - TSP■ Separation of Comb Inequalities:
x(E(H)) +
kX
i=1
x(E(Ti)) ≤ |H| +
kX
i=1
(|Ti| − 1) − dk/2e
■ SEP (x, Blossoms), for x ∈ Rn can be solved in O(|V |5) (Padberg-Rao)
■ SEP (s, Blossoms), for s a 1-Tree, can be solved in O(|V |2)
◆ Consider paths in the cycle as candidate handles H and an odd (>= 3)set of edges with one endpoint in H and one in V \ H as candidate teeth(each gives a violation of dk/2e − 1).
◆ This can also be used as a quick heuristic to separate 1-Trees for moregeneral comb structures, for which there is no known polynomial algorithmfor separation of arbitrary vectors.
00
1213
14
15
11
1122
33
4455
66
77
88
10
99
10
11
1213
14
15
0.5
0.5
0.5
0.5
0.5
0.5
0.2
0.30.7
0.3
0.3
0.2
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 19/30
Motivation
■ In Relax and Cut, the solutions to the Lagrangian subproblem s ∈ E typicallyhave some nice combinatorial structure. So, the cutting step in Relax and CutSEP (s,P), can be relatively easy as opposed to general separation.
■ Question: Can we take advantage of this in other contexts?
■ LP theory tells us that in order to improve the bound, it is necessary andsufficient to cut off the entire face of optimal solutions F .
■ This condition is difficult to verify, so we typically use the necessary conditionthat the generated inequality be violated by some member of that face, x ∈ F .
◆ In the Cutting Plane Method, we search for inequalities that violatext
CP∈ F t, where F t is optimal face over Pt
O∩Q′′.
◆ In the Price and Cut Method, we search for inequalities that violatext
PC∈ F t, where F t is optimal face over Pt
I∩ Pt
O.
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 20/30
Motivation
■ Now, consider the following set
S(u, α) = {s ∈ E | (c> − u>A′′)s = α},
■ Then, S(utDW
, αtDW
) is the set e.p.s with rc(s) = 0 in the DW-LP master orthe set of alternative optimal solutions to the Lagrangian subproblem.
Theorem 1 F t ⊆ conv(S(utDW
, αtDW
))
■ Therefore, separation of S(utDW
, αtDW
) gives an alternative necessary andsufficient condition for an inequality to be improving.
■ By convexity, it is clear that every improving inequality must violate at leastone extreme point in the optimal decomposition.
Theorem 2 If (a, β) ∈ R(n+1) is an improving then there must exist an
s ∈ D = {s ∈ E | λts > 0} such that a>s < β
Theorem 3 D = {s ∈ E | λts > 0} ⊆ S(ut
PC, αt
PC)
■ Theorems 1-3, along with the observation that structured separation can berelatively easy, motivates the following revised PC method.
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 21/30
Price and Cut (Revisited)
■ Theorems 1-3 give us an alternative necessary condition for finding improving inequalities. PCgives us the optimal decomposition D = {s ∈ E | λs > 0}.
■ Key Idea: In the cutting subproblem, rather than (or in addition to) separating xtPC
, separateeach s ∈ D.
■ The violated subtour found by separating the 2-Matching also violates the fractional point, butwas found at little cost.
00
00
11
11
22
22
0.6
33
33
44
4
0.2
55
5
0.8
66
6
0.2
77
4
7
5
88
8
6
99
9
0.8
1010
7
10
0.8
1111
8
11
1212
9
12
0.6
1313
13
10
1414
1411
1515
15
0.4
0.2
12
0.2
0.2
0.2
130.4
0.60.8
14
0.6
0.2
0.2
15
0.2
0.2
0.2
0.8
0.6
x̂ λ̂0 = 0.2 λ̂1 = 0.2 λ̂2 = 0.6
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 22/30
Price and Cut (Revisited)
■ Similarly, the violated blossom found by separating the 1-Tree also violates the fractional point,but was found at little cost.
000
00
0
1213
14
15
11
0
111
11
1
1
222
22
2
2
333
33
3
3
444
44
4
4
555
55
5
5
666
66
6
6
777
77
7
7
888
88
8
10
8
999
99
9
9
111
11
1
000
00
0
111
11
1
111
11
1
1 1
1
12
11
2
2
2
22
111
111
333
333
11 1
11
44 4
41
44
1
11
11
1
5
55
55
5
0.5
0.5
0.5
0.5
0.5
0.5
0.2
0.30.7
0.3
0.3
0.2
x̂
λ̂4 = 0.1 λ̂5 = 0.1
λ̂0 = 0.3 λ̂1 = 0.2 λ̂2 = 0.2
λ̂3 = 0.1
● Outline
Decomposition Methods
Integrated Decomposition Methods
● Price and Cut
● Relax and Cut
● Structured Separation
● Example - TSP
● Example - TSP
● Example - TSP
● Motivation
● Motivation
● Price and Cut (Revisited)
● Price and Cut (Revisited)
● Decomp and Cut
DECOMP Framework
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 23/30
Decomp and Cut
■ In the context of the traditional CPM, we can construct (inverse DW) thedecomposition λ from the current fractional solution xCP by solving thefollowing LP
maxλ∈R
E+
{0>λ|X
s∈E
sλs = xCP ,X
s∈E
λs = 1},
■ If we find a decomposition D, then we separate each s ∈ D, as in revised PC.
■ If we fail, then the LP proof of infeasibility (Farkas Cut) gives us a separatinghyperplane which can be used to cut off the current fractional point.
P′
Farkas ineqaulity
P P
P′
xCP xCP
s ∈ E : λs > 0
(a) xCP ∈ P′ (b) xCP /∈ P′
valid ineqaulity for P
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 24/30
DECOMP Framework
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 25/30
DECOMP Framework
■ DECOMP provides a flexible software framework for testing and extending thetheoretical framework presented thus far, with the primary goal of minimaluser responsibility.
■ DECOMP was built around data structures and interfaces provided byCOIN-OR: COmputational INfrastructure for Operations Research.
■ BCP provides a framework for parallel implementation of PC in a branch andbound framework with LP-Based Bounding.
■ A generalization of BCP currently under development:
◆ ALPs: Abstract Library for Parallel Search (ICS’05 - TA02)
◆ BiCePS: Branch, Constrain and Price [Generic Bounding]
◆ BLIS: BiCePS Linear Integer Solver = BCP
■ DECOMP could provide an implementation of the BiCePS layer.
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 26/30
DECOMP - Applications
■ The framework, written in C++, is accessed through two user interfaces:
◆ Applications Interface: DecompApp
◆ Algorithms Interface: DecompAlgo
■ In order to develop an application, the user must derive the followingmethods/objects. All other methods have appropriate defaults but arevirtual and may be overridden.
◆ DecompApp::createCore(). Define [A′′, b′′].
◆ DecompVar. Define a variable s ∈ F ′ in terms of x-space.
◆ DecompCut. Define a cut (a, β) in terms of x-space.
◆ DecompApp::solveRelaxedProblem(). Provide a subroutine forOPT (c,P ′), given a cost vector c, that returns a set of solutions asDecompVar objects ∈ F ′.
◆ DecompApp::generateCuts(s). Provide a subroutine SEP (s,P),given a DecompVar ∈ F ′, that returns a set of DecompCut objects.
■ If the user wishes to do traditional CPM or PC, they must also provide
◆ DecompApp::generateCuts(x). Provide a subroutine SEP (x,P),given a arbitrary real vector, that returns a set of DecompCut objects.
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 27/30
DECOMP Framework
■ One important feature of DECOMP is that the user only needs to providemethods for their application in the original space (x-space), rather than in thespace of a particular reformulation.
■ This allows for users to consider cuts and variables in their most intuitive formand greatly simplifies the process of expansion into rows and columns.
■ Features:
◆ Automatic reformulation - row and column expansion in DW master,dualization and multiplier updates in RC, etc...
◆ One interface to all default algorithms: CPM/DC, DW, LD, PC, RC.
◆ Built on top of the COIN/OSI interface, so easily interchange LP solvers.
◆ Active LP compression, variable and cut pool management.
◆ Easily switch between relaxations (choice of P ′).
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 28/30
DECOMP - Algorithms
■ The base class DecompAlgo provides the shell (master / subproblem) forintegrated decomposition methods.
■ Each of the methods described have derived default implementationsDecompAlgoX : public DecompAlgo.
■ New, hybrid or extended methods can be easily derived by overriding thevarious subroutines which are called from the base class. For example,
◆ Alternative methods for solving the master LP in DW, such as interiorpoint methods or ACCPM.
◆ The user might choose to add a stabilizing factor to the dual updates in LD,as in bundle methods.
◆ The user might choose the Volume algorithm for solving the LD, whichprovides an approximation primal solution for which cuts can be generated.
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 29/30
Applications Under Development
■ Steiner Tree Problem◆ Minimum Spanning Tree : Lifted SECs, Partition - RC* [Lucena 92]
■ Traveling Salesman Problem◆ One-Tree: Blossoms, Combs◆ Matching: SECs
■ Vehicle Routing Problem◆ k-Traveling Salesman Problem : GSECs - DC [Ralphs, et al. 03]◆ k-Tree : GSECs, Combs, Multistars - RC* [Marthinhon, et al. 01]
■ Axial Assignment Problem◆ Assignment Problem : Clique-Facets - RC [Balas, Saltzman 91]
■ Knapsack Constrained Circuit Problem◆ Knapsack Problem : Cycle Cover, Maximal-Set Inequalities◆ Circuit Problem: Cycle Cover, Maximal-Set Inequalities
■ Edge-Weighted Clique Problem◆ Tree Relaxation : Trees, Cliques - RC [Hunting, et al. 01]
■ Subtour Elimination Problem [G. Benoit / S. Boyd]◆ Fractional 2-Factor Problem : SECs - DC / LP Context [Benoit, Boyd 03]
● Outline
Decomposition Methods
Integrated Decomposition Methods
DECOMP Framework
● DECOMP Framework
● DECOMP - Applications
● DECOMP Framework
● DECOMP - Algorithms
● Applications Under Development
● Summary
Matthew Galati, January 5, 2005 DECOMP: A Framework for Decomposition in Integer Programming - p. 30/30
Summary
■ Decomposition Methods approximate P as P ′ ∩Q′′, where P ′ may have alarge description.
■ Integrated Decomposition Methods optimize over PI ∩ PO , where PI ⊂ P ′
and PO ⊃ P . Both polyhedra may have a large description.
■ Structured separation can be much easier than general separation.
■ We gave some motivation for two new techniques: revised-PC and DC.
◆ The question remains: Empirically, how good are the cuts generated byseparation of s ∈ D?
◆ However, for some facet classes, it doesn’t matter - we simply don’t knowhow to separate x ∈ R
n. These ideas provide a starting point.
■ DECOMP provides an easy-to-use framework for comparing and developingvarious decomposition-based methods.
■ The code is open-source, currently released under CPL and will eventually beavailable through the COIN-OR project repository www.coin-or.org.
■ Related publication at Optimization-Online: T. Ralphs, M. Galati,Decomposition in Integer Linear Programming