DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer...
Transcript of DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer...
![Page 1: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/1.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP: A Framework for Decomposition in Integer Programming
Matthew Galati1 Ted Ralphs2
1SAS Institute – Analytical Solutions – Operations Research and Development
2Lehigh University – Department of Industrial and Systems Engineering
INFORMS 2006Computational Optimization and Software
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 2: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/2.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Outline
1 Decomposition Methods
2 Integrated Decomposition Methods
3 DECOMP Framework
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 3: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/3.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Outline
1 Decomposition Methods
2 Integrated Decomposition Methods
3 DECOMP Framework
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 4: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/4.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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′′}
F ′ = {x ∈ Zn | A′x ≥ b′}
Q = {x ∈ Rn | A′x ≥ b′, A′′x ≥ b′′}
Q′ = {x ∈ Rn | A′x ≥ b′}
Q′′ = {x ∈ Rn | A′′x ≥ b′′}
Q′
Q′′
(2,1)P
P′
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).
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 5: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/5.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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).
Example - Traveling Salesman Problem
x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {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′′).
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 6: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/6.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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).
Example - Traveling Salesman Problem
x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {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′′).
00
112
2
33
44
55
66
77
88
99
11
00
11
11
11
22
11
33
11
44
11
55
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 7: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/7.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Bounding
Goal
Compute a lower bound on zIP by building an approximation to P.
The most common approach is to use the LP relaxation.
zLP = minx∈Q
{c⊤x} = minx∈Rn
{c⊤x | A′x ≥ b′, A′′x ≥ b′′}
Decomposition methods attempt to improve on this bound byutilizing the fact 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)
Q′′
Q′ ∩ Q′′
c⊤
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 8: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/8.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Bounding
Goal
Compute a lower bound on zIP by building an approximation to P.
The most common approach is to use the LP relaxation.
zLP = minx∈Q
{c⊤x} = minx∈Rn
{c⊤x | A′x ≥ b′, A′′x ≥ b′′}
Decomposition methods attempt to improve on this bound byutilizing the fact 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)
Q′′
Q′ ∩ Q′′
P′ ∩ Q′′
c⊤
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 9: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/9.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Traditional Decomposition Methods
Cutting Plane Method (CPM)
CPM builds an outer approximation of P ′ intersected with Q′′.
Master: zCP = minx∈Rn{c⊤x | Dx ≥ d}
Subproblem: SEP (xCP ,P ′)
Dantzig-Wolfe Method
DW builds an inner approximation of P ′ intersected with Q′′.
Master:z̄DW = min
λ∈RE+{c⊤(
P
s∈Esλs) | A′′(
P
s∈Esλs) ≥ b′′,
P
s∈Eλs = 1}
Subproblem: OPT (c⊤−u⊤DW
A′′,P ′)
Lagrangian Method
LD formulates a relaxation as finding the minimal extreme point of P ′ withrespect to a cost which is penalized if the point lies outside of Q′′.
Master: zLD = maxu∈R
m′′+
{mins∈E{c⊤s + u⊤(b′′ − A′′s)}}
Subproblem: OPT (c−u⊤LD
A′′,P ′)
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 10: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/10.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Traditional Decomposition Methods
Cutting Plane Method (CPM)
CPM builds an outer approximation of P ′ intersected with Q′′.
Master: zCP = minx∈Rn{c⊤x | Dx ≥ d}
Subproblem: SEP (xCP ,P ′)
Dantzig-Wolfe Method
DW builds an inner approximation of P ′ intersected with Q′′.
Master:z̄DW = min
λ∈RE+{c⊤(
P
s∈Esλs) | A′′(
P
s∈Esλs) ≥ b′′,
P
s∈Eλs = 1}
Subproblem: OPT (c⊤−u⊤DW
A′′,P ′)
Lagrangian Method
LD formulates a relaxation as finding the minimal extreme point of P ′ withrespect to a cost which is penalized if the point lies outside of Q′′.
Master: zLD = maxu∈R
m′′+
{mins∈E{c⊤s + u⊤(b′′ − A′′s)}}
Subproblem: OPT (c−u⊤LD
A′′,P ′)
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 11: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/11.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Traditional Decomposition Methods
Cutting Plane Method (CPM)
CPM builds an outer approximation of P ′ intersected with Q′′.
Master: zCP = minx∈Rn{c⊤x | Dx ≥ d}
Subproblem: SEP (xCP ,P ′)
Dantzig-Wolfe Method
DW builds an inner approximation of P ′ intersected with Q′′.
Master:z̄DW = min
λ∈RE+{c⊤(
P
s∈Esλs) | A′′(
P
s∈Esλs) ≥ b′′,
P
s∈Eλs = 1}
Subproblem: OPT (c⊤−u⊤DW
A′′,P ′)
Lagrangian Method
LD formulates a relaxation as finding the minimal extreme point of P ′ withrespect to a cost which is penalized if the point lies outside of Q′′.
Master: zLD = maxu∈R
m′′+
{mins∈E{c⊤s + u⊤(b′′ − A′′s)}}
Subproblem: OPT (c−u⊤LD
A′′,P ′)
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 12: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/12.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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).
zCP = zDW = zLD = 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 theintersection of two implicitly defined polyhedra (both with a largedescription).
So, we improve on the bound zD by building both an inner approximationPI of P ′ intersected with some outer approximation PO ⊂ Q′′.
Q′′
Q′ ∩ Q′′
c⊤
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 13: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/13.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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).
zCP = zDW = zLD = 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 theintersection of two implicitly defined polyhedra (both with a largedescription).
So, we improve on the bound zD by building both an inner approximationPI of P ′ intersected with some outer approximation PO ⊂ Q′′.
Q′′
Q′ ∩ Q′′
P′ ∩ Q′′
c⊤
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 14: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/14.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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).
zCP = zDW = zLD = 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 theintersection of two implicitly defined polyhedra (both with a largedescription).
So, we improve on the bound zD by building both an inner approximationPI of P ′ intersected with some outer approximation PO ⊂ Q′′.
Q′′
Q′ ∩ Q′′
P′ ∩ Q′′
c⊤
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 15: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/15.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Outline
1 Decomposition Methods
2 Integrated Decomposition Methods
3 DECOMP Framework
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 16: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/16.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Integrated Decomposition Methods
Price and Cut (PC)
PC approximates P by building an inner approximation of P ′ (as in DW) inter-sected with an outer approximation of P (as in CPM).
Master:z̄PC = min
λ∈RE+{c⊤(
P
s∈Esλs) | D(
P
s∈Esλs) ≥ d,
P
s∈Eλs = 1}
Subproblem:
Pricing: OPT (c⊤−u⊤P CD,P′), or
Cutting: SEP (xP C ,P)
Relax and Cut (RC)
RC improves on the bound zD using LD and augmenting the multiplier space withvalid inequalities that are violated by the solution to the Lagrangian subproblem.
Master: zRC = maxu∈R
m′′+
{mins∈E{c⊤s + u⊤(d − Ds)}}
Subproblem:
Pricing: OPT (c−u⊤LDD,P′), or
Cutting: SEP (s,P)
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 17: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/17.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Integrated Decomposition Methods
Price and Cut (PC)
PC approximates P by building an inner approximation of P ′ (as in DW) inter-sected with an outer approximation of P (as in CPM).
Master:z̄PC = min
λ∈RE+{c⊤(
P
s∈Esλs) | D(
P
s∈Esλs) ≥ d,
P
s∈Eλs = 1}
Subproblem:
Pricing: OPT (c⊤−u⊤P CD,P′), or
Cutting: SEP (xP C ,P)
Relax and Cut (RC)
RC improves on the bound zD using LD and augmenting the multiplier space withvalid inequalities that are violated by the solution to the Lagrangian subproblem.
Master: zRC = maxu∈R
m′′+
{mins∈E{c⊤s + u⊤(d − Ds)}}
Subproblem:
Pricing: OPT (c−u⊤LDD,P′), or
Cutting: SEP (s,P)
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 18: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/18.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation
In general, the complexity of OPT (c, X) = SEP (x, X).
Observation: Restrictions on input or output can change their complexity.
Template Paradigm, restricts the output of SEP (x, X) to valid inequalities (a, β) thatconform to a certain structure. This class of inequalities forms a polyhedron 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 BlossomPolytope (Padberg-Rao).
Structured Separation, restricts the input of SEP (x, X), such that x conforms to somestructure. For example, if x is restricted to solutions to a combinatorial problem, thenseparation often becomes much easier.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 19: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/19.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Example - TSP
Traveling Salesman Problem Formulation:
x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E
P ′ = 1-Tree Relaxation: OPT (c, 1 − Tree) in O(|E| log |V |)
x(δ({0})) = 2x(E(V \ {0})) = |V | − 2x(E(S)) ≤ |S| − 1 ∀S ⊂ V \ {0}, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E
P ′ = 2-Matching Relaxation: OPT (c, 2 − Match) in polynomial time
x(δ(u)) = 2 ∀u ∈ Vxe ∈ {0, 1} ∀e ∈ E
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 20: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/20.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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 each component (each givesa violation of 1).
0
1
2
0.6
3
0.2
0.8
0.2
4
5
6
0.8
7
0.8
8
9
0.6
10
11
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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 21: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/21.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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 each component (each givesa violation of 1).
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 22: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/22.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
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 each component (each givesa 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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 23: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/23.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Example - TSP
Separation of Comb Inequalities:
x(E(H)) +k
X
i=1
x(E(Ti)) ≤ |H| +k
X
i=1
(|Ti| − 1) − ⌈k/2⌉
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)Construct candidate handles H from BFS tree traversal and an odd (>= 3) set of edges with oneendpoint in H and one in V \ H as candidate teeth (each gives a violation of ⌈k/2⌉ − 1).
This can also be used as a quick heuristic to separate 1-Trees for more general comb structures, forwhich there is no known polynomial algorithm for separation of arbitrary vectors.
0
1213
14
15
11
1
2
3
4 5
6
7
8
10
9
0.5
0.5
0.5
0.5
0.5
0.5
0.2
0.30.7
0.3
0.3
0.2
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 24: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/24.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Example - TSP
Separation of Comb Inequalities:
x(E(H)) +k
X
i=1
x(E(Ti)) ≤ |H| +k
X
i=1
(|Ti| − 1) − ⌈k/2⌉
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)Construct candidate handles H from BFS tree traversal and an odd (>= 3) set of edges with oneendpoint in H and one in V \ H as candidate teeth (each gives a violation of ⌈k/2⌉ − 1).
This can also be used as a quick heuristic to separate 1-Trees for more general comb structures, forwhich there is no known polynomial algorithm for separation of arbitrary vectors.
0
1
2
3
4 5
6
7
8
9
10
11
1213
14
15
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 25: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/25.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Example - TSP
Separation of Comb Inequalities:
x(E(H)) +k
X
i=1
x(E(Ti)) ≤ |H| +k
X
i=1
(|Ti| − 1) − ⌈k/2⌉
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)Construct candidate handles H from BFS tree traversal and an odd (>= 3) set of edges with oneendpoint in H and one in V \ H as candidate teeth (each gives a violation of ⌈k/2⌉ − 1).
This can also be used as a quick heuristic to separate 1-Trees for more general comb structures, forwhich there is no known polynomial algorithm for 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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 26: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/26.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation Motivation
Motivation: RC, solutions to LR, s ∈ E, have some nice combinatorial structure.
New Algorithms:
Price and Cut (Revisited) - see fig
Decomp and Cut - inverse process
Provides an alternative neccessary (but not sufficient) condition to find an improvinginequality which is very easy to implement and understand.
For some theoretical details see:
T. Ralphs and M.G., Decomposition and Dynamic Cut Generation in Integer Programming,Mathematical Programming 106 (2006), 261
T. Ralphs and M.G., Decomposition in Integer Programming, in Integer Programming: Theory andPractice, John Karlof, ed. (2005), 57
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 27: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/27.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation Motivation
Motivation: RC, solutions to LR, s ∈ E, have some nice combinatorial structure.
New Algorithms:
Price and Cut (Revisited) - see fig
Decomp and Cut - inverse process
Provides an alternative neccessary (but not sufficient) condition to find an improvinginequality which is very easy to implement and understand.
For some theoretical details see:
T. Ralphs and M.G., Decomposition and Dynamic Cut Generation in Integer Programming,Mathematical Programming 106 (2006), 261
T. Ralphs and M.G., Decomposition in Integer Programming, in Integer Programming: Theory andPractice, John Karlof, ed. (2005), 57
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 28: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/28.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Price and Cut (Revisited)
The violated subtour found by separating the 2-Matching also violates the fractional point,but was 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
Similarly, the violated blossom found by separating the 1-Tree also violates the fractionalpoint, but was found at little cost.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 29: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/29.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Price and Cut (Revisited)
The violated subtour found by separating the 2-Matching also violates the fractional point,but was 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
Similarly, the violated blossom found by separating the 1-Tree also violates the fractionalpoint, 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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 30: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/30.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Decomp and Cut
In the context of the traditional CPM, we can construct (inverse DW) the decomposition λfrom the current fractional solution xCP by solving the following 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 separating hyperplanewhich 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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 31: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/31.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Decomp and Cut
In the context of the traditional CPM, we can construct (inverse DW) the decomposition λfrom the current fractional solution xCP by solving the following 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 separating hyperplanewhich 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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 32: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/32.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation - Useful?
Case 1: There exists a polynomial algorithm for SEP (x, C).TSP/1-Tree: SEP (x, Blossoms) Padberg-Rao, SEP (s, Blossoms) BFS.Unlikely that SS will ever outperform a well written exact method, but very easy to implement.
Case 2: There exists no polynomial algorithm for SEP (x, C).VRP,k-Tree: SEP (x, GSECs) heuristics, SEP (s, GSECs) in O(|E|).SS provides an alternative and typically simple heuristic for separation.
Case 3: There exists no algorithm for SEP (x, C), but ineq’s in C are facet-defining.KCCP,CP: SEP (x, MaxSet) heuristics, SEP (s, MaxSet) in O(|E|).SS provides a starting point for constructing separation heuristics.
Case 4: We have a new problem class for which we are searching for new valid inequalities.Trying to analyze integral points (as in SS) seems much more promising.
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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 33: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/33.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation - Useful?
Case 1: There exists a polynomial algorithm for SEP (x, C).TSP/1-Tree: SEP (x, Blossoms) Padberg-Rao, SEP (s, Blossoms) BFS.Unlikely that SS will ever outperform a well written exact method, but very easy to implement.
Case 2: There exists no polynomial algorithm for SEP (x, C).VRP,k-Tree: SEP (x, GSECs) heuristics, SEP (s, GSECs) in O(|E|).SS provides an alternative and typically simple heuristic for separation.
Case 3: There exists no algorithm for SEP (x, C), but ineq’s in C are facet-defining.KCCP,CP: SEP (x, MaxSet) heuristics, SEP (s, MaxSet) in O(|E|).SS provides a starting point for constructing separation heuristics.
Case 4: We have a new problem class for which we are searching for new valid inequalities.Trying to analyze integral points (as in SS) seems much more promising.
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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 34: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/34.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation - Useful?
Case 1: There exists a polynomial algorithm for SEP (x, C).TSP/1-Tree: SEP (x, Blossoms) Padberg-Rao, SEP (s, Blossoms) BFS.Unlikely that SS will ever outperform a well written exact method, but very easy to implement.
Case 2: There exists no polynomial algorithm for SEP (x, C).VRP,k-Tree: SEP (x, GSECs) heuristics, SEP (s, GSECs) in O(|E|).SS provides an alternative and typically simple heuristic for separation.
Case 3: There exists no algorithm for SEP (x, C), but ineq’s in C are facet-defining.KCCP,CP: SEP (x, MaxSet) heuristics, SEP (s, MaxSet) in O(|E|).SS provides a starting point for constructing separation heuristics.
Case 4: We have a new problem class for which we are searching for new valid inequalities.Trying to analyze integral points (as in SS) seems much more promising.
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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 35: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/35.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation - Useful?
Case 1: There exists a polynomial algorithm for SEP (x, C).TSP/1-Tree: SEP (x, Blossoms) Padberg-Rao, SEP (s, Blossoms) BFS.Unlikely that SS will ever outperform a well written exact method, but very easy to implement.
Case 2: There exists no polynomial algorithm for SEP (x, C).VRP,k-Tree: SEP (x, GSECs) heuristics, SEP (s, GSECs) in O(|E|).SS provides an alternative and typically simple heuristic for separation.
Case 3: There exists no algorithm for SEP (x, C), but ineq’s in C are facet-defining.KCCP,CP: SEP (x, MaxSet) heuristics, SEP (s, MaxSet) in O(|E|).SS provides a starting point for constructing separation heuristics.
Case 4: We have a new problem class for which we are searching for new valid inequalities.Trying to analyze integral points (as in SS) seems much more promising.
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
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 36: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/36.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Structured Separation - Applications
Steiner Tree ProblemMinimum Spanning Tree : Lifted SECs, Partition - RC* [Lucena 92]
Traveling Salesman ProblemOne-Tree: Blossoms, CombsMatching: SECs
Vehicle Routing Problemk-Traveling Salesman Problem : GSECs - DC [Ralphs, et al. 03]k-Tree : GSECs, Combs, Multistars - RC* [Marthinhon, et al. 01]
Axial Assignment ProblemAssignment Problem : Clique-Facets - RC [Balas, Saltzman 91]
Knapsack Constrained Circuit ProblemKnapsack Problem : Cycle Cover, Maximal-Set InequalitiesCircuit Problem: Cycle Cover, Maximal-Set Inequalities
Edge-Weighted Clique ProblemTree 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]
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 37: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/37.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Multiple Polytopes
Common paradigm - tighten bounds by solving SEP (x, X), for various X.
X is a polyhedron - the closure of the set of all cuts in a particular template.
Successive outer approximation from the intersection of various polyhedra.
TSP: X = subtour closure, blossom closure, comb closure, etc...
MILP: X = knapsack closure, flow cover closure, clique closure, etc...
Common paradigm - column generation based on one oracle Why only one?
New paradigm - generate vars from multiple polytopes, solving OPT (c, X), for various X.
Successive inner approximation from the intersection of various polyhedra.
TSP: X = one-tree, 2-matching, TSP, etc...
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 38: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/38.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Multiple Polytopes
Common paradigm - tighten bounds by solving SEP (x, X), for various X.
X is a polyhedron - the closure of the set of all cuts in a particular template.
Successive outer approximation from the intersection of various polyhedra.
TSP: X = subtour closure, blossom closure, comb closure, etc...
MILP: X = knapsack closure, flow cover closure, clique closure, etc...
Common paradigm - column generation based on one oracle Why only one?
New paradigm - generate vars from multiple polytopes, solving OPT (c, X), for various X.
Successive inner approximation from the intersection of various polyhedra.
TSP: X = one-tree, 2-matching, TSP, etc...
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 39: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/39.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Multiple Polytopes
Common paradigm - tighten bounds by solving SEP (x, X), for various X.
X is a polyhedron - the closure of the set of all cuts in a particular template.
Successive outer approximation from the intersection of various polyhedra.
TSP: X = subtour closure, blossom closure, comb closure, etc...
MILP: X = knapsack closure, flow cover closure, clique closure, etc...
Common paradigm - column generation based on one oracle Why only one?
New paradigm - generate vars from multiple polytopes, solving OPT (c, X), for various X.
Successive inner approximation from the intersection of various polyhedra.
TSP: X = one-tree, 2-matching, TSP, etc...
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 40: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/40.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Outline
1 Decomposition Methods
2 Integrated Decomposition Methods
3 DECOMP Framework
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 41: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/41.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP Framework
DECOMP Framework
DECOMP provides a flexible software framework for testing and extending the theoreticalframework presented thus far, with the primary goal of minimal user responsibility.
DECOMP was built around data structures and interfaces provided by COIN-OR:
COmputational INfrastructure for Operations Research
BCP provides a framework for parallel PC with LP-Based Bounding.
A generalization of BCP currently under development:
ALPs: Abstract Library for Parallel Search (INFORMS’06 - MD02)
BiCePS: Branch, Constrain and Price [Generic Bounding]
BLIS: BiCePS Linear Integer Solver = BCP
DECOMP will provide an implementation of the BiCePS layer.
The DECOMP framework, written in C++, is accessed through two user interfaces:
Applications Interface: DecompApp
Algorithms Interface: DecompAlgo
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 42: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/42.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 43: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/43.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 44: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/44.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 45: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/45.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 46: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/46.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 47: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/47.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
The base class DecompApp provides all default algorithms: CPM, DW, LD, PC, RC, DC.
In order to develop an application, the user must derive the following methods/objects. Allother methods have appropriate defaults but are virtual and may be overridden.
DecompApp::createModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP: [A′′, b′′] define the degree constraints. [A′, b′] is empty.
DecompApp::isFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?
DecompApp::solveRelaxed(). Provide a subroutine for OPT (c,P ′).This is optional as well, if [A′, b′] is defined (it will call the built in IP solver, currently CBC).TSP 1-Tree: provide a solver for 1-tree.TSP 2-Match: provide a solver for 2-matching.
DecompApp::generateCuts(s). Provide a subroutine for SEP (s, C)TSP 1-Tree: provide separation for comb/blossoms which violate a 1-tree (BFS).TSP 2-Match: provide separation for subtours which violate a 2-matching (connect-comp).
To perform traditional CPM, if known, the user can also derive a subroutine to solveSEP (x, C), for separation of arbitrary real vectors. Note: the user also has the option toturn on CGL cuts.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 48: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/48.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
A key feature of DECOMP is that the user only needs to provide methods for theirapplication in the original space (x-space), rather than in the space of a particularreformulation.
Automatic reformulation allows for users to consider cuts and variables in their mostintuitive form and greatly simplifies the process of expansion into rows and columns.
This is a major differentiator for DECOMP, compared to others BCP, ABACUS, MINTO, etc.
Structured separation allows for fast and easy prototyping without the need forimplementation of difficult separation routines.
Features:
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.
Column generation based on multiple polytopes can be easily defined and employed.
Active LP compression, variable and cut pool management.
Flexible parameter interface: command line, parm file, direct call overrides.
Visualization tools for graph problems (linked to graphviz).
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 49: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/49.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
A key feature of DECOMP is that the user only needs to provide methods for theirapplication in the original space (x-space), rather than in the space of a particularreformulation.
Automatic reformulation allows for users to consider cuts and variables in their mostintuitive form and greatly simplifies the process of expansion into rows and columns.
This is a major differentiator for DECOMP, compared to others BCP, ABACUS, MINTO, etc.
Structured separation allows for fast and easy prototyping without the need forimplementation of difficult separation routines.
Features:
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.
Column generation based on multiple polytopes can be easily defined and employed.
Active LP compression, variable and cut pool management.
Flexible parameter interface: command line, parm file, direct call overrides.
Visualization tools for graph problems (linked to graphviz).
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 50: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/50.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Applications
A key feature of DECOMP is that the user only needs to provide methods for theirapplication in the original space (x-space), rather than in the space of a particularreformulation.
Automatic reformulation allows for users to consider cuts and variables in their mostintuitive form and greatly simplifies the process of expansion into rows and columns.
This is a major differentiator for DECOMP, compared to others BCP, ABACUS, MINTO, etc.
Structured separation allows for fast and easy prototyping without the need forimplementation of difficult separation routines.
Features:
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.
Column generation based on multiple polytopes can be easily defined and employed.
Active LP compression, variable and cut pool management.
Flexible parameter interface: command line, parm file, direct call overrides.
Visualization tools for graph problems (linked to graphviz).
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 51: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/51.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - TSP ExampleTSP DecompApp
c l a s s TSP DecompApp : pub l i c DecompApp {// De f i n e modelCore as 2−deg r ee c o n s t r a i n t s , mode lRe lax empty .vo id APPcreateModel ( double ∗& ob jCoe f f ,
v e c to r<DecompConst ra intSet∗> & modelCore ,v ec to r<DecompConst ra intSet∗> & modelRe lax ) ;
//A 2−matching s o l v e r , a 1−t r e e s o l v e r .decompStat APPso lveRe laxed ( const i n t whichModel ,
const double ∗ redCostX ,const double ∗ o r i gCos t ,l i s t <DecompVar∗> & va r s ) ;
// S t r u c t u r e d s e p a r a t i o n r o u t i n e s :// connected components f o r s ub t ou r s// BFS f o r b lo s soms and g e n e r a l combsv i r t u a l i n t gene r a t eCu t s ( const double ∗ x ,
const DecompVar & var ,DecompCutList & new cuts ) ;
// Standard s e p a r a t i o n r o u t i n e s :// 1 . ) min−cut f o r s ub t ou r s// 2 . ) padberg−rao f o r b lo s soms// 3 . ) h e u r i s t i c s f o r g e n e r a l combsi n t gene r a t eCu t s ( const double ∗ x ,
const DecompConst ra intSet & modelCore ,const DecompConst ra intSet & modelRelax ,DecompCutList & newCuts ) ;
//Does x d e f i n e a tou r ?boo l i s F e a s i b l e ( const double ∗ x ,
const i n t nCols ,DecompCutList & newCuts ) ;
. . .}
DecompApp
TSP_DecompApp
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 52: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/52.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Algorithms
The base class DecompAlgo provides the shell (init / master / subproblem / update).
Each of the methods described have derived default implementations DecompAlgoX :
public DecompAlgo which are accessible by any application class, allowing full flexibility.
New, hybrid or extended methods can be easily derived by overriding the varioussubroutines, which are called from the base class. For example,
Alternative methods for solving the master LP in DW, such as interior point methods or ACCPM.
The user might choose to add some advanced stabilizing factor to the dual updates in LD, as inbundle methods.
The user might choose the Volume algorithm for solving the LD, which provides an approximateprimal solution, for which cuts can be generated.
Hybrid methods like using LD to initialize the columns of the DW master.
During PC, adding cuts to both Pt+1O and Pt+1
I simultaneously (Vanderbeck).
DecompAlgo
DecompAlgoUSERDecompAlgoRCDecompAlgoPCDecompAlgoC
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 53: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/53.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - TSP Example
TSP Main
i n t main ( i n t argc , char ∗∗ a rgv ){Ut i lApp u t i lApp ( argc , a rgv ) ;
// c r e a t e the u s e r a p p l i c a t i o n ( a DecompApp)TSP DecompApp t sp ( u t i lApp ) ;t s p . c r ea teMode l ( ) ;
// c r e a t e i n s t a n c e s o f each a l g o r i t hm and s o l v eDecompAlgoC algoC(& t sp ) ;a lgoC . i n i t S e t u p (TSP DecompApp : : BASIC ) ;a lgoC . processNode ( ) ;
DecompAlgoPC algoPC(& t sp ) ;algoPC . i n i t S e t u p (TSP DecompApp : :TWO MATCH) ;algoPC . processNode ( ) ;algoPC . r e f r e s h ( ) ;algoPC . i n i t S e t u p (TSP DecompApp : : ONE TREE ) ;algoPC . processNode ( ) ;
DecompAlgoRC algoRC(& t sp ) ;algoRC . i n i t S e t u p (TSP DecompApp : :TWO MATCH) ;algoRC . processNode ( ) ;algoRC . r e f r e s h ( ) ;algoRC . i n i t S e t u p (TSP DecompApp : : ONE TREE ) ;algoRC . processNode ( ) ;
}
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 54: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/54.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
DECOMP - Interface to ALPS/BiCePs
XXX DecompApp is also built as a callable library
BcpsDecompModel : public BcpsModel
a wrapper class that calls (data access) methods from DecompApp
BcpsDecompTreeNode : public BcpsDecompTreeNode
a wrapper class that calls (algorithmic) methods from DecompAlgo
Minimal additional user responsibilities:
(optional) branching decisions - defaults are straightforward since we work in the original x-space
each built-in DecompAlgoXXX provides a default BiCePs branching routine
default RC branching assumes use of volume or bundle (need primal solutions)
(not optional) enforcing branching decisions in subproblem oracle
(not optional) encoding/decoding Decomp objects for disributed processing
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 55: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/55.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Summary
Traditional Decomposition Methods approximate P as P ′ ∩ Q′′.P′ ⊃ P may have a large description.
Integrated Decomposition Methods approximate P as PI ∩ PO.Both PI ⊂ P′ and PO ⊃ P may have a large description.
Structured separation can be much easier than general separation.Two new techniques based on SS: revised-PC and DC
A new paradigm for column generation using multiple oracles.
DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.
The key to ease-of-use, is that the user can stay in the original (intuitive) space.
The interface to ALPS allows us to investigate large-scale problems on distributed networks.
The code is open-source, currently released under CPL and will soon be available throughthe COIN-OR project repository www.coin-or.org.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 56: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/56.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Summary
Traditional Decomposition Methods approximate P as P ′ ∩ Q′′.P′ ⊃ P may have a large description.
Integrated Decomposition Methods approximate P as PI ∩ PO.Both PI ⊂ P′ and PO ⊃ P may have a large description.
Structured separation can be much easier than general separation.Two new techniques based on SS: revised-PC and DC
A new paradigm for column generation using multiple oracles.
DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.
The key to ease-of-use, is that the user can stay in the original (intuitive) space.
The interface to ALPS allows us to investigate large-scale problems on distributed networks.
The code is open-source, currently released under CPL and will soon be available throughthe COIN-OR project repository www.coin-or.org.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 57: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/57.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Summary
Traditional Decomposition Methods approximate P as P ′ ∩ Q′′.P′ ⊃ P may have a large description.
Integrated Decomposition Methods approximate P as PI ∩ PO.Both PI ⊂ P′ and PO ⊃ P may have a large description.
Structured separation can be much easier than general separation.Two new techniques based on SS: revised-PC and DC
A new paradigm for column generation using multiple oracles.
DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.
The key to ease-of-use, is that the user can stay in the original (intuitive) space.
The interface to ALPS allows us to investigate large-scale problems on distributed networks.
The code is open-source, currently released under CPL and will soon be available throughthe COIN-OR project repository www.coin-or.org.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 58: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/58.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Summary
Traditional Decomposition Methods approximate P as P ′ ∩ Q′′.P′ ⊃ P may have a large description.
Integrated Decomposition Methods approximate P as PI ∩ PO.Both PI ⊂ P′ and PO ⊃ P may have a large description.
Structured separation can be much easier than general separation.Two new techniques based on SS: revised-PC and DC
A new paradigm for column generation using multiple oracles.
DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.
The key to ease-of-use, is that the user can stay in the original (intuitive) space.
The interface to ALPS allows us to investigate large-scale problems on distributed networks.
The code is open-source, currently released under CPL and will soon be available throughthe COIN-OR project repository www.coin-or.org.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP
![Page 59: DECOMP: A Framework for Decomposition in Integer …DECOMP: A Framework for Decomposition in Integer Programming Matthew Galati1 Ted Ralphs2 1SAS Institute – Analytical Solutions](https://reader034.fdocuments.net/reader034/viewer/2022042515/5f54afc0c620ba5a43159f12/html5/thumbnails/59.jpg)
Decomposition MethodsIntegrated Decomposition Methods
DECOMP Framework
Summary
Traditional Decomposition Methods approximate P as P ′ ∩ Q′′.P′ ⊃ P may have a large description.
Integrated Decomposition Methods approximate P as PI ∩ PO.Both PI ⊂ P′ and PO ⊃ P may have a large description.
Structured separation can be much easier than general separation.Two new techniques based on SS: revised-PC and DC
A new paradigm for column generation using multiple oracles.
DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.
The key to ease-of-use, is that the user can stay in the original (intuitive) space.
The interface to ALPS allows us to investigate large-scale problems on distributed networks.
The code is open-source, currently released under CPL and will soon be available throughthe COIN-OR project repository www.coin-or.org.
Galati, Ralphs DECOMP: A Framework for Decomposition in IP