SlideShare a Scribd company logo
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 107
AN ALGORITHM FOR SOLVING INTEGER LINEAR PROGRAMMING
PROBLEMS
Shinto K.G1
, C.M. Sushama2
1
Assistant Professor, Department of Mathematics, Christ College Irinjalakkuda, Kerala, India,
2
Associate Professor, Department of Mathematics, National Institute of Technology Calicut, Kerala, India,
shintomaths@gmail.com, sushama@nitc.ac.in
Abstract
The paper describes a method to solve an ILP by describing whether an approximated integer solution to the RLP is an optimal
solution to the ILP. If the approximated solution fails to satisfy the optimality condition, then a search will be conducted on the
optimal hyperplane to obtain an optimal integer solution using a modified form of Branch and Bound Algorithm.
Index Terms: ILP, Linear Diophantine equations, Optimal hyperplane, Branch and Bound algorithm
---------------------------------------------------------------------***------------------------------------------------------------------------
1. INTRODUCTION
Integer Linear Programming (ILP) problems belong to a
particular class of Linear programming Problems (LPP). In
LPP, the decision variables are assumed to be continuous, but
in ILP the decision variables are restricted so that it can take
only discrete values. Many practical problems can be
formulated as general Integer Programming Problems and so
ILP problems have an outstanding relevance in many fields.
Various researchers have studied about the applications of
Integer Programming Problems. Brenda Dietrich [7] discusses
its application in IBM, Melvin A. Breuer [6] discuss the
application in Design Automation, and Chui-Yen and Chen [5]
discuss the application in Crew Scheduling Problem. Some
other problems which can be formulated as general Integer
Programming Problems include transportation , generalised
assignment and manpower planning problem. So Integer
Programming technique is so useful in these areas. But
because of the discreteness restriction on variables ILP cannot
consider as an LPP. A general ILP can be defined as
Maximize z = cx
Subject to
Ax ≤ b
x ≥ 0 and integers,
Where c is an n row vector of real entries, A is an m × n
matrix with real entries and b is an m column vector of real
entries.
Associated with each ILP, we can define relaxation RLP as
Maximize z = cx
Subject to
Ax ≤ b
x ≥ 0.
By definition, the feasible space of RLP contains the solution
space of ILP and hence its optimal solution is an upper bound
for ILP optimal solution.
The ILP becomes computationally intractable with increase
problem size and/or variable bounds. In any search for an
optimal solution, early knowledge of a good solution is
important for reasonable computational effort. Most ILP
solution methodology starts with RLP optimal in In [1],
different ILP solution methods are given. In addition to these
methods, the hyperplane search methods are explained in
[2],[3] and [4]. But the most commonly used methods are
Gomory’s Cuttingplane Method and Branch and Bound
Method. To apply any of these methods, the optimum solution
of the RLP is required. If the optimum solution to the RLP is
an integral one, then this solution can be considered as the
optimum solution of the ILP. If the solution is non-integral,
further investigation is necessary to obtain the optimum
integer solution.
In this paper, if the optimum solution of the RLP is non
integral, then some integer approximated optimum feasible
solutions of the ILP will be considered. But it cannot be
ascertained that one of these solution is an optimal solution to
the ILP.
Consider the objective hyperplane
cjxj = z
where each cj ∈ Z, which is a linear Diophantine equation in
integers. Let d = gcd⁡{cj, cj ≠ 0; j = 1,2 … … n}. It has an
integer solution if and only if d|z. Also if a linear Diophantine
equation has an integer solution, then there will be infinitely
many solutions for this equation [8].
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 108
This paper aims to provide a test to examine the optimality of
the approximated solution obtained from RLP to be an optimal
solution of the ILP, using the concept of linear Diophantine
equations. If it does not satisfy the optimality condition, then a
modification of Branch and Bound method is suggested to
arrive at the optimal solution of the ILP.
In the next section some results are derived to suggest a
computational procedure to obtain the optimal solution of the
ILP using RLP. In section 3 an algorithm is developed for this
purpose and in section 4 examples are cited to establish the
effectiveness of the algorithm.
2. BASIC RESULTS
Without loss of generality, let the row vector c of the
definition of the ILP has only integer components. If the
components are not integers, then try to make them integers by
multiplying all components cj with a suitable positive integer.
Since the decision variables x are also required to be integers
for an ILP, c1x1 + c2x2 + ⋯ … … … cnxn should be an integer
for all integer values of cj and xj for j = 1,2, … … … . n.
Consider the optimum solution to the RLP say xLP . Let zLP
denotes the optimum value of the objective function. That is
zLP = cxLP . If z∗
denotes the value of the objective function
corresponding to a feasible solution of the ILP. Then z∗
is an
integer less than or equal to zLP .
That is z∗
≤ cxLP .
Since z∗
≤ zLP , let z∗
= zLP , the greatest integer less than or
equal to zLP . Then consider the linear Diophantine equation
c1x1 + c2x2 + ⋯ … … … cnxn = z∗
. Also let d =
gcd c1, c2, … … … … cn /ci ≠ 0 . If d ∤ z∗
, there will not
exist any integer solution to the linear Diophantine equation.
In this case let z∗
= zLP − 1 and the same argument is
applicable for the new z∗
also. Repeat the process until we get
an z∗
so that z∗
is an integer less than or equal to zLP and
d| z∗
.
Proposition1. Let 𝑧𝐼𝑃 denotes the value of the objective
function corresponding to the optimum solution of the ILP.
Then 𝑧𝐼𝑃 ≤ 𝑧∗
where 𝑧∗
is an integer defined as above.
Proof
Let 𝑧 𝐿𝑃 denotes the maximum objective value to the RLP.
Then clearly 𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃
If possible assume 𝑧𝐼𝑃 > 𝑧∗
But by definition, 𝑧∗
≤ 𝑧 𝐿𝑃.
Then 𝑧∗
< 𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃
Let 𝒙 𝑰𝑷 denotes the optimum solution of the ILP so that
𝒄𝒙 𝑰𝑷 = 𝑧𝐼𝑃
So the linear Diophantine equation 𝑐1 𝑥1 + 𝑐2 𝑥2 +
⋯ … … … 𝑐 𝑛 𝑥 𝑛 = 𝑧𝐼𝑃 has a solution 𝒙 𝑰𝑷. Hence there will exist
infinitely many integer solutions to this equation and 𝑑 =
𝑔𝑐𝑑 𝑐1, 𝑐2, … … … … 𝑐 𝑛 /𝑐𝑖 ≠ 0 divides 𝑧𝐼𝑃. Thus 𝑧∗
<
𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃 and 𝑑| 𝑧∗
which is a contradiction to the assumption
of 𝑧∗
and so 𝑧𝐼𝑃 ≤ 𝑧∗
.
Proposition2. If 𝑧∗
< 𝑧 𝐿𝑃, (strict inequality) then there is no
integer solution to the ILP lie between the hyperplanes
𝒄𝒙 = 𝑧 𝐿𝑃 and 𝒄𝒙 = 𝑧∗
.
Proof
Given 𝑧∗
< 𝑧 𝐿𝑃.
If possible assume an integer point (say 𝒙 𝑘 ) is lie between the
given hyperplanes so that 𝒄𝒙 𝒌 < 𝑧 𝐿𝑃 and 𝒄𝒙 𝒌 > 𝑧∗
. Let
𝒄𝒙 𝒌 = 𝑧 𝑘 . Then the linear Diophantine equation 𝑐1 𝑥1 +
𝑐2 𝑥2 + ⋯ … … … + 𝑐 𝑛 𝑥 𝑛 = 𝑧 𝑘 will have infinitely many
integer solutions and 𝑔𝑐𝑑⁡| 𝑧 𝑘 , since 𝒙 𝒌 is an integer solution
of the equation. Thus we have an integer 𝑧 𝑘 so that 𝑧∗
< 𝑧 𝑘 <
𝑧 𝐿𝑃 which is a contradiction and so the assumption is wrong.
Proposition3. Let the optimum solution to the RLP is unique
and non integral. Also let 𝑧 𝐿𝑃 denote the value of z
corresponding to this optimum solution. Thus 𝒙 𝑳𝑷. If the
optimum solution to the ILP exists, then there exist 𝑧 𝑘 < 𝑧 𝐿𝑃
such that the optimum solution to the ILP lies on the
hyperplane 𝒄𝒙 = 𝑧 𝑘.
Proof
Let 𝒙 𝑳𝑷 denote the optimum solution of the RLP. Let 𝑆1
denote the set of feasible solutions to the RLP. Then 𝑆1 ∩
𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 is the singleton set 𝒙 𝑳𝑷. It is also given that
𝒙 𝑳𝑷 is non integral. Let 𝑆 denotes the feasible solutions to the
ILP which is non empty.
Now
𝑆 ⊆ 𝑆1; 𝒙 𝑳𝑷 ∈ 𝑆1 and 𝒙 𝑳𝑷 ∉ 𝑆.
Also 𝑆1 ∩ 𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 = 𝒙 𝑳𝑷.
So 𝑆 ∩ 𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 = 𝜙.
Also 𝑧 𝐿𝑃 gives an upper bound for ILP. So the value of the
objective function for the ILP, 𝑧𝐼𝑃 should be strictly less than
𝑧 𝐿𝑃 and the optimum solution to the ILP will lie on the
hyperplane 𝒄𝒙 = 𝑧𝐼𝑃.
Remark: If 𝑧 𝐿𝑃 is an integer, the solution 𝒙 𝑳𝑷 is non integral
and if there exist alternate optimum solution for the ILP (that
is 𝒙 𝑳𝑷 is not unique), then the optimum solution to the ILP
can lie on the optimum hyperplane of the RLP. That is the
optimum solution to the ILP can lie on the hyperplane
𝒄𝒙 = 𝑧 𝐿𝑃. An example in the next section illustrates this fact.
Theorem1. Let 𝑧∗
be an integer defined as in section 2. Let 𝑆
denote the set of all feasible solutions to the ILP. If 𝑆 ∩
𝒙 ∕ 𝒄𝒙 = z∗
is non empty, then the optimum solution to the
ILP will lie on the hyperplane 𝒄𝒙 = z∗
.
Proof
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 109
Let 𝑧 𝐿𝑃 denote the value of the objective function
corresponding to the optimal solution of the RLP. Then the
hyperplane 𝒄𝒙 = zLP is the optimum hyperplane for the RLP.
Also by definition of 𝑧∗
, 𝑧∗
≤ 𝑧 𝐿𝑃.
Assume z∗
= zLP .
It is also given that S ∩ x ∕ cx = z∗
≠ ϕ . So S ∩
x ∕ cx = zLP ≠ ϕ. Hence there exist an integer point in the
optimum hyperplane of the RLP which is a feasible solution of
the ILP. Also the objective function value of RLP for its
optimal solution is an upper bound for the ILP optimal
solution. So the integral point must be optimal.
Now assume z∗
< zLP . Then by proposition2, there is no
feasible solution to the ILP lying between the hyperplanes
cx = zLP and cx = z∗
. So no hyperplane containing integer
solution to the ILP exists between these two hyperplanes.
Now since S ∩ x ∕ cx = z∗
≠ ϕ , it is possible to find a
feasible integer point on the hyperplane which gives value z∗
for the objective function. From proposition1 the optimum
solution to the ILP can give objective function value less than
or equal to z∗
. So clearly the integer point on the hyperplane
cx = z∗
is the optimum solution to the ILP.
Thus in both cases, the optimum solution to the ILP lie on the
hyperplane cx = z∗
.
3. SOLUTION METHODOLOGY
Using the results derived from the last section, it is possible to
check whether an integer approximated solution to the RLP
gives the optimum solution for the ILP. If it fails to give the
optimum solution, a modified form of Branch and Bound
algorithm is suggested to obtain the optimum solution. For the
development of the algorithm, it is necessary to explain the
procedure to obtain
1. Integer approximated solution to the RLP sub
problems
2. An objective hyperplane for the ILP.
3.1 Integer Approximated Solutions to an RLP Sub
problem
Given RLP is an LPP. To obtain the integer approximated
solution, first of all solve this LPP and find the solution. Let
the solution as x i
and the maximum objective value as zi. If
x i
satisfies the integer requirement, then consider x∗
i
= x i
as the integer approximated solution with objective value
zi
∗
= zi, while if x i
is infeasible, there is no integer
approximated solution. So consider x i
as feasible and non
integral, consider the integer approximated solution as
follows,
For each component xj of x i
, consider xj and xj and then
all combinations of these components to obtain the integer
approximated solutions. (That is there are two choices x1
and x1 for x1 and two choices x2 and x2 for x2 and so on.
If some particular component xk is an integer, then there is
only one choice for this component. So there will be atmost 2n
approximated solutions). Then consider the feasibility of each
of these points. If a particular point is feasible, then put this
point in the set Yi, consider the set Yi
∗
= Yi Yi ∩ Y where Y
is the set of integer approximated solutions. Initially Y = ∅. If
Yi
∗
= ∅, then set Zi
∗
= −∞ and x∗
i
= ∅. Otherwise find
Zi
∗
= max cx/x ∈ Yi
∗
and x∗
i
= x ∈ Yi
∗
/cx = Zi
∗
. Then set
Y ≔ Y ∪ Yi
∗
.
Then x∗
i
is the integer approximated solution to the ith sub
problem with the objective function valueZi
∗
.
3.2 Search for the Optimal Objective value and the
Optimal Hyperplane
Let xLP be the optimum solution of the RLP with objective
value zLP (That is cxLP = zLP ). Also let d denote the gcd of
the cost coefficients. Let zIP denote the maximum value of the
objective function for the ILP. Then zIP will be an integer such
that zIP ≤ zLP and d|zIP .hence the integer z can assume so
that z = zLP . If d ∤ z then reduce the value zby unity and
check whether it is divisible by d. If not reduce the value of z
by unity again and so on. Hence the maximum possible value
of z for the ILP is given by z and cx = z is a hyperplane
having infinitely many integer points on it. If xLP is unique
then z < zLP . If any of the integer feasible point of the ILP lie
on this hyperplane, then cx = z should be the optimal
hyperplane and so zIP = z. If none of the feasible integer oint
lie on the hyperplane, then we have to reduce the value z to
obtain the optimal hyperplane and zIP . In the algorithm cx = z
will be considered as the optimal hyperplane and on which an
integer point is searched. Hence this procedure explains how
to obtain the maximum possible value z when zLP and gcd of
the cost coefficients of the LPP are known.
3.3 Modification to Branch and Bound Method
Now it is possible to suggest a modification to the Branch and
Bound algorithm. The problem to be solved is an all integer
linear programming problem PIP with maximization objective.
Its linear programming relaxation is called PLP . It is assumed
that a specific node and branch selection strategies have been
chosen. The different strategies are given in [1]. The algorithm
is initialized with node n1. Take i = 1 (That is we are
considering the first LPP), and Y = ∅ (there are no integer
approximated solutions are known). Obtain optimal solution
and integer approximated solution of the RLP at node 1 (Use
the procedure in section 3.1 with i = 1). Let x 1
denote its
optimum solution with objective function value z1. Also let
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 110
x∗
1
with objective value z1
∗
is the integer approximated
solution. If x 1
has only integer components, then it is the
optimal solution of the ILP, procedure stops here (then the
optimum solution of the ILP will be xIP = x 1
with zIP = z1).
Now if x 1
is not integral, then set z∗
= z1
∗
and x∗
= x∗
1
.
Also let d = gcd{ c1, c2 … … … … cn /ci ≠ 0}. Then obtain
the maximum possible objective function value z using z1and
gcd d (using the procedure in section 3.2). now if z = z∗
, then
the integer approximated solution x∗
1
is the optimum solution
of the ILP with objective value z∗
and cx = z∗
is the optimal
hyperplane and procedure terminates. If z∗
< z, then by
setting S = L = n1 , zLP = z1 and xLP = x1 proceed with the
Branch and Bound algorithm.
3.4 Algorithm
Step 1: Is 𝐿 = ∅?
If YES: Is 𝑧∗
> −∞, then the solution 𝒙 𝑰𝑷 = 𝒙∗
with objective
value 𝑧𝐼𝑃 = 𝑧∗
is optimal and 𝒄𝒙 = 𝑧∗
is the optimal
hyperplane.
Otherwise the integer programming problem has no feasible
solution.
If NO: Go to step 2.
Step 2: Choose some node 𝑛𝑖 ∈ 𝐿 (according to some
prescribed criterion) with solution 𝒙 𝒊
and objective value 𝑧𝑖.
Step 3: Branch on some variable 𝑥𝑗 (according to some
prescribed criterion) to the nodes 𝑛𝑡+1 with 𝑥𝑗 ≤ 𝑥𝑗 and 𝑛𝑡+2
with 𝑥𝑗 ≥ 𝑥𝑗 . Set 𝐿 ≔ 𝐿 𝑛𝑖 and 𝑆 ≔ 𝑆 ∪ 𝑛𝑡+1, 𝑛𝑡+2 
𝑛𝑖 . Solve the LPP at 𝑛𝑡+1 and 𝑛𝑡+2. The results are solutions
𝒙 𝒕+𝟏
and 𝒙 𝒕+𝟐
with objective values 𝑧𝑡+1 and 𝑧𝑡+2 and the
improved integer approximated solutions (if it exist) 𝒙∗
𝒕+𝟏
and 𝒙∗
𝒕+𝟐
with objective values 𝑧𝑡+1
∗
and 𝑧𝑡+2
∗
respectively.
Step 4: Is 𝒙 𝒕+𝟏
feasible?
If YES: Go to step 5.
If NO: Go to step 8.
Step 5: Is 𝑧𝑡+1
∗
= 𝑧?
If YES: Set 𝒙∗
= 𝒙∗
𝒕+𝟏
; 𝑧∗
= 𝑧𝑡+1
∗
; 𝐿 = ∅ and go to
step 1.
If NO: Go to step 6.
Step 6: Does 𝒙 𝒕+𝟏
satisfy the integrality requirement?
If YES: Go to step 7
If NO: Is 𝑧𝑡+1 > 𝑧∗
?
If YES: Set 𝐿 ≔ 𝐿 ∪ 𝑛𝑡+1 and go to step
8.
If NO: Go to step 8
Step 7: Is 𝑧𝑡+1 > 𝑧∗
?
If YES: Set 𝒙∗
= 𝒙 𝒕+𝟏
, 𝑧∗
= 𝑧𝑡+1 and go to step 8.
If NO: Go to step 8.
Step 8: Is 𝑡 = 𝑎𝑛 𝑜𝑑𝑑 𝑛𝑢𝑚𝑏𝑒𝑟?
If YES: Set 𝑡 = 𝑡 + 1 and go to step 4.
If NO: Consider 𝑧 𝐿𝑃
∗
= max 𝑧𝑖/𝑛𝑖 ∈ 𝐿 and go to
step 9.
Step 9: Is 𝑧 𝐿𝑃
∗
= 𝑧 𝐿𝑃?
If YES: Set 𝑡 = 𝑡 + 1 and go to step 1.
If NO: Set 𝑧 𝐿𝑃 = 𝑧 𝐿𝑃
∗
, obtain the new objective
function value 𝑧 for this 𝑧 𝐿𝑃, go to step 10.
Step 10: Is 𝑧∗
= 𝑧?
If YES: Set 𝐿 = ∅ and go to step 1.
If NO: Set 𝑡 = 𝑡 + 1, go to step 1.
The key of the algorithm is the updating procedure of the sets
S and L. In each step when the procedure branches from some
node ni to two nodes nt+1 and nt+2, the set S of end nodes is
updated to include the new nodes nt+1 and nt+2 and to
exclude ni. From the set of live nodes L, the node from which
the branching takes place is deleted in step 3 and the node
nt+1 or nt+2 is added to the set only if the solution is feasible
(step 4) but not integral with objective value is greater than the
known integer solution (step 6). In addition to these, the
algorithm will be terminated by emptying the set L if the
integer approximated solution lies in the optimal hyperplane
of the ILP (steps 5 to 8). Algorithm is illustrated using the
following examples.
4. EXAMPLES
4.1 Example in which Optimum Solution of the ILP
lie on the Optimal Hyperplane if the RLP
Maximize 𝑧 = 𝑥1 + 𝑥2
Subject to
𝑥1 + 𝑥2 ≤ 7
2𝑥1 ≤ 11
2𝑥2 ≤ 7
𝑥1, 𝑥2 ≥ 0 and integers.
The optimum solution to the RLP using simplex method is
given by x1 =
11
2
, x2 =
3
2
and maximum z = 7. This is a non
integral solution. But alternate solutions exist for this. The
integer approximations of this RLP solutions are
5,1 , 5,2 , 6,1 , 6,2 . Here the set of feasible integer
approximations Y1
∗
= 5,1 , 5,2 . So the integer
approximated solution is given by x∗
= 5,2 with z∗
= 7.
Also the maximum possible objective function value z = 7.
Therefore z∗
= z. So the integer approximated solution is the
optimal solution of the ILP and hence no need to consider the
Branch and Bound algorithm. Also this solution is a point on
the optimal hyperplane of the RLP.
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 111
Hence in this case the optimal solution of the ILP lies on the
optimal hyperplane of the RLP x1 + x2 = 7.
4.2 Example in which gcd of Cost Coefficients Unity
Maximize 𝑧 = 𝑥1 + 2𝑥2
Subject to
𝑥1 + 𝑥2 ≤ 7
2𝑥1 ≤ 11
2𝑥2 ≤ 7
𝑥1, 𝑥2 ≥ 0 and integers.
The unique solution to the RLP at node 1 is given by x 1
=
7
2
,
7
2
with maximum z =
21
2
. Clearly it is not an integer
solution. The integer approximations of this RLP solutions are
{ 4,4 , 4,3 , 3,4 , 3,3 }. Here the set of feasible integer
approximations Y1
∗
= 4,3 , 3,3 . So the integer
approximated solution is given by x∗
= 4,3 with z∗
= 10.
Also the maximum possible objective function value z = 10.
So the integer approximated solution is the optimal solution of
the ILP.
Therefore the optimum solution is given by x1 = 4, x2 = 3
with maximum z = 10 and so the optimum hyperplane is
x1 + 2x2 = 10.
4.3 Example in which gcd of Cost Coefficients
Greater than Unity
Maximize z = 200x1 + 400x2 + 300x3
Subject to
30x1 + 40x2 + 20x3 ≤ 600
20x1 + 10x2 + 20x3 ≤ 400
10x1 + 30x2 + 20x3 ≤ 800
x1, x2, x3 ≥ 0 and integers.
The unique optimum solution of the RLP at node 1 is given by
x 1
= 0,
20
3
,
50
3
with z =
23000
3
which is clearly non integral.
The integer approximations are
0,6,16 , 0,7,16 , 0,6,17 , 0,7,17 . The set of feasible
integer approximations Y1
∗
= 0,6,16 , 0,7,16 , 0,6,17 .
Therefore the integer approximated solution is given by
x∗
= 0,7,16 with z = 7600.
Now d = gcd 200,400,300 = 100.
Hence the optimal objective value using RLP at node 1 is
given by z =
2300
3
= 7666.
But 100 ∤ 7666.
Hence reduce the value to 7600 so that 100 | 7600. So finally
z = 7600.
Here also z = z∗
. Hence the integer approximated solution at
node 1 is the optimal solution to the ILP and hence no need to
consider the Branch and Bound Algorithm.
Therefore the optimum solution is given by x1 = 0, x2 =
7, x3 = 16 with maximum z = 7600 and so the optimum
hyperplane of the problem is 200x1 + 400x2 + 300x3 =
7600.
4.4 Example in which gcd of Cost Coefficients is
Unity and Branch and Bound Algorithm Required to
Obtain Solution
Maximize z = 3x1 + 4x2
Subject to
2x1 + 4x2 ≤ 13
−2x1 + x2 ≤ 2
2x1 + 2x2 ≥ 1
6x1 − 4x2 ≤ 15
x1, x2 ≥ 0 and integers.
The unique optimum of the RLP at node 1 is given by
x 1
=
7
2
,
3
2
with maximum z =
33
2
, which is clearly non
integral. The integer approximations are given by
4,1 , 4,2 , 3,1 , 3,2 . But the set of feasible solutions
Y1
∗
= 3,1 . Therefore x∗
= x∗
1
= 3,1 with z∗
= z1
∗
= 13.
Now d = gcd 3,4 = 1.
Hence the optimal objective value using RLP at node 1 is
given by z =
33
2
= 16 and z∗
< z. So we have to proceed
with Branch and Bound Algorithm.
Now by selecting node n1 and branching variable x1, we can
obtain subproblems at nodes n2 and n3 and on solving,
x 2
= 3,
7
4
with z2 = 16 and x 3
is infeasible. Also
x∗
2
= ∅ with z2
∗
= −∞. Therefore the new z = 15. Now by
selecting node n2 and branching variable x2 we can obtain
subproblems at nodes n4 and n5 and on solving x 4
= 3,1
with z4 = 13 and x 5
=
5
2
, 2 with z5 =
31
2
. So z4
∗
= 13 with
x∗
4
= 3,1 and z5
∗
= 14 with x∗
5
= 2,2 . Therefore the
new z = 15, z∗
= 14 and x∗
= 2,2 . Finally by selecting
node n5 and branching variable x1, we can obtain
subproblems at nodes n6 and n7 and on solving x 6
= 2,
9
4
with z6 = 15 and x 7
is infeasible. Also z6
∗
= −∞ with
x∗
6
= ∅ and the new value z = 14. Hence z = z∗
and so the
integer approximated solution in hand is the optimal solution
of the ILP.
Therefore the optimum solution is given by x1 = 2, x2 = 2
with maximum z = 14 and so the optimal hyperplane of the
problem is 3x1 + 4x2 = 14
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 112
CONCLUSIONS
In this paper, a method to solve pure integer linear
programming problems using integer approximated solution
method is discussed. This method is very effective for
problems whose gcd of cost coefficients is greater than unity.
It can also be used to check whether a feasible point is an
optimal solution of the ILP. Here the optimal hyperplane is
identified using the idea of the linear Diophantine equations.
To obtain integer approximated solution the procedure
requires the solution of the RLP at each iteration. But any
method which can give the integer approximations may reduce
the computational efforts. This is a task worth consideration of
future research and if it is possible, then this will be more
effective in integer programming.
REFERENCES:
[1] H. A. Eiselt and C. L. Sandblom, “Integer
Programming and Network Models”; Springer (2009).
[2] L. Cooper, “Hyperplane search algorithm for the
solution of integer programming problems”, IEEE
Transactions on systems, Man, and Cybernetics 3/3
(1973) 234-240.
[3] A. Joseph, S. I. Gass and N. Bryson, “An objective
hyperplane search procedure for solving the general all-
integer linear programming (ILP) problem”, European
Journal of Operational Research 104 (1998) 601-614.
[4] A. Joseph, S.I. Gass and N.A. Bryson, “A
computational study of an objective hyperplane search
heuristic for the general integer linear programming
problem, Mathl. Comput. Modelling Vol. 25, No.
10,(1997) 63-76.
[5] Chui-Yen and Chen, “Applicaton of integer
programming for solving crew scheduling problem in
Taipei Rapid Transist Corporation”, IEEE International
Conference on Systems, Man and Cybernetics, (2008)
2548 – 2553.
[6] M.A. Breuer, “The application of integer programming
in design automation”, Annual ACM IEEE Design
Automation Conference,( 1966) 2.1-2.9.
[7] Brenda Dietrich, “Some of my favorite integer
programming applications at IBM”, Annals of
Operations Research 149,(2007) 75-80.
[8] Alexander Schrijver,“Theory of Linear and Integer
Programming”, John Wiley & Sons Ltd (1986).
[9] Richard Bronson and Govindasami Naadimuthu,
“Schaums Outline of Theory and Problems of
Operations Research, Second edition”;Schaum’s
Outline Series, McGraw-Hill, (1997).
[10] Sebastian Ceria, Cecile Cordier, Hugues Marchand and
Laurence A. Wolsey,“Cutting planes for integer
programs with general integer variables”, Mathematical
Programming 81, (1998) 201-214.

