69
Traditional Methods Integrated Methods Decompose and Cut DECOMP Framework ATM Cash Management Problem Work in Progress A Framework for Decomposition in Integer Programming Matthew Galati 1 Ted Ralphs 2 1 SAS Institute, Advanced Analytics, Operations Research R & D 2 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University International Symposium on Mathematical Programming 2009 Chicago, IL Galati, Ralphs A Framework for Decomposition in IP

A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

A Framework for Decomposition in Integer Programming

Matthew Galati1 Ted Ralphs2

1SAS Institute, Advanced Analytics, Operations Research R & D

2COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University

International Symposium on Mathematical Programming 2009Chicago, IL

Galati, Ralphs A Framework for Decomposition in IP

Page 2: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Outline

1 Traditional Decomposition Methods

2 Integrated Decomposition Methods

3 Decompose and Cut

4 DECOMP Framework

5 ATM Cash Management Problem

6 Work in Progress

Galati, Ralphs A Framework for Decomposition in IP

Page 3: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

The Decomposition Principle in Integer Programming

Basic Idea: By leveraging our ability to solve the optimization/separation problem for arelaxation, we can improve the bound yielded by the LP relaxation.

zIP = minx∈Zn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zLP = minx∈Rn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zD = minx∈P′

{c⊤x | A′′x ≥ b′′}

zIP ≥ zD ≥ zLP

P = conv{x ∈ Zn | A′x ≥ b′, A′′x ≥ b′′}Assumptions:

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).

Galati, Ralphs A Framework for Decomposition in IP

Page 4: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

The Decomposition Principle in Integer Programming

Basic Idea: By leveraging our ability to solve the optimization/separation problem for arelaxation, we can improve the bound yielded by the LP relaxation.

zIP = minx∈Zn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zLP = minx∈Rn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zD = minx∈P′

{c⊤x | A′′x ≥ b′′}

zIP ≥ zD ≥ zLP

Q′′ = {x ∈ Rn | A′′x ≥ b′′}

Q′ = {x ∈ Rn | A′x ≥ b′}

Assumptions:

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).

Galati, Ralphs A Framework for Decomposition in IP

Page 5: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

The Decomposition Principle in Integer Programming

Basic Idea: By leveraging our ability to solve the optimization/separation problem for arelaxation, we can improve the bound yielded by the LP relaxation.

zIP = minx∈Zn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zLP = minx∈Rn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zD = minx∈P′

{c⊤x | A′′x ≥ b′′}

zIP ≥ zD ≥ zLP

P′ = conv{x ∈ Zn | A′x ≥ b′}

Q′′ = {x ∈ Rn | A′′x ≥ b′′}

Assumptions:

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).

Galati, Ralphs A Framework for Decomposition in IP

Page 6: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

The Decomposition Principle in Integer Programming

Basic Idea: By leveraging our ability to solve the optimization/separation problem for arelaxation, we can improve the bound yielded by the LP relaxation.

zIP = minx∈Zn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zLP = minx∈Rn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zD = minx∈P′

{c⊤x | A′′x ≥ b′′}

zIP ≥ zD ≥ zLP

Q′ = {x ∈ Rn | A′x ≥ b′}

Q′′ = {x ∈ Rn | A′′x ≥ b′′}

P′ = conv{x ∈ Zn | A′x ≥ b′}

P = conv{x ∈ Zn | A′x ≥ b′, A′′x ≥ b′′}Assumptions:

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).

Galati, Ralphs A Framework for Decomposition in IP

Page 7: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

The Decomposition Principle in Integer Programming

Basic Idea: By leveraging our ability to solve the optimization/separation problem for arelaxation, we can improve the bound yielded by the LP relaxation.

zIP = minx∈Zn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zLP = minx∈Rn

{c⊤x | A′x ≥ b′, A′′x ≥ b′′}

zD = minx∈P′

{c⊤x | A′′x ≥ b′′}

zIP ≥ zD ≥ zLP

Q′ = {x ∈ Rn | A′x ≥ b′}

