of 15
7/27/2019 Operations Research 7
1/15
Operations Research Unit 7
Sikkim Manipal University 112
Unit 7 Integer Programming Problem
Structure
7.1. Introduction
7.2. All and mixed I.P.P
7.3 Gomorys all I.P.P method
7.3.1 Construction of Gomorys Constraints
7.4. All I.P.P algorithm
7.5. Branch and Bound technique
7.5.1 Branch and bound algorithm
7.6. Summary
Terminal Questions
. Answers to SAQs and TQs
7.1 Introduction
The Integer Programming Problem I P P is a special case of L P P where all or some variables
are constrained to assume non-negative integer values. This type of problem has lot of
applications in business and industry where quite often discrete nature of the variables is involved
in many decision making situations.
Eg. 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
After studying this unit, you should be able to understand the following
1. At the end of this unit a student:
2. Frames a I.P.P.
3. Solves a I.P.P. during Gomorys method.
4. Applies the branch and land technique.
7/27/2019 Operations Research 7
2/15
Operations Research Unit 7
Sikkim Manipal University 113
7.2 All And Mixed I P P
An integer programming problem can be described as follows:
Determine the value of unknowns x1, x2, , xn
so as to optimize z = c1x1 +c2x2 + . . .+ cnxn
subject to the constraints
ai1x1 + ai2x2 + . . . + ainxn =bi , i = 1,2,,m
and xj 0 j = 1, 2, ,n
where xjbeing an integral value forj = 1, 2, , k n.
If all the variables are constrained to take only integral value i.e. k = n, it is called an all(or pure)
integer programming problem. In case only some of the variables are restricted to take integral
value and rest (n k) variables are free to take any non negative values, then the problem is
known as mixed integer programming problem.
Self Assessment Questions 1
State True / False
1. Integer programming is applied to problems that involve discrete variables.
2. If some variables can take non negative values then it is known as pure I.P.P
7.3 Gomorys All IPP Method
An optimum solution to an I. P. P. is first obtained by using simplex method ignoring the restriction
of integral values. In the optimum solution if all the variables have integer values, the currentsolution will be the desired optimum integer solution. Otherwise the given IPP is modified by
inserting a new constraint called Gomorys or secondary constraint which represents necessary
condition for integrability and eliminates some non integer solution without losing any integral
solution. After adding the secondary constraint, the problem is then solved by dual simplex
method to get an optimum integral solution. If all the values of the variables in this solution are
integers, an optimum inter-solution is obtained, otherwise another new constrained is added to
the modified L P P and the procedure is repeated. 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 Gomorys constraints,is so very important that it needs special attention.
7.3.1. Construction Of Gomorys Constraints
Consider a L P P for which an optimum non integer basic feasible solution has been attained .
7/27/2019 Operations Research 7
3/15
Operations Research Unit 7
Sikkim Manipal University 114
With usual notations, let this solution be displayed in the following simplex table.
Clearly the optimum basic feasible solution is
given by xB = [ ]32 ,xx = ],[ 2010 yy max z = y00Since xB is a non- integer solution. We
assume that y10 is fractional.
The constraint equation is
y10= y11x1 + y12x2 + y13x3+ y14x4 ( )041 == xxreduces to
y10= y11x1 + x2+ y14x4 ( )041
== xx -------- (1)
because x2and x3 are basic variables ( which implies that y12= 1 and y13 = 0 )
The above equation can be rewritten as
x2= y10- y11 x1 - y14x4
Which is a linear combination of non-basic variables.
Now, since y10 0 the fractional part ofy10must also be non negative. We split over each of yij in
(1) into an integral part Iij , and a non negative fractional part, f1jfor j = 0,1,2,3,4. After this break
up (1) may be written as
I10 + f10= (I11+ f11) x2 + (I14+ f14) x4
Or
f10 - f11x2 - f14x4 = x2 + I11x1 + I14x4 - I10 ------- (2)
Comparing (1) and (2) we come to know that if we add an additional constraint in such a way that
the L.H.S. of (2) is an integer, then we shall be forcing the non-integer y10 towards an integer.
This is what is needed.
The desired Gomorys constraint is f10 f11x1 f11x4 0.
Let it be possible to have f10 f11x1 f11x4 = h where h > 0 is an integer. Then f10 = h + f11x1 +f14x4 is greater than one. This contradicts that 0 < fij < 1 for j = 0, 1, 2, 3, 4.
Thus Gomorys constraint is
yB xB y1 y2 y3 y4
y2 y10 y11 y12 y13 y14
y3 y20 y21 y22 y23 y24
y00 y01 y02 y03 y04
7/27/2019 Operations Research 7
4/15
Operations Research Unit 7
Sikkim Manipal University 115
10sla4,1j
jij
4,1j10jij
4,1j10jig
f)1(Gxfor
fx.forfxf
-=+-
--
=
==
When Gsla (1) is slack variable in the above first Gomory constraint.
This additional constraint is to be included in the given L.P.P. in order to move further towards
obtaining an optimum all integer solution. After the addition of this constraint, the optimum
simplex table looks like as given below
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 infeasible and 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 Gomorys constraint. The process is to be
continued so long as an all integer solution has not been obtained.
Self Assessment Questions 2
Fill in the blanks
1. An o ptimum solution to I.P.P is first obtained by using ________ _________.
2. With the addition of Gomorys constraint the problem is solved by _______ _________
_________.
7.4 All I. P. P. Algorithm
The iterative procedure for the solution of an all integer programming problem is as follows:
Step 1: Convert the minimization I.P.P. into that of maximization, if it is in the minimization form.The integrality condition should be ignored.
Step 2: Introduce the slack or surplus variables, wherever necessary to convert the inequations
into equations and obtain the optimum solution of the given L.P.P. by using simplex algorithm.
Step 3: Test the integrality of the optimum solution
7/27/2019 Operations Research 7
5/15
Operations Research Unit 7
Sikkim Manipal University 116
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 onto next step.
Step 4: Examine the constraint equations corresponding to the current optimum solution. Let
these equations be represented by
)m........,,2,1,0i(,bx,y1
ij
1n
0jij
===
Where n denotes the number of variables andm the number of equations.
Choose the largest fraction of sbi ie to find { }iibimax
Let it bei
1kb
or write is as okf
Step 5: Express each of 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
=
1n
0jkojkj
fx,f
and add the equation
=
+-=
1n
0jjkjkosla
x.ff)1(G
to the current set of equation constraints.
Step 7: Starting with this new set of equation constraints, find the new optimum solution by dual
simplex algorithm.
(So that Gsla (1) is the initial leaving basic variable).
Step 8: If this new optimum solution for the modified L.P.P. is an integer solution. It is also
feasible and optimum for the given I.P.P. otherwise return to step 4 and repeat the process until
an optimum feasible integer solution is obtained.
7/27/2019 Operations Research 7
6/15
Operations Research Unit 7
Sikkim Manipal University 117
Example:
Find the optimum integer solution to the following all I.P.P.
Maximize z = x1 + 2x2
Subject to the constraintsx1 + x2 7
2x1 11
2x2 7
x1, x2 > 0 and are integers
Solution:
Step 1: Introducing the slack variables, we get
2x2 + x3 = 7
x1 + x2 + x4 = 7
2x1 + x5= 11
x1, x2, x3, x4, x5> 0.
Step 2: Ignoring the integer condition, we get the initial simplex table as follows:
Cj
1 2 0 0 0
Basicvariabl
eCB XB X1 X2 X3 X4 X5
Mini ratio
2Bx
x
x3 0 7 0 1 0 0 2
7
x4 0 7 1 1 0 1 01
7
x5 0 11 2 0 0 0 1
Z = 0 1 2
0
0 0 jD
2
7/27/2019 Operations Research 7
7/15
Operations Research Unit 7
Sikkim Manipal University 118
Introducing x2 and leaving x3 from the basis, we get
Cj 1 2 0 0 0
Basic
variable
CB XB X1 X2 X3 X4 X5
Mini ratio
1
B
xx
x2 22
13 0 1
2
10 0
x4 02
13 0
2
1- 1 0
1
2
13
x5 0 11 2 0 0 0 12
11
Z= CBXB = 7-1
0 10
0 jD
( )( ) 112,1,00,0,2111 -=-=-=D CXCB( ) 100,
2
1,
2
10,0,2333 =-
-=-=D CXCB
Introducing X1 and leaving X4 we get the following optimum table.
Optimum table
Cj 1 2 0 0 0
Basicvariabl
eCB XB X1 X2 X3 X4 X5
x2 22
13 0 1
2
10 0
x1 12
13 1 0
2
1- 1 0
x5 0 4 0 0 1 -2 1
Z =2
110 0 0
2
11 0
jD
( ) 01,2
1,
2
10,1,2CXC 33B3 -
-=-=D
1
7/27/2019 Operations Research 7
8/15
Operations Research Unit 7
Sikkim Manipal University 119
2
10
2
11 =
+-=
102,1,00,1,2CXC 44B4 =--=-=D
The optimum solution these got is:2
110,
2
13,
2
13 21 === zxx .
Step 3: Since the optimum solution obtained above is not an integer solution, we must go to next
step.
Step 4: Now we select the constraint corresponding to the criterion
maxi (fBi) = max (fB1, fB2, fB3)
= max
2
10,
2
1,
2
1=
Since in this problem, the x2 equation and x1-equation both have the same value of fBi ie2
1,
either one of the two equations can be used.
Now consider the first row of the optimum table . The Gomorys constraint to be added is
=
-=+---=+-4,3
1414313111 1j
BBjjfgxfxforfgxf
( )02
1
2
1
2
10
2
14313143 ==-=+--=+-- xxgxorgxx
Adding this new constraint to the optimum table we get
Cj 1 2 0 0 0 0
Basicvariable
CB XBX
1
X
2X3 X4 X5 G1
X2 22
13 0 1
2
10 0 0
X1 12
13 1 0
2
1- 1 0 0
X5 0 4 0 0 1 -2 1 0
G1 0 2
1- 0 0
2
1- 0 0 1
Z= CBXB = 0 02
1 1 0
0
jD
7/27/2019 Operations Research 7
9/15
Operations Research Unit 7
Sikkim Manipal University 120
2
110
Step 5: To apply dual simplex method. Now, in order to remove the infeasibility of the optimum
solution:
2
1,4,
2
13,
2
13 1521 -==== gxxx , we use the dual simplex method.
i) leaving vector is G1 (i.e. 4b )
4=\r
ii) Entering vector is given by
=
7/27/2019 Operations Research 7
10/15
Operations Research Unit 7
Sikkim Manipal University 121
Finally we get the integer optimum solution to the given IPP as x1 = 4, x2 = 3 and max z = 10.
Self Assessment Questions 3
Identify whether the following statements are True or False
1. We select that variable for Gomorys constraint whose fractional value is more.
2. Optimum values in an pure I.P.P can be x = 2 and y = 3.5.
7.5 The 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 the solution of such constrained optimization problems is
the branch and bound technique. The technique is applicable to both all IPP as well as mixed
I.P.P. the technique for a maximization problem is discussed below:
Let the I.P.P. be
Maximize =
=
n
1jjj xcz (1)
Subject to the constraints
m....,,2,1ibxa
n
1jijij =
=
(2)
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)
The following idea is behind the branch and bound technique
Consider any variable xj, and let Ibe some integer value satisfying LjIUj 1. Then clearly an
optimum solution to (1) through (5) shall also satisfy either the linear constraint.
xjI + 1 ---------------------------- (6)
Or the linear constraint xj I ...(7)
To explain how this partitioning helps, let us assume that there were no integer restrictions (3),
and suppose that this then yields an optimal solution to L.P.P. (1), (2), (4) and (5). Indicating x1
= 1.66 (for example). Then we formulate and solve two L.P.Ps each containing (1), (2) and (4).
7/27/2019 Operations Research 7
11/15
Operations Research Unit 7
Sikkim Manipal University 122
But (5) for j = 1 is modified to be 2 x1 U1 in one problem and L1 x1 1 in the other. Further
each of these problems process an optimal solution satisfying integer constraints (3)
Then the solution having the larger value for z is clearly optimum for the given I.P.P. However, it
usually happens that one (or both) of these problems has no optimal solution satisfying (3), and
thus some more computations are necessary. We now 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.
We start with an initial lower bound forz, 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 Ljfor some xj.
In addition to the lower bound z(0), we also have a list of L.P.Ps (to be called master list) differing
only in the bounds (5). To start with (the 0th iteration) the master list contains a single L.P.P.
consisting of (1), (2), (4) and (5). We now discuss below, the step by step 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,)
Step 0: If the master list is not empty, choose an L.P.P. out of 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 so obtained optimum solution satisfies the integer constraints (3) then record it. Let
z(t+1)
be associated optimum value ofz 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 L.P.P. chosen in step 0. Let*
jx denote this optimal value of xj. Add two
L.P.Ps to the master list: these L.P.Ps are identical with the L.P.P. chosen in step 0, except that
in one, the lower bound on xj is replaced by*
jx + 1. Let z(t+1) = z(t) return to step 0.
7/27/2019 Operations Research 7
12/15
Operations Research Unit 7
Sikkim Manipal University 123
Note: At the termination of the algorithm, if a feasible integer valued solution yielding z(t) has been
recorded it is optimum, otherwise no integer valued feasible solution exists.
Example:
Use branch and bound technique to solve the following I.P.P.
Maximize z = 7x1 + 9x2 -------------------- (1)
Subject to the constraints
x1 + 3x2 < 6 ----------------- (2)
7x1 + x2 < 35
0 < x1, x2 < 7 ------------------- (3)
x1, x2 are integers ---------------- (4).
Solution:
At the starting iteration we can consider z(0)
= 0 to be the lower bound, forx, since all xj = 0 is
feasible. The master list contains only the L.P.P. (1) (2) and (3). which is designated as problem
1. Choose it in step 0, and in step 1 determine the optimum solution.
z0 = 632
7x,
2
9x 21 == (Solution to problem 1)
Since the solution is not integer valued, proceed from step 2 to step 3, and select x1. Then since
42
9x
*1 =
=
, place on the master list the following two additional problems.
Problem 2: (1) (2) and 5 x1 7 0 x2 7
Problem 3: (1) (2) and 0 x1 4 0 x2 7
Returning to step 0: with z(1) = z(0) = 0,
We 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 this satisfies the integer constraints, therefore at step 2 we record it by enclosing in a
rectangle and let z(2)
= 35.
Returning to step 0 with z(2)
= 35, we find that problem 3 is available. Step 1 determines the
following optimum feasible solution to it
Z0 = 58, x1 = 4,3
10x2 = (Problem 3)
Since the solution is not integer valued, proceed from step 2 to step 3 and select x 2. Then
7/27/2019 Operations Research 7
13/15
Operations Research Unit 7
Sikkim Manipal University 124
[ ]
=
3
10*2
x = 3. We add the following additional problems on the master list:
Problem 4: (1) (2) and 7440 21 xx
Problem 5: (1) (2) and 0 x1 4 0 x2 3
Returning to step 0 with z(3) = z(2) = 35, choose problem 4 from step 1 we know that problem 4 has
no feasible solution and so we again return to step 0 with z(4)
= z(3)
= 35. Only problem 5 is
available in the master list. In step 1 we determine the following optimum solution to this problem.
z0 = 55 x1 = 4 x2= 3 (solution to problems) ---------- (6)
Since this satisfies the integer constraints, therefore at step 2. We record it by enclosing inside a
rectangle and let z(5) = 55.
Returning to step 0, we find that the master list is empty and thus the algorithm terminates.
Now, on terminating we find that only two feasible integer solution namely (5) and (6) have been
recorded. The best of these gives the optimum solution to the given I.P.P. Hence the optimum
integer solution to the given I.P.P. is
Z0 = 55, x1 = 4, x2 = 3.
Tree diagram of above example
Z*=63
==
2
13x,
2
14x 21
Z*=58
==
3
13x,4x 21
Z*=35
(x1 = 5, x2 = 0)
Z* = 55
(x1 = 4, x2 = 3)
Optimal solution
No solution
x1 < 4 x1 > 5
Node (3) Node (2)
x2 < 3 x2 > 4
Node (5) Node (4)
Node (1)
7/27/2019 Operations Research 7
14/15
Operations Research Unit 7
Sikkim Manipal University 125
NodeSolution Additional
ConstraintsType of solution
x1 x2 z*
(1)
2
9
2
763 __
Non-integer (Original
problem)
(2) 5 0 35 51x Integer z*(1)
(3) 43
1058 41x Non-integer
(4) .. .. 4,4 21 xx No solution
(5) 4 3 55 3,4 21 xx Integer z*(2)
(Optimal)
Self Assessment Questions 4
State True or False
1. Branch and Bound Technique is applied when some variables have upper or lower
bounds.
2. We start the technique with lower bound.
7.7 Summary
This chapter investigated the programming model in which the assumption of divisibility was
weakened. You learned two algorithms to determine the optimal solution for an integer
programming problem. One of these was the cutting plane algorithm devised by Gomory and the
other was the branch and bound algorithm developed by land and Doig.
Terminal Questions
1. Use Branch and Bound technique to solve the following problem
Max z = 3x1 + 3x2 + 13 x3
subject to
3x1 + 6x2 + 7x3 86x1 3x2 + 7x3 8
0 xj 5
and xj are integer j = 1, 2, 3
2. What is integer programming?
7/27/2019 Operations Research 7
15/15
Operations Research Unit 7
Sikkim Manipal University 126
3. Explain the Gomorys cutting plane all integer algorithm of an I.P.P.?
Answers To Self Assessment Questions
Self Assessment Questions 11. True 2. False
Self Assessment Questions 21. Simplex method
2. Dual simplex method
Self Assessment Questions 31. Correct 2. Wrong
Self Assessment Questions 41. True 2. False
Answer 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