More Related Content

What's hot (15)

PDF
Particle Swarm Optimization to Solve Multiple Traveling Salesman Problem
IRJET Journal
 
PDF
IMAGE REGISTRATION USING ADVANCED TOPOLOGY PRESERVING RELAXATION LABELING
csandit
 
PDF
A New Enhanced Method of Non Parametric power spectrum Estimation.
CSCJournals
 
PDF
Enriched Firefly Algorithm for Solving Reactive Power Problem
ijeei-iaes
 
PDF
Solving np hard problem using artificial bee colony algorithm
IAEME Publication
 
PDF
Fuzzy inventory model with shortages in man power planning
Alexander Decker
 
PDF
Symbolic Computation via Gröbner Basis
IJERA Editor
 
PDF
A Method for Solving Balanced Intuitionistic Fuzzy Assignment Problem
Navodaya Institute of Technology
 
PDF
Ev4301897903
IJERA Editor
 
PDF
A Framework for Self-Tuning Optimization Algorithm
Xin-She Yang
 
PPTX
Iwsm2014 an analogy-based approach to estimation of software development ef...
Nesma
 
PDF
Ik3514681470
IJERA Editor
 
PDF
icml2004 tutorial on spectral clustering part II
zukun
 
PDF
LOGNORMAL ORDINARY KRIGING METAMODEL IN SIMULATION OPTIMIZATION
orajjournal
 