Q′′ = {x ∈ Rn | A′′x ≥ b′′}

P′ = conv{x ∈ Zn | A′x ≥ b′}

P = conv{x ∈ Zn | A′x ≥ b′, A′′x ≥ b′′}Assumptions:

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).

Galati, Ralphs A Framework for Decomposition in IP

Page 8: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - Traveling Salesman Problem

Classical Formulation

x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E

0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

Galati, Ralphs A Framework for Decomposition in IP

Page 9: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - Traveling Salesman Problem

Classical Formulation

x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E

0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

Two Relaxations

1-Tree

x(δ({0})) = 2x(E(V \ {0})) = |V | − 2x(E(S)) ≤ |S| − 1 ∀S ⊂ V \ {0}, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E

0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

Galati, Ralphs A Framework for Decomposition in IP

Page 10: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - Traveling Salesman Problem

Classical Formulation

x(δ({u})) = 2 ∀u ∈ Vx(E(S)) ≤ |S| − 1 ∀S ⊂ V, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E

0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

Two Relaxations

1-Tree

x(δ({0})) = 2x(E(V \ {0})) = |V | − 2x(E(S)) ≤ |S| − 1 ∀S ⊂ V \ {0}, 3 ≤ |S| ≤ |V | − 1xe ∈ {0, 1} ∀e ∈ E

0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

2-Matching

x(δ(u)) = 2 ∀u ∈ Vxe ∈ {0, 1} ∀e ∈ E 0

1

2

3

4 5

6

7

8

9

10

11

1213

14

15

Galati, Ralphs A Framework for Decomposition in IP

Page 11: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Traditional Decomposition MethodsThe Cutting Plane Method (CP) iteratively builds an outer approximation of P ′ by solving acutting plane generation subproblem.

Galati, Ralphs A Framework for Decomposition in IP

Page 12: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Traditional Decomposition MethodsThe Cutting Plane Method (CP) iteratively builds an outer approximation of P ′ by solving acutting plane generation subproblem.

The Dantzig-Wolfe Method (DW) iteratively builds an inner approximation of P ′ by solving acolumn generation subproblem.

Galati, Ralphs A Framework for Decomposition in IP

Page 13: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Traditional Decomposition MethodsThe Cutting Plane Method (CP) iteratively builds an outer approximation of P ′ by solving acutting plane generation subproblem.

The Dantzig-Wolfe Method (DW) iteratively builds an inner approximation of P ′ by solving acolumn generation subproblem.

The Lagrangian Method (LD) iteratively solves a Lagrangian relaxation subproblem.

Galati, Ralphs A Framework for Decomposition in IP

Page 14: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Common Threads

The LP bound is obtained by optimizing over the intersection of twoexplicitly defined polyhedra.

zLP = minx∈Rn

{c⊤x | x ∈ Q′ ∩ Q′′}

The decomposition bound is obtained by optimizing over the intersectionof one explicitly defined polyhedron and one implicitly defined polyhedron.

zCP = zDW = zLD = zD = minx∈Rn

{c⊤x | x ∈ P ′ ∩Q′′} ≥ zLP

Traditional decomposition-based bounding methods contain two primarysteps

Master Problem: Update the primal/dual solution information.

Subproblem: Update the approximation of P′: SEP (x,P′) or OPT (c,P′).

Integrated decomposition methods further improve the bound byconsidering two implicitly defined polyhedra whose descriptions areiteratively refined.

Price and Cut (PC)

Relax and Cut (RC)

Decompose and Cut (DC)

Q′′

Q′ ∩ Q′′

c⊤

Galati, Ralphs A Framework for Decomposition in IP

Page 15: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Common Threads

The LP bound is obtained by optimizing over the intersection of twoexplicitly defined polyhedra.

zLP = minx∈Rn

{c⊤x | x ∈ Q′ ∩ Q′′}

The decomposition bound is obtained by optimizing over the intersectionof one explicitly defined polyhedron and one implicitly defined polyhedron.

