Skip to main content
Log in

The double pivot simplex method

  • Original Article
  • Published:
Mathematical Methods of Operations Research Aims and scope Submit manuscript

Abstract

The simplex method, created by George Dantzig, optimally solves a linear program by pivoting. Dantzig’s pivots move from a basic feasible solution to a different basic feasible solution by exchanging exactly one basic variable with a nonbasic variable. This paper introduces the double pivot simplex method, which can transition between basic feasible solutions using two variables instead of one. Double pivots are performed by identifying the optimal basis in a two variable linear program using a new method called the slope algorithm. The slope algorithm is fast and allows an iteration of DPSM to have the same theoretical running time as an iteration of the simplex method. Computational experiments demonstrate that DPSM decreases the average number of pivots by approximately 41% on a small set of benchmark instances.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Alterovitz R, Lessard E, Pouliot J, Hsu I, O’Brien J, Goldberg K (2006) Optimization of HDR brachytherapy dose distributions using linear programming with penalty costs. Med Phys 33(11):4012–4019

    Article  Google Scholar 

  • Appelgren L (1969) A column generation algorithm for a ship scheduling problem. Transp Sci 3(1):53–68

    Article  Google Scholar 

  • Bartels R (1971) A stabilization of the simplex method. Numer Math 16(5):414–434

    Article  MathSciNet  MATH  Google Scholar 

  • Bartolini F, Bazzani G, Gallerani V, Raggi M, Viaggi D (2007) The impact of water and agriculture policy scenarios on irrigated farming systems in Italy: an analysis based on farm level multi-attribute linear programming models. Agric Syst 93(1):90–114

    Article  Google Scholar 

  • Bazaraa M, Jarvis J, Sherali H (2009) Linear programming and network flows. Wiley, New Jersey

    Book  MATH  Google Scholar 

  • Bertsimas D, Tsitsiklis J (1997) Introduction to linear optimization. Athena Scientific, Belmont

    Google Scholar 

  • Bland R (1977) New finite pivoting rules for the simplex method. Math Oper Res 2(2):103–107

    Article  MathSciNet  MATH  Google Scholar 

  • Chalermkraivuth K, Bollapragada S, Clark M, Deaton J, Kiaer L, Murdzek J, Neeves W, Scholz B, Toledano D (2005) GE asset management, Genworth financial, and GE insurance use a sequential-linear-programming algorithm to optimize portfolios. Interfaces 35(5):370–380

    Article  Google Scholar 

  • Coppersmith D, Winograd S (1990) Matrix multiplication via arithmetic progressions. J Symb Comput 9(3):251–280

    Article  MathSciNet  MATH  Google Scholar 

  • Dantzig G (1947) Maximization of a linear function of variables subject to linear inequalities. In: Koopmans TC (ed) Activity analysis of production and allocation, 1951. Wiley, New York, pp 339–347

    Google Scholar 

  • Dantzig G (1982) Reminiscences about the origins of linear programming. Oper Res Lett 1(2):43–48

    Article  MathSciNet  Google Scholar 

  • Dantzig G, Orchard-Hays W (1954) The product form for the inverse in the simplex method. Math Tables Aids Comput 8(46):64–67

    Article  MathSciNet  MATH  Google Scholar 

  • Dantzig G, Wolfe P (1960) Decomposition principle for linear programs. Oper Res 8(1):101–111

    Article  MATH  Google Scholar 

  • Dongarra J, Sullivan F (2000) Guest editors’ introduction: the top 10 algorithms. Comput Sci Eng 2(1):22–23

    Article  Google Scholar 

  • Dorfman R (1984) The discovery of linear programming. Ann Hist Comput 6(3):283–295

    Article  MathSciNet  MATH  Google Scholar 

  • Dyer M (1984) Linear time algorithms for two- and three-variable linear programs. SIAM J Comput 13(1):31–45

    Article  MathSciNet  MATH  Google Scholar 

  • Edmonds J (1967) Systems of distinct representatives and linear algebra. J Res Natl Bur Stand 71B(4):241–245

    Article  MathSciNet  MATH  Google Scholar 

  • Eldersveld S, Saunders M (1992) A Block-LU update for large-scale linear programming. SIAM J Matrix Anal A 13(1):191–201

    Article  MathSciNet  MATH  Google Scholar 

  • Elhallaoui I, Metrane A, Desaulniers G, Soumis F (2010) An improved primal simplex algorithm for degenerate linear programs. INFORMS J Comput 23(4):569–577

    Article  MathSciNet  MATH  Google Scholar 

  • Ford L, Fulkerson D (1958) A suggested computation for maximal multi-commodity network flows. Manage Sci 5(1):97–101

    Article  MathSciNet  MATH  Google Scholar 

  • Forrest J, Tomlin J (1972) Updated triangular factors of the basis to maintain sparsity in the product form simplex method. Math Program 2(1):263–278

    Article  MathSciNet  MATH  Google Scholar 

  • García J, Florez J, Torralba A, Borrajo D, López C, García-Olaya Á, Sáenz J (2013) Combining linear programming and automated planning to solve intermodal transportation problems. Eur J Oper Res 227(1):216–226

    Article  MathSciNet  MATH  Google Scholar 

  • Gass S, Vinjamuri S (2004) Cycling in linear programming problems. Comput Oper Res 31(2):303–311

    Article  MathSciNet  MATH  Google Scholar 

  • Gautier A, Lamond B, Paré D, Rouleau F (2000) The québec ministry of natural resources uses linear programming to understand the wood-fiber market. Interfaces 30(6):32–48

    Article  Google Scholar 

  • Gay D (1985) Electronic mail distribution of linear programming test problems. Math Program Soc COAL Newslett 13:10–12

    Google Scholar 

  • Gilmore P, Gomory R (1961) A linear programming approach to the cutting-stock problem. Oper Res 9(6):849–859

    Article  MathSciNet  MATH  Google Scholar 

  • Gilmore P, Gomory R (1963) A linear programming approach to the cutting-stock problem—part II. Oper Res 11(6):863–888

    Article  MATH  Google Scholar 

  • Goldfarb D, Todd M (1989) Linear programming. In: Nemhauser GL, Rinnooy Kan AHG, Todd MJ (eds) Handbooks in operations research and management science, vol 1. North-Holland, Amsterdam, pp 73–170

    Google Scholar 

  • Gomes A, Oliveira J (2006) Solving irregular strip packing problems by hybridising simulated annealing and linear programming. Eur J Oper Res 171(3):811–829

    Article  MATH  Google Scholar 

  • Gondzio J (2012) Interior point methods 25 years later. Eur J Oper Res 218(3):587–601

    Article  MathSciNet  MATH  Google Scholar 

  • He J (1999) Homotopy perturbation technique. Comput Methods Appl Mech Eng 178(3–4):257–262

    Article  MathSciNet  MATH  Google Scholar 

  • Hillier F, Lieberman G (2015) Introduction to operations research. McGraw-Hill, New York

    MATH  Google Scholar 

  • Howard R (1960) Dynamic programming and Markov processes. The MIT Press, Cambridge

    MATH  Google Scholar 

  • Huangfu Q, Julian Hall J (2015) Novel update techniques for the revised simplex method. Comput Optim Appl 60(3):587–608

    Article  MathSciNet  MATH  Google Scholar 

  • Illés T, Terlaky T (2002) Pivot versus interior point methods: pros and cons. Eur J Oper Res 140(2):170–190

    Article  MathSciNet  MATH  Google Scholar 

  • Kantorovich L (1939) Mathematical methods of organizing and planning production. Manage Sci 6(4):366–422 (1939 Russian, 1960 English)

    Article  MathSciNet  MATH  Google Scholar 

  • Karmarkar N (1984) A new polynomial-time algorithm for linear programming. Combinatorica 4(4):373–395

    Article  MathSciNet  MATH  Google Scholar 

  • Khachiyan L (1979) A polynomial algorithm in linear programming. Sov Math Dokl 20(1):191–194

    MathSciNet  MATH  Google Scholar 

  • Klee V, Minty G (1972) How good is the simplex algorithm? In: Shisha O (ed) Inequalities-III: proceedings of the third symposium on inequalities. Academic Press, New York, pp 159–175

    Google Scholar 

  • Koch T, Achterberg T, Andersen E, Bastert O, Berthold T, Bixby R, Danna E, Gamrath G, Gleixner A, Heinz S, Lodi A, Mittelmann H, Ralphs T, Salvagnin D, Steffy D, Wolter K (2011) MIPLIB 2010. Math Program Comput 3(2):103–163

    Article  MathSciNet  Google Scholar 

  • Kojima M, Mizuno S, Yoshise A (1989) A primaldual interior point algorithm for linear programming. In: Megiddo N (ed) Progress in mathematical programming: interior-point algorithms and related methods. Springer, New York, pp 29–47

    Chapter  Google Scholar 

  • Kojima M, Megiddo N, Mizuno S (1993) A primal-dual infeasible-interior-point algorithm for linear programming. Math Program 61(1):263–280

    Article  MathSciNet  MATH  Google Scholar 

  • Koopmans T (1949) Optimum utilization of the transportation system. Econometrica 17(Supplement):136–146

    Article  Google Scholar 

  • Kunnumkal S, Talluri K, Topaloglu H (2012) A randomized linear programming method for network revenue management with product-specific no-shows. Transport Sci 46(1):90–108

    Article  Google Scholar 

  • Lee E, Gallagher R, Patterson D (2003) A linear programming approach to discriminant analysis with a reserved-judgment region. INFORMS J Comput 15(1):23–41

    Article  MathSciNet  MATH  Google Scholar 

  • Lustig IJ, Marsten RE, Shanno DF (1994) Interior point methods for linear programming: computational state of the art. ORSA J Comput 6(1):1–14

    Article  MathSciNet  MATH  Google Scholar 

  • Mansini R, Ogryczak W, Speranza M (2007) Conditional value at risk and related linear programming models for portfolio optimization. Ann Oper Res 152(1):227–256

    Article  MathSciNet  MATH  Google Scholar 

  • Megiddo N (1983) Linear-time algorithms for linear programming in \(\mathbb{R}^{3}\) and related problems. SIAM J Comput 12(4):759–776

    Article  MathSciNet  MATH  Google Scholar 

  • Megiddo N (1989) Pathways to the optimal set in linear programming. In: Megiddo N (ed) Progress in mathematical programming: interior-point algorithms and related methods. Springer, New York, pp 131–158

    Chapter  Google Scholar 

  • Mehrotra S (1992) On the implementation of a primal-dual interior point method. SIAM J Optim 2(4):575–601

    Article  MathSciNet  MATH  Google Scholar 

  • Nadarajah S, Margot F, Secomandi N (2015) Relaxations of approximate linear programs for the real option management of commodity storage. Manage Sci 61(12):3054–3076

    Article  Google Scholar 

  • Padberg M (1999) Linear optimization and extensions. Algorithms and combinatorics, vol 12. Springer-Verlag

  • Press W, Teukolsky S, Vetterling W, Flannery B (2007) Numerical recipes. Cambridge University Press, New York

    MATH  Google Scholar 

  • Raymond V, Soumis F, Orban D (2010) A new version of the improved primal simplex for degenerate linear programs. Comput Oper Res 37(1):91–98

    Article  MathSciNet  MATH  Google Scholar 

  • Reid J (1982) A sparsity-exploiting variant of the Bartels–Golub decomposition for linear programming bases. Math Program 24(1):55–69

    Article  MathSciNet  MATH  Google Scholar 

  • Romeijn H, Ahuja R, Dempsey J, Kumar A (2006) A new linear programming approach to radiation therapy treatment planning problems. Oper Res 54(2):201–216

    Article  MathSciNet  MATH  Google Scholar 

  • Rong A, Lahdelma R (2008) Fuzzy chance constrained linear programming model for optimizing the scrap charge in steel production. Eur J Oper Res 186(3):953–964

    Article  MathSciNet  MATH  Google Scholar 

  • Schrijver A (1998) Theory of linear and integer programming. Wiley, New York

    MATH  Google Scholar 

  • Shamos M, Hoey D (1976) Geometric intersection problems. In: Seventeenth annual IEEE symposium on foundations of computer science, pp 208–215

  • Spielman D, Teng S (2004) Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time. J ACM 51(3):385–463

    Article  MathSciNet  MATH  Google Scholar 

  • Spitter J, Hurkens C, de Kok A, Lenstra J, Negenman E (2005) Linear programming models with planned lead times for supply chain operations planning. Eur J Oper Res 163(3):706–720

    Article  MATH  Google Scholar 

  • Strassen V (1969) Gaussian elimination is not optimal. Numer Math 13(4):354–356

    Article  MathSciNet  MATH  Google Scholar 

  • Suhl L, Suhl U (1993) A fast LU update for linear programming. Ann Oper Res 43(1):33–47

    Article  MathSciNet  MATH  Google Scholar 

  • Suhl U, Suhl L (1990) Computing sparse LU factorizations for large-scale linear programming bases. INFORMS J Comput 2(4):325–335

    Article  MATH  Google Scholar 

  • Tang L, Liu J, Rong A, Yang Z (2000) A mathematical programming model for scheduling steelmaking-continuous casting production. Eur J Oper Res 120(2):423–435

    Article  MATH  Google Scholar 

  • Terlaky T, Zhang S (1993) Pivot rules for linear programming: a survey on recent theoretical developments. Ann Oper Res 46(1):203–233

    Article  MathSciNet  MATH  Google Scholar 

  • Todd M (1985) Linear and quadratic programming in oriented matroids. J Comb Theory 39(2):105–133

    Article  MathSciNet  MATH  Google Scholar 

  • Tolla P (1986) A stable and sparsity exploiting LU factorization of the basis matrix in linear programming. Eur J Oper Res 24(2):247–251

    Article  MathSciNet  MATH  Google Scholar 

  • Williams V (2012) An overview of the recent progress on matrix multiplication. ACM SIGACT News 34(3):57–69

    Google Scholar 

  • Winston W (2004) Operations research: applications and algorithms. Duxbury Press, Belmont

    MATH  Google Scholar 

  • Ye Y (2011) The simplex and policy-iteration methods are strongly polynomial for the markov decision problem with a fixed discount rate. Math Oper Res 36(4):593–603

    Article  MathSciNet  MATH  Google Scholar 

  • Zhou P, Ang B (2008) Linear programming models for measuring economy-wide energy efficiency performance. Energy Policy 36(8):2911–2916

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabio Vitor.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vitor, F., Easton, T. The double pivot simplex method. Math Meth Oper Res 87, 109–137 (2018). https://doi.org/10.1007/s00186-017-0610-4

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00186-017-0610-4

Keywords

Mathematics Subject Classification

Navigation