Download presentation
Presentation is loading. Please wait.
Published byRoger Robinson Modified over 8 years ago
1
EMIS 8373: Integer Programming Column Generation updated 12 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. 719-728, 1998
3
2 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 –d e is weight of edge e E –b is the ring capacity –a ej = 1 if demand e can be routed on ring j –c j is cost of ring j (the number of ADMs required)
4
3 Formulation Continued Decision Variables –z j = 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
4 Example Demand Graph and Candidate Set with b = 18 32145 3 2 3 34 2 8 2 1.{(1, 2)}c 1 = 2 2.{(1, 3)}c 2 = 2 3.{(1, 4)}c 3 = 2 4.{(2, 3)} c 4 = 2 5.{(2, 5)}c 5 = 2 6.{(3, 4)} c 6 = 2 7.{(3, 5)} c 7 = 2 8.{(4, 5)}c 8 = 2 9.{(1, 2), (1, 3), (2, 3)} c 9 = 3 10.{(1, 2), (1, 3), (1, 4), (2, 3), (3, 5), (4, 5)} c 10 = 5 Optimal Solution: z 5 = z 6 = z 10 = 1 cost = 9 ADMs
6
5 Comments The best solution for the given demand graph uses two rings and eight ADMs: 1.{(1, 2), (2, 3), (2, 5), (3, 5)} 2.{(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
6 Matrix Representation of BIP(M) BIP(M*) could have up to 2 8 –1 = 255 columns depending on b.
8
7 LP Relaxation of BIP(M) Dual Problem
9
8 Additional 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 c B 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 z j is given by the formula c j - c B B -1 A j = c j - A j. - B is optimal if all variables have a non-negative reduced cost.
10
9 Reduced Cost Example 1 Suppose z 1,z 2, …, z 8 are the basic variables. The current BFS uses 16 ADMs. Bringing ring 9 into the basis reduces this to 16 – 3 = 13
11
10 Reduced Cost Example 1 Suppose z 1,z 2, …, z 8 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
11 Reduced Cost Example 2 Suppose z 1,z 2, …, z 8 are the basic variables. The current BFS uses 16 ADMs. Bringing ring 10 into the basis reduces this to 16 – 5 = 11
13
12 A Column-Generation Heuristic 1.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. 2.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. 3.If j is found then add j to M and goto step 1. 4.Solve BIP(M) At this point an optimal solution to LP(M) is also an optimal solution to LP(M*).
14
13 Feasible Rings with Negative Reduced Costs Reduced cost for the new ring: We want to find a ring with negative reduced cost
15
14 Generating Feasible Rings Let y ij = 1 if the new ring contains edge (i,j), and 0, otherwise Let x i = 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
15 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
16 Column Generation Flow Chart Solve LP(M) Restore Integrality Constraints and Solve BIP(M) New column found ? Add column to M Yes No Solve the Pricing Problem
18
17 Optimal Solution for LP(M): Iteration 1
19
18 Pricing Problem for Iteration 1 Optimal Solution:
20
19 Optimal Solution for LP(M): Iteration 1
21
20 Pricing Problem for Iteration 2 Optimal Solution:
22
21 Optimal Solution for LP(M): Iteration 3
23
22 Pricing Problem for Iteration 3 Optimal Solution:
24
23 Optimal Solution for LP(M): Iteration 4
25
24 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.