PDF
Solving Linear Fractional Programming Problems Using a New Homotopy Perturbat...
orajjournal
 
Particle Swarm Optimization to Solve Multiple Traveling Salesman Problem
IRJET Journal
 
IMAGE REGISTRATION USING ADVANCED TOPOLOGY PRESERVING RELAXATION LABELING
csandit
 
A New Enhanced Method of Non Parametric power spectrum Estimation.
CSCJournals
 
Enriched Firefly Algorithm for Solving Reactive Power Problem
ijeei-iaes
 
Solving np hard problem using artificial bee colony algorithm
IAEME Publication
 
Fuzzy inventory model with shortages in man power planning
Alexander Decker
 
Symbolic Computation via Gröbner Basis
IJERA Editor
 
A Method for Solving Balanced Intuitionistic Fuzzy Assignment Problem
Navodaya Institute of Technology
 
Ev4301897903
IJERA Editor
 
A Framework for Self-Tuning Optimization Algorithm
Xin-She Yang
 
Iwsm2014 an analogy-based approach to estimation of software development ef...
Nesma
 
Ik3514681470
IJERA Editor
 
icml2004 tutorial on spectral clustering part II
zukun
 
LOGNORMAL ORDINARY KRIGING METAMODEL IN SIMULATION OPTIMIZATION
orajjournal
 
