Вы находитесь на странице: 1из 16

Operations Research Unit 7

Unit 7 Integer Programming Problem


Structure:
7.1 Introduction
Learning Objectives
7.2 All and Mixed Integer Programming Planning
7.3 Gomory’s all IPP Method
Construction of Gomory’s constraints
7.4 All IPP Algorithms
7.5 Branch and Bound Technique
Branch and bound algorithm
7.6 Summary
7.7 Terminal Questions
7.8 Answers to SAQs and TQs
Answers to self assessment questions
Answers to terminal questions
7.9 References

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

Sikkim Manipal University Page No. 136


Operations Research Unit 7

7.2 All and Mixed Integer Programming Problem (IPP)


An integer programming problem can be described as follows:
Determine the value of unknowns x1, x2, … , xn
So as to optimise z = c1x1 +c2x2 + . . .+ cnxn
Subject to the constraints
ai1 x1 + ai2 x2 + . . . + ain xn =bi , i = 1,2,…,m
and xj  0 j = 1, 2, … ,n
Where xj being an integral value for j = 1, 2, … , k  n.
If all the variables are forced to take only integral value that is k = n, it is
called an all (or pure) integer programming problem. If some of the variables
are restricted to take integral value and the remaining (n – k) variables take
any non-negative value, then the problem is known as a mixed integer
programming problem.

Self Assessment Questions


True or False:
1. Integer programming is applied to problems that involve discrete
variables.
2. If some variables take on non-negative values, then it is known as pure
IPP.

7.3 Gomory’s All – IPP Method


An optimum solution to an IPP is obtained by using the simplex method,
ignoring the restriction of integral values. In the optimum solution, if all the
variables have integer values, the current solution will be the required
optimum integer solution.
Otherwise, the given IPP is modified by inserting a new constraint called
Gomory’s constraint or secondary constraint. This constraint represents
necessary conditions for integrability and eliminates some non-integer
solution without losing any integral solution. On addition of the secondary
constraint, the problem is solved using dual simplex method to obtain an
optimum integral solution.

Sikkim Manipal University Page No. 137


Operations Research Unit 7

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.

7.3.1 Construction of Gomory’s constraints


Consider a LPP or an optimum non–integer basic feasible solution. With the
usual notations, let the solution be displayed in the following simplex table.
Table 7.1: Simplex table
yB xB y1 y2 y3 y4
y2 y10 y11 y12 y13 y14
y3 y20 y21 y22 y23 y24
y00 y01 y02 y03 y04

The optimum basic feasible solution is given by


xB = [x2, x3 ] = [y10, y20]; max z = y00
Since xB is a non-integer solution, we can assume that y10 is fractional. The
constraint equation is
y10 = y11 x1 + y12 x2 + y13 x3+ y14 x4 x1  x 4  0
It reduces to
y10 = y11 x1 + x2 + y14 x4 x1  x 4  0 _____ (1)

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)

y1 y10 y11 y12 y13 y14 0


y2 y20 y21 y22 y23 y24 0
Gsla(1) – f10 – f11 0 0 – f14 1

y00 y01 y02 y03 y04 y05

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.

Self Assessment Questions


Fill in the blanks:
3. An optimum solution to IPP is first obtained by using ______________.
4. With the addition of Gomory’s constraint, the problem is solved by
______ ______ ________.
Sikkim Manipal University Page No. 139
Operations Research Unit 7

7.4 All IPP Algorithm


The iterative procedure for the solution of integer programming problem is
as follows.

Figure 7.1: Iterative procedure of IPP

Step 1: Convert the minimisation IPP into maximisation, if it is in


minimisation form. Ignore the integrality condition.

Sikkim Manipal University Page No. 140


Operations Research Unit 7

Step 2: Introduce the slack or surplus variables, if needed to convert the


inequations into equations and obtain the optimum solution of the given LPP
by using simplex algorithm.
Step 3: Test the integrality of the optimum solution
a) If the optimum solution contains all integer values, an optimum basic
feasible integer solution has been obtained.
b) If the optimum solution does not include all integer values, then proceed
to the next step.
Step 4: Examine the constraint equations corresponding to the current
optimum solution. Let these equations be represented by
n1
 y ij , x j  b i , (i  0, 1, 2, ........, m1 )
j0

Where n denotes the number of variables and m the number of

equations. Choose the largest fraction of bis to find max b i i


i
Let it be b  or write is as f
1
k i k
o
Step 5: Express the negative fractions if any, in the kth row of the optimum
simplex table as the sum of a negative integer and a non-negative fraction.
Step 6: Find the Gomorian constraint
n1
 f kj , x j  fko
j0
And add the equation
n1
G sla (1)   f ko   f kj . x j
j0
To the current set of equation constraints
Step 7: Start with a new set of equation constraints. Find the new optimum
solution by dual simplex algorithm so that Gsla (1) is the initial leaving basic
variable.

Sikkim Manipal University Page No. 141


Operations Research Unit 7

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.

Table 7.3: 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
↑ ↓ ←

Sikkim Manipal University Page No. 142


Operations Research Unit 7

Introducing x2 and leaving x3 from the basis, you get


Table 7.4: Revised simplex table
Cj → 1 2 0 0 0
Mini ratio
Basic xB
CB XB X1 X2 X3 X4 X5
variable
x1

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, 00, 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.

Table 7.5: Optimum table


