Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.

Similar presentations


Presentation on theme: "EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011."— Presentation transcript:

1 EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

2 Examples from “A Branch-and-Cut Algorithm for Solving an Intraring Synchronous Optical Network Design Problem.” by Youngho Lee, Hanif D. Sherali Junghee Han, and Seong-in Kim Networks, Vol. 35(3), pp. 223-232, 2000

3 slide 2 Formulation Sets –N is the set of nodes in the demand graph The network sites to be connected served by the SONET network –E  N  N is the set of edges in the demand graph A list of point-to-point demands –M is the set of SONET rings to be constructed Parameters –d ij is weight of edge (i,j)  E Represents the traffic demand between sites i and j –b the ring capacity –R is the maximum number of ADMS (nodes) allowed on a ring

4 slide 3 Formulation Continued Decision Variables –x ik = 1 if node i  N is assigned to ring k  M, and 0, otherwise. A node requires one ADM for each ring to which it is assigned. –f ijk = 1 if the traffic demand between sites i and j is assigned to ring k, and 0, otherwise. Comment: the notation adopts the convention that i < j for (i, j)  E.

5 slide 4 BIP Formulation

6 slide 5 Explanation of Constraints 1.Each demand is assigned to (covered by) exactly one SONET ring. 2.The total volume of traffic assigned to any given ring does not exceed the ring capacity. 3.The number of ADMs on any given ring is at most R. 4.Linking constraint for traffic and ADM assignments 5.Linking constraint for traffic and ADM assignments

7 slide 6 Example From Sherali et al. 1 4 3 2 5 2 2 4 3 1 1 2 3 Demand graph with b = 12, and R = 4. 2 3 4 1 1 4 3 5 2 3 1 2 12 3 5 Optimal Solution: Two rings and Eight ADMs

8 slide 7 Optimal Solution when R = 3 Four Rings, Ten ADMs Ring 1: x 31 = x 41 = x 51 = 1; f 341 = f 351 = f 451 = 1 Ring 2: x 12 = x 22 = x 32 = 1; f 122 = f 132 = f 232 = 1 Ring 3: x 23 = x 53 = 1; f 253 = 1 Ring 4: x 14 = x 44 = 1; f 144 = 1 CPLEX stats –CPU seconds = 0.38 –Branch-and-Bound Nodes = 246

9 slide 8 Optimal LP Solution when R = 3 Two “Rings”, Five “ADMs” Ring 1: – x 11 = x 21 = x 31 = x 41 = x 51 = 0.6 – f 121 = f 131 = f 141 = f 231 = f 251 = f 341 = f 351 = f 451 = 0.6 Ring 2: –x 12 = x 22 = x 32 = x 42 = x 52 = 0.4 –f 122 = f 132 = f 142 = f 232 = f 252 = f 342 = f 352 = f 452 = 0.4

10 slide 9 Observation 1 Since R = 3, demands (1, 4) and (2, 3) must be on different rings. Likewise, demands (1, 3) and (2, 5) must be on different rings. Proposition 7: let S  E be a set of nonintersecting edges. The following inequality (constraint) is valid:

11 slide 10 Some Violated Inequalities in the Optimal LP Solution Ring 1: – x 11 = x 21 = x 31 = x 41 = x 51 = 0.6 – f 121 = f 131 = f 141 = f 231 = f 251 = f 341 = f 351 = f 451 = 0.6 Ring 2: –x 12 = x 22 = x 32 = x 42 = x 52 = 0.4 –f 122 = f 132 = f 142 = f 232 = f 252 = f 342 = f 352 = f 452 = 0.4 (6) is violated for S = {(1, 2), (3, 4)}: –In the LP f 121 + f 341 = 1.2 –In a feasible BIP solution we should have f 121 + f 341  1 (6) is violated for S = {(1, 3), (2, 5)}: –In the LP f 131 + f 251 = 1.2 –In a feasible BIP solution we should have f 131 + f 251  1

12 slide 11 Valid Inequalities Valid inequalities are constraints that are satisfied by any feasible integer solution. Which valid inequalities are “good”? –The best valid inequalities are those that strengthen the LP relaxation by cutting off parts of the LP’s feasible region. They should make the LP optimum closer to the IP optimum. How are valid inequalities used? –If there aren’t “too many” we can just add them to the formulation. –Usually a separation procedure is used to find valid inequalities that are violated by the LP relaxation.

13 slide 12 A Separation Procedure for Constraint (6) Solve the LP relaxation For each k  M 1.Let S =  2.Select an edge (i,j) with maximum f ijk value 3.Let S = S  {(i, j)}, Let V = N \ {i,j} 4.Select (i, j) such that –Neither i nor j is in V –f ijk has maximum value 5.If no such edge exists goto step 6, otherwise goto step 3 6.Add constraint (6) for S to formulation if

