Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMIS 8373: Integer Programming Column Generation updated 12 April 2005.

Similar presentations


Presentation on theme: "EMIS 8373: Integer Programming Column Generation updated 12 April 2005."— Presentation transcript:

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.


Download ppt "EMIS 8373: Integer Programming Column Generation updated 12 April 2005."

Similar presentations


Ads by Google