Professional Documents
Culture Documents
Department of Mathematics
MAT581SS
Prepared by Dr. Jeff C.-F. WONG
Exercise 9 - 16th November, 2009
Student No.:
Name in English:
Name in Chinese:
The mathematical model of an integer linear programming problem (ILP) may be described as
max
z=
n
X
cj xj
j=1
subject to
n
X
aij xj = bi (i = 1, , m)
j=1
xj 0 (j = 1, , n)
(1)
and
xj integer for J1 J,
where J = {1, 2, , n}.
The associated LPP (say (LP )1 ) of the given ILP (1) is
max
z=
n
X
cj xj
j=1
subject to
n
X
aij xj = bi (i = 1, , m)
j=1
xj 0 (j = 1, , n).
(2)
z = 21x1 + 11x2
7x1 + 4x2 13
x1 , x2 0
(3)
x1 and x2 integer.
x1
(0,3)
(0,2)
(0,1)
(1,1)
(0,0)
7 x 1 + 4 x 2 = 13
x2
(1,0)
Figure 1: {(0, 0), (0, 1), (1, 0), (1, 1), (0, 2), (0, 3)}.
max
subject to
AX = b
X0
X integer,
(4)
max
subject to
AX = b
X 0,
(5)
, X=
XB
XR
, C=
CB
CR
XB
XR
=b
i.e.
BXB + RXR = b
i.e.
XB =
i.e.
xBi = yi0
yij xj
(i = 1, , m).
(6)
jR
Here
yi0 is the ith component of the vector
j R is understood as the index j running over the index set of non-basic variables.
The m equations given at (6) are said to be the canonical representation of the system AX = b, because
each equation of (6) has only one basic variable with coefficient as one, and
all other variables in (6) are non-basic variables.
= CT X
CB
=
CR
XB
XR
= CTB XB + CTR XR
= CTB (B 1 b B 1 RXR ) + CTR XR
=
,
which can be written as
X
xB0 = y00
y0j xj ,
(7)
jR
where xB0 =
, y00 =
and y0j =
(8)
jR
for i = 0, 1, , m, where
i = 0 refers to the objective function;
i = 1, , m refer to the m constraints.
Further the current b.f.s. and the current objective function value are obtained by taking xj = 0 for
j R in (8).
Thus
y00 = CTB (B 1 b) is the current objective function value;
yi0 (i = 1, , m) is the current b.f.s.,
i.e.,the ith component of the vector B 1 b.
Since equation (8) holds for any feasible solution of LPP (5), it holds for all integer feasible points of
AILP (4) as well because LPP (5) is essentially the associated LPP of AILP (4).
Now if for any real number a we define its fractional part fa as
fa =
where [a] is the greatest integer function, then we note that 0 fa < 1.
For example,
for a = 1, fa =
for a = 1.6, fa =
jR
jR
(9)
i.e.
jR
i.e.
X
jR
=fi0
jR
(yij [yij ]) xj ,
{z
}
|
=fij
(9)
fij xj .
jR
But
as (9) holds for all feasible points of the LPP (4) and so for all integer feasible points of the
given AILP,
the L.H.S. of (9) is an integer.
Therefore the R.H.S. of (9) must also be an integer.
fij xj
jR
must be an integer.
i = 0 is also included because for the AILP, the objective function is also constrained to be
integer.
Now fij 0 and xj 0 for j R. Therefore
X
fij xj 0.
(10)
jR
(11)
jR
Thus fi0
fij xj 0.
jR
fi0
(12)
jR
Show that the inequality (12) is satisfied by every integer feasible point of the given AILP (4).
Now assume that the current b.f.s. XB is not an integer,
i.e. it does not meet the integer requirements of AILP (4).
In that case, we note that the inequality (12), i.e.,
X
fi0
fij xj 0
jR
Thus the constraint (12) is satisfied by every integer feasible point of AILP but certainly not satisfied
at least by the current b.f.s. XB .
In other words
it certainly deletes a part of the feasible region of the associated LPP (at least the current
b.f.s. XB and may be many more points)
but does not delete any feasible point with integer coordinates.
Hence (12), i.e.,
fi0
fij xj 0
jR
fij xj 0.
jR
as
fi0 = si
fij xj
(13)
jR
where si is known as the Gomorian slack and append the same to the associated LPP, (LP )1 , to get the
new LPP, (LP )2 . Therefore we solve (LP )2 and repeat the procedure.
The stepwise description of the Gomorys cutting plane method for AILP is as follows
Step 1
Solve the associated LPP, say (LP )1 , by the simplex method.
Set k = 1.
Step 2
If the optimal solution obtained at Step 1 is integer, stop as an optimal solution of the given AILP
is at hand.
Otherwise go to Step 3.
Step 3
For any updated constraint i whose yi0 value is fractional (including i = 0, i.e. the objective
function), generate the Gomorys cut constraint as given as (12), i.e.,
X
fi0
fij xj 0.
jR
A common procedure here is to select that value of i, 0 i m, for which fi0 value is maximum.
Theoretically we can choose any i for which fi0 > 0 but the maximum of fi0 is chosen with the
hope that it may give a deeper cut.
Step 4
Append the Gomorys cut constraint derived at Step 3 above to (LP )k to get the new LPP
(LP )k+1 .
Solve (LP )k+1 by the dual simplex method and return to Step 2.