emis 8373: integer programming valid inequalities updated 4april 2011

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

Upload: lionel-chapman

Post on 17-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

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

EMIS 8373: Integer Programming

Valid Inequalitiesupdated 4April 2011

Page 2: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

Examples from

“A Branch-and-Cut Algorithm for Solving an Intraring Synchronous Optical Network Design Problem.”

byYoungho Lee, Hanif D. Sherali

Junghee Han, and Seong-in Kim

Networks, Vol. 35(3), pp. 223-232, 2000

Page 3: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 3

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– dij 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

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

slide 4

Formulation Continued

• Decision Variables– xik = 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.

– fijk = 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.

Page 5: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 5

BIP Formulation

.,

,,),(

)5(,,),(,

)4(,,),(,

)3(,,

)2(,,

)1(,),(,1s.t.

min

,1,0,1,0

),(

MkNi

MkEji

MkEji

MkEji

MkR

Mkbij

Eji

xf

xfxf

x

fd

fx

ik

ijk

jkijk

ikijk

Niik

Eji ijk

Mkijk

Ni Mkik

Page 6: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 6

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

Page 7: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 7

Example From Sherali et al.

1

4

3

2

5

2

2

4

3

1

12

3

Demand graph with b = 12, and R = 4.

2

3

4

1

1

4

3

5

2

3

1

2

1 2

3

5

Optimal Solution: Two rings andEight ADMs

Page 8: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 8

Optimal Solution when R = 3

• Four Rings, Ten ADMs

• Ring 1: x31 = x41 = x51 = 1; f341 = f351 = f451 = 1

• Ring 2: x12 = x22 = x32 = 1; f122 = f132 = f232 = 1

• Ring 3: x23 = x53 = 1; f253 = 1

• Ring 4: x14 = x44 = 1; f144 = 1

• CPLEX stats– CPU seconds = 0.38

– Branch-and-Bound Nodes = 246

Page 9: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 9

Optimal LP Solution when R = 3

• Two “Rings”, Five “ADMs”• Ring 1:

– x11 = x21 = x31 = x41 = x51 = 0.6

– f121 = f131 = f141 = f231 = f251 = f341 = f351 = f451 = 0.6

• Ring 2:– x12= x22 = x32 = x42 = x52 = 0.4

– f122 = f132 = f142 = f232 = f252 = f342 = f352 = f452 = 0.4

Page 10: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 10

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:

)6(,2),(

MkR

Sjiijk

f

Page 11: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 11

Some Violated Inequalities in the Optimal LP Solution

• Ring 1:– x11 = x21 = x31 = x41 = x51 = 0.6– f121 = f131 = f141 = f231 = f251 = f341 = f351 = f451 = 0.6

• Ring 2:– x12 = x22 = x32 = x42 = x52 = 0.4– f122 = f132 = f142 = f232 = f252 = f342 = f352 = f452 = 0.4

• (6) is violated for S = {(1, 2), (3, 4)}: – In the LP f121 + f341 = 1.2– In a feasible BIP solution we should have f121 + f341 1

• (6) is violated for S = {(1, 3), (2, 5)}:– In the LP f131 + f251 = 1.2– In a feasible BIP solution we should have f131 + f251 1

Page 12: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 12

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.

Page 13: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 13

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 fijk value3. Let S = S {(i, j)}, Let V = N \ {i,j}4. Select (i, j) such that

– Neither i nor j is in V– fijk has maximum value

5. If no such edge exists goto step 6, otherwise goto step 36. Add constraint (6) for S to formulation if

Sjiijk

Rf),( 2

Page 14: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 14

Example of Separation Procedure

• Ring 1:– f121 = f131 = f141 = f231 = f251 = f341 = f351 = f451 = 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 f12k + f34k 1 the original model

• Ring 2:– f122 = f132 = f142 = f232 = f252 = f342 = f352 = f452 = 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

Page 15: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 15

LP Formulation with Cuts

.0,0

,

)5(,,),(,

)4(,,),(,

)3(,,

)2(,,

)1(,),(,1s.t.

min

,13412

),(

fxffxfxf

x

fd

fx

ijkik

kk

jkijk

ikijk

Niik

Eji ijk

Mkijk

Ni Mkik

Mk

MkEji

MkEji

MkR

Mkbij

Eji

Cuts found by separation procedure

Page 16: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 16

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

Page 17: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 17

Finding the “Most Violated” Constraint

• Let gijk be the value of fijk 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

Eji

Ni

z

y

yy

yg

ij

EijNj EjiNjijji

Ejiijijk

),(,1,0

)7(,,1s.t.

max

}),(:{ }),(:{

),(

Page 18: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 18

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.

Page 19: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 19

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?

Page 20: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 20

Example 2

1 4 3

5 7

6

2

12

14

3

1 3

4

5 5

∑d = 55 and capacity of each ring is b =15Max number of ADM allowed per ring is R = 4

Page 21: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 21

1 4 3

5 7

6

2

20

14

3

1 3

4

5 5 1 4 3

72

3

4

5 5

• 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

Page 22: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 22

1 4 3

72

Examples of Observation 2

Suppose Ring 1 has ADMs at nodes 1, 2, 4, and 7Since 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 7Since 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.

Page 23: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 23

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:

.1

1|'|where

)8(),1(''

R

Nr

rNNi Mk

ikx

Page 24: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 24

1 4 3

72

Constraint (8) Example

Mkkkkkk

rN

R

Nr

xxxxx .6)1('

.214

15

1

1|'|

74321

Page 25: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 25

Separation Problem for Proposition 5

connected. is})',':),{(,'('

),1('

,'

s.t.

' nodes ofset a Find

NjNiEjiNG

rN

RN

NN

Mkikx

Page 26: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 26

A Separation Heuristic for Proposition 5

Based on Giray Birkan’s implementationAssumes the demand graph is connected

1. Solve the LP relaxation

2. Let wi = xik for all i N

3. Let N’ = {i} where i = argmin wi

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 = argmini S wi

5. If Swi < | N’|+ (r-1) then goto Step 1

Page 27: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 27

LP Relaxation

Page 28: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 28

Heuristic Example: Iteration 1

1 4 3

5 7

6

2 1

11

1

∑d = 55 and capacity of each ring is b =15Max number of ADM allowed per ring is R = 4

1

1

1

Number of ADMs on N’ = 5

Page 29: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 29

LP Relaxation with Example Cut

Page 30: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 30

1

Heuristic Example: Iteration 2

4 3

5 7

6

2 1

1.1171.765

1

∑d = 55 and capacity of each ring is b =15Max number of ADM allowed per ring is R = 4

1

1.117

1

Number of ADMs on N’ = 5.25

Page 31: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 31

LP Relaxation: Iteration 3

Page 32: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 32

7

1

Heuristic Example: Iteration 3

4 3

5

6

2 1

1.51

1

∑d = 55 and capacity of each ring is b = 15Max number of ADM allowed per ring is R = 4

1

1.5

1

Number of ADMs on N’ = 5.5

Page 33: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 33

LP Relaxation: Iteration 4

Page 34: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 34

Heuristic Example: Iteration 4

1 4 3

5 7

6

2 1

1.4471

1.55

∑d = 55 and capacity of each ring is b =15Max number of ADM allowed per ring is R = 4

1

1

1

Number of ADMs on N’ = 5.447

Page 35: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 35

LP Relaxation: Iteration 5

Page 36: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 36

Heuristic Example: Iteration 5

1 4 3

5 7

6

2 1

21

1

∑d = 55 and capacity of each ring is b =15Max number of ADM allowed per ring is R = 4

1

1

1

Number of ADMs on N’ = 6Stop adding cuts and solve IP

Page 37: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 37

IP Solution with Cuts

Page 38: EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011

slide 38

IP Solution Without Cuts