This action might not be possible to undo. Are you sure you want to continue?
Sikkim Manipal University Page No. 136
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 nonnegative integer values. You
can apply this problem to various situations in business and industry where
discrete nature of the variables is involved in many decisionmaking
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
Operations Research Unit 7
Sikkim Manipal University Page No. 137
7.2 All and Mixed Integer Programming Problem (IPP)
An integer programming problem can be described as follows:
Determine the value of unknowns x
1
, x
2
, … , x
n
So as to optimise z = c
1
x
1
+c
2
x
2
+ . . .+ c
n
x
n
Subject to the constraints
a
i1
x
1
+ a
i2
x
2
+ . . . + a
in
x
n
=b
i ,
i = 1,2,…,m
and x
j
>
0 j = 1, 2, … ,n
Where x
j
being an integral value for j = 1, 2, … , k
s
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 nonnegative 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 nonnegative 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 noninteger
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.
Operations Research Unit 7
Sikkim Manipal University Page No. 138
If all the values of the variables in the solution are integers, then an optimum
intersolution 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 noninteger 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
The optimum basic feasible solution is given by
x
B
= [x
2,
x
3
] = [y
10
, y
20
]; max z = y
00
Since x
B
is a noninteger solution, we can assume that y
10
is fractional. The
constraint equation is
y
10
= y
11
x
1 +
y
12
x
2
+ y
13
x
3
+ y
14
x
4
( ) 0 x x
4 1
= =
It reduces to
y
10
= y
11
x
1 +
x
2
+ y
14
x
4
( ) 0 x x
4 1
= = _____ (1)
Because x
2
and x
3
are basic variables (which implies that y
12
= 1 and
y
13
= 0). The above equation can be rewritten as
x
2
= y
10
 y
11
x
1
 y
14
x
4
This is a linear combination of nonbasic variables.
Now, since y
10
> 0 the fractional part of y
10
must also be nonnegative. You
can split each of y
ij
in (1) into an integral part I
ij
, and a nonnegative
fractional part, f
1j
for j = 0,1,2,3,4. After the breakup (1) above, you can write
it as:
I
10 +
f
10
= (I
11
+ f
11
) x
2
+ (I
14
+ f
14
) x
4
Or
f
10 
f
11
x
2
 f
14
x
4
= x
2
+ I
11
x
1
+ I
14
x
4
 I
