NPTEL Gomory Cut Algorithm Course Linear Programming Problems
NPTEL Gomory Cut Algorithm Course Linear Programming Problems
Topic 2:
(ILP) max z = cT x
subject to Ax = b
x0
xI are integers
I {1, . . . , n}.
For simplicity we assume that the feasible set of (ILP) is non-empty, and the problem is bounded.
The associated relaxed linear program with (ILP) is given as follows:
(RLPP) max z = cT x
subject to Ax = b
x 0.
Cutting Plane: Let x be an optimal solution of (RLPP) and suppose x fails to satisfy the
integer restriction in (ILP). A cutting plane is defined to be a hyperplane that strictly separates
x from the set of integer feasible solutions of this problem. It is a hyperplane with x on one
side of it (x can not be on the hyperplane) and all the integer feasible solutions of (ILP) either
on it or on the other side of it. In the figure, the associated (RLPP) has four constraints and
x is an optimum solution for it. The convex hull of all integer feasible solutions is a polytope
Feasible se
outlined with red lines.
x
X
X
x x
. . . . . . . !
. . . . .. .. . x
. .. .. .. .. . .
x
. .. .. . .
. . . .
. .. . . . . . y
Cutting plane
Copyright
c Reserved IIT Delhi
2
n
X
In general, if a(m+1)j xj = b(m+1) is a cutting plane and if
j=1
n
X
a(m+1)j xj < bm+1
j=1
Xn
a(m+1)j xj bm+1 , integer feasible solutions x
j=1
n
X
then the constraints a(m+1)j xj bm+1 is known as a cut.
j=1
For example , let the following table represents an optimal solution of some minimization LP
with x 0 and integer restriction.
vB zB y1 y2 y3 y4 y5 y6
x1 3/2 1 0 0 1 -1 1
x2 5/2 0 1 0 1 2 -2
x3 4 0 0 1 -1 1 1
zj cj 0 0 0 3 4 5
Then obviously x = (3/2, 5/2, 4, 0, 0, 0) does not satisfy this constraints, i.e, x4 + x5 + x6 < 1.
Also in every integer feasible solution of the problem under consideration, atleast one of these
variables has to be strictly positive, because x is the unique solution (observe zj cj in solution
of (RLP).
Hence (1) satisfies both properties of a cut, so it can act as a cut for the given problem.
Copyright
c Reserved IIT Delhi
3
Use the cut generation method and get a cutting plane. Add the cut to the constraints of
the (RLPP). Solve the new linear program (by the dual simplex method).
The key question is how to find the equation of a cut? Among the earliest contributions in
this direction, the work of Ralph E. Gomory is worth studying. We shall now elaborate the
mathematics of his algorithm, famously known as Gomory Cut Technique.
Let B be an optimal basis of (RLPP). Then
" #
h i xB
B R = b
xR
xB + B 1 RxR = B 1 b,
X
i.e , (xB )i + yij xj = (B 1 b)i , i = 1, 2, . . . , n.
jR
Let R = RC RI where RC is those non basic variables on which there is no integer restriction
while RI is the set of non basic variables which are required to be integer. Then
X X
(B 1 b)i + f0
(xB )i + yij xj + ( byij c + fij )xj =
jRC jRI
where b.c is a floor function ( byc is the largest integer not greater than y), and fij is the positive
fractional part in yij , j RI , f0 is the positive fractional part in the current value of xBi . Just
to make us comfortable regarding fractional part, see, if y = 12 5 , then byc = 2 + f, f = 5 ,
2
1 X
where u = (B b)i xBi byij c xj (2)
jRI
X X
Case 1: u 0. Then (2) reduces to yij xj + fij xj f0
jRC jRI
This can be written as:
X X X
yij xj + yij xj + fij xj f0 (3)
C
jR C
jR+ jRI
Copyright
c Reserved IIT Delhi
4
which implies
X
yij xj f0 1
C
jR
that is
X f0
yij xj f0 . (5)
C
1 f0
jR
Since (4) and (5) are mutually exclusive, hence on combining them we have
X X X f0
fij xj + yij xj + yij xj f0
1 f0
jRI C
jR+ C
jR
C = , RC = ,
Note: In case I = {1, . . . , n} i.e, (ILP) is a pure integer program, then R+
RC = , RI = R , hence the equation of the Gomorys fractional cut becomes
X
fij xj f0 .
jR
Copyright
c Reserved IIT Delhi