Download presentation
Presentation is loading. Please wait.
1
EMIS 8373: Integer Programming
Column Generation updated 18 April 2005
2
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 , 1998
3
Formulation Sets Parameters 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)
4
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
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 1 2 3 2 3 4 3 8 2 4 5 2 Optimal Solution: z5 = z6 = z10 = 1 cost = 9 ADMs
6
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|)
7
Matrix Representation of BIP(M)
BIP(M*) could have up to 28 –1 = 255 columns depending on b.
8
LP Relaxation of BIP(M)
Dual Problem
9
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.
10
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
11
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
12
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
13
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*).
14
Feasible Rings with Negative Reduced Costs
Reduced cost for the new ring: We want to find a ring with negative reduced cost
15
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
16
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*).
17
Column Generation Flow Chart
Solve LP(M) Add column to M Solve the Pricing Problem New column found ? Yes No Restore Integrality Constraints and Solve BIP(M)
18
Restricted LP Master Problem (LP(M)) for Iteration 1
2 z 1 + 3 4 5 6 7 8 9 s . t = ( d e a b w )
19
Optimal Solution for LP(M): Iteration 1
20
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)}
21
Restricted LP Master Problem (LP(M)) for Iteration 2
z 1 + 3 4 5 6 7 8 9 s . t = ( d e a b w )
22
Optimal Solution for LP(M): Iteration 2
23
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)}
24
Restricted LP Master Problem (LP(M)) for Iteration 3
2 z 1 + 3 4 5 6 7 8 9 s . t x = ( d e a b w )
25
Optimal Solution for LP(M): Iteration 3
26
Pricing Problem for Iteration 3
Optimal Solution: Objective function value = -5 Add ring 13 = {(1, 3), (2, 5), (3, 4), (3, 5), (4,5)}
27
Restricted LP Master Problem (LP(M)) for Iteration 4
2 z 1 + 3 4 5 6 7 8 9 s . t x = ( d e a b w )
28
Optimal Solution for LP(M): Iteration 4
29
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.