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.
Similar content being viewed by others
References
Benichou, M., Gautier, J., Hentges, G., Ribiere, G.: The efficient solution of large-scale linear programming problems. Math. Program. 13, 280–322 (1977)
Bixby, R.: Solving real-world linear programs: a decade and more of progress. Oper. Res. 50(2), 3–15 (2002)
Bixby, R.E., Martin, A.: Parallelizing the dual simplex method. INFORMS J. Comput. 12(1), 45–56 (2000)
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)
Bpmpd test problems. http://www.sztaki.hu/~meszaros/bpmpd/
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
Dolan, E.D., More, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002)
Dsor test problems. http://dsor.upb.de/koberstein/lptestset/
Forrest, J.J., Goldfarb, D.: Steepest-edge simplex algorithms for linear programming. Math. Program. 57(3), 341–374 (1992)
Fourer, R.: Notes on the dual simplex method. Draft Report (1994)
Gilbert, J.R., Peierls, T.: Sparse partial pivoting in time proportional to arithmetic operations. SIAM J. Sci. Stat. Comput. 9, 862–874 (1988)
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)
Hager, W.W.: The dual active set algorithm and its application to linear programming. Comput. Optim. Appl. 21, 263–275 (2002)
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)
Harris, P.M.J.: Pivot selection methods of the DEVEX LP code. Math. Program. 5, 1–28 (1973)
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)
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/
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)
Kostina, E.: The long step rule in the bounded-variable dual simplex method: Numerical experiments. Math. Methods Oper. Res. 55, 413–429 (2002)
Lemke, C.E.: The dual method of solving the linear programming problem. Nav. Res. Logist. Q. 1, 36–47 (1954)
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
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)
Maros, I.: A general phase-i method in linear programming. Eur. J. Oper. Res. 23, 64–77 (1986)
Maros, I.: A generalized dual phase-2 simplex algorithm. Eur. J. Oper. Res. 149(1), 1–16 (2003)
Maros, I.: Computational Techniques of the Simplex Method. Kluwer’s International Series. Kluwer, Dordrecht (2003)
Mittelmann test problems. ftp://plato.asu.edu/pub/lpfree.html
Miplib 2003 test problems. http://miplib.zib.de/
Netlib test problems. http://www.netlib.org/lp/data/
Pan, P.Q.: A dual projective pivot algorithm for linear programming. Comput. Optim. Appl. 29(3), 333–346 (2004)
Suhl, U.H.: Mops—mathematical optimization system. OR News 8, 11–16 (2000). http://www.mops-optimizer.com
Suhl, U.H., Suhl, L.M.: Computing sparse lu factorizations for large-scale linear programming bases. ORSA J. Comput. 2(4), 325–335 (1990)
Suhl, L.M., Suhl, U.H.: A fast lu-update for linear programming. Ann. Oper. Res. 43, 33–47 (1993)
Wunderling, R.: Paralleler und objektorientierter simplex. Technical Report, Konrad-Zuse-Zentrum für Informationstechnik Berlin (1996)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-008-9207-4