emis 8373: integer programming valid inequalities updated 4april 2011
TRANSCRIPT
EMIS 8373: Integer Programming
Valid Inequalitiesupdated 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
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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
}),(:{ }),(:{
),(
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.
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?
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
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
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.
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
slide 24
1 4 3
72
Constraint (8) Example
Mkkkkkk
rN
R
Nr
xxxxx .6)1('
.214
15
1
1|'|
74321
slide 25
Separation Problem for Proposition 5
connected. is})',':),{(,'('
),1('
,'
s.t.
' nodes ofset a Find
NjNiEjiNG
rN
RN
NN
Mkikx
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
slide 27
LP Relaxation
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
slide 29
LP Relaxation with Example Cut
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
slide 31
LP Relaxation: Iteration 3
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
slide 33
LP Relaxation: Iteration 4
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
slide 35
LP Relaxation: Iteration 5
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
slide 37
IP Solution with Cuts
slide 38
IP Solution Without Cuts