14 slide 13 Example of Separation Procedure Ring 1: – f 121 = f 131 = f 141 = f 231 = f 251 = f 341 = f 351 = f 451 = 0.6 –S = {(1,2)}, V = {3, 4, 5} –S = {(1, 2), (3, 4)}, V = {5} –Stop –Constraint (6) is violated for S in Ring 1 Add f 12k + f 34k  1 the original model Ring 2: –f 122 = f 132 = f 142 = f 232 = f 252 = f 342 = f 352 = f 452 = 0.4 –S = {(1,2)}, V = {3, 4, 5} –S = {(1, 2), (3, 4)}, V = {5} –Stop –Constraint (6) is not violated for S in Ring 2

15 slide 14 LP Formulation with Cuts Cuts found by separation procedure

16 slide 15 Generic Procedure for Using Valid Inequalities Solve LP Relaxation Run Separation Procedure Restore Integrality Constraints and Solve IP Violated Inequalities Found? Add inequalities Yes No

17 slide 16 Finding the “Most Violated” Constraint Let g ijk be the value of f ijk in the optimal solution the LP relaxation. For each ring k  M solve the following optimization problem: If z > floor(R/2), then the y’s give a set S for constraint (6) that will “delete” the current LP solution

18 slide 17 Comments on Constraint Set (6) The separation problem is actually polynomial; it’s a maximum-weight matching problem In this example (5 nodes, B =12, R = 3, etc) the cuts do not improve the LP bound, but they do improve CPLEX’s performance.

19 slide 18 General Comments Given a class of valid of inequalities, the problem of finding one that is most violated by the current LP solution is often an NP-hard problem. –Heuristic separation procedures are often used –A “good” paper will explore the trade-offs involved with any proposed separation procedure: Do the cuts strengthen the LP relaxation? Do they improve the time/space requirements for the branch- and-bound process? How expensive are they to find?

20 slide 19 Example 2 143 57 6 2 12 14 3 13 4 55 ∑d = 55 and capacity of each ring is b =15 Max number of ADM allowed per ring is R = 4

21 slide 20 143 57 6 2 20 14 3 13 4 55 143 72 3 4 55 Select N’ such that G’=(N’,E)’ is connected where E’ is induced by N’ G’=(N’,E)’ has more nodes than that would fit in a ring G’=(N’,E’) requires at least |N’|+1 ADMs Observation 2

22 slide 21 143 72 Examples of Observation 2 Suppose Ring 1 has ADMs at nodes 1, 2, 4, and 7 Since R = 4, (3, 7) must be on some other ring. Thus, we would need at least two ADMs at node 7. Suppose Ring 1 has ADMs at nodes 2, 3, 4, and 7 Since R = 4, (1, 4) must be on some other ring. Thus, we would need at least two ADMs at node 4. We need at least 6 ADMs to cover these four demands.

23 slide 22 Valid Inequalities Derived from Observation 2 Proposition 5: If G’(N’,E’) is a connected subgraph of the demand graph G=(N,E) such that | N’ | > R, then the following inequality is valid:

24 slide 23 143 72 Constraint (8) Example

25 slide 24 Separation Problem for Proposition 5

26 slide 25 A Separation Heuristic for Proposition 5 Based on Giray Birkan’s implementation Assumes the demand graph is connected 1.Solve the LP relaxation 2.Let w i =  x ik for all i  N 3.Let N’ = {i} where i = argmin w i 4.Repeat Until | N’ | = R+1 Let S =  For {i  N, j  N’} if (i,j)  E then S = S  {j} Let N’ = N’  {i} where i = argmin i  S w i 5.If  S w i < | N’|+ (r-1) then goto Step 1

27 slide 26 LP Relaxation

28 slide 27 Heuristic Example: Iteration 1 143 57 6 2 1 1 1 1 ∑d = 55 and capacity of each ring is b =15 Max number of ADM allowed per ring is R = 4 1 1 1 Number of ADMs on N’ = 5

29 slide 28 LP Relaxation with Example Cut

30 slide 29 1 Heuristic Example: Iteration 2 43 57 6 2 1 1.117 1.765 1 ∑d = 55 and capacity of each ring is b =15 Max number of ADM allowed per ring is R = 4 1 1.117 1 Number of ADMs on N’ = 5.25

31 slide 30 LP Relaxation: Iteration 3

32 slide 31 7 1 Heuristic Example: Iteration 3 43 5 6 2 1 1.5 1 1 ∑d = 55 and capacity of each ring is b = 15 Max number of ADM allowed per ring is R = 4 1 1.5 1 Number of ADMs on N’ = 5.5

33 slide 32 LP Relaxation: Iteration 4

34 slide 33 Heuristic Example: Iteration 4 143 57 6 2 1 1.447 1 1.55 ∑d = 55 and capacity of each ring is b =15 Max number of ADM allowed per ring is R = 4 1 1 1 Number of ADMs on N’ = 5.447

35 slide 34 LP Relaxation: Iteration 5

36 slide 35 Heuristic Example: Iteration 5 143 57 6 2 1 2 1 1 ∑d = 55 and capacity of each ring is b =15 Max number of ADM allowed per ring is R = 4 1 1 1 Number of ADMs on N’ = 6 Stop adding cuts and solve IP

37 slide 36 IP Solution with Cuts

38 slide 37 IP Solution Without Cuts


Download ppt "EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011."

Similar presentations


Ads by Google