zCP = zDW = zLD = zD = minx∈Rn

{c⊤x | x ∈ P ′ ∩Q′′} ≥ zLP

Traditional decomposition-based bounding methods contain two primarysteps

Master Problem: Update the primal/dual solution information.

Subproblem: Update the approximation of P′: SEP (x,P′) or OPT (c,P′).

Integrated decomposition methods further improve the bound byconsidering two implicitly defined polyhedra whose descriptions areiteratively refined.

Price and Cut (PC)

Relax and Cut (RC)

Decompose and Cut (DC)

Q′′

Q′ ∩ Q′′

P′ ∩ Q′′

c⊤

Galati, Ralphs A Framework for Decomposition in IP

Page 16: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Common Threads

The LP bound is obtained by optimizing over the intersection of twoexplicitly defined polyhedra.

zLP = minx∈Rn

{c⊤x | x ∈ Q′ ∩ Q′′}

The decomposition bound is obtained by optimizing over the intersectionof one explicitly defined polyhedron and one implicitly defined polyhedron.

zCP = zDW = zLD = zD = minx∈Rn

{c⊤x | x ∈ P ′ ∩Q′′} ≥ zLP

Traditional decomposition-based bounding methods contain two primarysteps

Master Problem: Update the primal/dual solution information.

Subproblem: Update the approximation of P′: SEP (x,P′) or OPT (c,P′).

Integrated decomposition methods further improve the bound byconsidering two implicitly defined polyhedra whose descriptions areiteratively refined.

Price and Cut (PC)

Relax and Cut (RC)

Decompose and Cut (DC)

Q′′

Q′ ∩ Q′′

P′ ∩ Q′′

c⊤

Galati, Ralphs A Framework for Decomposition in IP

Page 17: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Price and Cut

Price and Cut: Use DW as the bounding method. If we let F ′ = P ′ ∩ Zn, then

zDW = minλ∈R

F′+

{c⊤(X

s∈F′

sλs) : A′′(X

s∈F′

sλs) ≥ b′′,X

s∈F′

λs = 1}

As in the cutting plane method, separate x =P

s∈F′ sλs from P and add cuts to [A′′, b′′].

Advantage: Cut generation takes place in the space of the compact formulation (theoriginal space), maintaining the structure of the column generation subproblem.

Galati, Ralphs A Framework for Decomposition in IP

Page 18: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Relax and Cut

Relax and Cut: Use LD as the bounding method.

zLD = maxu∈R

n+

mins∈F′

{(c⊤ − u⊤A′′)s + u⊤b′′}

In each iteration, separate s ∈ argmins∈F′{(c⊤ − u⊤A′′)s + u⊤b′′}, a solution to theLagrangian relaxation.

Advantage: It is often much easier to separate a member of F ′ from P than an arbitraryreal vector, such as x.

Galati, Ralphs A Framework for Decomposition in IP

Page 19: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Decompose and Cut (in CPM)

Decompose and Cut: For each iteration of CPM, decompose into convex combo of e.p.’s of P ′.

min{0λ :X

s∈F′

sλs = x,X

s∈F′

λs = 1}

Original idea proposed by Ralphs, later used in TSP Concorde by ABCC (Local Cuts).

If x lies outside P ′ the decomposition will fail.Its dual ray (a Farkas Cut) provides a valid and violated inequality.

The machinery for solving this already exists (=column generation).

Often gets lucky and produces incumbent solutions to original IP.

Galati, Ralphs A Framework for Decomposition in IP

Page 20: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.6

0.8

14

0.6

0.2

0.2

15

0.2

0.2

0.2

0.8

0.6

Galati, Ralphs A Framework for Decomposition in IP

Page 21: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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 A Framework for Decomposition in IP

Page 22: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.6

0.8

14

0.6

0.2

0.2

15

0.2

0.2

0.2

0.8

0.6

Galati, Ralphs A Framework for Decomposition in IP

Page 23: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - TSPSeparation 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 A Framework for Decomposition in IP

