Академический Документы
Профессиональный Документы
Культура Документы
7.1 Introduction
Welcome to the seventh unit on Integer Programming Problem in
Operations Research Management. The Integer Programming Problem
(IPP) is a special case of Linear Programming Problem (LPP), where all or
some variables are constrained to assume non-negative integer values. You
can apply this problem to various situations in business and industry where
discrete nature of the variables is involved in many decision-making
situations. For instance, in manufacturing, the production is frequently
scheduled in terms of batches, lots or runs; in distribution, a shipment must
involve a discrete number of trucks or aircrafts or freight cars.
Learning objectives
By the end of this unit, you should be able to:
Write an integer programming problem (IPP)
Solve an integer programming problem (IPP) using Gomory’s method
Apply the branch and land technique
If all the values of the variables in the solution are integers, then an optimum
inter-solution is obtained, or else a new constraint is added to the modified
LPP and the procedure is repeated till the optimum solution is derived. An
optimum integer solution will be reached eventually after introducing enough
new constraints to eliminate all the superior non-integer solutions. The
construction of additional constraints, called secondary or Gomory’s
constraints is important and needs special attention.
Because x2 and x3 are basic variables (which implies that y12 = 1 and
y13 = 0). The above equation can be rewritten as
x2 = y10 - y11 x1 - y14 x4
This is a linear combination of non-basic variables.
Now, since y10 0 the fractional part of y10 must also be non-negative. You
can split each of yij in (1) into an integral part Iij , and a non-negative
fractional part, f1j for j = 0,1,2,3,4. After the breakup (1) above, you can write
it as:
I10 + f10 = (I11 + f11) x2 + (I14 + f14) x4
Or
f10 - f11 x2 - f14 x4 = x2 + I11 x1 + I14x4 - I10 _____ (2)
Sikkim Manipal University Page No. 138
Operations Research Unit 7
If you compare (1) and (2), you will see that if you add an additional
constraint in such a way that the left-hand side of (2) is an integer; then you
will be forcing the non-integer y10 towards an integer.
The desired Gomory’s constraint is
f10 – f11 x1 – f11 x4 ≤ 0
It is possible to have f10 – f11 x1 – f11 x4 = h where h > 0 is an integer. Then
f10 = h + f11 x1 + f14 x4 is greater than one. This contradicts that 0 < fij < 1 for j
= 0, 1, 2, 3, 4.
Thus Gomory’s constraint is
fig x j f 10 or fij . x j f10
j 1, 4 j 1, 4
or fij x j Gsla (1) f10
j 1,4
Where Gsla (1) is a slack variable in the above first Gomory’s constraint
The additional constraint to be included in the given LPP is towards
obtaining an optimum all integer solution. After adding the constraint, the
optimum simplex table looks like table 7.2 given below.
Table 7.2: Optimum simplex table
yB xB y1 y2 y3 y4 Gsla(1)
Since – f10 is negative, the optimal solution is unfeasible. Thus the dual
simplex method is to be applied for obtaining an optimum feasible solution.
After obtaining this solution, the above referred procedure is applied for
constructing second Gomory’s constraint. The process is to be continued till
all the integer solution has been obtained.
Step 8: If the new optimum solution for the modified LPP is an integer
solution, it is also feasible and optimum for the given IPP. If it is not an
integer solution, then return to step 4 and repeat the process until an
optimum feasible integer solution is obtained.
Solved Problem 1
Find the optimum integer solution of the following all IPP.
Maximise z = x1 + 2x2
Subject to the constraints
x1 + x2 ≤ 7
2x1 ≤ 11
2x2 ≤ 7
x1, x2 > 0 and are integers
Solution: Step 1: Introduce the slack variables
2x2 + x3 = 7
x1 + x2 + x4 = 7
2x1 + x5 = 11
x1, x2, x3, x4, x5 > 0.
Step 2: Ignore the integer condition, to get the following initial simplex table.
Cj
1 2 0 0 0
→
Mini ratio
Basic xB
CB XB X1 X2 X3 X4 X5
variable
x2
7
← x3 0 7 0 2 1 0 0
2
7
x4 0 7 1 1 0 1 0
1
x5 0 11 2 0 0 0 1 –
–2 0
Z=0 –1 0 0 j
↑ ↓ ←
1 1
x2 2 3 0 1 0 0 –
2 2
1
1 1 3
←x4 0 3 1 0 1 0 2
2 2 1
11
x5 0 11 2 0 0 0 1
2
-1 0
Z= CB XB = 7 0 1 0 j
↑ ↓ ←
1 CB X1 C1 2, 0, 00, 1, 2 1 1
1 1
3 C B X 3 C3 2, 0, 0 , , 0 0 1
2 2
Introducing X1 and leaving X4, you get the following optimum table.
1 1
Z = 10 0 0 1 0
2 2 j
1 1
3 CB X3 C3 2, 1, 0 , , 1 0
2 2
1 1
1 0
2 2
4 CB X 4 C4 2, 1, 00, 1, 2 0 1
1 1 1
The optimum solution you get is: x1 3 , x 2 3 , z 10
2 2 2
Step 3: Since the optimum solution obtained above is not an integer solution,
you must proceed to step 4.
Step 4: Now we select the constraint corresponding to the criterion.
max (fBi) = max (fB1, fB2, fB3)
1 1 1
= max , ,0
2 2 2
Since in this problem, the x2 equation and x1 equation both have the same value
1
of fBi that is , you can use either one of the two equations.
2
Now consider the first row of the optimum table. The Gomory’s constraint to be
added is
j 3, 4
f1 j x j g1 f B1 or f13 x3 f14 x4 g1 f B1
1
x 3 0 x 4 g1
1
or
1
x3 g 1
1
x3 x4 0
2 2 2 2
Adding this new constraint to the optimum table, you get
Table 7.6: The new optimum table
Cj → 1 2 0 0 0 0
Basic
CB XB X1 X2 X3 X4 X5 G1
variable
1 1
X2 2 3 0 1 0 0 0
2 2
1 1
X1 1 3 1 0 1 0 0
2 2
X5 0 4 0 0 1 -2 1 0
→
1
G1 0
1 0 0 0 0 1
2 2
Z= CB XB =
1 0
1 0 0 1 0 ← j
10 2↑ ↓
2
Sikkim Manipal University Page No. 144
Operations Research Unit 7
Step 5: Now apply the dual simplex method to remove infeasibility of the
optimum solution.
1 1 1
x1 3 , x2 3 , x5 4, g1
2 2 2
You use the dual simplex method.
i) leaving vector is G1 (i.e. 4 )
r 4
ii) Entering vector is given by
k j 3
max , x 4 j 0 max
x 4k x 4 j x 43
1
= max 2 3
1 x 43
2
Therefore k = 3. So we must enter a3 corresponding to which x3 is given in the
above table. Thus dropping G1 and introducing x3. We get the following dual
simplex table.
Table 7.7 The dual simplex table
Cj → 1 2 0 0 0 0
Basic C
XB X1 X2 X3 X4 X5 G1
variable B
X2 2 3 0 1 0 0 0 1
X1 1 4 1 0 0 1 0 -1
X5 0 3 0 0 0 -2 1 2
X3 0 1 0 0 1 0 0 -2
← j
Z = CB XB = 10 0 0 0 1 0 1
4 CB X4 C4 2, 1, 0, 0 0, 1, 2, 0 0 1
6 CB G1 C6 2, 1, 0, 0 1, 1, 2, 2 0 1
Now the optimum feasible solution is obtained in integers.
Finally, you get the integer optimum solution to the given IPP as x1 = 4, x2 = 3
and max z = 10.
True or False:
5. Do you select the variable for Gomory’s constraint whose fractional
value is more?
6. Optimum values in an pure IPP can be x=2 and y=3.5.
Then the solution having the larger value for z is clearly the optimum for the
given IPP. However, it usually happens that one (or both) of these problems
have no optimal solution satisfying (3), and thus some more computations
are required. Now let us discuss, step wise, the algorithm that specifies how
to apply the partitioning (6) and (7) in a systematic manner to finally arrive at
an optimum solution.
Let’s start with an initial lower bound for z, say z(0) at the first iteration, which
is less than or equal to the optimal value z*. This lower bound may be taken
as the starting Lj for some xj.
In addition to the lower bound z(0), you also have a list of LPPs (to be called
master list) differing only in the bounds (5). To start with (the 0th iteration)
the master list contains a single LPP consisting of (1), (2), (4) and (5). Let us
now discuss the procedure that specifies how the partitioning (6) and (7) can
be applied systematically to eventually get an optimum integer-valued
solution.
Solved Problem 2
Use branch and bound technique to solve the following IPP
Maximise z = 7x1 + 9x2 ---------------- (1)
Subject to the constraints
– x 1 + 3x2 < 6 -–------------ (2)
7x1 + x2 < 35
0 < x1, x2 < 7 -------------- (3)
x1, x2 are integers -–--------- (4)
(0)
Solution: At the starting iteration, you can consider z = 0 to be the lower bound,
for x, since all xj = 0 is feasible. The master list contains only LPP (1) (2) and (3),
which is designated as problem 1. Choose it in step 0, and in step 1 determine
the optimum solution.
9 7
z0 = 63 x1 , x 2 (Solution to problem 1)
2 2
Since the solution is not integer valued, proceed from step 2 to step 3, and select
9
x1. Then, since x 1* 4 , place the following two additional problems on the
2
master list.
Problem 2: (1) (2) and 5 ≤ x1 ≤ 7; 0 ≤ x2 ≤ 7
Problem 3: (1) (2) and 0 ≤ x1 ≤ 4 ; 0 ≤ x2 ≤ 7
(1) (0)
Returning to step 0: z = z = 0,
Suppose you choose problem 2, Step 1 establishes that problem 2 has the
feasible solution
z0 = 35, x1 = 5 x2 = 0 [solution to problem (2)] ……………(5)
Since it satisfies the integer constraints, record it at step 2 by enclosing in a
(2)
rectangle and let z = 35.
(2)
Returning to step 0 with z = 35, you will find that problem 3 is available.
x2. Then x x* 10 3 . Then add the following additional problems on the
3
master list:
Problem 4: (1) (2) and 0 x1 4 ; 4 x 2 7
Problem 5: (1) (2) and 0 ≤ x1 ≤ 4; 0 ≤ x2 ≤ 3
(3) (2)
Returning to step 0 with z = z = 35, choose problem 4 from step 1, as you
(4)
know that problem 4 has no feasible solution, you again return to step 0 with z =
(3)
z = 35. Only problem 5 is available in the master list. In step 1, you again
determine the following optimum solution to this problem.
z0 = 55 x1 = 4 x2 = 3 (solution to problems) ---------- (6)
Since this satisfies the integer constraints, record it at step 2 by enclosing inside a
(5)
rectangle and let z = 55.
Returning to step 0, you will find that the master list is empty; and thus the
algorithm terminates.
Now on termination, you will find that only two feasible integer solutions namely
(5) and (6) have been recorded. The best of these gives the optimum solution to
the given IPP. Hence the optimum integer solution to the given IPP is Z0 = 55, x1
= 4, x2 = 3.
Solution Additional
Node Type of solution
x1 x2 z* Constraints
9 7 Non-integer (Original
(1) 63 __
2 2 problem)
(2) 5 0 35 x1 5 Integer ← z*
(1)
10
(3) 4 58 x1 4 Non-integer
3
(4) …… …….. …….. x1 4, x 2 4 No solution
(5) 4 3 55 x1 4, x 2 3 (2)
Integer ←z* (Optimal)
7.6 Summary
This chapter examines the programming model in which the assumption of
divisibility is weakened. This unit also describes two algorithms to determine
the optimal solution for an integer programming problem. One is the cutting
plane algorithm devised by Gomory and the other is the branch and bound
algorithm developed by Land Doig.
7.9 References
No external sources have been referred for this unit.