Solving Linear Fractional Programming Problems Using a New Homotopy Perturbat...
orajjournal
 

Viewers also liked (15)

DOCX
Curriculum Vitae G Salie (2)
Goosian Sallie
 
PDF
sfoa training
Prabhjot Singh
 
ODP
Joan colom
Carla Caimari Matas
 
DOCX
Amaya riera actividad7
Andrea Riera
 
PPTX
Зачіски
Natalia Skovorodkina
 
PPTX
Logbook+
isaachalle
 
PDF
Catalog 01-03-2015
Glen Poehlmann
 
DOC
Monique Robinson 2016 Resume
Monique Robinson
 
PDF
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
Fabio Chiodini
 
PDF
Miten teen kysymyksiä englanniksi
kirnykanen
 
PPTX
Passiivi
Kirsi Ylätalo
 
PPT
Epäsuorat kysymykset
Kirsi Ylätalo
 
PPT
Epäsuorat pyynnöt ja käskyt
Kirsi Ylätalo
 
PDF
Aikamuotokertaus
Ritva Tammi
 
PPTX
chemacal kinatic
ali abd
 
Curriculum Vitae G Salie (2)
Goosian Sallie
 
sfoa training
Prabhjot Singh
 
Amaya riera actividad7
Andrea Riera
 
Зачіски
Natalia Skovorodkina
 
Logbook+
isaachalle
 
Catalog 01-03-2015
Glen Poehlmann
 
Monique Robinson 2016 Resume
Monique Robinson
 
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
Fabio Chiodini
 
Miten teen kysymyksiä englanniksi
kirnykanen
 
Passiivi
Kirsi Ylätalo
 
Epäsuorat kysymykset
Kirsi Ylätalo
 
Epäsuorat pyynnöt ja käskyt
Kirsi Ylätalo
 
Aikamuotokertaus
Ritva Tammi
 
chemacal kinatic
ali abd
 
Ad

Similar to An algorithm for solving integer linear programming problems (20)

PDF
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
ijscmcj
 
PDF
International Journal of Soft Computing, Mathematics and Control (IJSCMC)
ijscmcj1
 
PDF
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
ijscmcj
 
PDF
A New Lagrangian Relaxation Approach To The Generalized Assignment Problem
Kim Daniels
 
PPTX
A New SR1 Formula for Solving Nonlinear Optimization.pptx
MasoudIbrahim3
 
PDF
D026017036
inventionjournals
 
PDF
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
少华 白
 
PDF
Modification of a heuristic method
orajjournal
 
PPT
aaoczc2252
Perumal_Gopi42
 
PPTX
How principal components analysis is different from factor
Arup Guha
 
PDF
A Branch And Bound Algorithm For The Generalized Assignment Problem
Steven Wallach
 
PPTX
1 d,2d laplace inversion of lr nmr
Adam Lee Perelman
 
PDF
Oscillatory motion control of hinged body using controller
eSAT Publishing House
 
PDF
Oscillatory motion control of hinged body using controller
eSAT Journals
 
PDF
He laplace method for special nonlinear partial differential equations
Alexander Decker
 
PDF
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
eSAT Publishing House
 
PPTX
Presntation for the post of lecturer in Mathematics
Kifayat Ullah
 
