Advertisement

Computational Optimization and Applications

, Volume 41, Issue 2, pp 185–204 | Cite as

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

  • Achim KobersteinEmail author
Article

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.

Keywords

Linear programming Dual simplex algorithm MIP-solver MOPS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Benichou, M., Gautier, J., Hentges, G., Ribiere, G.: The efficient solution of large-scale linear programming problems. Math. Program. 13, 280–322 (1977) zbMATHCrossRefGoogle Scholar
  2. 2.
    Bixby, R.: Solving real-world linear programs: a decade and more of progress. Oper. Res. 50(2), 3–15 (2002) CrossRefMathSciNetGoogle Scholar
  3. 3.
    Bixby, R.E., Martin, A.: Parallelizing the dual simplex method. INFORMS J. Comput. 12(1), 45–56 (2000) zbMATHCrossRefMathSciNetGoogle Scholar
  4. 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. 5.
  6. 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 zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Dolan, E.D., More, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002) zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
  9. 9.
    Forrest, J.J., Goldfarb, D.: Steepest-edge simplex algorithms for linear programming. Math. Program. 57(3), 341–374 (1992) zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Fourer, R.: Notes on the dual simplex method. Draft Report (1994) Google Scholar
  11. 11.
    Gilbert, J.R., Peierls, T.: Sparse partial pivoting in time proportional to arithmetic operations. SIAM J. Sci. Stat. Comput. 9, 862–874 (1988) zbMATHCrossRefMathSciNetGoogle Scholar
  12. 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) zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Hager, W.W.: The dual active set algorithm and its application to linear programming. Comput. Optim. Appl. 21, 263–275 (2002) zbMATHCrossRefMathSciNetGoogle Scholar
  14. 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) zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Harris, P.M.J.: Pivot selection methods of the DEVEX LP code. Math. Program. 5, 1–28 (1973) zbMATHCrossRefGoogle Scholar
  16. 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) zbMATHGoogle Scholar
  17. 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. 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) zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Kostina, E.: The long step rule in the bounded-variable dual simplex method: Numerical experiments. Math. Methods Oper. Res. 55, 413–429 (2002) zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Lemke, C.E.: The dual method of solving the linear programming problem. Nav. Res. Logist. Q. 1, 36–47 (1954) CrossRefMathSciNetGoogle Scholar
  21. 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. 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. 23.
    Maros, I.: A general phase-i method in linear programming. Eur. J. Oper. Res. 23, 64–77 (1986) zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Maros, I.: A generalized dual phase-2 simplex algorithm. Eur. J. Oper. Res. 149(1), 1–16 (2003) zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Maros, I.: Computational Techniques of the Simplex Method. Kluwer’s International Series. Kluwer, Dordrecht (2003) zbMATHGoogle Scholar
  26. 26.
    Mittelmann test problems. ftp://plato.asu.edu/pub/lpfree.html
  27. 27.
    Miplib 2003 test problems. http://miplib.zib.de/
  28. 28.
    Netlib test problems. http://www.netlib.org/lp/data/
  29. 29.
    Pan, P.Q.: A dual projective pivot algorithm for linear programming. Comput. Optim. Appl. 29(3), 333–346 (2004) zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Suhl, U.H.: Mops—mathematical optimization system. OR News 8, 11–16 (2000). http://www.mops-optimizer.com Google Scholar
  31. 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) zbMATHGoogle Scholar
  32. 32.
    Suhl, L.M., Suhl, U.H.: A fast lu-update for linear programming. Ann. Oper. Res. 43, 33–47 (1993) zbMATHCrossRefMathSciNetGoogle Scholar
  33. 33.
    Wunderling, R.: Paralleler und objektorientierter simplex. Technical Report, Konrad-Zuse-Zentrum für Informationstechnik Berlin (1996) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Decision Support & Operations Research LabUniversity of PaderbornPaderbornGermany

Personalised recommendations