Advertisement

Revised Primal Simplex Algorithm

  • Nikolaos Ploskas
  • Nikolaos Samaras
Chapter
Part of the Springer Optimization and Its Applications book series (SOIA, volume 127)

Abstract

The simplex algorithm is one of the top ten algorithms with the greatest influence in the twentieth century and the most widely used method for solving linear programming problems (LPs). Nearly all Fortune 500 companies use the simplex algorithm to optimize several tasks. This chapter presents the revised primal simplex algorithm. Numerical examples are presented in order for the reader to understand better the algorithm. Furthermore, an implementation of the algorithm in MATLAB is presented. The implementation is modular allowing the user to select which scaling technique, pivoting rule, and basis update method will use in order to solve LPs. Finally, a computational study over benchmark LPs and randomly generated sparse LPs is performed in order to compare the efficiency of the proposed implementation with MATLAB’s simplex algorithm.

Supplementary material

334954_1_En_8_MOESM1_ESM.zip (6 kb)
chapter 8 (Zip 7 kb)

References

  1. 1.
    Bixby, R. E. (1992). Implementing the simplex method: The initial basis. ORSA Journal on Computing, 4, 267–284.MathSciNetCrossRefGoogle Scholar
  2. 2.
    Borgwardt, H. K. (1982). The average number of pivot steps required by the simplex method is polynomial. Zeitschrift fur Operational Research, 26(1), 157–177.MathSciNetzbMATHGoogle Scholar
  3. 3.
    Carstens, D. M. (1968) Crashing techniques. In W. Orchard-Hays (Ed.), Advanced linear-programming computing techniques (pp. 131–139). New York: McGraw-Hill.Google Scholar
  4. 4.
    Dantzig, G. B. (1949). Programming in linear structure. Econometrica, 17, 73–74.CrossRefGoogle Scholar
  5. 5.
    Dantzig, G. B. (1963). Linear programming and extensions. Princeton, NJ: Princeton University Press.zbMATHGoogle Scholar
  6. 6.
    Dongarra, J., & Sullivan, F. (2000). Guest editors’ introduction: the top 10 algorithms. Computing in Science & Engineering, 2(1), 22–23.CrossRefGoogle Scholar
  7. 7.
    Gould, N. I. M., & Reid, J. K. (1989). New crash procedures for large systems of linear constraints. Mathematical Programming, 45, 475–501.MathSciNetCrossRefGoogle Scholar
  8. 8.
    Klee, V., & Minty, G. J. (1972). How good is the simplex algorithm. In O. Shisha (Ed.), Inequalities - III. New York and London: Academic Press Inc.Google Scholar
  9. 9.
    Maros, I., & Mitra, G. (1998). Strategies for creating advanced bases for large-scale linear programming problems. INFORMS Journal on Computing, 10, 248–260.MathSciNetCrossRefGoogle Scholar
  10. 10.
    Smale, S. (1983). On the average number of steps of the simplex method of linear programming. Mathematical Programming, 27(3), 241–262.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Nikolaos Ploskas
    • 1
  • Nikolaos Samaras
    • 1
  1. 1.Department of Applied InformaticsUniversity of MacedoniaThessalonikiGreece

Personalised recommendations