Page 24: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - TSPSeparation 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 A Framework for Decomposition in IP

Page 25: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Example - TSPSeparation 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

11

22

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 A Framework for Decomposition in IP

Page 26: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Decompose and Cut (in PC)

Run CPM+DC for a few iterations using Farkas cuts to push point into P ′. Upon succesfuldecomposition, use this as initial seed columns.

Jump starts master bound z0DW = zCP .

Often gets lucky and produces incumbent solutions to original IP.

Rather than (or in addition to) separating x, separate each member of {s ∈ F ′ | λs > 0}.

As with RC, much easier to separate members of F ′ from P than x.

RC only gives us one member of F ′ to separate, while PC gives us a set, one of whichmust be violated by any inequality violated by x.

Galati, Ralphs A Framework for Decomposition in IP

Page 27: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Branching in Price and Cut

Many complex approaches possible, but using x =P

s∈F′ sλs we can simply branch onvariables in the original space. x.

This is equivalent to branching on cuts in the reformulated space. Simply add the originalcolumn bounds into [A′′, b′′].

This simple idea takes care of (most) of the design issues related to branching includingdichotomty and dual updates in pricing.

Current Limitation: Identical subproblems are currently treated like non-identical (bad forsymmetry).

ThA08: Review and Classification of Branching Schemes for Branch-and-price by FrancoisVanderbeck

Galati, Ralphs A Framework for Decomposition in IP

Page 28: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Motivation

DECOMP Framework

DECOMP is a software framework that provides a virtual sandbox for testing and comparingvarious decomposition-based bounding methods.

It’s very difficult to compare the variants discussed here in a controlled way.

The method for separation/optimization over P ′ is the primary application-dependentcomponent of any of these algorithms.

DECOMP abstracts the common, generic elements of these methods.

Key: The user defines application-specific components in the space of the compact formulation.The framework takes care of reformulation and implementation for all variants described here.

Galati, Ralphs A Framework for Decomposition in IP

Page 29: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Motivation

DECOMP Framework

DECOMP is a software framework that provides a virtual sandbox for testing and comparingvarious decomposition-based bounding methods.

It’s very difficult to compare the variants discussed here in a controlled way.

The method for separation/optimization over P ′ is the primary application-dependentcomponent of any of these algorithms.

DECOMP abstracts the common, generic elements of these methods.

Key: The user defines application-specific components in the space of the compact formulation.The framework takes care of reformulation and implementation for all variants described here.

Galati, Ralphs A Framework for Decomposition in IP

Page 30: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Motivation

DECOMP Framework

DECOMP is a software framework that provides a virtual sandbox for testing and comparingvarious decomposition-based bounding methods.

It’s very difficult to compare the variants discussed here in a controlled way.

The method for separation/optimization over P ′ is the primary application-dependentcomponent of any of these algorithms.

DECOMP abstracts the common, generic elements of these methods.

Key: The user defines application-specific components in the space of the compact formulation.The framework takes care of reformulation and implementation for all variants described here.

Galati, Ralphs A Framework for Decomposition in IP

Page 31: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Implementation

COmputational INfrastructure for Operations Research

DECOMP was built around data structures and interfaces provided by COIN-OR.

The DECOMP framework, written in C++, is accessed through two user interfaces:

Applications Interface: DecompApp

Algorithms Interface: DecompAlgo

DECOMP provides the bounding method for branch and bound.

ALPS (Abstract Library for Parallel Search) provides the framework for parallel tree search.

AlpsDecompModel : public AlpsModela wrapper class that calls (data access) methods from DecompApp

AlpsDecompTreeNode : public AlpsTreeNodea wrapper class that calls (algorithmic) methods from DecompAlgo

Galati, Ralphs A Framework for Decomposition in IP

Page 32: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Implementation

COmputational INfrastructure for Operations Research

DECOMP was built around data structures and interfaces provided by COIN-OR.

The DECOMP framework, written in C++, is accessed through two user interfaces:

Applications Interface: DecompApp