10
_____ (2)
y
B
x
B
y
1
y
2
y
3
y
4
y
2
y
10
y
11
y
12
y
13
y
14
y
3
y
20
y
21
y
22
y
23
y
24
y
00
y
01
y
02
y
03
y
04
Operations Research Unit 7
Sikkim Manipal University Page No. 139
If you compare (1) and (2), you will see that if you add an additional
constraint in such a way that the lefthand side of (2) is an integer; then you
will be forcing the noninteger y
10
towards an integer.
The desired Gomory’s constraint is
f
10
– f
11
x
1
– f
11
x
4
≤ 0
It is possible to have f
10
– f
11
x
1
– f
11
x
4
= h where h > 0 is an integer. Then
f
10
= h + f
11
x
1
+ f
14
x
4
is greater than one. This contradicts that 0 < f
ij
< 1 for j
= 0, 1, 2, 3, 4.
Thus Gomory’s constraint is
10 sla
4 , 1 j
j ij
4 , 1 j
10 j ij
4 , 1 j
j ig
f ) 1 ( G x f or
f x . f or f x f
10
÷ = + ÷
÷ s ÷ >
¿
¿ ¿
=
= =
Where G
sla
(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
y
B
x
B
y
1
y
2
y
3
y
4
G
sla
(1)
y
1
y
10
y
11
y
12
y
13
y
14
0
y
2
y
20
y
21
y
22
y
23
y
24
0
G
sla
(1) – f
10
– f
11
0 0 – f
14
1
y
00
y
01
y
02
y
03
y
04
y
05
Since – f
10
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
______ ______ ________.
Operations Research Unit 7
Sikkim Manipal University Page No. 140
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.
Operations Research Unit 7
Sikkim Manipal University Page No. 141
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
) m ........, , 2 , 1 , 0 i ( , b x , y
1
i
j
1
n
0 j
ij
= =
¿
=
Where
n'
denotes the number of variables and
m'
the number of
equations. Choose the largest fraction of b
i
s to find { }
i i
b
i
max
Let it be  
i
1
k
b or write is as
o
k
f
Step 5: Express the negative fractions if any, in the k
th
row of the optimum
simplex table as the sum of a negative integer and a nonnegative fraction.
Step 6: Find the Gomorian constraint
¿
=
>
1
n
0 j
ko
j kj
f x , f
And add the equation
¿
=
+ ÷ =
1
n
0 j
j kj ko
sla
x . f f ) 1 ( G
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 G
sla
(1) is the initial leaving basic
variable.
Operations Research Unit 7
Sikkim Manipal University Page No. 142
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 = x
1
+ 2x
2
Subject to the constraints
x
1
+ x
2
≤ 7
2x
1
≤ 11
2x
2
≤ 7
x
1
, x
2
> 0 and are integers
Solution: Step 1: Introduce the slack variables
2x
2
+ x
3
= 7
x
1
+ x
2
+ x
4
= 7
2x
1
+ x
5
= 11
x
1
, x
2
, x
3
, x
4
, x
5
> 0.
Step 2: Ignore the integer condition, to get the following initial simplex table.
Table 7.3: Initial simplex table
C
j
→
1 2 0 0 0
Basic
variable
C
B
X
B
X
1
X
2
X
3
X
4
X
5
Mini ratio
2
B
x
x
← x
3
0 7 0
2
1 0 0 ÷
2
7
x
4
0 7 1 1 0 1 0
1
7
x
5
0 11 2 0 0 0 1 –
Z = 0 – 1
– 2
↑
0
↓
0 0
←
j
A
Operations Research Unit 7
Sikkim Manipal University Page No. 143
Introducing x
2
and leaving x
3
from the basis, you get
Table 7.4: Revised simplex table
C
j
→ 1 2 0 0 0
Basic
variable
C
B
X
B
X
1
X
2
X
3
X
4
X
5
Mini ratio
1
B
x
x
x
2
2
2
1
3 0 1
2
1
0 0 –
←x
4
0
2
1
3
0
2
1
÷
1 0
1
2
1
3 ÷
x
5
0 11 2 0 0 0 1
2
11
Z= C
B
X
B
= 7
1
↑
0 1
0
↓
0
←
j
A
( )( )
1 1 2 , 1 , 0 0 , 0 , 2
1 1 1
÷ = ÷ = ÷ = A C X C
B
( )
1 0 0 ,
2
1
,
2
1
0 , 0 , 2
3 3 3
= ÷

.

\

÷ = ÷ = A C X C
B
Introducing X
1
and leaving X
4
, you get the following optimum table.
Table 7.5: Optimum table
C
j
→ 1 2 0 0 0
Basic
variable
C
B
X
B
X
1
X
2
X
3
X
4
X
5
x
2
2
2
1
3 0 1
2
1
0 0
x
1
1
2
1
3 1 0
2
1
÷ 1 0
x
5
0 4 0 0 1 2 1
Z =
2
1
10 0 0
2
1
1 0
÷
j
A
1
Operations Research Unit 7
Sikkim Manipal University Page No. 144
( ) 0 1 ,
2
1
,
2
1
0 , 1 , 2 C X C
3 3 B 3
÷ 
.

\

÷ = ÷ = A
2
1
0
2
1
1 = 
.

\

+ ÷ =
( ) ( ) 1 0 2 , 1 , 0 0 , 1 , 2 C X C
4 4 B 4
= ÷ ÷ = ÷ = A
The optimum solution you get is:
2
1
10 z ,
2
1
3
2
x ,
2
1
3
1
x = = =
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 (f
Bi
) = max (f
B1
, f
B2
, f
B3
)
= max
2
1
0 ,
2
1
,
2
1
= 
.

\

Since in this problem, the x
2
equation and x
1
equation both have the same value
of f
Bi
that is
2
1
, you can use either one of the two equations.
Now consider the first row of the optimum table. The Gomory’s constraint to be
added is
¿
=
÷ = + ÷ ÷ ÷ = + ÷
4 , 3
1 4 14 3 13 1 1 1
1
j
B B j j
f g x f x f or f g x f
( )
0
2
1
2
1
2
1
0
2
1
4 3 1 3 1 4 3
= = ÷ = + ÷ ÷ = + ÷ ÷ x x g x or g x x
Adding this new constraint to the optimum table, you get
Table 7.6: The new optimum table
C
j
→ 1 2 0 0 0 0
Basic
variable
C
B
X
B
X
1
X
2
X
3
X
4
X
5
G
1
X
2
2
2
1
3 0 1
2
1
0 0 0
X
1
1
2
1
3 1 0
2
1
÷ 1 0 0
X
5
0 4 0 0 1 2 1 0
G
1
0
→
2
1
÷
0 0
2
1
÷
0 0 1
Z= C
B
X
B
=
2
1
10
0 0
2
1
↑
1 0
0
↓
←
j
A
Operations Research Unit 7
Sikkim Manipal University Page No. 145
Step 5: Now apply the dual simplex method to remove infeasibility of the
optimum solution.
2
1
, 4 ,
2
1
3 ,
2
1
3
1 5 2 1
÷ = = = = g x x x
You use the dual simplex method.
i) leaving vector is G
1
(i.e.
4
 )
4 = r
ii) Entering vector is given by
(
¸
(
¸
A
=
(
(
¸
(
¸
<
A
=
A
43
3
j 4
j 4
j
k 4
k
x
max 0 x ,
x
max
x
=
43
3
x
2
1
2
1
max
A
=
(
(
(
(
¸
(
¸
÷
Therefore k = 3. So we must enter a
3
corresponding to which x
3
is given in the
above table. Thus dropping G
1
and introducing x
3
. We get the following dual
simplex table.
Table 7.7 The dual simplex table
C
j
→ 1 2 0 0 0 0
Basic
variable
C
B
X
B
X
1
X
2
X
3
X
4
X
5
G
1
X
2
2 3 0 1 0 0 0 1
X
1
1 4 1 0 0 1 0 1
X
5
0 3 0 0 0 2 1 2
X
3
0 1 0 0 1 0 0 2
Z = C
B
X
B
= 10 0 0 0 1 0 1
←
j
A
( ) ( ) 1 0 0 , 2 , 1 , 0 0 , 0 , 1 , 2 C X C
4 4 B 4
= ÷ ÷ = ÷ = A
( ) ( ) 1 0 2 , 2 , 1 , 1 0 , 0 , 1 , 2 C G C
6 1 B 6
= ÷ ÷ ÷ = ÷ = A
Now the optimum feasible solution is obtained in integers.
Finally, you get the integer optimum solution to the given IPP as x
1
= 4, x
2
= 3
and max z = 10.
Operations Research Unit 7
Sikkim Manipal University Page No. 146
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
Maximise
¿
=
=
n
1 j
j j
x c z –––––––––––––––––––––––––––– (1)
Subject to the constraints
m ...., , 2 , 1 i b x a
n
1 j
i j ij
= s
¿
=
––––––––––––––––––– (2)
x
j
is integer valued , j = 1, 2, …….., r (< n) ––––––––––––––––– (3)
x
j
> 0 …………………. j = r + 1, …….., n ––––––––––––––––––––– (4)
Further let us suppose that for each integer valued x
j
, we can assign lower
and upper bounds for the optimum values of the variable by
L
j
≤ x
j
≤ U
j
j = 1, 2, …. r –––––––––––––––––––––––––– (5)
This is the main idea behind “the branch and bound technique”.
Consider any variable x
j
, and let I be some integer value satisfying L
j
s I s U
j
– 1. Then clearly an optimum solution (1) through (5) also satisfies either
linear constraint.
x
j
> I + 1 –––––––––––––––––––––––––––––– (6)
Or the linear constraint x
j
≤ 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 x
1
= 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 ≤ x
1
≤ U
1
in one problem and L
1
≤ x
1
≤ 1 in the
other. Further to each of these problems, process an optimal solution
satisfying integer constraint (3).
Operations Research Unit 7
Sikkim Manipal University Page No. 147
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 L
j
for some x
j
.
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 0
th
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 integervalued
solution.
7.5.1 Branch and bound algorithm
At the t
th
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 x
j
, j = 1, 2, …., p. that does not have an integer
value in the obtained optimum solution to the LPP, chosen in step 0. Let
*
j
x
denote this optimal value of x
j
. Add two LPPs to the master list. These LPPs
are identical to the LPPs chosen in step 0, except that, the lower bound on
x
j
is replaced by
(
¸
(
¸
*
j
x + 1. Let z
(t+1)
= z
(t)
; return to step 0.
Operations Research Unit 7
Sikkim Manipal University Page No. 148
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 = 7x
1
+ 9x
2
 (1)
Subject to the constraints
– x
1
+ 3x
2
< 6 – (2)
7x
1
+ x
2
< 35
0 < x
1
, x
2
< 7  (3)
x
1
, x
2
are integers – (4)
Solution: At the starting iteration, you can consider z
(0)
= 0 to be the lower bound,
for x, since all x
j
= 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.
z
0
= 63
2
7
x ,
2
9
x
2 1
= = (Solution to problem 1)
Since the solution is not integer valued, proceed from step 2 to step 3, and select
x
1
. Then, since   4
2
9
x
*
1
=
(
¸
(
¸
= , place the following two additional problems on the
master list.
Problem 2: (1) (2) and 5 ≤ x
1
≤ 7; 0 ≤ x
2
≤ 7
Problem 3: (1) (2) and 0 ≤ x
1
≤ 4 ; 0 ≤ x
2
≤ 7
Returning to step 0: z
(1)
= z
(0)
= 0,
Suppose you choose problem 2, Step 1 establishes that problem 2 has the
feasible solution
z
0
= 35, x
1
= 5 x
2
= 0 [solution to problem (2)] ……………(5)
Since it satisfies the integer constraints, record it at step 2 by enclosing in a
rectangle and let z
(2)
= 35.
Returning to step 0 with z
(2)
= 35, you will find that problem 3 is available.
Step 1 determines the following optimum feasible solution to it
Z
0
= 58, x
1
= 4,
3
10
x
2
= (Problem 3)
Since the solution is not integer valued, proceed from step 2 to step 3 and select
Operations Research Unit 7
Sikkim Manipal University Page No. 149
x
2
. Then   3
3
10
*
x
x
=
(
¸
(
¸
= . Then add the following additional problems on the
master list:
Problem 4: (1) (2) and 7
2
x 4 ; 4
1
x 0 s s s s s
Problem 5: (1) (2) and 0 ≤ x
1
≤ 4; 0 ≤ x
2
≤ 3
Returning to step 0 with z
(3)
= z
(2)
= 35, choose problem 4 from step 1, as you
know that problem 4 has no feasible solution, you again return to step 0 with z
(4)
=
z
(3)
= 35. Only problem 5 is available in the master list. In step 1, you again
determine the following optimum solution to this problem.
z
0
= 55 x
1
= 4 x
2
= 3 (solution to problems)  (6)
Since this satisfies the integer constraints, record it at step 2 by enclosing inside a
rectangle and let z
(5)
= 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 Z
0
= 55, x
1
= 4, x
2
= 3.
Figure 7.2: Tree diagram of the above example
Operations Research Unit 7
Sikkim Manipal University Page No. 150
Table 7.8: Solution table
Node
Solution
Additional
Constraints
Type of solution
x
1
x
2
z*
(1)
2
9
2
7
63 __
Noninteger (Original
problem)
(2) 5 0 35 5 x
1
>
Integer ← z*
(1)
(3) 4
3
10
58 4 x
1
s
Noninteger
(4) …… …….. …….. 4 x , 4 x
2 1
> s No solution
(5) 4 3 55 3 x , 4 x
2 1
s s Integer ←z*
(2)
(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 = 3x
1
+ 3x
2
+ 13 x
3
Subject to
– 3x
1
+ 6x
2
+ 7x
3
≤ 8
6x
1
– 3x
2
+ 7x
3
≤ 8
0 ≤ x
j
≤ 5
And x
j
are integer j = 1, 2, 3
Operations Research Unit 7
Sikkim Manipal University Page No. 151
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 8
th
iteration we get the optional solution to the I.P.P. is
x
1
= x
2
= 0, x
3
= 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.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.