Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Unit 7: Cutting Plane Algorithms Outline Convex hull Valid inequality Chvtal-Gomory inequality a Gomorys fractional cutting plane

lane algorithm Mixed integer cuts Disjunctive inequalities

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 ,

over all nite subsets {x1 , . . . , xt } of X}, where = { Rt | +


t i=1 i

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

Valid inequalities for linear programming

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 . + +

Valid inequalities for linear integer programming

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

Step 1. For u Rm , the inequality +


n

uT aj xj uT b
j=1

is valid for P . Step 2. The inequality


n

uT aj xj uT b
j=1

is valid for P as x Rn . +

12

Step 3. The inequality


n

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

Gomorys fractional cutting plane algorithm

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

a0j xj aij xj = ai0 , i = 1, . . . , m

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 +

where x3 , x4 and x5 are slack variables introduced.

17

Solving the linear programming relaxation gives z = max s.t. 59 4 1 x3 x4 7 7 7 1 2 20 x1 + x3 + x4 = 7 7 7 x2 + x4 = 3 2 10 23 x3 + x4 + x5 = 7 7 7 x Z5 +

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

Adding this cut, and the re-optimization leads to 15 1 x5 3s z = max 2 2 s.t. x1 + s = 2 1 1 x2 x5 + s = 2 2 x3 x5 5s = 1 1 5 x4 + x5 + 6s = 2 2 x Z5 , s Z1 + +

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 . + + +

Integer solution Optimal solution!

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

Mixed Integer Cuts


1 Proposition 2 Let X = {(x, y) R+ Z 1 : x + y b} and f = b b > 0. Then inequality

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

Mixed Integer Rounding (MIR) Inequality

1 2 Let X M IR = {(x, y) R+ Z+ : a1 y1 + a2 y2 b + x} and b Z 1 . /

Let f = b b and fi = ai ai for i = 1, 2. Suppose f1 f f2 , then f2 f x a1 y1 + (a2 + )y2 b + 1f 1f is valid for X M IR .

26

The Gomory Mixed Integer Cut

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 .

You might also like