Algorithms Interface: DecompAlgo

DECOMP provides the bounding method for branch and bound.

ALPS (Abstract Library for Parallel Search) provides the framework for parallel tree search.

AlpsDecompModel : public AlpsModela wrapper class that calls (data access) methods from DecompApp

AlpsDecompTreeNode : public AlpsTreeNodea wrapper class that calls (algorithmic) methods from DecompAlgo

Galati, Ralphs A Framework for Decomposition in IP

Page 33: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Framework: Implementation

COmputational INfrastructure for Operations Research

DECOMP was built around data structures and interfaces provided by COIN-OR.

The DECOMP framework, written in C++, is accessed through two user interfaces:

Applications Interface: DecompApp

Algorithms Interface: DecompAlgo

DECOMP provides the bounding method for branch and bound.

ALPS (Abstract Library for Parallel Search) provides the framework for parallel tree search.

AlpsDecompModel : public AlpsModela wrapper class that calls (data access) methods from DecompApp

AlpsDecompTreeNode : public AlpsTreeNodea wrapper class that calls (algorithmic) methods from DecompAlgo

Galati, Ralphs A Framework for Decomposition in IP

Page 34: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 35: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 36: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 37: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 38: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 39: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 40: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 41: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 42: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 43: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 44: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP Features

One interface to all default algorithms: CP/DC, DW, LD, PC, RC.

Automatic reformulation allows users to deal with vars and cons in the original space.

Built on top of the OSI interface, so easy to swap solvers (simplex to interior point).

Can utilize CGL cuts in all algorithms (separate from original space).

Design question: What about LP-based cuts (Gomory, L&P)?

General design of COIN/CGL needs to be reconsidered? Should not depend on a solver.

Column generation based on multiple algorithms can be easily defined and employed.

Can derive bounds based on multiple model/algorithm combinations.

Provides default (naive) branching rules in the original space.

Active LP compression, variable and cut pool management.

Flexible parameter interface: command line, param file, direct call overrides.

Threaded oracle for block angular case.

Design issue with current COIN/OsiCpx.

Galati, Ralphs A Framework for Decomposition in IP

Page 45: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - Applications

The base class DecompApp provides an interface for the user to define theapplication-specific components of their algorithm.

In order to develop an application, the user must derive the following methods/objects.

DecompApp::APPcreateModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP 1-Tree: [A′′, b′′] define the 2-matching constraints.TSP 2-Match: [A′′, b′′] define trivial subtour constraints.

DecompApp::isUserFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?

DecompApp::APPsolveRelaxed(). 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.

All other methods have appropriate defaults but are virtual and may be overridden.

DecompApp::APPheuristics()DecompApp::generateInitVars()DecompApp::generateCuts()...

Galati, Ralphs A Framework for Decomposition in IP

Page 46: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - Applications

The base class DecompApp provides an interface for the user to define theapplication-specific components of their algorithm.

In order to develop an application, the user must derive the following methods/objects.

DecompApp::APPcreateModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP 1-Tree: [A′′, b′′] define the 2-matching constraints.TSP 2-Match: [A′′, b′′] define trivial subtour constraints.

DecompApp::isUserFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?

DecompApp::APPsolveRelaxed(). 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.

All other methods have appropriate defaults but are virtual and may be overridden.

DecompApp::APPheuristics()DecompApp::generateInitVars()DecompApp::generateCuts()...

Galati, Ralphs A Framework for Decomposition in IP

Page 47: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - Applications

The base class DecompApp provides an interface for the user to define theapplication-specific components of their algorithm.

In order to develop an application, the user must derive the following methods/objects.

DecompApp::APPcreateModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP 1-Tree: [A′′, b′′] define the 2-matching constraints.TSP 2-Match: [A′′, b′′] define trivial subtour constraints.

DecompApp::isUserFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?

DecompApp::APPsolveRelaxed(). 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.

All other methods have appropriate defaults but are virtual and may be overridden.

