SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Similar documents
SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

5.3 Cutting plane methods and Gomory fractional cuts

3 INTEGER LINEAR PROGRAMMING

Optimization Methods in Management Science

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Implementation of pattern generation algorithm in forming Gilmore and Gomory model for two dimensional cutting stock problem

Fundamentals of Integer Programming

Unit.9 Integer Programming

Linear Programming. Course review MS-E2140. v. 1.1

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Some Advanced Topics in Linear Programming

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Solutions for Operations Research Final Exam

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

TIM 206 Lecture Notes Integer Programming

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

3 No-Wait Job Shops with Variable Processing Times

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Chapter II. Linear Programming

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

AM 121: Intro to Optimization Models and Methods Fall 2017

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Algorithms for Integer Programming

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Integer Programming! Using linear programming to solve discrete problems

Integer Programming Theory

Approximation Algorithms

The Simplex Algorithm

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

Discrete Optimization. Lecture Notes 2

4.1 The original problem and the optimal tableau

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

Lecture 9: Linear Programming

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY

Math Models of OR: The Simplex Algorithm: Practical Considerations

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Integer and Combinatorial Optimization: Clustering Problems

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Linear Programming Terminology

NATCOR Convex Optimization Linear Programming 1

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

The MIP-Solving-Framework SCIP

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Civil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Artificial Intelligence

TMA946/MAN280 APPLIED OPTIMIZATION. Exam instructions

What is linear programming (LP)? NATCOR Convex Optimization Linear Programming 1. Solving LP problems: The standard simplex method

A modification of the simplex method reducing roundoff errors

lpsymphony - Integer Linear Programming in R

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

Pure Cutting Plane Methods for ILP: a computational perspective

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

TRANSPORTATION AND ASSIGNMENT PROBLEMS

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CSE 40/60236 Sam Bailey

DETERMINISTIC OPERATIONS RESEARCH

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Integer Programming as Projection

MATH3016: OPTIMIZATION

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

16.410/413 Principles of Autonomy and Decision Making

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

A hard integer program made easy by lexicography

Chapter 1 Linear Programming. Paragraph 4 The Simplex Algorithm

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Linear Programming with Bounds

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

Experiments On General Disjunctions

Research Interests Optimization:

Integer Programming Explained Through Gomory s Cutting Plane Algorithm and Column Generation

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Stable sets, corner polyhedra and the Chvátal closure

Integer Programming Chapter 9

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

DM515 Spring 2011 Weekly Note 7

An Extension of the Multicut L-Shaped Method. INEN Large-Scale Stochastic Optimization Semester project. Svyatoslav Trukhanov

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Linear programming II João Carlos Lourenço

Approximation Algorithms

Math 5593 Linear Programming Final Exam

A PARAMETRIC SIMPLEX METHOD FOR OPTIMIZING A LINEAR FUNCTION OVER THE EFFICIENT SET OF A BICRITERIA LINEAR PROBLEM. 1.

Generalized Network Flow Programming

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Transcription:

