1 / 29

290 likes | 441 Views

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

Download Presentation
## EMIS 8373: Integer Programming

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

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.

More Related