Integer Programming Notes
Integer Programming Notes
ntroduotion
An integer programming model is one where one or more of the decision variables has to take on
an integer value the final solution. Solving an integer programming problem is much more
difficult than solving an LP problem. Even the fastest computers can take an excessively long
time to solve big integer programming problems. If requiring integer values is the only way in
which a problem deviates from a linear programming formulation, then it is an integer
programming (|P) problem. (1The more complete name is integer linear programming, but the
adjective linear nomally is dropped except when this problem is contrasted with the more
esoteric integer nonlinear programming problem. So, the mathematical model for integer
programming is the linear programming model with the one additional restriction that the
variables must have integer values.
In linear programming, each of the decision variable as well as slack and lor surplus variable is
allowed to take any fractional value. However, there are certain practical problems in which the
fractional value of the decision variables has no significance. For example, it does not make
sense saying 1.5 men working on a project or 1.6 machines in a workshop. The integer solution
to a problem can, however, be obtained by rounding off the optimum value of the variables to the
nearest integer value.
This approach can be easy in terms of economy ofeffort, time and cost that might be required to
derive an integer solution but this solution may not satisfy all the given constraints. Secondly, the
value of the objectivefunction so obtained may not be optimal value. All such difficulties can be
avoided if the given problem, where an integer solution is required, is solved by integer
programming techniques.
Why used?
+ The inmplicit assumption was that solutions could be fractional or real numbers (i.e.non
integer) in the linear programming models. However, non-integer solutions are aways
practical.
+ When only integer solutions are practical or logical, non-integer solution values can be
rounded off to the nearestfeasible integer values.
+ For example, if the case is nail, it will cause little concern considering 8000.4 nails as
8000 nails. Round off makes the case cost only afew cents apiece.
+ For example. if the case is a production of jet aircraft, round off could affect profit or
cost by million dollars considering 7.4 jet airliners as 7 or &.
There are certain decision problems where decision variables make sense only if they have
integer values in the solution. Capital budgeting, construction scheduling. plant location and
size, routing and shipping schedule, batch size, capacity expansion, fxed charge, etc., are few
problems which demonstrate the areas ofapplication of integer programming.
Example 1:A Total (Pure) Integer Model
Machine shop obtaining new presses and lathes. The Marginal profitability of each press
machine is S100/day and each of lathe machine is S150lday. The Resource constraints is
S40,000 and 200 sq. fi. floor space. The Machine purchase prices and space requiements are
given in the table below:
Required Floor Space (sq.
Machine.) Purchase Price
Press 15 8000
Lathe 30 4000
X= number of presses
X= number of lathes
Example 4:
X,<15 acres
Xs20 bonds
X; >0
Example 6:
subject to:
Z=888.9
Creates and solves a sequence ofsub-problems to the original problem that are increasingly
more restrictive until an optimal solution is found.
Branching: Selection ofan integer value of a decision variable to examine for a possible
integer solution to aproblem. "If the solution to the linear programming problem contains
non-integer values for some or all decision variables, then the solution space is reduced by
introducing constraints with respect to any one ofthose decision variables. Ifthe value ofthe
cOMPILED BY TSEGAYBERHE MSC IN PRODUCTION ENGINEERING AND MANAGEMENT
decision variable "X1" is 2.5, then hso more problems will be created by using each of the
following constraints. XI<2 andXI 2 3.
Bound: An upper or lower limit on the value of the objectivefunction at a given stage of th
analysis of an integer programming problem.
Lower bound: The lower bound at a node is the value of the objective finction
corresponding to the truncated alues (integer parts) of the decision variables of the problem
in that node.
Upper bound: The upper bound at a node is the value of the objective function
corresponding to the linear programming solution in that node.
Fathomed subproblem /node: Aproblem is said to be fathomed if any one of the following
three conditions is true:
Current best lower bound: This is the best lower bound (highest in the case ofmaximization
problem and lowest in the case of minimization problem) among the lower bounds of all the
fathomed nodes. Initially, it is assumed as infinityfor the root node.
Branch &Bound Algorithm Applied to Maximization Problem:
Step 1. Solve the given linear programming problem graphically or using iterative
method. Set, the current best lower bound ZB as o.
Step 2. Check, Whether the problem has integer solution. Ifyes, print the current solution
as the optimal solution and stop: Otherwise go to Step-3.
Step 3. ldentify the variable Xk which has the maximum fractional part as the branching
variable. (In case of tie, select the variable which has the highest objective function
coefficient.)
Step 4. Create two more problems by including each of the following constraints to the
current problem and solve them.
a) XsInteger part ofX
b) Xi >Next Integer of X
Step 5. If any one of the new sub-problems has infeasible solution orfuly integer values
for the decision variables, the corresponding node is fathomed. Ifa new node has
integer values for the decision variables, update the current best lower bound as the
lower bound of that node if its lower bound is greater than the previous current best
lower bound.
6
Z(C)=10*(24/5(+20*(12/5)-96
Z(D)=10"0+-20*4=80
2
C24/5,12/5)
1 XI + 3X? s 12
2 4 6 8 10 12 14
Zy=96
Z;=80
In Problem (P1),. X, has the highest fractional part 24/5. Hence; "X," is selected for further
branching.
The Problem P2 has the highest lower bound (Z) of 90 among the unfathomed ternminal nodes.
So, the further branching is done from this node.
Max Z=10X;+ 20X,
by tsegay b |Subject to:
6X, +8X,S48
X+ 3X, <12
XX,20 and integers
X25 Xs4
P; P
solution Max Z=10X, +20X, solution Max Z=10X, +20X,
|Subject to: Subject to:
K-94 K-83 6X, +SX, s48
Z-95 K +3X,s12 Z-9333 K+3X;s 12
Z-80
K, X,20 nd integers XX20and integers
X23
P P
Solution Max. Z=10X, +20X, Solution Max Z=10X, +20X,
Infeasible sohution Subject to: X=163 |Subject to:
6X, +8X, s 48 6X, +8X,S48
X+3X,s 12 Zu-9333
|X25 Z=90
XI23 XI2
XX,>0 and integers K, X,20 and integers
X25 Xs4
P
solution Max Z=10X, +20X, solution Max. Z=1OX, 20X,
Subject to:
X-94 6X, +8X,s 48
Subject to:
Zu-95
Ky=83 6X, +8X,s 48
X+3X,S 12 Zu-93 33
Z=90 K, +3X; s12
Zz=80 Xs4
XX,20 and ztegers
X.X,20 and integers
XIs2
P P
Solution Max. Z= 10X,+20X;
Infeasible soltion
Solution Max. Z=10X, +20X,
|Subject to: X=163
fathomed Subject to:
6x, +SX,s48 X;=2 |6x, +8X,s48
X+3X;s 12 Zu-93 33 K, +3X;s 12
X25 Zz-90
Xl23
X,X,20 and integers
XX,>0 and integers
X26
P
Solution P
Max Z= 10X,+20X;
X=6
Solution Max. Z= 10X, +20X,
|Subject to:
X,=3/6 6X, +8X,s 48 Subject tor
Zu-90 X=2 |6x, +8X, s48
,+3X;s 12 Zu-90
Z=80 X +3X,s 12
XIs2
Z=90
X26 XI2
X, X,20 and integers
fathomed X,X,20 and integers
Jathomed
The solution of P, is non
the node P is also oi-integer and its Z= 80 and Zy=90. Since, Zy <(Current best Z,
and it has infeasible =90).
constraints for the decision variables. solution in terms of not fulfilling integer
The Problem P, has integer
bound (Z) is updated to the solution. So, itis a fathomed node. Hence the
objective function alue 90. current best lower
COMPILED BY TSEGAY BERHE MSC IN
PRODUCTION ENGINEERINGAND
MANAGEMENT 10
Now, the Ony unfathomed terminal node is P3. Thefurther branching from this node is show
below:
K, X,20 md itegers
X25 X4
P
solution Max Z=10X, +20X, solution Max. Z= 10X +20X,
Scbject to: |Subject to:
X,94 X-83 6X, +SK, s 48
Zu-95 X +3K;S 12 Zy-9333 X+3X,s 12
Z-90 Z=80
, X,20 nd integers K, X;20 mnd mtegers
X23
P P
tey tett
bet
Soltion P
sbe siho Ssbett aatia
Siet
2lates
uthoned fathoned
Sitinn Solitisn
Bbitt
2lnditegs 2ats
farhmed
0
2.5
17.5 -1.5
-| -0.5 1
1.5 0.5
Z-2.5
0.5 0 0.5
Zj-Cj
Max Z-2.5
B CBv X X S S Sgl
2.5 1.5 0.5 0 0
Ratio-Zj-CG/Sgl,j -1‘ -1
and Sgl,j<0
Rs(new)=Rold)+ (-0.5) 2
Rs(new) = -2
Ri(new)=R,(old) - 1.5Rs(new) 0 -I 3
Rz(new)=Rz(old) + 1.5Rs(new) 19 0
Iteration-2 Cj 0
B CBv X |-
X SI S2 Sgl
0 -1 3
S 19 -3
0 0 -2
Z=2 0
Zj-j 0 0
Ratio