Professional Documents
Culture Documents
Unit 7: Cutting Plane Algorithms
Unit 7: Cutting Plane Algorithms
Cutting Plane Algorithm Denition 1 A subset of Rn described by a nite set of linear constraints P = {x Rn | Ax b} is a polyhedron. Given a set X Rn , the convex hull of X is
t
conv(X) = {x | x =
i=1
i xi , with ,
= 1}.
conv(X) is a polyhedron. The extreme points of conv(X) all lie in X. Consider the general linear integer program: (LIP ) min cT x n s.t. x S = {x Z+ | Ax b}.
Problem (LIP ) is equivalent to the following linear programming problem (CON V LIP ) min cT x s.t. x conv(S).
In most cases, we need an enormous (exponential) number of inequalities to describe conv(S), conv(S) = {x Rn | Ax b} + Thus (CON V LIP ), in general, only provides a platform for a theoretical solution. The purpose of a cutting plane method is to approximate conv(S) in a neighborhood of the optimal solution.
Denition 2 An inequality x 0 is a valid inequality for X Rn if x 0 for all x X. Both ai x bi and ai x i are valid inequalities b for S. Two questions to answer: How to dene and obtain useful valid inequalities? How to use valid inequalities to solve integer program?
For set X = {x {0, 1}5 | 3x1 4x2 + 2x3 3x4 + x5 2}, both x2 + x4 1 and x1 x2 are valid inequalities for X. Consider the mixed 0-1 set: X = {(x, y) : x 9999y, 0 x 5, y B 1 }. Inequality x 5y is valid.
Consider the mixed integer set: X = {(x, y) : 1 x 10y, 0 x 14, y Z+ }. Inequality x 6 + 4y is valid. In general, for a mixed integer set: X = {(x, y) : 1 x Cy, 0 x b, y Z+ } with b not divisible by C. Inequality x b (K y) is valid, b b where K = C and = b ( C 1)C.
Proposition 1 x 0 is valid for P = {x Rn | Ax b} if and only if + (i) There exist u Rm and v Rn such that uA + + v = and ub 0 , or alternatively (ii) There exists u Rm such that uA and + ub 0 . Proof. By linear programming duality, max{x | x P } 0 if and only if min{ub | uA v = , u Rm , v Rn } 0 . + +
A simple observation: Let X = {y Z1 | y b}. Then the inequality y b is valid for X. Example. Let X = P Z2 with P given by 7x1 2x2 x2 2x1 2x2 x 14 3 3 R2 +
10
Step 1: Combining constraints with nonnegative weights u = ( 2 , 37 , 0) yields 7 63 1 121 2x1 + x2 63 21 Step 2: Reducing the coecients on the left-hand side to the nearest integer gives 121 2x1 5 x1 2 2x1 21 Chvtal-Gomory procedure to construct a valid ina equality for the set X = P Zn , where P = {x Rn | Ax b}, A is an m n matrix with + columns {a1 , a2 , . . . , an }:
11
uT aj xj uT b
j=1
uT aj xj uT b
j=1
is valid for P as x Rn . +
12
uT aj xj uT b
j=1
is valid for X as x is integer. Theorem 1 Every valid inequality for X can be obtained by applying the Chvtal-Gomory procea dure a nite number of times.
13
For the linear integer programming problem max{cT x | Ax 0, x Zn }, the idea is to rst solve the + associated linear programming relaxation and nd an optimal basis, choose a basic variable that is not integer, and then generate a Chvtal-Gomory a inequality on the constraint associated with this basic variable so as to cut o the linear programming solution.
14
For a given optimal basis, write the problem into the following form: max a00 +
jN B
s.t. xBi + x
jN B Zn , +
where N B is the set of nonbasic variables, a0j 0 for all j N B and ai0 0 for all i = 1, . . ., m.
15
If the basic optimal solution x is not integer, select row i with ai0 not being integer. Gen erate the Chvtal-Gomory inequality for row a i, xBi + aij xj ai0 . (1)
jN B
Eliminating xBi from the above yields (ij aij )xj ai0 ai0 . a all nonbasic variables, the above As inequality cuts o x . The slack variable in (1) is integer.
jN B x = 0 for j
16
Consider the following linear integer programming problem z = max s.t. 4x1 x2 7x1 2x2 + x3 = 14 x2 + x4 = 3 2x1 2x2 + x5 = 3 x Z5 +
17
18
Select the rst row in which the basic variable x1 is fractional to generate a cut: 1 2 6 2 6 1 x3 + x4 or s = + x3 + x4 7 7 7 7 7 7
19
20
Select the second row in which the basic variable x2 is fractional to generate a cut: 1 1 1 1 x5 or x5 + t = 2 2 2 2
21
Adding this second cut, and the re-optimization leads to z = max s.t. 7 3s t x1 + s = 2 x2 + s t = 1 x3 5s 2t = 2 x4 + 6s + t = 2 x5 t = 1 x Z5 , s Z1 , t Z1 . + + +
22
For X = P Zn , we may need too many valid inequalities (2n or more) to characterize conv(X). Given a specic objective function, one is not really interested in nding the complete convex hull, but wants a good approximation to the convex hull in the neighborhood of an optimal solution.
23
Cutting Plane Algorithm Step 0. Set t = 0 and P 0 = P . Step 1. Solve the linear programming problem z t = max{cT x | x P t } and obtain a solution xt . Step 2. If xt Zn , stop and xt is an optimal solution to (LIP ). t Step 3. Find a valid equality, ( t , 0 ), of X that cuts o xt . Update P t+1 = P t { t x t 0 } and t = t + 1. Go back to Step 1.
24
x f (b y) is valid for X.
1 Corollary 1 Let X = {(x, y) R+ Z 1 : y b + x} and f = b b > 0. Then inequality x y b + 1f is valid for X.
25
26
n n Let X G = {(yBu , y, x) Z 1 Z+1 R+2 : yBu + jN1 auj yj + jN2 auj xj = au0 }, where ni = |Ni | for i = 1,2.
a If au0 Z 1 , fj = auj uj for j N1 N2 and / a f0 = au0 u0 , the Gomory mixed integer cut
fj y j +
fj f0 fj >f0
f0 (1 fj ) yj + 1 f0 a
auj xj +
uj >0
auj <0
f0 auj xj f0 1 f0
is valid for X G .
27
Disjunctive inequalities
n The set X = X1 X2 with Xi R+ for i = 1, 2 is a disjunction (union) of the two sets X 1 and X 2. i Proposition 3 If 0 is valid for X i for i = 1, 2, then the inequality n n i j x j j=1
j x j 0
j=1 1 2 is valid for X if j min[j , j ] for j = 1, . . . , n 1 2 and 0 max[0 , 0 ].
28 n Proposition 4 If P i = {x R+ : Ai x bi } for i = 1, 2 are nonempty polyhedra, then (, 0 ) is a valid inequality for conv(P 1 P 2 ) i there exist u1 , u2 0 such that ui Ai and 0 ui bi for i = 1, 2. 2 Example 1 Let P 1 = {x R+ : x1 + x2 2 1, x1 + x2 5} and P 2 = {x R+ : x2 4, 2x1 + x2 6, x1 3x2 2}. Taking u1 = (2, 1) and u2 = ( 5 , 1 , 0) and applying the 2 2 above proposition gives that x1 + 3x2 7 is valid for P 1 P 2 .