DecompApp::APPheuristics()DecompApp::generateInitVars()DecompApp::generateCuts()...

Galati, Ralphs A Framework for Decomposition in IP

Page 48: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - Applications

The base class DecompApp provides an interface for the user to define theapplication-specific components of their algorithm.

In order to develop an application, the user must derive the following methods/objects.

DecompApp::APPcreateModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP 1-Tree: [A′′, b′′] define the 2-matching constraints.TSP 2-Match: [A′′, b′′] define trivial subtour constraints.

DecompApp::isUserFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?

DecompApp::APPsolveRelaxed(). 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.

All other methods have appropriate defaults but are virtual and may be overridden.

DecompApp::APPheuristics()DecompApp::generateInitVars()DecompApp::generateCuts()...

Galati, Ralphs A Framework for Decomposition in IP

Page 49: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - Applications

The base class DecompApp provides an interface for the user to define theapplication-specific components of their algorithm.

In order to develop an application, the user must derive the following methods/objects.

DecompApp::APPcreateModel(). Define [A′′, b′′] and [A′, b′] (optional).TSP 1-Tree: [A′′, b′′] define the 2-matching constraints.TSP 2-Match: [A′′, b′′] define trivial subtour constraints.

DecompApp::isUserFeasible(). Does x∗ define a feasible solution?TSP: do we have a feasible tour?

DecompApp::APPsolveRelaxed(). 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.

All other methods have appropriate defaults but are virtual and may be overridden.

DecompApp::APPheuristics()DecompApp::generateInitVars()DecompApp::generateCuts()...

Galati, Ralphs A Framework for Decomposition in IP

Page 50: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

Add stabilization to the dual updates in LD, as in bundle methods.

For LD, replace subgradient with Volume, providing an approximate primal solution.

Hybrid methods like using LD to initialize the columns of the DW master.

During PC, adding cuts to either master and subproblem.

...

DecompAlgo

DecompAlgoUSERDecompAlgoRCDecompAlgoPCDecompAlgoC

Galati, Ralphs A Framework for Decomposition in IP

Page 51: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

Add stabilization to the dual updates in LD, as in bundle methods.

For LD, replace subgradient with Volume, providing an approximate primal solution.

Hybrid methods like using LD to initialize the columns of the DW master.

During PC, adding cuts to either master and subproblem.

...

DecompAlgo

DecompAlgoUSERDecompAlgoRCDecompAlgoPCDecompAlgoC

Galati, Ralphs A Framework for Decomposition in IP

Page 52: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

Add stabilization to the dual updates in LD, as in bundle methods.

For LD, replace subgradient with Volume, providing an approximate primal solution.

Hybrid methods like using LD to initialize the columns of the DW master.

During PC, adding cuts to either master and subproblem.

...

DecompAlgo

DecompAlgoUSERDecompAlgoRCDecompAlgoPCDecompAlgoC

Galati, Ralphs A Framework for Decomposition in IP

Page 53: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

DECOMP - TSP Example

TSP Main

i n t main ( i n t argc , char ∗∗ a rgv ){// c r e a t e the u t i l i t y c l a s s f o r p a r s i n g pa ramete r sUt i l P a r ame t e r s u t i lPa ram ( 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 lPa ram ) ;t sp . c r ea teMode l ( ) ;

// c r e a t e the a l g o r i t hm ( s ) ( a DecompAlgo )DecompAlgoC ∗ cut = new DecompAlgoC(&tsp , &ut i lPa ram ) ;DecompAlgoPC ∗ pcOneTree = new DecompAlgoPC(&tsp , &ut i lParam ,

TSP DecompApp : : MODEL ONETREE) ;DecompAlgoPC ∗ pcTwoMatch = new DecompAlgoPC(&tsp , &ut i lParam ,

TSP DecompApp : :MODEL TWOMATCH) ;DecompAlgoRC ∗ rcOneTree = new DecompAlgoRC(&tsp , &ut i lParam ,

TSP DecompApp : : MODEL ONETREE) ;DecompAlgoRC ∗ rcTwoMatch = new DecompAlgoRC(&tsp , &ut i lParam ,

TSP DecompApp : :MODEL TWOMATCH) ;

