Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMIS 8373: Integer Programming

Similar presentations


Presentation on theme: "EMIS 8373: Integer Programming"— Presentation transcript:

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 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.

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.


Download ppt "EMIS 8373: Integer Programming"

Similar presentations


Ads by Google