0% found this document useful (0 votes)
107 views28 pages

Unit 7: Cutting Plane Algorithms

The document outlines cutting plane algorithms for solving integer programs. It discusses generating valid inequalities to approximate the convex hull of feasible solutions, including Chvátal-Gomory cuts and mixed integer cuts. Gomory's fractional cutting plane algorithm is described as iteratively solving the linear programming relaxation and generating cuts to separate the optimal solution. Disjunctive inequalities are also introduced to handle unions of polyhedra.

Uploaded by

kartikdp
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views28 pages

Unit 7: Cutting Plane Algorithms

The document outlines cutting plane algorithms for solving integer programs. It discusses generating valid inequalities to approximate the convex hull of feasible solutions, including Chvátal-Gomory cuts and mixed integer cuts. Gomory's fractional cutting plane algorithm is described as iteratively solving the linear programming relaxation and generating cuts to separate the optimal solution. Disjunctive inequalities are also introduced to handle unions of polyhedra.

Uploaded by

kartikdp
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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