Ijret - An Algorithm For Solving Integer Linear Programming Problems
Ijret - An Algorithm For Solving Integer Linear Programming Problems
Assistant Professor, Department of Mathematics, Christ College Irinjalakkuda, Kerala, India, 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 Gomorys 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 cx =z where each c Z, which is a linear Diophantine equation in integers. Let d = gcd {c , c 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].
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 107
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.
infinitely many integer solutions to this equation and < = =9<{)9 , 9 , 9; *+9> 0} divides /01 . Thus / & 4 /01 /21 and <| / & which is a contradiction to the assumption of / & and so /01 / & . Proposition2. If / & 4 /21 , (strict inequality) then there is no integer solution to the ILP lie between the hyperplanes 85 = /21 and 85 = / & . Proof Given / & 4 /21 . If possible assume an integer point (say 5? ) is lie between the given hyperplanes so that 85@ 4 /21 and 85@ 3 / & . Let 85@ = /? . Then the linear Diophantine equation 9 : + 9 : + ! + 9; :; = /? will have infinitely many integer solutions and =9< | /? , since 5@ is an integer solution of the equation. Thus we have an integer /? so that / & 4 /? 4 /21 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 /21 denote the value of z corresponding to this optimum solution. Thus 5A7 . If the optimum solution to the ILP exists, then there exist /? 4 /21 such that the optimum solution to the ILP lies on the hyperplane 85 = /? . Proof Let 5A7 denote the optimum solution of the RLP. Let B denote the set of feasible solutions to the RLP. Then B C {5 D 85 = /21 } is the singleton set 5A7 . It is also given that 5A7 is non integral. Let B denotes the feasible solutions to the ILP which is non empty. Now B E B ; 5A7 B and 5A7 F B. Also B C {5 D 85 = /21 } = 5A7 . So B C {5 D 85 = /21 } = G. Also /21 gives an upper bound for ILP. So the value of the objective function for the ILP, /01 should be strictly less than /21 and the optimum solution to the ILP will lie on the hyperplane 85 = /01 . Remark: If /21 is an integer, the solution 5A7 is non integral and if there exist alternate optimum solution for the ILP (that is 5A7 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 85 = /21 . An example in the next section illustrates this fact. Theorem1. Let / & be an integer defined as in section 2. Let B denote the set of all feasible solutions to the ILP. If B C {5 D 85 = z & } is non empty, then the optimum solution to the ILP will lie on the hyperplane 85 = z& . Proof
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 c with a suitable positive integer. Since the decision variables x are also required to be integers for an ILP, c x + c x + ! c" x" should be an integer for all integer values of c and x for j = 1,2, # n. Consider the optimum solution to the RLP say x$% . Let z$% denotes the optimum value of the objective function. That is z$% = cx$% . 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 z$% . That is z & cx$% . Since z & z$% , let z& = 'z$% (, the greatest integer less than or equal to z$% . Then consider the linear Diophantine equation c x + c x + ! c" x " = z & . Also let d= gcd{)c , c , c" *+c, 0}. If d - z & , there will not exist any integer solution to the linear Diophantine equation. In this case let z & = 'z$% ( . 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 z$% and d| z & . Proposition1. Let /01 denotes the value of the objective function corresponding to the optimum solution of the ILP. Then /01 / & where / & is an integer defined as above. Proof Let /21 denotes the maximum objective value to the RLP. Then clearly /01 /21 If possible assume /01 3 / & But by definition, / & /21 . Then / & 4 /01 /21 Let 567 denotes the optimum solution of the ILP so that 8567 = /01 So the linear Diophantine equation 9 : + 9 : + ! 9; :; = /01 has a solution 567 . Hence there will exist
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 108
For each component x of x ),* , consider Ix J and Kx L and then all combinations of these components to obtain the integer approximated solutions. (That is there are two choices 'x ( and Mx N for x and two choices 'x ( and Mx N for x and so on. If some particular component xO is an integer, then there is only one choice for this component. So there will be atmost 2" approximated solutions). Then consider the feasibility of each of these points. If a particular point is feasible, then put this point in the set P, , consider the set P,& = P, Q{P, C P} where Y is the set of integer approximated solutions. Initially P = R. If ),* P,& = R, then set Z,& = .S and x& = R. Otherwise find ),* Z,& = mTx)cx+x P,& * and x& = {x P,& +cx = Z,& }. Then set P U P V P,& . Then x& is the integer approximated solution to the ith sub problem with the objective function valueZ,& .
),*
3.2 Search for the Optimal Objective value and the Optimal Hyperplane
Let x$% be the optimum solution of the RLP with objective value z$% (That is cx$% = z$% ). Also let d denote the gcd of the cost coefficients. Let zW% denote the maximum value of the objective function for the ILP. Then zW% will be an integer such that zW% 'z$% ( and d|zW% .hence the integer z X can assume so that z X = 'z$% (. If d - z X then reduce the value z Xby unity and check whether it is divisible by d. If not reduce the value of z X by unity again and so on. Hence the maximum possible value of z for the ILP is given by z X and cx = z X is a hyperplane having infinitely many integer points on it. If x$% is unique then z X 4 z$% . If any of the integer feasible point of the ILP lie on this hyperplane, then cx = z X should be the optimal hyperplane and so zW% = z X. If none of the feasible integer oint lie on the hyperplane, then we have to reduce the value z X to X obtain the optimal hyperplane and zW% . 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 X when z$% and gcd of the cost coefficients of the LPP are known.
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.
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 109
Step 8: Is g = h^ i<< ^jklmn] If YES: Set g = g + 1 and go to step 4. & If NO: Consider /21 = mTx {/> +^> \} and go to step 9.
& = /21 ] Step 9: Is /21 If YES: Set g = g + 1 and go to step 1. & If NO: Set /21 = /21 , obtain the new objective function value /f for this /21 , go to step 10.
Step 10: Is / & = /f] If YES: Set \ = R and go to step 1. If NO: Set g = g + 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 n, to two nodes nob and nob , the set S of end nodes is updated to include the new nodes nob and nob and to exclude n, . From the set of live nodes L, the node from which the branching takes place is deleted in step 3 and the node nob or nob 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.
3.4 Algorithm
Step 1: Is \ = R] If YES: Is / & 3 .S, then the solution 567 = 5& with objective value /01 = / & is optimal and 85 = / & 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 5)_* and objective value /> . Step 3: Branch on some variable :` (according to some prescribed criterion) to the nodes ^ab with :` I:` J and ^ab with :` K:` L. Set \ U \Q{^> } and B U B V {^ab , ^ab }Q {^> }. Solve the LPP at ^ab and ^ab . The results are solutions 5)cbd* and 5)cbe* with objective values /ab and /ab and the )cbd* improved integer approximated solutions (if it exist) 5& )cbe* & & and 5& with objective values /ab and /ab respectively. Step 4: Is 5)cbd* feasible? If YES: Go to step 5. If NO: Go to step 8.
& Step 5: Is /ab = /f] )cbd* & If YES: Set 5& = 5& ; / & = /ab ; \ = R and go to step 1. If NO: Go to step 6.
4. EXAMPLES 4.1 Example in which Optimum Solution of the ILP lie on the Optimal Hyperplane if the RLP
Maximize / = : + : Subject to : +: p 2: 11 2: p : , : 0 and integers. The optimum solution to the RLP using simplex method is q given by x = , x = and maximum z = p. This is a non integral solution. But alternate solutions exist for this. The integer approximations of this RLP solutions are {)r,1*, )r,2*, )s,1*, )s,2*}. Here the set of feasible integer approximations P & = {)r,1*, )r,2*}. So the integer approximated solution is given by x & = )r,2* with z & = p. Also the maximum possible objective function value z X = p. Therefore z& = z X. 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.
Step 6: Does 5)cbd* satisfy the integrality requirement? If YES: Go to step 7 If NO: Is /ab 3 / & ] If YES: Set \ U \ V {^ab } and go to step 8. If NO: Go to step 8 Step 7: Is /ab 3 / & ? If YES: Set 5& = 5)cbd* , / & = /ab and go to step 8. If NO: Go to step 8.
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 110
Hence in this case the optimal solution of the ILP lies on the optimal hyperplane of the RLP x + x = p.
Here also z X = 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 x = 0, x = p, xq = 1s with maximum z = ps00 and so the optimum hyperplane of the problem is 200x + w00x + x00xq = ps00.
4.4 Example in which gcd of Cost Coefficients is Unity and Branch and Bound Algorithm Required to Obtain Solution
Maximize z = xx + wx Subject to 2x + wx 1x .2x + x 2 2x + 2x 1 sx . wx 1r x , x 0 and integers. The unique optimum of the RLP at node 1 is given by x ) * = t , v with maximum z = , which is clearly non integral. The integer approximations are given by {)w,1*, )w,2*, )x,1*, )x,2*}. But the set of feasible solutions ) * P & = {)x,1*}. Therefore x & = x& = )x,1* with z & = z & = 1x. Now d = gcd)x,w* = 1. Hence the optimal objective value using RLP at node 1 is given by z X = | } = 1s and z & 4 z X. So we have to proceed with Branch and Bound Algorithm. Now by selecting node n and branching variable x , we can obtain subproblems at nodes n and nq and on solving, u x ) * = tx, v with z = 1s and x )q* is infeasible. Also
) * ~ qq u q qq
x& = R with z & = .S. Therefore the new z X = 1r. Now by selecting node n and branching variable x we can obtain subproblems at nodes n~ and n{ and on solving x )~* = )x,1*
)~* ){* & x& = )x,1* and z{ = 1w with x& = )2,2*. Therefore the & & new z X = 1r, z = 1w and x = )2,2*. Finally by selecting node n{ and branching variable x , we can obtain & with z = 1r and x )u* is infeasible. Also z = .S with )* x& = R and the new value z X = 1w. Hence z X = z & and so the integer approximated solution in hand is the optimal solution of the ILP.
& . So z~ = 1x with
Therefore the optimum solution is given by x = 2, x = 2 with maximum z = 1w and so the optimal hyperplane of the problem is xx + wx = 1w
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 111
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] [2] H. A. Eiselt and C. L. Sandblom, Integer Programming and Network Models; Springer (2009). L. Cooper, Hyperplane search algorithm for the solution of integer programming problems, IEEE Transactions on systems, Man, and Cybernetics 3/3 (1973) 234-240. A. Joseph, S. I. Gass and N. Bryson, An objective hyperplane search procedure for solving the general allinteger linear programming (ILP) problem, European Journal of Operational Research 104 (1998) 601-614. 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. 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. M.A. Breuer, The application of integer programming in design automation, Annual ACM IEEE Design Automation Conference,( 1966) 2.1-2.9. Brenda Dietrich, Some of my favorite integer programming applications at IBM, Annals of Operations Research 149,(2007) 75-80. Alexander Schrijver,Theory of Linear and Integer Programming, John Wiley & Sons Ltd (1986). Richard Bronson and Govindasami Naadimuthu, Schaums Outline of Theory and Problems of Operations Research, Second edition;Schaums Outline Series, McGraw-Hill, (1997). 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.
[3]
[4]
[5]
[6]
[7]
[8] [9]
[10]
__________________________________________________________________________________________
Volume: 02 Issue: 07 | Jul-2013, Available @ http://www.ijret.org 112