Cj → 1 2 0 0 0
Basic
CB XB X1 X2 X3 X4 X5
variable
1 1
x2 2 3 0 1 0 0
2 2
1 1
x1 1 3 1 0  1 0
2 2
x5 0 4 0 0 1 -2 1

1 1 
Z = 10 0 0 1 0
2 2 j

Sikkim Manipal University Page No. 143


Operations Research Unit 7

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, 00, 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.

Sikkim Manipal University Page No. 145


Operations Research Unit 7

Self Assessment Questions

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.

7.5 Branch and Bound Technique


Sometimes a few or all the variables of an IPP are constrained by their
upper or lower bounds or by both. The most general technique for a solution
of such constrained optimisation problems is the branch and bound
technique. The technique is applicable to both all (or pure) IPP as well as
mixed IPP. The technique for a maximisation problem is discussed below:
Let the IPP be
n
Maximise z  cj xj –––––––––––––––––––––––––––– (1)
j1
Subject to the constraints
n
 a ij x j  b i i  1, 2, ...., m ––––––––––––––––––– (2)
j1

xj is integer valued , j = 1, 2, …….., r (< n) –––––––––––––––––- (3)


xj > 0 …………………. j = r + 1, …….., n ––––––-––––––––––––––– (4)
Further let us suppose that for each integer valued xj, we can assign lower
and upper bounds for the optimum values of the variable by
Lj ≤ xj ≤ Uj j = 1, 2, …. r –––––––––––––––––––––––––– (5)
This is the main idea behind “the branch and bound technique”.
Consider any variable xj, and let I be some integer value satisfying Lj  I  Uj
– 1. Then clearly an optimum solution (1) through (5) also satisfies either
linear constraint.
xjI+1 –––––––––––––––––––––––––––––– (6)
Or the linear constraint xj ≤ I –––––––––––––––––––––––––––––– (7)
To explain how this partitioning helps, let’s assume that there were no
integer restrictions (3), and it yields an optimal solution to LPP – (1), (2), (4)
and (5). This indicates x1 = 1.66 (for example).
Then you formulate and solve two LPPs each containing (1), (2) and (4). But
(5) for j = 1 is modified to be 2 ≤ x1 ≤ U1 in one problem and L1 ≤ x1 ≤ 1 in the
other. Further to each of these problems, process an optimal solution
satisfying integer constraint (3).
Sikkim Manipal University Page No. 146
Operations Research Unit 7

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.

7.5.1 Branch and bound algorithm


At the tth iteration (t = 0, 1, 2 …), apply the following steps to get an optimum
integer.
Step 0: If the master list is not empty, choose an LPP from it. Otherwise
stop the process, go to step 1.
Step 1: Obtain the optimum solution to the chosen problem. If either
i) It has no feasible solution or
ii) The resulting optimum value of the objective function z is less than
or equal to z(t), then let z(t+1) = z(t) and return to step 0; otherwise go
to step 2
Step 2: If the obtained optimum solution satisfies the integer constraints (3)
then record it. Let z(t+1) be the associated optimum value of z; return to step
0. Otherwise move to step 3.
Step 3: Select any variable xj, j = 1, 2, …., p. that does not have an integer
value in the obtained optimum solution to the LPP, chosen in step 0. Let x *j
denote this optimal value of xj. Add two LPPs to the master list. These LPPs
are identical to the LPPs chosen in step 0, except that, the lower bound on
xj is replaced by  x *j  + 1. Let z(t+1) = z(t); return to step 0.
 

Sikkim Manipal University Page No. 147


Operations Research Unit 7

Note: At the termination of the algorithm, if a feasible integer valued solution


yielding z(t) has been recorded, it is optimum, or else no integer valued
feasible solution exists.

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.

Step 1 determines the following optimum feasible solution to it


10
Z0 = 58, x1 = 4, x 2  (Problem 3)
3
Since the solution is not integer valued, proceed from step 2 to step 3 and select

Sikkim Manipal University Page No. 148


Operations Research Unit 7

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.

Figure 7.2: Tree diagram of the above example

Sikkim Manipal University Page No. 149


Operations Research Unit 7

Table 7.8: Solution table

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)

Self Assessment Questions


True or False:
7. Branch and bound technique is applied when some variables have
upper or lower bounds.
8. We start the technique with lower bound.

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.7 Terminal Questions


1. Use Branch and Bound technique to solve the following problem
Maximise z = 3x1 + 3x2 + 13 x3
Subject to
– 3x1 + 6x2 + 7x3 ≤ 8
6x1 – 3x2 + 7x3 ≤ 8
0 ≤ xj ≤ 5
And xj are integer j = 1, 2, 3
Sikkim Manipal University Page No. 150
Operations Research Unit 7

2. What is integer programming?


3. Explain the Gomory’s cutting plane all integer algorithm of an IPP?

7.8 Answers to SAQs and TQs

Answers to Self Assessment Questions


1. True
2. False
3. Simplex method
4. Dual simplex method
5. Correct
6. Wrong
7. True
8. False

Answers to Terminal Questions


1. At the end of the 8th iteration we get the optional solution to the I.P.P. is
x1 = x2 = 0, x3 = 1, z* = 13.
2. Refer to Section 7.2
3. Refer to Section 7.3

7.9 References
No external sources have been referred for this unit.

Sikkim Manipal University Page No. 151

Вам также может понравиться