// c r e a t e the d r i v e r AlpsDecomp modelAlpsDecompModel a lp sMode l ( u t i lPa ram ) ;

// i n s t a l l the a l g o r i t hm s// a lpsMode l . addDecompAlgo ( cut ) ;a lpsMode l . addDecompAlgo ( pcOneTree ) ;

// s o l v ea lpsMode l . s o l v e ( ) ;

}

Galati, Ralphs A Framework for Decomposition in IP

Page 54: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Application - ATM Cash Management Problem - MINLP Formulation

Simple looking nonconvex quadratic integer NLP

”it is not interesting for MINLP - it is too easy”

Linearize the absolute value, add binaries for count constraints.

So far, no MINLP solvers seem to be able to solve this (several die with numerical failures).

minX

a∈A,d∈D

|fad|

s.t. cxadxa + cy

adya + cxy

adxaya + cu

adua + cad = fad ∀a ∈ A, d ∈ DX

a∈A

fad ≤ Bd ∀d ∈ D

|{d ∈ D | fad < 0}| ≤ Ka ∀a ∈ A

xa, ya ∈ [0, 1] ∀a ∈ A

ua ≥ 0 ∀a ∈ A

fad ∈ [0, wad] ∀a ∈ A, d ∈ D

Galati, Ralphs A Framework for Decomposition in IP

Page 55: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Application - ATM Cash Management Problem - MILP Approx Formulation

Discretization of x domain {0, 0.1, 0.2, ..., 1.0}.Linearization of product of binary and continuous, and absolute value.Binaries for counting constraints.

minX

a∈A,d∈D

f+

ad+ f−

ad

s.t. cxad

X

t∈T

ctxat + cyad

ya + cxyad

X

t∈T

ctzat + cuadua + cad = f+

ad− f−

ad∀a ∈ A, d ∈ D

X

t∈T

xat ≤ 1 ∀a ∈ A

zat ≤ xat ∀a ∈ A, t ∈ T

zat ≥ ya ∀a ∈ A, t ∈ T

zat ≥ xat + ya − 1 ∀a ∈ A, t ∈ T

f−

ad≤ wadvad ∀a ∈ A, d ∈ D

X

a∈A

f+

ad− f−

ad≤ Bd ∀d ∈ D

X

d∈D

vad ≤ Ka ∀a ∈ A

Galati, Ralphs A Framework for Decomposition in IP

Page 56: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Application - ATM Cash Management Problem - MILP Approx Formulation

xat ∈ {0, 1} ∀a ∈ A, t ∈ T

zat ∈ [0, 1] ∀a ∈ A, t ∈ T

vad ∈ {0, 1} ∀a ∈ A, d ∈ D

ya ∈ [0, 1] ∀a ∈ A

ua ≥ 0 ∀a ∈ A

f+

ad, f−

ad∈ [0, wad] ∀a ∈ A, d ∈ D

The MILP formulation has a natural block angular structure.Master constraints are just the budget constraint.Subproblem constraints (the rest) - one block for each ATM.

Galati, Ralphs A Framework for Decomposition in IP

Page 57: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Application - ATM Cash Management Problem - in DECOMP

Extremely easy to define this problem in DECOMP.

DecompApp::APPcreateModel. Just define master constraints and blocks.Master constraints (budget constraints).Subproblem constraints (the rest) - one for each ATM.

Data setup: 648 lines of code.

> wc −l ATM Instance .∗491 ATM Instance . cpp157 ATM Instance . h648 t o t a l

Model setup: 1221 lines of code (407 lines are comments).

> wc −l ATM Decomp∗.∗951 ATM DecompApp . cpp197 ATM DecompApp . h73 ATM DecompParam . h

1221 t o t a l> grep ”//” ATM Decomp∗.∗ | wc −l407

Nothing else is neccessary to solve this model in DECOMP!

