Title: EMIS 8373: Integer Programming
1EMIS 8373 Integer
Programming
- Column Generation
- updated 12 April 2005
2Example 1 Adapted from Optimal Placement of
ADD/DROP Multiplexers Heuristic and Exact
Algorithms by Alain Sutter, Francis
Vanderbeck, Laurence Wolsey Operations Research,
Vol. 46 (5), pp. 719-728, 1998
3Formulation
- Sets
- N is the set of nodes in the demand graph
- E ? N ? N is the set of edges in the demand
graph - M is a set of candidate SONET rings to may be
used to construct the network - Parameters
- de is weight of edge e ? E
- b is the ring capacity
- aej 1 if demand e can be routed on ring j
- cj is cost of ring j (the number of ADMs
required)
4Formulation Continued
- Decision Variables
- zj 1 if ring j is select, and 0, otherwise.
- BIP Formulation
- Constraint set (1) ensures that each demand is
assigned to exactly one of the candidate rings. - Views the problem as edge partitioning
5Example Demand Graph and Candidate Set with b 18
3
- (1, 2) c1 2
- (1, 3) c2 2
- (1, 4) c3 2
- (2, 3) c4 2
- (2, 5) c5 2
- (3, 4) c6 2
- (3, 5) c7 2
- (4, 5) c8 2
- (1, 2), (1, 3), (2, 3) c9 3
- (1, 2), (1, 3), (1, 4), (2, 3), (3, 5),
(4, 5) c10 5
3
2
3
4
8
2
2
Optimal Solution z5 z6 z10 1 cost 9 ADMs
6Comments
- The best solution for the given demand graph uses
two rings and eight ADMs - (1, 2), (2, 3), (2, 5), (3, 5)
- (1, 3), (1, 4), (3, 4), (4, 5)
- The edge-partitioning formulation cannot find
this solution unless these candidate rings are
given as part of the input. - Let BIP(M) be the edge-partitioning formulation
for a given candidate set M. - The exact formulation is BIP(M) where M is the
set of all feasible candidate rings. - For a given demand graph M O(2E)
7Matrix Representation of BIP(M)
BIP(M) could have up to 28 1 255 columns
depending on b.
8LP Relaxation of BIP(M)
Dual Problem
9Additional Notation
- For a given basic feasible solution (BFS) for
LP(M) - Let B denote the basis matrix
- Let A?j denote column j of the constraint matrix
A - Let cB denote the vector of objective
coefficients of the basic variables - Let ? denote the vector of corresponding dual
variables - Recall that the reduced cost for variable zj is
given by the formula cj- cB B-1 A?j cj- ? A?j. - - B is optimal if all variables have a
non-negative reduced cost.
10Reduced Cost Example 1
Suppose z1,z2, , z8 are the basic variables.
The current BFS uses 16 ADMs. Bringing ring 9
into the basis reduces this to 16 3 13
11Reduced Cost Example 1
- Suppose z1,z2, , z8 are the basic variables
- Each demand assigned to its own ring
- Using ring 9 to cover three demands saves 3 ADMs.
The current BFS uses 16 ADMs. Bringing ring 9
into the basis reduces this to 16 3 13
12Reduced Cost Example 2
Suppose z1,z2, , z8 are the basic variables.
The current BFS uses 16 ADMs. Bringing ring 10
into the basis reduces this to 16 5 11
13A Column-Generation Heuristic
- Solve restricted LP master problem LP(M) and let
B be the optimal basis matrix - LP(M) is referred to as the linear programming
master problem. - Look for a ring (column) j that is not in M, but
would have a negative reduced cost if it were
added to M - This is referred as as solving the pricing
problem. - If j is found then add j to M and goto step 1.
- Solve BIP(M)
- At this point an optimal solution to LP(M) is
also an optimal solution to LP(M).
14Feasible Rings with Negative Reduced Costs
15Generating Feasible Rings
- Let yij 1 if the new ring contains edge (i,j),
and 0, otherwise - Let xi 1 if the new ring requires an ADM at
node i - For the xs and ys to represent a feasible ring
we need
16Ring Generation BIP
- This problem is NP-hard, but in practical terms
is much easier to solve than BIP(M). - If the optimal value of the objective function
is zero then the optimal basis for LP(M) is
optimal for L(M).
17Column Generation Flow Chart
Solve LP(M)
Add column to M
Solve the Pricing Problem
Yes
No
Restore Integrality Constraints and Solve BIP(M)
18Optimal Solution for LP(M) Iteration 1
19Pricing Problem for Iteration 1
20Optimal Solution for LP(M) Iteration 1
21Pricing Problem for Iteration 2
Optimal Solution
22Optimal Solution for LP(M) Iteration 3
23Pricing Problem for Iteration 3
Optimal Solution
24Optimal Solution for LP(M) Iteration 4
25Comments
- Repeat until optimal solution to the pricing
problem has objective function value zero. - In many cases, the pricing problem is NP-hard.
- There is no guarantee that the column-generation
procedure will generate all of the columns that
are selected in the optimal solution to BIP(M) - A Branch-and-Price procedure does column
generation at each node of the branch-and-bound
tree - The extra constraints added by branching usually
complicate the pricing the problem.