PPTX
Linear Programming Problem
A. Dally Maria Evangeline
 
PPTX
5. Limit Fungsi yang menjadi Aljabar.pptx
BanjarMasin4
 
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
ijscmcj
 
International Journal of Soft Computing, Mathematics and Control (IJSCMC)
ijscmcj1
 
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
ijscmcj
 
A New Lagrangian Relaxation Approach To The Generalized Assignment Problem
Kim Daniels
 
A New SR1 Formula for Solving Nonlinear Optimization.pptx
MasoudIbrahim3
 
D026017036
inventionjournals
 
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
少华 白
 
Modification of a heuristic method
orajjournal
 
aaoczc2252
Perumal_Gopi42
 
How principal components analysis is different from factor
Arup Guha
 
A Branch And Bound Algorithm For The Generalized Assignment Problem
Steven Wallach
 
1 d,2d laplace inversion of lr nmr
Adam Lee Perelman
 
Oscillatory motion control of hinged body using controller
eSAT Publishing House
 
Oscillatory motion control of hinged body using controller
eSAT Journals
 
He laplace method for special nonlinear partial differential equations
Alexander Decker
 
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
eSAT Publishing House
 
Presntation for the post of lecturer in Mathematics
Kifayat Ullah
 
Linear Programming Problem
A. Dally Maria Evangeline
 
5. Limit Fungsi yang menjadi Aljabar.pptx
BanjarMasin4
 
Ad

More from eSAT Journals (20)

PDF
Mechanical properties of hybrid fiber reinforced concrete for pavements
eSAT Journals
 
PDF
Material management in construction – a case study
eSAT Journals
 
PDF
Managing drought short term strategies in semi arid regions a case study
eSAT Journals
 
PDF
Life cycle cost analysis of overlay for an urban road in bangalore
eSAT Journals
 
PDF
Laboratory studies of dense bituminous mixes ii with reclaimed asphalt materials
eSAT Journals
 
PDF
Laboratory investigation of expansive soil stabilized with natural inorganic ...
eSAT Journals
 
PDF
Influence of reinforcement on the behavior of hollow concrete block masonry p...
eSAT Journals
 
PDF
Influence of compaction energy on soil stabilized with chemical stabilizer
eSAT Journals
 
PDF
Geographical information system (gis) for water resources management
eSAT Journals
 
PDF
Forest type mapping of bidar forest division, karnataka using geoinformatics ...
eSAT Journals
 
PDF
Factors influencing compressive strength of geopolymer concrete
eSAT Journals
 
PDF
Experimental investigation on circular hollow steel columns in filled with li...
eSAT Journals
 
PDF
Experimental behavior of circular hsscfrc filled steel tubular columns under ...
eSAT Journals
 
PDF
Evaluation of punching shear in flat slabs
eSAT Journals
 
PDF
Evaluation of performance of intake tower dam for recent earthquake in india
eSAT Journals
 
PDF
Evaluation of operational efficiency of urban road network using travel time ...
eSAT Journals
 
PDF
Estimation of surface runoff in nallur amanikere watershed using scs cn method
eSAT Journals
 
PDF
Estimation of morphometric parameters and runoff using rs &amp; gis techniques
eSAT Journals
 
PDF
Effect of variation of plastic hinge length on the results of non linear anal...
eSAT Journals
 
PDF
Effect of use of recycled materials on indirect tensile strength of asphalt c...
eSAT Journals
 
Mechanical properties of hybrid fiber reinforced concrete for pavements
eSAT Journals
 
Material management in construction – a case study
eSAT Journals
 
Managing drought short term strategies in semi arid regions a case study
eSAT Journals
 
Life cycle cost analysis of overlay for an urban road in bangalore
eSAT Journals
 
Laboratory studies of dense bituminous mixes ii with reclaimed asphalt materials
eSAT Journals
 
Laboratory investigation of expansive soil stabilized with natural inorganic ...
eSAT Journals
 
Influence of reinforcement on the behavior of hollow concrete block masonry p...
eSAT Journals
 
Influence of compaction energy on soil stabilized with chemical stabilizer
eSAT Journals
 
Geographical information system (gis) for water resources management
eSAT Journals
 
Forest type mapping of bidar forest division, karnataka using geoinformatics ...
eSAT Journals
 
Factors influencing compressive strength of geopolymer concrete
eSAT Journals
 
Experimental investigation on circular hollow steel columns in filled with li...
eSAT Journals
 
Experimental behavior of circular hsscfrc filled steel tubular columns under ...
eSAT Journals
 
Evaluation of punching shear in flat slabs
eSAT Journals
 
Evaluation of performance of intake tower dam for recent earthquake in india
eSAT Journals
 
Evaluation of operational efficiency of urban road network using travel time ...
eSAT Journals
 
Estimation of surface runoff in nallur amanikere watershed using scs cn method
eSAT Journals
 
Estimation of morphometric parameters and runoff using rs &amp; gis techniques
eSAT Journals
 
Effect of variation of plastic hinge length on the results of non linear anal...
eSAT Journals
 
Effect of use of recycled materials on indirect tensile strength of asphalt c...
eSAT Journals
 

Recently uploaded (20)

PDF
01-introduction to the ProcessDesign.pdf
StiveBrack
 
PDF
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
PPTX
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
PPTX
Precooling and Refrigerated storage.pptx
ThongamSunita
 
PPT
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
PDF
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
PDF
LLC CM NCP1399 SIMPLIS MODEL MANUAL.PDF
ssuser1be9ce
 
PPTX
Unit_I Functional Units, Instruction Sets.pptx
logaprakash9
 
PDF
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
PDF
Tesia Dobrydnia - An Avid Hiker And Backpacker
Tesia Dobrydnia
 
PDF
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
samueljackson3773
 
PPTX
Explore USA’s Best Structural And Non Structural Steel Detailing
Silicon Engineering Consultants LLC
 
PDF
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
PDF
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
 
PDF
PRIZ Academy - Process functional modelling
PRIZ Guru
 
PPTX
Work at Height training for workers .pptx
cecos12
 
PPTX
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
PDF
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
PDF
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
 
01-introduction to the ProcessDesign.pdf
StiveBrack
 
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
Precooling and Refrigerated storage.pptx
ThongamSunita
 
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
LLC CM NCP1399 SIMPLIS MODEL MANUAL.PDF
ssuser1be9ce
 
Unit_I Functional Units, Instruction Sets.pptx
logaprakash9
 
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
Tesia Dobrydnia - An Avid Hiker And Backpacker
Tesia Dobrydnia
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
samueljackson3773
 
Explore USA’s Best Structural And Non Structural Steel Detailing
Silicon Engineering Consultants LLC
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
 
PRIZ Academy - Process functional modelling
PRIZ Guru
 
Work at Height training for workers .pptx
cecos12
 
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
 

