Absolute Change Pivot Rule for the Simplex Algorithm Kittiphong Chankong, Boonyarit Intiyot, and Krung Sinapiromsaran Abstract—The simplex algorithm is a widely used method for solving a linear programming problem (LP) which is first presented by George B. Dantzig. One of the important steps of the simplex algorithm is applying an appropriate pivot rule, the rule to select the entering variable. An effective pivot rule can lead to the optimal solution of LP with the small number of iterations. In a minimization problem, Dantzig’s pivot rule selects an entering variable corresponding to the most negative reduced cost. The concept is to have the maximum improvement in the objective value per unit step of the entering variable. However, in some problems, Dantzig’s rule may visit a large number of extreme points before reaching the optimal solution. In this paper, we propose a pivot rule that could reduce the number of such iterations over the Dantzig’s pivot rule. The idea is to have the maximum improvement in the objective value function by trying to block a leaving variable that makes a little change in the objective function value as much as possible. Then we test and compare the efficacy of this rule with Dantzig’ original rule. Index Terms—linear programming; simplex algorithm; pivot rule; absolute change pivot rule. I. I NTRODUCTION L INEAR programming (LP) is widely used for modeling and solving optimization problems in many industries. An LP model includes an objective function subject to a finite number of linear equality and inequality constraints. To solve an LP problem, we need to consider the computational complexity that depends on the number of constraints and variables. The popular algorithm for solving LP problems is the well-known simplex algorithm which is presented by George B. Dantzig [1], in 1963. One of the important steps of the simplex algorithm is a pivot rule, the rule that is used for selecting the entering variable. An effective rule can lead to the solution of LP with small number of iterations. Dantzig’s original rule is the standard pivot rule but this rule is efficient only for LP with small sizes. Moreover Dantzig’s rule can not prevent cycling in linear programming [2] and takes a lot of iterations in some case. Klee and Minty [3] exhibited the worst case running time of simplex algorithm using Dantzig’s pivot rule. To avoid this weakness, there are many research studies trying to improve simplex algorithm, via the pivot rule by reducing the number of iterations and the solution time. In 1977, Forrest and Goldfarb [4] presented a way to reduce the number of iterations which was called “Steepest-edge rule”. Manuscript received January 7, 2014; revised February 5, 2014. This work was supported in part by the Applied Mathematics and Computational Science Program, Faculty of Science and Graduate School, Chulalongkorn University. K. Chankong, B. Intiyot, K. Sinapiromsaran are with the Applied Mathematics and Computational Science Program, Department of Math- ematics and Computer Science, Faculty of Science, Chulalongkorn University, Bangkok, Thailand e-mail: Chankong.kc@gmail.com, Boon- yarit.i@chula.ac.th, Krung.s@chula.ac.th. Later, other rules followed such as Devex rule by Harris [5] and the largest-distance pivot rule by Pan [6]. In this paper, we proposes the new pivot rule called abso- lute change pivot rule. The idea is trying to block a leaving variable that makes a little change in the objective function value as much as we can. If we can prevent such variables to leave the basis, it could make the objective function value improved further than using a regular Dantzig’s pivot rule and therefore lead to fewer number of iterations. We report the computational results by testing and comparing the number of iterations from this new rule to Dantzig’ original pivot rule. This paper is divided in to five sections. Section 1 gives a brief introduction; Section 2 describes the preliminaries of linear programming, simplex algorithm and pivot rule. Section 3 explain the main idea of our pivot rule and show Klee and Minty problem [3] for an example. Section 4 deals with the computational results by testing and comparing the number of iterations from this new rule to another rule and conclusion has been drawn at the end. II. PRELIMINARIES A. The simplex method Consider the linear programming (LP) problem in the standard form, where A ∈ R m×n (m<n),b ∈ R m ,c ∈ R n and rank(A)= m. Minimize c T x subject to Ax = b (1) x ≥ 0. After possibly rearranging the column of A, let A = [B N ] where B is an m × m invertible matrix and N is m × (n − m) matrix. Here B is called the basic matrix and N the associated nonbasic matrix. We denote basic and nonbasic index set by I B and I N respectively. Let x = [ x B x N ] be the solution of the equation Ax = b, where x B = B -1 b and x N =0 is called a basic solution of the system. If x B ≥ 0, x is called a basic feasible solution of the system. Suppose that a basic feasible solution of the system (1) is [ B -1 b 0 ] , whose objective value z 0 is given by z 0 = c T B B -1 b. (2) Now let x = [ x B x N ] denote the set of basic and nonbasic variables for the given basis. Then feasibility requires that x B ≥ 0 and x N ≥ 0. We denote the j th column of A by A j . Then we can rewrite the system Ax = b as: Bx B + Nx N = b. (3) Proceedings of the International MultiConference of Engineers and Computer Scientists 2014 Vol II, IMECS 2014, March 12 - 14, 2014, Hong Kong ISBN: 978-988-19253-3-6 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2014