290 likes | 448 Views
EMIS 8373: Integer Programming. Column Generation updated 18 April 2005.
E N D
EMIS 8373: Integer Programming Column Generation updated 18 April 2005
Example 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
Formulation • 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)
Formulation 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
3 2 1 4 5 Example 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 4 3 8 2 2 Optimal Solution: z5 = z6 = z10 = 1 cost = 9 ADMs
Comments • 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(2|E|)
Matrix Representation of BIP(M) BIP(M*) could have up to 28 –1 = 255 columns depending on b.
LP Relaxation of BIP(M) Dual Problem
Additional Notation • For a given basic feasible solution (BFS) for LP(M) • Let B denote the basis matrix • Let Aj 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 Aj = cj- Aj. - B is optimal if all variables have a non-negative reduced cost.
Reduced 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
Reduced 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
Reduced 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
A 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*).
We want to find a ring with negative reduced cost Reduced cost for the new ring: Feasible Rings with Negative Reduced Costs
Generating 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 x’s and y’s to represent a feasible ring we need
Ring 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*).
New column found ? Column Generation Flow Chart Solve LP(M) Add column to M Solve the Pricing Problem Yes No Restore Integrality Constraints and Solve BIP(M)
i 2 2 2 2 2 2 2 2 3 5 + + + + + + + + + m n z z z z z z z z z z 1 2 3 4 5 6 7 8 9 1 0 t s . ( ) d d b d 1 1 2 t + + z z z e m a n e w e e n a n = 1 9 1 0 ( ) d d b d 1 1 3 t + + z z z e m a n e w e e n a n = 2 9 1 0 ( ) d d b d 1 1 4 t + z z e m a n e w e e n a n = 3 1 0 ( ) d d b d 1 2 3 t + + z z z e m a n e w e e n a n = 4 9 1 0 ( ) d d b d 1 2 5 t z e m a n e w e e n a n = 5 ( ) d d b d 1 3 4 t z e m a n e w e e n a n = 6 ( ) d d b d 1 3 5 t + z z e m a n e w e e n a n = 7 1 0 ( ) d d b d 1 4 5 t + z z e m a n e w e e n a n = 8 1 0 0 1 · · z i Restricted LP Master Problem (LP(M)) for Iteration 1
Pricing Problem for Iteration 1 Optimal Solution: Objective function value = -7 Add ring 11 = {(1,3), (1, 4), (2, 3), (2, 5), (3, 5), (4,5)}
i m n 2 2 2 2 2 2 2 2 3 5 5 + + + + + + + + + + z z z z z z z z z z z 1 2 3 4 5 6 7 8 9 1 0 1 1 t s . ( ) d d b d 1 1 2 t + + z z z e m a n e w e e n a n = 1 9 1 0 ( ) d d b d 1 1 3 t + + + z z z z e m a n e w e e n a n = 2 9 1 0 1 1 ( ) d d b d 1 1 4 t + + z z z e m a n e w e e n a n = 3 1 0 1 1 ( ) d d b d 1 2 3 t + + + z z z z e m a n e w e e n a n = 4 9 1 0 1 1 ( ) d d b d 1 2 5 t + z z e m a n e w e e n a n = 5 1 1 ( ) d d b d 1 3 4 t z e m a n e w e e n a n = 6 ( ) d d b d 1 3 5 t + + z z z e m a n e w e e n a n = 7 1 0 1 1 ( ) d d b d 1 4 5 t + + z z z e m a n e w e e n a n = 8 1 0 1 1 0 1 · · z i Restricted LP Master Problem (LP(M)) for Iteration 2
Pricing Problem for Iteration 2 Optimal Solution: Objective function value = -7 Add ring 12 = {(1,2), (1, 4), (2, 3), (2, 5), (3, 5), (4,5)}
i m n 2 2 2 2 2 2 2 2 3 5 5 5 + + + + + + + + + + + z z z z z z z z z z z z 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 t s . ( ) d d b d 1 1 2 t + + + z z z x e m a n e w e e n a n = 1 9 1 0 1 2 ( ) d d b d 1 1 3 t + + + z z z z e m a n e w e e n a n = 2 9 1 0 1 1 ( ) d d b d 1 1 4 t + + + z z z x e m a n e w e e n a n = 3 1 0 1 1 1 2 ( ) d d b d 1 2 3 t + + + + z z z z x e m a n e w e e n a n = 4 9 1 0 1 1 1 2 ( ) d d b d 1 2 5 t + + z z x e m a n e w e e n a n = 5 1 1 1 2 ( ) d d b d 1 3 4 t z e m a n e w e e n a n = 6 ( ) d d b d 1 3 5 t + + + z z z x e m a n e w e e n a n = 7 1 0 1 1 1 2 ( ) d d b d 1 4 5 t + + + z z z x e m a n e w e e n a n = 8 1 0 1 1 1 2 0 1 · · z i Restricted LP Master Problem (LP(M)) for Iteration 3
Pricing Problem for Iteration 3 Optimal Solution: Objective function value = -5 Add ring 13 = {(1, 3), (2, 5), (3, 4), (3, 5), (4,5)}
i m n 2 2 2 2 2 2 2 2 3 5 5 5 5 + + + + + + + + + + + + z z z z z z z z z z z z z 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 t s . ( ) d d b d 1 1 2 t + + + z z z x e m a n e w e e n a n = 1 9 1 0 1 2 ( ) d d b d 1 1 3 t + + + + z z z z x e m a n e w e e n a n = 2 9 1 0 1 1 1 3 ( ) d d b d 1 1 4 t + + + z z z x e m a n e w e e n a n = 3 1 0 1 1 1 2 ( ) d d b d 1 2 3 t + + + + z z z z x e m a n e w e e n a n = 4 9 1 0 1 1 1 2 ( ) d d b d 1 2 5 t + + + z z x x e m a n e w e e n a n = 5 1 1 1 2 1 3 ( ) d d b d 1 3 4 t + z x e m a n e w e e n a n = 6 1 3 ( ) d d b d 1 3 5 t + + + + z z z x x e m a n e w e e n a n = 7 1 0 1 1 1 2 1 3 ( ) d d b d 1 4 5 t + + + + z z z x x e m a n e w e e n a n = 8 1 0 1 1 1 2 1 3 0 1 · · z i Restricted LP Master Problem (LP(M)) for Iteration 4
Comments • 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.