Skip to main content
Log in

Progress in the dual simplex algorithm for solving large scale LP problems: techniques for a fast and stable implementation

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

Abstract

During the last fifteen years the dual simplex method has become a strong contender in solving large scale LP problems. However, the lack of descriptions of important implementation details in the research literature has led to a great performance gap between open-source research codes and commercial LP-systems. In this paper we present the mathematical algorithms, computational techniques and implementation details, which are the key factors for our dual simplex code to close this gap. We describe how to exploit hyper-sparsity in the dual simplex algorithm. Furthermore, we give a conceptual integration of Harris’ ratio test, bound flipping and cost shifting techniques and describe a sophisticated and efficient implementation. We also address important issues of the implementation of dual steepest edge pricing. Finally we show on a large set of practical large scale LP problems, that our dual simplex code outperforms the best existing open-source and research codes and is competitive to the leading commercial LP-systems on our most difficult test problems.

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.

Similar content being viewed by others

References

  1. Benichou, M., Gautier, J., Hentges, G., Ribiere, G.: The efficient solution of large-scale linear programming problems. Math. Program. 13, 280–322 (1977)

    Article  MATH  Google Scholar 

  2. Bixby, R.: Solving real-world linear programs: a decade and more of progress. Oper. Res. 50(2), 3–15 (2002)

    Article  MathSciNet  Google Scholar 

  3. Bixby, R.E., Martin, A.: Parallelizing the dual simplex method. INFORMS J. Comput. 12(1), 45–56 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bixby, R.E., Fenelon, M., Gu, Z., Rothberg, E., Wunderling, R.: MIP: Theory and practice closing the gap. In: Powell, M.J.D., Scholtes, S. (eds.) System Modelling and Optimization: Methods, Theory and Applications, pp. 19–49. Kluwer, Dordrecht (2000)

    Google Scholar 

  5. Bpmpd test problems. http://www.sztaki.hu/~meszaros/bpmpd/

  6. Davis, T.A., Hager, W.W.: A sparse proximal implementation of the LP dual active set algorithm. Math. Program. 112, 275–301 (2008). doi:10.1007/s10107-006-0017-0

    Article  MATH  MathSciNet  Google Scholar 

  7. Dolan, E.D., More, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  8. Dsor test problems. http://dsor.upb.de/koberstein/lptestset/

  9. Forrest, J.J., Goldfarb, D.: Steepest-edge simplex algorithms for linear programming. Math. Program. 57(3), 341–374 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  10. Fourer, R.: Notes on the dual simplex method. Draft Report (1994)

  11. Gilbert, J.R., Peierls, T.: Sparse partial pivoting in time proportional to arithmetic operations. SIAM J. Sci. Stat. Comput. 9, 862–874 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  12. Gill, P.E., Murray, W., Saunders, M.A., Wright, M.H.: A practical anti-cycling procedure for linearly constrained optimization. Math. Program. 45, 437–474 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  13. Hager, W.W.: The dual active set algorithm and its application to linear programming. Comput. Optim. Appl. 21, 263–275 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  14. Hall, J.A.J., McKinnon, K.I.M.: Hyper-sparsity in the revised simplex method and how to exploit it. Comput. Optim. Appl. 32(3), 259–283 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  15. Harris, P.M.J.: Pivot selection methods of the DEVEX LP code. Math. Program. 5, 1–28 (1973)

    Article  MATH  Google Scholar 

  16. Kirillova, F.M., Gabasov, R., Kostyukova, O.I.: A method of solving general linear programming problems. Doklady AN BSSR 23(3), 197–200 (1979) (In Russian)

    MATH  Google Scholar 

  17. Koberstein, A.: The dual simplex method: Techniques for a fast and stable implementation. Technical Report, University of Paderborn, II—Fakultät für Wirtschaftswissenschaften/Department Wirtschaftsinformatik (2005). http://ubdata.uni-paderborn.de/ediss/05/2005/koberste/

  18. Koberstein, A., Suhl, U.H.: Progress in the dual simplex algorithm for solving large scale LP problems: Practical dual phase 1 algorithms. Comput. Optim. Appl. 37(1), 49–65 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  19. Kostina, E.: The long step rule in the bounded-variable dual simplex method: Numerical experiments. Math. Methods Oper. Res. 55, 413–429 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  20. Lemke, C.E.: The dual method of solving the linear programming problem. Nav. Res. Logist. Q. 1, 36–47 (1954)

    Article  MathSciNet  Google Scholar 

  21. Lougee-Heimer, R., et al.: The coin-or initiative: Open-source software accelerates operations research progress. ORMS Today 28(5), 20–22 (2001). http://www.coin-or.org

    Google Scholar 

  22. Maros, I.: A piecewise linear dual procedure in mixed integer programming. In: Giannesi, et al. (eds.) New Trends in Mathematical Programming, pp. 159–170. Kluwer, Dordrecht (1998)

    Google Scholar 

  23. Maros, I.: A general phase-i method in linear programming. Eur. J. Oper. Res. 23, 64–77 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  24. Maros, I.: A generalized dual phase-2 simplex algorithm. Eur. J. Oper. Res. 149(1), 1–16 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  25. Maros, I.: Computational Techniques of the Simplex Method. Kluwer’s International Series. Kluwer, Dordrecht (2003)

    MATH  Google Scholar 

  26. Mittelmann test problems. ftp://plato.asu.edu/pub/lpfree.html

  27. Miplib 2003 test problems. http://miplib.zib.de/

  28. Netlib test problems. http://www.netlib.org/lp/data/

  29. Pan, P.Q.: A dual projective pivot algorithm for linear programming. Comput. Optim. Appl. 29(3), 333–346 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  30. Suhl, U.H.: Mops—mathematical optimization system. OR News 8, 11–16 (2000). http://www.mops-optimizer.com

    Google Scholar 

  31. Suhl, U.H., Suhl, L.M.: Computing sparse lu factorizations for large-scale linear programming bases. ORSA J. Comput. 2(4), 325–335 (1990)

    MATH  Google Scholar 

  32. Suhl, L.M., Suhl, U.H.: A fast lu-update for linear programming. Ann. Oper. Res. 43, 33–47 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  33. Wunderling, R.: Paralleler und objektorientierter simplex. Technical Report, Konrad-Zuse-Zentrum für Informationstechnik Berlin (1996)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Achim Koberstein.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Koberstein, A. Progress in the dual simplex algorithm for solving large scale LP problems: techniques for a fast and stable implementation. Comput Optim Appl 41, 185–204 (2008). https://doi.org/10.1007/s10589-008-9207-4

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10589-008-9207-4

Keywords

Navigation