Bulletin of Mathematics Vol. 06, No. 0 (20), pp.. SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING Eddy Roflin, Sisca Octarina, Putra B. J Bangun, Cytra Ria Atmanegara and F. E. Zulvia Abstract. Application of binary linear programming can be found in many fields such as scheduling, production planning, networking and etc. Unlike linear programming problems, binary integer linear programming problem is more difficult to solve since its variables must be a binary number zero or one. Thus, solving this problem efficiently becomes an interesting issue. This paper proposes a combination of Balas additive method and Gomory cutting plane method. Balas additive method is a well-known method in binary linear programming. It systematically enumerates subset of the possible binary solution to ensure all possible solutions are examined. In this paper, a drawback of this method which is requiring long iterations is fixed. It uses the Gomory cutting plane method to eliminate non-integer partial solution. The Gomory cutting plane method generates an additional constraint to eliminate a non-integer solution. In general, this additional constraint increases the problem complexity. Therefore, combining Balas algorithm and Gomory cutting plane method can solve binary linear problem faster without facing more complex mathematical model. Substituting Gomory cutting plane to the Balas algorithm is conducted by performing the cut based on condition in Gomory algorithm towards the enumeration process conducted by Balas algorithm. The computational result using a test function proves that the proposed substituting strategy can solve binary linear programming efficiently which is shown by the number of iterations required by this method. Received 2--20, Accepted -2-20. 2000 Mathematics Subject Classification: 90C0, 6K0 Key words and Phrases: Binary linear programming, Balas algorithm, Gomory cutting plane.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... 2. INTRODUCTION Linear programming (LP) has been applied in many different fields. One of application of linear programming can be founded in a problem requiring a yes-no decision. Herein, a binary zero-one LP can be applied to solve this kind of problem. Due to its importance, many algorithms have been proposed to solve a zero-one LP. One of them is Balas algorithm proposed by Balas []. This method has been proven can solve zero-one LP well, yet it requires a long iterations[2]. On the other hand, A Gomory cutting plane method was proposed for solving an integer LP[]. This method does not require too long iterations as proceed by Balas algorithm. The approach taken in the Cutting Plane technique is to create an additional constraint that cuts feasible space of the linear programming relaxation to eliminate a solution that is not integer. But this method has the disadvantage such a solution obtained was shaped shards or fractional integer which does not require complex simplex iteration[]. Unfortunately, this method does not obtain an absolute zero-one solution. This paper aims to overcome the drawback of Balas algorithm by embedding it with Gomory cutting plane method. The main concept of the proposed method is eliminating the backtracking procedure in Balas algorithm and replacing it with Gomory cutting plane. The rest of this paper is organized as follows. Section 2 briefly reviews the literature study of Balas algorithm and Gomory cutting plane method. In Section, the proposed combination of Balas and Gomory algorithm is discussed. Furthermore, two numerical examples are given in Section. Finally, a concluding remark is given in Section. 2. LITERATURE REVIEW This section discusses some basic theories of linear programming, Balas algorithm and Gomory cutting plane which are applied in this paper. 2. BINARY LINEAR PROGRAMMING Linear programming is a tool for solving optimization problem. It aims to minimize or maximize the objective function with respect to some constraints. In the real-world problem, optimization problems usually involves

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... a yes-no decision. These problems are modeled as binary linear programming or zero-one linear programming. The general form of binary linear programming model is as follows. Objective function: Maximize or Minimize: f(x) = C T X () where X = x x 2. x n Subject to: AX + Y = B (2) c C = c 2. c n a a 2 a n a 2 a 22 a 2n and A =...... a m a m2 a mn x i {0, } () Y 0 () b 0, B = b 2. 2.2 BALAS ALGORITHM Balas algorithm was proposed by Egon Balas []. This method works by successively assigning the value to a certain variables. Notations used in Balas algorithm are defined as follows: J k = Set of decision variables at iteration k. It is a partial solution at iteration k. R J k = Set of decision variables in objective function. = Set of decision variables which are not included in J k. All decision variables are assumed the be zero unless it has been defined as one in advance. Jk = R J k. P k = Set of decision variables which can repair the final solution. Is k = Number of violated constraints when variable x s = at iteration k. f k = Objective value at iteration k. = Final objective value. yj k = Slack variable at iteration k. f b n

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... The Balas algorithm is as follows. STEP. Initialization Set k = 0, J 0 =, Y (k) = B with at less one component from B < 0, f =, f 0 = 0, R = {x, x 2,, x n } and J 0 = R. STEP 2. Determine variable in J k which can be moved to J k. Choose one set of decision variables in Pk which has objective value better than J k. Eliminate variables which have negative value. y k+ j = y k j a js, y k j < 0 () Variable yj k is feasible if a js < 0. The x s J k with a js = 0 can be eliminated and inserted to the set N k. Eliminate all variables causing the current objective value f ( k) higher than f. Let the objective function: f k = j J k c j x j (6) If x s J k, is set as, the objective function becomes (f k + c s ). Thus x s which makes the objective value greater than f cannot be included in solution. Let M k = {x s x s L, L = f k + c s = f }, then: P k = J k (N k M k ) = R J k (N k M k ) () If P k =, then go to STEP. Otherwise, go to the next step. Given constraints: which can be written as: a j x + a j2 x 2 + + a jn x n + y = b j, y j < 0 () y k+ j = y k j By considering only variables in P k, we get: x s J k a js x s, y k j < 0 (9) x s J k a js y k j, y k j < 0 (0) Change variable,x t P k, to. The variable x t is chosen based on Equation. (). { ( )} x t = argmin It k = max Is k () x t P k

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... where, I k j = m j= Defines new solution J k+. ) min (0, yj k a js, x P k (2) STEP. Update y k+ j. Update objective function: y k+ j = y k j a js () f k+ = f k + c t () If all yj k+ to STEP 2. 0, then f = f k+, and go to STEP. Otherwise, back STEP. Backtracking and determining optimal solution. The backtracking process is conducted towards partial solution J k. It is started by assuming all variables in J k are one. Then, successively assigning zero to certain variables. Here in, 2 n possibilities are evaluated where n is number of variables in J k. Then, a combination which gives the smallest value is the final objective value. 2. GOMORY CUTTING PLANE The Gomory cutting plane is an algorithm for obtaining integer solutions of the linear programming []. This algorithm works by examine a solution of the linear programming obtained by simplex method. If the solution is not in integers, a new constraint which can cut the search space so that non integer solution can be eliminated. The procedure of generating new constraints is as the following. STEP. Given an optimal simplex tableau. If x i < 0, then n a j i w j = β i () j= when a j i aj i and w j 0, equation () can be transformed to: n a j i w j β i (6) j=

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... 6 and n a j i w j + S i = β i () j= where S i is a slack variable. Assumed β i is non-integer, then a j i + f ij = a j i and β i + f i = β i where 0 f ij and 0 < f i <. The additional constraint is the differences between eqs () and () which can be formulized as follows. n ( f ij )w j + S i = f i () j=. METHODOLOGY The idea of substituting Gomory cutting plane to the Balas algorithm is proposed to accelerate the procedure of Balas algorithm. As discussed in Section 2, Balas algorithm involves a backtracking procedure which takes a long iteration. Thus, we perform Gomory cutting plane method to replace the backtracking procedure. Herein, Gomory cutting plane condition is applied to determine which variable should be set as. Detail steps of the proposed Balas and Gomory combination is given as follows. STEP. Initialization Set k = 0. Transform the LP to a standard form. STEP 2. Solve the standard form LP using dual simplex method to obtain the optimal dual simplex tableau. STEP. If all decision variables in the optimal solution are integer, then stop. Otherwise, generate a new constraint based on Gomory procedure. The new constraint is derived from the basis variable which has the biggest non-integer solution. Solve the new LP with dual simplex method and obtain new optimal tableau. If the new solution is integer, then stop and go to STEP. Otherwise, back to STEP. STEP. Substitute solution the original LP form to get the final optimal solution.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method.... NUMERICAL ANALYSIS In order to analyze the performance of the proposed method, a numerical analysis involving a binary LPs is conducted. Herein, a binary LP are solve using Balas algorithm, Gomory cutting plane method, and the proposed method. Problem: Objective function: Subject to: MIN f = x + x 2 + 0x x + x (9) x + x 2 x + x + x 0 (20) 2x + 6x 2 x + 2x + 2x (2) x 2 2x x + 2x 2 (22) x i {0, } i =, 2,, (2) Procedure the proposed substituting Balas and Gomory Solve the LP using the proposed Balas and Gomory algorithm as follows: Iteration. STEP. Transform LP to standard form and obtained new form as follows: Subject to: MIN f = x + x 2 + 0x x + x (2) x + x 2 x x + x + y = 2 (2) 2x 6x 2 + x + 2x 2x + y 2 = 0 (26) x 2 2x x + 2x + y = (2) x i {0, } i =, 2,, (2) y, y 2, y 0 (29) STEP 2. Solve the standard form using dual simplex method and obtain the optimal tableau as table. Since the current solution contains non-integer variables, a new constraint must be generated. According to the Gomory cutting plane rule, the

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... Table : Optimal tableau Basic x x 2 x x x y y 2 y Solution f 0 0 0 2 0 2 2-9 9 x 2 9 0 9 9 0 9 2 x 2 9 0 9 9 0 2 9 y 9 0 0 9 9 9 2 2 x is used for the new constraint. The new constraint generating procedure is as follows: Change negative coefficient of all variables in row x into positive value. x 2/9 = /9 x /9 = /9 x /9 = /9 (0) y 2 /9 = /9 y 2/ = / Define new coefficient for all variables: x = /9; x = /9; x = /9; y 2 = /9; and y = /. Substitute to equation x. x + 9 x + 9 x + 9 x + 9 y 2 + y = 2 () Define the constraint as follows: S 9 x 9 x 9 x 9 y 2 y = 2 (2) Add the new constraint to the optimal tableau and solve using simplex method. The result is shown as table 2. From the current optimal tableau, the optimal solution still contains non-integer variable. Thus, return to STEP. Iteration 2. STEP. Generate a new constraint. From current optimal tableau, x and y 2 are variables which have the biggest integer solution. However, since coefficient S in row y 2 is less than -, the

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... 9 Table 2: Optimal tableau 2 Basic x x 2 x x x y y 2 y S Solution f - 0 0 - - 0 0 - - x 0 0 0 - x 2 0 0 0 y 0 0 0 2 y 2 0 0 2 new constraint is generated from x. By following the same procedure in iteration, we get the new constraint as follow. ( x + + ) ( x + + ) ( x + + ) ( x + + ) y ( + + ) ( S = 0 + ) () S 2 x x x y S = () Add the new constraint to the current LP and solve it using Simplex method. The new optimal tableau is as follows. Table : Optimal tableau Basic x x 2 x x x y y 2 y S S 2 Solution f - 0 0 6 6 0 0 6 0 x 0 0 6 2 0 0 0 - x 2 0 0 0 0 0-2 y - 0 0 2 0 2 0 2 y 2 2 0 0 6 0 0 2 S 0 0 0 0 6 6 Since the optimal solution still involves non-integer solution, go back to STEP.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... 0 Iteration. STEP. Generate new constraint. The optimal tableau shows the highest integer values are given by x and S. However, S 2 in row S has value less than -. Thus, x is chosen for the new constrain as follows. ( x + + ) ( + + 6 ) S 2 = ( x + ( 0 + 6 + ) ) ( x + + ) y () S x x y 6 S 2 = 6 (6) Add the new constraint to the LP and solve it using Simplex method. The optimal tableau is as follows. Table : Optimal tableau Basic x x 2 x x x y y 2 y S S 2 S Solution f - 0 0 6 2 0 0 0 6 0 2 2 x 0 0 0 0 0 2 0-2 x 2 0 0 0 0 0 2 0 - y - 0 0 2 0 0 0 2 2 y 2 2 0 0 0 0 0 0 0-2 0 S 0 0 0 0 0 0 0-2 0 x 0 0 0 0 0 0 2 The optimal tableau shows that the solution is non-integer. However, there is one variable has negative value. Thus, recalculating coefficient f and y is performed instead of generating a new constraint. The ratio between coefficient f and y is given as follows. Choose variable with the smallest ratio to replace y is basis row. Recalculate the optimal tableau using Simplex method. The result is as follows. This optimal tableau shows that the current solution is integer solution. Thus stop the iteration and go to the next step.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... Table : Ratio between coefficients f and y x x 2 x x x y y 2 y S S 2 S f - 0 0 6 2 0 0 0 6 0 2 2 y - 0 0 2 0 0 0 2 Ratio - - 6 - - - 2 - - Table 6: Final Optimal tableau Basic x x 2 x x x y y 2 y S S 2 S Solution f 2 0 0 0 x 0 2 x 2 0 S 2 0 0 2 y 2 0 0 2 S 2 0 0 6 x 6 0 0 2 0 0 0 0 6 0 0 0 0 2 2 0 2 6 6 0 0 6 0 2 0 0 2 0 0 0 0 0 2 0 0 6 0 2 0 0 0 STEP. Substitute the optimal solution to the original LP form to get the final optimal solution. x = x 2 = S 2 =, y 2 =, S = 2, x = 0 () The final optimal solution: f min = 9 x = x 2 = x = x = () x = 0. DISCUSSION The same problem is also solve using Balas and Gomory algorithm. Since the aims of combining Balas and Gomory algorithm is to reduce the computational time in terms number of iterations, the evaluation is conducted by comparing number of iterations required by Balas, Gomory and the proposed method. The result is mentioned in Table. This result proves that the proposed Balas and Gomory algorithm can solve the binary LP better than Balas and Gomory algorithm. It is not only can obtain better result, but also only requires less iteration.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... 2 Table : Comparison between Balas, Gomory and the proposed method Method Number of Iterations Objective Value Balas Algorithm iterations: 2 steps 9 Gomory iteration: 2 steps The proposed method iteration: steps 9. CONCLUSION Balas algorithm is a method for solving binary LP. Although it has been proven can solve the binary LP well, this method has a drawback which is requiring a long iterations. On the other hand, Gomory method is a method for solving integer LP. Unlike Balas algorithm, this method only takes a few iterations to find an integer solution. This paper aims to propose a method for solving binary LP with less iteration. The proposed method combines Balas algorithm with Gomory cutting plane method. In this method, the backtracking procedure in Balas algorithm is replaced with Gomory cutting plane method. Backtracking procedure is a part of Balas algorithm which requires 2 n evaluation where n is number of variables. The proposed method avoids this procedure since it requires high computational. Herein, Gomory condition is applied to generate an additional constraint which reduces the search space so that it can find a binary integer solution faster. Furthermore, the proposed method is validated using a binary LP. Numerical computational result proves that the proposed substitution Balas and Gomory algorithm can solve binary LP better and faster than Balas and Gomory algorithm. ACKNOWLEDGMENT This paper is the publication of the Fundamental Research which was funded by BOPTN 20. We thank to the Ministry of Higher Education, Dikti and all who help us finished this research.

Eddy Roflin et. al. Substituting Gomory Cutting Plane Method... REFERENCES. Balas, E. An Additive Algorithm For Solving Linear Programs With Zero- One Variables.. Operations Research, 96. (): p.. 2. Balas, E. and J. Mazzola. Nonlinear 0 programming: I. Linearization techniques. Mathematical Programming, 9. 0(): p. -2.. Gomory, R.E.Outline of an algorithm for integer solutions to linear programs. Bulletin of the American Mathematical Society, 9. 6(): p. 2-2.. Washburn, A.R., Branch and bound methods for a search problem. Naval Research Logistics. 99. (): p. 2-2. Eddy Roflin: Sriwijaya University, Indonesia. E-mail: rofline@yahoo.co.id Sisca Octarina: Sriwijaya University, Indonesia. Putra BJ Bangun: Sriwijaya University, Indonesia. CytraRia Atmanegara: Sriwijaya University, Indonesia. F. E. Zulvia : Sriwijaya University, Indonesia.