Galati, Ralphs A Framework for Decomposition in IP

Page 58: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Computational Results - ATM Cash Management Problem

Lehigh University (altair1): 8 quad-core, Intel Xeon E5410 2.33Ghz, 64-bit, 128GB, 6MB Cache

Table: One hour time limit

|A| |D| Time GapCPX11 D-1 D-8 CPX11 D-1 D-8

5 25 1 127 45 OPT OPT OPT5 50 3600 3600 3356 5.9% 0.57% OPT10 50 3600 3600 3600 0.8% 0.07% 0.01%10 100 3600 3600 3253 ∞ 0.67% OPT20 100 3600 3423 1554 ∞ OPT OPT

Table: Time and Number of Nodes to 10% Gap

|A| |D| TimeTo10 NodeTo10CPX11 D-1 D-8 CPX11 D-1

5 25 1 22 7 120 15 50 2,040 127 56 361,305 2110 50 130 53 15 31,100 110 100 no-sol 615 213 no-sol 120 100 no-sol 1,156 416 no-sol 1

Galati, Ralphs A Framework for Decomposition in IP

Page 59: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 60: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 61: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 62: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 63: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 64: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

Current Computational Research for Price and Cut

Can we implement Gomory cuts in Price and Cut?Similiar to Interior Point crossover to Simplex, we can crossover from x to a feasible basis, loadthat into the solver and generate tableaux cuts.Will the design of OSI and CGL work like this?

Decomp and Cut is expensive but has many potential benefits. What is the tradeoff?Generation of initial columns to start Price and Cut. Gives z0

DW = zCP .If the initial x is not in P′, Farkas cuts can move the point to the interior.Along the way, we might generate incumbents for zIP .

Nested pricing.

Choose an oracle with P′ and a restriction P′ ⊂ P′.Price exactly (for bounds) on P′, but generate columns heuristically on P′.

Feasibility pump for Price and Cut.Given s ∈ F ′, solve an auxillary MILP feasible to P′ minimizing the L1 norm between s and A′′.

For block angular case, solve the master (small model) as an IP at end of each B&B node.

Cheap, often produces incumbents.

Built on top of ALPS - so parallelization of the B&B should be easy to try.

Galati, Ralphs A Framework for Decomposition in IP

Page 65: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.

The user only needs to define the components based on the compact formulation (irrespective ofalgorithm).

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 (Sep or Oct ’09) beavailable through the COIN-OR project repository www.coin-or.org.

Related publications:

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 A Framework for Decomposition in IP

Page 66: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.

The user only needs to define the components based on the compact formulation (irrespective ofalgorithm).

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 (Sep or Oct ’09) beavailable through the COIN-OR project repository www.coin-or.org.

Related publications:

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 A Framework for Decomposition in IP

Page 67: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.

The user only needs to define the components based on the compact formulation (irrespective ofalgorithm).

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 (Sep or Oct ’09) beavailable through the COIN-OR project repository www.coin-or.org.

Related publications:

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 A Framework for Decomposition in IP

Page 68: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.

The user only needs to define the components based on the compact formulation (irrespective ofalgorithm).

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 (Sep or Oct ’09) beavailable through the COIN-OR project repository www.coin-or.org.

Related publications:

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 A Framework for Decomposition in IP

Page 69: A Framework for Decomposition in Integer Programmingcoral.ie.lehigh.edu/~ted/files/talks/DIP-ISMP09.pdf · ATM Cash Management Problem Work in Progress A Framework for Decomposition

Traditional MethodsIntegrated MethodsDecompose and Cut

DECOMP FrameworkATM Cash Management Problem

Work in Progress

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.

DECOMP provides an easy-to-use framework for comparing and developing variousdecomposition-based bounding methods.

The user only needs to define the components based on the compact formulation (irrespective ofalgorithm).

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 (Sep or Oct ’09) beavailable through the COIN-OR project repository www.coin-or.org.

Related publications:

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 A Framework for Decomposition in IP