Skip to main content

Basis Inverse and Update Methods

  • Chapter
  • First Online:
Book cover Linear Programming Using MATLAB®

Part of the book series: Springer Optimization and Its Applications ((SOIA,volume 127))

  • 4063 Accesses

Abstract

The computation of the basis inverse is the most time-consuming step in simplex-type algorithms. The basis inverse does not have to be computed from scratch at each iteration, but updating schemes can be applied to accelerate this calculation. This chapter presents two basis inverse and two basis update methods used in simplex-type algorithms: (i) Gauss-Jordan elimination basis inverse method, (ii) LU Decomposition basis inverse method, (iii) Product Form of the Inverse basis update method, and (iv) Modification of the Product Form of the Inverse basis update method. Each technique is presented with: (i) its mathematical formulation, (ii) a thorough numerical example, and (iii) its implementation in MATLAB. Finally, a computational study is performed. The aim of the computational study is to compare the execution time of the basis inverse and update methods and highlight the significance of the choice of the basis update method on simplex-type algorithms and the reduction that it can offer to the solution time.

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

Access this chapter

Institutional subscriptions

References

  1. Badr, E. S., Moussa, M., Papparrizos, K., Samaras, N., & Sifaleras, A. (2006). Some computational results on MPI parallel implementations of dense simplex method. In Proceedings of World Academy of Science, Engineering and Technology, 23, (CISE 2006), Cairo, Egypt, 39–32.

    Google Scholar 

  2. Bartels, R. H., & Golub, G. H. (1969). The simplex method of linear programming using LU decomposition. Communications of the ACM, 12, 266–268.

    Article  Google Scholar 

  3. Benhamadou, M. (2002). On the simplex algorithm revised form. Advances in Engineering Software, 33(11–12), 769–777.

    Article  Google Scholar 

  4. Brayton, R. K., Gustavson, F. G., & Willoughby, R. A. (1970) Some results on sparse matrices. Mathematics of Computation, 24, 937–954.

    Article  MathSciNet  Google Scholar 

  5. Chvatal, V. (1983). Linear programming. New York, USA: W.H. Freeman and Company.

    MATH  Google Scholar 

  6. Dantzig, G. B., & Orchard–Hays, W. (1954). The product form of the inverse in the simplex method. Mathematical Tables and Other Aids to Computation, 8, 64–67.

    Article  MathSciNet  Google Scholar 

  7. Forrest, J. J. H., & Tomlin, J. A. (1972). Updated triangular factors of the basis to maintain sparsity in the product form simplex method. Mathematical Programming, 2, 263–278.

    Article  MathSciNet  Google Scholar 

  8. Goldfarb, D. (1977). On the Bartels-Golub decomposition for linear programming bases. Mathematical Programming, 13, 272–279.

    Article  MathSciNet  Google Scholar 

  9. Golub, G. H., & Van Loan, C. F. (2013). Matrix computations (4th ed). JHU Press.

    Google Scholar 

  10. Lim, S., Kim, G., & Park, S. (2003). A comparative study between various LU update methods in the simplex method. Journal of the Military Operations Research Society of Korea, 29(1), 28–42.

    Google Scholar 

  11. Markowitz, H. (1957). The elimination form of the inverse and its applications to linear programming. Management Science, 3, 255–269.

    Article  MathSciNet  Google Scholar 

  12. McCoy, P. F., & Tomlin, J. A. (1974). Some experiments on the accuracy of three methods of updating the inverse in the simplex method. Technical Report, Stanford University.

    Google Scholar 

  13. Nazareth, J. L. (1987). Computer solution of linear programs. Oxford, UK: Oxford University Press.

    MATH  Google Scholar 

  14. Ploskas, N. (2014). Hybrid optimization algorithms: implementation on GPU. Ph.D. thesis, Department of Applied Informatics, University of Macedonia.

    Google Scholar 

  15. Ploskas, N., & Samaras, N. (2013). Basis update on simplex type algorithms. In Book of Abstracts of the EWG-DSS Thessaloniki 2013, p. 11, Thessaloniki, Greece.

    Google Scholar 

  16. Ploskas, N., & Samaras, N. (2013). A computational comparison of basis updating schemes for the simplex algorithm on a CPU-GPU system. American Journal of Operations Research, 3, 497–505.

    Article  Google Scholar 

  17. Ploskas, N., Samaras, N., & Margaritis, K. (2013). A parallel implementation of the revised simplex algorithm using OpenMP: Some Preliminary Results. In A. Migdalas et al. (Eds.), Optimization Theory, Decision Making, and Operations Research Applications, Series Title: Springer Proceedings in Mathematics & Statistics 31 (pp. 163–175). New York: Springer.

    Google Scholar 

  18. Ploskas, N., Samaras, N., & Papathanasiou, J. (2012). LU decomposition in the revised simplex algorithm. In Proceedings of the 23th National Conference, Hellenic Operational Research Society (pp. 77–81), Athens, Greece.

    Google Scholar 

  19. Ploskas, N., Samaras, N., & Papathanasiou, J. (2013). A web-based decision support system using basis update on simplex type algorithms. In J. Hernandez et al. (Eds.), Decision Support Systems II Recent Developments Applied to DSS Network Environments, Lecture Notes in Business Information Processing (LNBIP 164) (pp. 102–114). New York: Springer.

    Chapter  Google Scholar 

  20. Ploskas, N., Samaras, N., & Sifaleras, A. (2009). A parallel implementation of an exterior point algorithm for linear programming problems. In Proceedings of the 9th Balcan Conference on Operational Research (BALCOR 2009), 2–6 September, Constanta, Romania.

    Google Scholar 

  21. Reid, J. (1982). A sparsity-exploiting variant of the Bartels-Golub decomposition for linear programming bases. Mathematical Programming, 24, 55–69.

    Article  MathSciNet  Google Scholar 

  22. Saunders, M. (1976). A fast and stable implementation of the simplex method using Bartels-Golub updating. In J. Bunch, & S. T. Rachev (Eds.), Sparse Matrix Computation (pp. 213–226). New York: Academic Press.

    Chapter  Google Scholar 

  23. Suhl, L. M., & Suhl, U. H. (1993). A fast LU update for linear programming. Annals of Operations Research, 43(1), 33–47.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

7.1 Electronic Supplementary Material

Below is the link to the electronic supplementary material.

chapter 7 (Zip 2 kb)

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ploskas, N., Samaras, N. (2017). Basis Inverse and Update Methods. In: Linear Programming Using MATLAB® . Springer Optimization and Its Applications, vol 127. Springer, Cham. https://doi.org/10.1007/978-3-319-65919-0_7

Download citation

Publish with us

Policies and ethics