An algorithm for solving integer linear programming problems

  • 1. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 107 AN ALGORITHM FOR SOLVING INTEGER LINEAR PROGRAMMING PROBLEMS Shinto K.G1 , C.M. Sushama2 1 Assistant Professor, Department of Mathematics, Christ College Irinjalakkuda, Kerala, India, 2 Associate Professor, Department of Mathematics, National Institute of Technology Calicut, Kerala, India, [email protected], [email protected] Abstract The paper describes a method to solve an ILP by describing whether an approximated integer solution to the RLP is an optimal solution to the ILP. If the approximated solution fails to satisfy the optimality condition, then a search will be conducted on the optimal hyperplane to obtain an optimal integer solution using a modified form of Branch and Bound Algorithm. Index Terms: ILP, Linear Diophantine equations, Optimal hyperplane, Branch and Bound algorithm ---------------------------------------------------------------------***------------------------------------------------------------------------ 1. INTRODUCTION Integer Linear Programming (ILP) problems belong to a particular class of Linear programming Problems (LPP). In LPP, the decision variables are assumed to be continuous, but in ILP the decision variables are restricted so that it can take only discrete values. Many practical problems can be formulated as general Integer Programming Problems and so ILP problems have an outstanding relevance in many fields. Various researchers have studied about the applications of Integer Programming Problems. Brenda Dietrich [7] discusses its application in IBM, Melvin A. Breuer [6] discuss the application in Design Automation, and Chui-Yen and Chen [5] discuss the application in Crew Scheduling Problem. Some other problems which can be formulated as general Integer Programming Problems include transportation , generalised assignment and manpower planning problem. So Integer Programming technique is so useful in these areas. But because of the discreteness restriction on variables ILP cannot consider as an LPP. A general ILP can be defined as Maximize z = cx Subject to Ax ≤ b x ≥ 0 and integers, Where c is an n row vector of real entries, A is an m × n matrix with real entries and b is an m column vector of real entries. Associated with each ILP, we can define relaxation RLP as Maximize z = cx Subject to Ax ≤ b x ≥ 0. By definition, the feasible space of RLP contains the solution space of ILP and hence its optimal solution is an upper bound for ILP optimal solution. The ILP becomes computationally intractable with increase problem size and/or variable bounds. In any search for an optimal solution, early knowledge of a good solution is important for reasonable computational effort. Most ILP solution methodology starts with RLP optimal in In [1], different ILP solution methods are given. In addition to these methods, the hyperplane search methods are explained in [2],[3] and [4]. But the most commonly used methods are Gomory’s Cuttingplane Method and Branch and Bound Method. To apply any of these methods, the optimum solution of the RLP is required. If the optimum solution to the RLP is an integral one, then this solution can be considered as the optimum solution of the ILP. If the solution is non-integral, further investigation is necessary to obtain the optimum integer solution. In this paper, if the optimum solution of the RLP is non integral, then some integer approximated optimum feasible solutions of the ILP will be considered. But it cannot be ascertained that one of these solution is an optimal solution to the ILP. Consider the objective hyperplane cjxj = z where each cj ∈ Z, which is a linear Diophantine equation in integers. Let d = gcd⁡{cj, cj ≠ 0; j = 1,2 … … n}. It has an integer solution if and only if d|z. Also if a linear Diophantine equation has an integer solution, then there will be infinitely many solutions for this equation [8].
  • 2. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 108 This paper aims to provide a test to examine the optimality of the approximated solution obtained from RLP to be an optimal solution of the ILP, using the concept of linear Diophantine equations. If it does not satisfy the optimality condition, then a modification of Branch and Bound method is suggested to arrive at the optimal solution of the ILP. In the next section some results are derived to suggest a computational procedure to obtain the optimal solution of the ILP using RLP. In section 3 an algorithm is developed for this purpose and in section 4 examples are cited to establish the effectiveness of the algorithm. 2. BASIC RESULTS Without loss of generality, let the row vector c of the definition of the ILP has only integer components. If the components are not integers, then try to make them integers by multiplying all components cj with a suitable positive integer. Since the decision variables x are also required to be integers for an ILP, c1x1 + c2x2 + ⋯ … … … cnxn should be an integer for all integer values of cj and xj for j = 1,2, … … … . n. Consider the optimum solution to the RLP say xLP . Let zLP denotes the optimum value of the objective function. That is zLP = cxLP . If z∗ denotes the value of the objective function corresponding to a feasible solution of the ILP. Then z∗ is an integer less than or equal to zLP . That is z∗ ≤ cxLP . Since z∗ ≤ zLP , let z∗ = zLP , the greatest integer less than or equal to zLP . Then consider the linear Diophantine equation c1x1 + c2x2 + ⋯ … … … cnxn = z∗ . Also let d = gcd c1, c2, … … … … cn /ci ≠ 0 . If d ∤ z∗ , there will not exist any integer solution to the linear Diophantine equation. In this case let z∗ = zLP − 1 and the same argument is applicable for the new z∗ also. Repeat the process until we get an z∗ so that z∗ is an integer less than or equal to zLP and d| z∗ . Proposition1. Let 𝑧𝐼𝑃 denotes the value of the objective function corresponding to the optimum solution of the ILP. Then 𝑧𝐼𝑃 ≤ 𝑧∗ where 𝑧∗ is an integer defined as above. Proof Let 𝑧 𝐿𝑃 denotes the maximum objective value to the RLP. Then clearly 𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃 If possible assume 𝑧𝐼𝑃 > 𝑧∗ But by definition, 𝑧∗ ≤ 𝑧 𝐿𝑃. Then 𝑧∗ < 𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃 Let 𝒙 𝑰𝑷 denotes the optimum solution of the ILP so that 𝒄𝒙 𝑰𝑷 = 𝑧𝐼𝑃 So the linear Diophantine equation 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ … … … 𝑐 𝑛 𝑥 𝑛 = 𝑧𝐼𝑃 has a solution 𝒙 𝑰𝑷. Hence there will exist infinitely many integer solutions to this equation and 𝑑 = 𝑔𝑐𝑑 𝑐1, 𝑐2, … … … … 𝑐 𝑛 /𝑐𝑖 ≠ 0 divides 𝑧𝐼𝑃. Thus 𝑧∗ < 𝑧𝐼𝑃 ≤ 𝑧 𝐿𝑃 and 𝑑| 𝑧∗ which is a contradiction to the assumption of 𝑧∗ and so 𝑧𝐼𝑃 ≤ 𝑧∗ . Proposition2. If 𝑧∗ < 𝑧 𝐿𝑃, (strict inequality) then there is no integer solution to the ILP lie between the hyperplanes 𝒄𝒙 = 𝑧 𝐿𝑃 and 𝒄𝒙 = 𝑧∗ . Proof Given 𝑧∗ < 𝑧 𝐿𝑃. If possible assume an integer point (say 𝒙 𝑘 ) is lie between the given hyperplanes so that 𝒄𝒙 𝒌 < 𝑧 𝐿𝑃 and 𝒄𝒙 𝒌 > 𝑧∗ . Let 𝒄𝒙 𝒌 = 𝑧 𝑘 . Then the linear Diophantine equation 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ … … … + 𝑐 𝑛 𝑥 𝑛 = 𝑧 𝑘 will have infinitely many integer solutions and 𝑔𝑐𝑑⁡| 𝑧 𝑘 , since 𝒙 𝒌 is an integer solution of the equation. Thus we have an integer 𝑧 𝑘 so that 𝑧∗ < 𝑧 𝑘 < 𝑧 𝐿𝑃 which is a contradiction and so the assumption is wrong. Proposition3. Let the optimum solution to the RLP is unique and non integral. Also let 𝑧 𝐿𝑃 denote the value of z corresponding to this optimum solution. Thus 𝒙 𝑳𝑷. If the optimum solution to the ILP exists, then there exist 𝑧 𝑘 < 𝑧 𝐿𝑃 such that the optimum solution to the ILP lies on the hyperplane 𝒄𝒙 = 𝑧 𝑘. Proof Let 𝒙 𝑳𝑷 denote the optimum solution of the RLP. Let 𝑆1 denote the set of feasible solutions to the RLP. Then 𝑆1 ∩ 𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 is the singleton set 𝒙 𝑳𝑷. It is also given that 𝒙 𝑳𝑷 is non integral. Let 𝑆 denotes the feasible solutions to the ILP which is non empty. Now 𝑆 ⊆ 𝑆1; 𝒙 𝑳𝑷 ∈ 𝑆1 and 𝒙 𝑳𝑷 ∉ 𝑆. Also 𝑆1 ∩ 𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 = 𝒙 𝑳𝑷. So 𝑆 ∩ 𝒙 ∕ 𝒄𝒙 = 𝑧 𝐿𝑃 = 𝜙. Also 𝑧 𝐿𝑃 gives an upper bound for ILP. So the value of the objective function for the ILP, 𝑧𝐼𝑃 should be strictly less than 𝑧 𝐿𝑃 and the optimum solution to the ILP will lie on the hyperplane 𝒄𝒙 = 𝑧𝐼𝑃. Remark: If 𝑧 𝐿𝑃 is an integer, the solution 𝒙 𝑳𝑷 is non integral and if there exist alternate optimum solution for the ILP (that is 𝒙 𝑳𝑷 is not unique), then the optimum solution to the ILP can lie on the optimum hyperplane of the RLP. That is the optimum solution to the ILP can lie on the hyperplane 𝒄𝒙 = 𝑧 𝐿𝑃. An example in the next section illustrates this fact. Theorem1. Let 𝑧∗ be an integer defined as in section 2. Let 𝑆 denote the set of all feasible solutions to the ILP. If 𝑆 ∩ 𝒙 ∕ 𝒄𝒙 = z∗ is non empty, then the optimum solution to the ILP will lie on the hyperplane 𝒄𝒙 = z∗ . Proof
  • 3. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 109 Let 𝑧 𝐿𝑃 denote the value of the objective function corresponding to the optimal solution of the RLP. Then the hyperplane 𝒄𝒙 = zLP is the optimum hyperplane for the RLP. Also by definition of 𝑧∗ , 𝑧∗ ≤ 𝑧 𝐿𝑃. Assume z∗ = zLP . It is also given that S ∩ x ∕ cx = z∗ ≠ ϕ . So S ∩ x ∕ cx = zLP ≠ ϕ. Hence there exist an integer point in the optimum hyperplane of the RLP which is a feasible solution of the ILP. Also the objective function value of RLP for its optimal solution is an upper bound for the ILP optimal solution. So the integral point must be optimal. Now assume z∗ < zLP . Then by proposition2, there is no feasible solution to the ILP lying between the hyperplanes cx = zLP and cx = z∗ . So no hyperplane containing integer solution to the ILP exists between these two hyperplanes. Now since S ∩ x ∕ cx = z∗ ≠ ϕ , it is possible to find a feasible integer point on the hyperplane which gives value z∗ for the objective function. From proposition1 the optimum solution to the ILP can give objective function value less than or equal to z∗ . So clearly the integer point on the hyperplane cx = z∗ is the optimum solution to the ILP. Thus in both cases, the optimum solution to the ILP lie on the hyperplane cx = z∗ . 3. SOLUTION METHODOLOGY Using the results derived from the last section, it is possible to check whether an integer approximated solution to the RLP gives the optimum solution for the ILP. If it fails to give the optimum solution, a modified form of Branch and Bound algorithm is suggested to obtain the optimum solution. For the development of the algorithm, it is necessary to explain the procedure to obtain 1. Integer approximated solution to the RLP sub problems 2. An objective hyperplane for the ILP. 3.1 Integer Approximated Solutions to an RLP Sub problem Given RLP is an LPP. To obtain the integer approximated solution, first of all solve this LPP and find the solution. Let the solution as x i and the maximum objective value as zi. If x i satisfies the integer requirement, then consider x∗ i = x i as the integer approximated solution with objective value zi ∗ = zi, while if x i is infeasible, there is no integer approximated solution. So consider x i as feasible and non integral, consider the integer approximated solution as follows, For each component xj of x i , consider xj and xj and then all combinations of these components to obtain the integer approximated solutions. (That is there are two choices x1 and x1 for x1 and two choices x2 and x2 for x2 and so on. If some particular component xk is an integer, then there is only one choice for this component. So there will be atmost 2n approximated solutions). Then consider the feasibility of each of these points. If a particular point is feasible, then put this point in the set Yi, consider the set Yi ∗ = Yi Yi ∩ Y where Y is the set of integer approximated solutions. Initially Y = ∅. If Yi ∗ = ∅, then set Zi ∗ = −∞ and x∗ i = ∅. Otherwise find Zi ∗ = max cx/x ∈ Yi ∗ and x∗ i = x ∈ Yi ∗ /cx = Zi ∗ . Then set Y ≔ Y ∪ Yi ∗ . Then x∗ i is the integer approximated solution to the ith sub problem with the objective function valueZi ∗ . 3.2 Search for the Optimal Objective value and the Optimal Hyperplane Let xLP be the optimum solution of the RLP with objective value zLP (That is cxLP = zLP ). Also let d denote the gcd of the cost coefficients. Let zIP denote the maximum value of the objective function for the ILP. Then zIP will be an integer such that zIP ≤ zLP and d|zIP .hence the integer z can assume so that z = zLP . If d ∤ z then reduce the value zby unity and check whether it is divisible by d. If not reduce the value of z by unity again and so on. Hence the maximum possible value of z for the ILP is given by z and cx = z is a hyperplane having infinitely many integer points on it. If xLP is unique then z < zLP . If any of the integer feasible point of the ILP lie on this hyperplane, then cx = z should be the optimal hyperplane and so zIP = z. If none of the feasible integer oint lie on the hyperplane, then we have to reduce the value z to obtain the optimal hyperplane and zIP . In the algorithm cx = z will be considered as the optimal hyperplane and on which an integer point is searched. Hence this procedure explains how to obtain the maximum possible value z when zLP and gcd of the cost coefficients of the LPP are known. 3.3 Modification to Branch and Bound Method Now it is possible to suggest a modification to the Branch and Bound algorithm. The problem to be solved is an all integer linear programming problem PIP with maximization objective. Its linear programming relaxation is called PLP . It is assumed that a specific node and branch selection strategies have been chosen. The different strategies are given in [1]. The algorithm is initialized with node n1. Take i = 1 (That is we are considering the first LPP), and Y = ∅ (there are no integer approximated solutions are known). Obtain optimal solution and integer approximated solution of the RLP at node 1 (Use the procedure in section 3.1 with i = 1). Let x 1 denote its optimum solution with objective function value z1. Also let
  • 4. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 110 x∗ 1 with objective value z1 ∗ is the integer approximated solution. If x 1 has only integer components, then it is the optimal solution of the ILP, procedure stops here (then the optimum solution of the ILP will be xIP = x 1 with zIP = z1). Now if x 1 is not integral, then set z∗ = z1 ∗ and x∗ = x∗ 1 . Also let d = gcd{ c1, c2 … … … … cn /ci ≠ 0}. Then obtain the maximum possible objective function value z using z1and gcd d (using the procedure in section 3.2). now if z = z∗ , then the integer approximated solution x∗ 1 is the optimum solution of the ILP with objective value z∗ and cx = z∗ is the optimal hyperplane and procedure terminates. If z∗ < z, then by setting S = L = n1 , zLP = z1 and xLP = x1 proceed with the Branch and Bound algorithm. 3.4 Algorithm Step 1: Is 𝐿 = ∅? If YES: Is 𝑧∗ > −∞, then the solution 𝒙 𝑰𝑷 = 𝒙∗ with objective value 𝑧𝐼𝑃 = 𝑧∗ is optimal and 𝒄𝒙 = 𝑧∗ is the optimal hyperplane. Otherwise the integer programming problem has no feasible solution. If NO: Go to step 2. Step 2: Choose some node 𝑛𝑖 ∈ 𝐿 (according to some prescribed criterion) with solution 𝒙 𝒊 and objective value 𝑧𝑖. Step 3: Branch on some variable 𝑥𝑗 (according to some prescribed criterion) to the nodes 𝑛𝑡+1 with 𝑥𝑗 ≤ 𝑥𝑗 and 𝑛𝑡+2 with 𝑥𝑗 ≥ 𝑥𝑗 . Set 𝐿 ≔ 𝐿 𝑛𝑖 and 𝑆 ≔ 𝑆 ∪ 𝑛𝑡+1, 𝑛𝑡+2 𝑛𝑖 . Solve the LPP at 𝑛𝑡+1 and 𝑛𝑡+2. The results are solutions 𝒙 𝒕+𝟏 and 𝒙 𝒕+𝟐 with objective values 𝑧𝑡+1 and 𝑧𝑡+2 and the improved integer approximated solutions (if it exist) 𝒙∗ 𝒕+𝟏 and 𝒙∗ 𝒕+𝟐 with objective values 𝑧𝑡+1 ∗ and 𝑧𝑡+2 ∗ respectively. Step 4: Is 𝒙 𝒕+𝟏 feasible? If YES: Go to step 5. If NO: Go to step 8. Step 5: Is 𝑧𝑡+1 ∗ = 𝑧? If YES: Set 𝒙∗ = 𝒙∗ 𝒕+𝟏 ; 𝑧∗ = 𝑧𝑡+1 ∗ ; 𝐿 = ∅ and go to step 1. If NO: Go to step 6. Step 6: Does 𝒙 𝒕+𝟏 satisfy the integrality requirement? If YES: Go to step 7 If NO: Is 𝑧𝑡+1 > 𝑧∗ ? If YES: Set 𝐿 ≔ 𝐿 ∪ 𝑛𝑡+1 and go to step 8. If NO: Go to step 8 Step 7: Is 𝑧𝑡+1 > 𝑧∗ ? If YES: Set 𝒙∗ = 𝒙 𝒕+𝟏 , 𝑧∗ = 𝑧𝑡+1 and go to step 8. If NO: Go to step 8. Step 8: Is 𝑡 = 𝑎𝑛 𝑜𝑑𝑑 𝑛𝑢𝑚𝑏𝑒𝑟? If YES: Set 𝑡 = 𝑡 + 1 and go to step 4. If NO: Consider 𝑧 𝐿𝑃 ∗ = max 𝑧𝑖/𝑛𝑖 ∈ 𝐿 and go to step 9. Step 9: Is 𝑧 𝐿𝑃 ∗ = 𝑧 𝐿𝑃? If YES: Set 𝑡 = 𝑡 + 1 and go to step 1. If NO: Set 𝑧 𝐿𝑃 = 𝑧 𝐿𝑃 ∗ , obtain the new objective function value 𝑧 for this 𝑧 𝐿𝑃, go to step 10. Step 10: Is 𝑧∗ = 𝑧? If YES: Set 𝐿 = ∅ and go to step 1. If NO: Set 𝑡 = 𝑡 + 1, go to step 1. The key of the algorithm is the updating procedure of the sets S and L. In each step when the procedure branches from some node ni to two nodes nt+1 and nt+2, the set S of end nodes is updated to include the new nodes nt+1 and nt+2 and to exclude ni. From the set of live nodes L, the node from which the branching takes place is deleted in step 3 and the node nt+1 or nt+2 is added to the set only if the solution is feasible (step 4) but not integral with objective value is greater than the known integer solution (step 6). In addition to these, the algorithm will be terminated by emptying the set L if the integer approximated solution lies in the optimal hyperplane of the ILP (steps 5 to 8). Algorithm is illustrated using the following examples. 4. EXAMPLES 4.1 Example in which Optimum Solution of the ILP lie on the Optimal Hyperplane if the RLP Maximize 𝑧 = 𝑥1 + 𝑥2 Subject to 𝑥1 + 𝑥2 ≤ 7 2𝑥1 ≤ 11 2𝑥2 ≤ 7 𝑥1, 𝑥2 ≥ 0 and integers. The optimum solution to the RLP using simplex method is given by x1 = 11 2 , x2 = 3 2 and maximum z = 7. This is a non integral solution. But alternate solutions exist for this. The integer approximations of this RLP solutions are 5,1 , 5,2 , 6,1 , 6,2 . Here the set of feasible integer approximations Y1 ∗ = 5,1 , 5,2 . So the integer approximated solution is given by x∗ = 5,2 with z∗ = 7. Also the maximum possible objective function value z = 7. Therefore z∗ = z. So the integer approximated solution is the optimal solution of the ILP and hence no need to consider the Branch and Bound algorithm. Also this solution is a point on the optimal hyperplane of the RLP.
  • 5. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 111 Hence in this case the optimal solution of the ILP lies on the optimal hyperplane of the RLP x1 + x2 = 7. 4.2 Example in which gcd of Cost Coefficients Unity Maximize 𝑧 = 𝑥1 + 2𝑥2 Subject to 𝑥1 + 𝑥2 ≤ 7 2𝑥1 ≤ 11 2𝑥2 ≤ 7 𝑥1, 𝑥2 ≥ 0 and integers. The unique solution to the RLP at node 1 is given by x 1 = 7 2 , 7 2 with maximum z = 21 2 . Clearly it is not an integer solution. The integer approximations of this RLP solutions are { 4,4 , 4,3 , 3,4 , 3,3 }. Here the set of feasible integer approximations Y1 ∗ = 4,3 , 3,3 . So the integer approximated solution is given by x∗ = 4,3 with z∗ = 10. Also the maximum possible objective function value z = 10. So the integer approximated solution is the optimal solution of the ILP. Therefore the optimum solution is given by x1 = 4, x2 = 3 with maximum z = 10 and so the optimum hyperplane is x1 + 2x2 = 10. 4.3 Example in which gcd of Cost Coefficients Greater than Unity Maximize z = 200x1 + 400x2 + 300x3 Subject to 30x1 + 40x2 + 20x3 ≤ 600 20x1 + 10x2 + 20x3 ≤ 400 10x1 + 30x2 + 20x3 ≤ 800 x1, x2, x3 ≥ 0 and integers. The unique optimum solution of the RLP at node 1 is given by x 1 = 0, 20 3 , 50 3 with z = 23000 3 which is clearly non integral. The integer approximations are 0,6,16 , 0,7,16 , 0,6,17 , 0,7,17 . The set of feasible integer approximations Y1 ∗ = 0,6,16 , 0,7,16 , 0,6,17 . Therefore the integer approximated solution is given by x∗ = 0,7,16 with z = 7600. Now d = gcd 200,400,300 = 100. Hence the optimal objective value using RLP at node 1 is given by z = 2300 3 = 7666. But 100 ∤ 7666. Hence reduce the value to 7600 so that 100 | 7600. So finally z = 7600. Here also z = z∗ . Hence the integer approximated solution at node 1 is the optimal solution to the ILP and hence no need to consider the Branch and Bound Algorithm. Therefore the optimum solution is given by x1 = 0, x2 = 7, x3 = 16 with maximum z = 7600 and so the optimum hyperplane of the problem is 200x1 + 400x2 + 300x3 = 7600. 4.4 Example in which gcd of Cost Coefficients is Unity and Branch and Bound Algorithm Required to Obtain Solution Maximize z = 3x1 + 4x2 Subject to 2x1 + 4x2 ≤ 13 −2x1 + x2 ≤ 2 2x1 + 2x2 ≥ 1 6x1 − 4x2 ≤ 15 x1, x2 ≥ 0 and integers. The unique optimum of the RLP at node 1 is given by x 1 = 7 2 , 3 2 with maximum z = 33 2 , which is clearly non integral. The integer approximations are given by 4,1 , 4,2 , 3,1 , 3,2 . But the set of feasible solutions Y1 ∗ = 3,1 . Therefore x∗ = x∗ 1 = 3,1 with z∗ = z1 ∗ = 13. Now d = gcd 3,4 = 1. Hence the optimal objective value using RLP at node 1 is given by z = 33 2 = 16 and z∗ < z. So we have to proceed with Branch and Bound Algorithm. Now by selecting node n1 and branching variable x1, we can obtain subproblems at nodes n2 and n3 and on solving, x 2 = 3, 7 4 with z2 = 16 and x 3 is infeasible. Also x∗ 2 = ∅ with z2 ∗ = −∞. Therefore the new z = 15. Now by selecting node n2 and branching variable x2 we can obtain subproblems at nodes n4 and n5 and on solving x 4 = 3,1 with z4 = 13 and x 5 = 5 2 , 2 with z5 = 31 2 . So z4 ∗ = 13 with x∗ 4 = 3,1 and z5 ∗ = 14 with x∗ 5 = 2,2 . Therefore the new z = 15, z∗ = 14 and x∗ = 2,2 . Finally by selecting node n5 and branching variable x1, we can obtain subproblems at nodes n6 and n7 and on solving x 6 = 2, 9 4 with z6 = 15 and x 7 is infeasible. Also z6 ∗ = −∞ with x∗ 6 = ∅ and the new value z = 14. Hence z = z∗ and so the integer approximated solution in hand is the optimal solution of the ILP. Therefore the optimum solution is given by x1 = 2, x2 = 2 with maximum z = 14 and so the optimal hyperplane of the problem is 3x1 + 4x2 = 14
  • 6. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 112 CONCLUSIONS In this paper, a method to solve pure integer linear programming problems using integer approximated solution method is discussed. This method is very effective for problems whose gcd of cost coefficients is greater than unity. It can also be used to check whether a feasible point is an optimal solution of the ILP. Here the optimal hyperplane is identified using the idea of the linear Diophantine equations. To obtain integer approximated solution the procedure requires the solution of the RLP at each iteration. But any method which can give the integer approximations may reduce the computational efforts. This is a task worth consideration of future research and if it is possible, then this will be more effective in integer programming. REFERENCES: [1] H. A. Eiselt and C. L. Sandblom, “Integer Programming and Network Models”; Springer (2009). [2] L. Cooper, “Hyperplane search algorithm for the solution of integer programming problems”, IEEE Transactions on systems, Man, and Cybernetics 3/3 (1973) 234-240. [3] A. Joseph, S. I. Gass and N. Bryson, “An objective hyperplane search procedure for solving the general all- integer linear programming (ILP) problem”, European Journal of Operational Research 104 (1998) 601-614. [4] A. Joseph, S.I. Gass and N.A. Bryson, “A computational study of an objective hyperplane search heuristic for the general integer linear programming problem, Mathl. Comput. Modelling Vol. 25, No. 10,(1997) 63-76. [5] Chui-Yen and Chen, “Applicaton of integer programming for solving crew scheduling problem in Taipei Rapid Transist Corporation”, IEEE International Conference on Systems, Man and Cybernetics, (2008) 2548 – 2553. [6] M.A. Breuer, “The application of integer programming in design automation”, Annual ACM IEEE Design Automation Conference,( 1966) 2.1-2.9. [7] Brenda Dietrich, “Some of my favorite integer programming applications at IBM”, Annals of Operations Research 149,(2007) 75-80. [8] Alexander Schrijver,“Theory of Linear and Integer Programming”, John Wiley & Sons Ltd (1986). [9] Richard Bronson and Govindasami Naadimuthu, “Schaums Outline of Theory and Problems of Operations Research, Second edition”;Schaum’s Outline Series, McGraw-Hill, (1997). [10] Sebastian Ceria, Cecile Cordier, Hugues Marchand and Laurence A. Wolsey,“Cutting planes for integer programs with general integer variables”, Mathematical Programming 81, (1998) 201-214.