Abstract
The scaling of linear optimization problems, while poorly understood, is definitely not devoid of techniques. Scaling is the most common preconditioning technique utilized in linear optimization solvers, and is designed to improve the conditioning of the constraint matrix and decrease the computational effort for solution. Most importantly, scaling provides a relative point of reference for absolute tolerances. For instance, absolute tolerances are used in the simplex algorithm to determine when a reduced cost is considered to be nonnegative. Existing techniques for obtaining scaling factors for linear systems are investigated herein. With a focus on the impact of these techniques on the performance of the simplex method, we analyze the results obtained from over half a billion simplex computations with CPLEX, MINOS and GLPK, including the computation of the condition number at every iteration. Some of the scaling techniques studied are computationally more expensive than others. For the Netlib and Kennington problems considered herein, it is found that on average no scaling technique outperforms the simplest technique (equilibration) despite the added complexity and computational cost.
Similar content being viewed by others
References
Bauer, F.L.: Optimally scaled matrices. Numer. Math. 5, 73–87 (1963)
Benichou, M., Gauthier, J.M., Hentges, G., Ribiere, G.: The efficient solution of large-scale linear programming problems—Some algorithmic techniques and computational results. Math. Program. 13, 280–322 (1977)
Bixby, R.E.: Solving real-world linear programs: A decade and more of progress. Oper. Res. 50, 3–15 (2002)
Bradley, A.: Algorithms for the equilibration of matrices and their application to limited-memory quasi-Newton methods. PhD thesis, Stanford University, Stanford, California (2010)
Chvátal, V.: Linear Programming. W.H. Freeman, New York (1983)
Curtis, A.R., Reid, J.K.: On the automatic scaling of matrices for Gaussian elimination. J. Inst. Math. Appl. 10, 118–124 (1972)
Dahlquist, G., Björck, Å.: Numerical Methods. Prentice Hall, Englewood Cliffs (1963)
de Buchet, J.: Experiments and statistical data on the solving of large-scale linear programs. In: Hertz, D.A., Melese, J. (eds.) Proceedings of the Fourth International Conference on Operational Research, pp. 3–13. Wiley-Interscience, New York (1966)
Elble, J.: Scaling linear programs: A comprehensive case study. Master’s thesis, University of Illinois Urbana-Champaign, Urbana, IL (2007)
Elble, J.M., Sahinidis, N.V.: Matrix binormalization on a GPU. In: Lecture Notes in Computer Science (2009, accepted)
Forsythe, G.E., Straus, E.G.: On best conditioned matrices. Proc. Am. Math. Soc. 6, 340–345 (1955)
Fulkerson, D.R., Wolfe, P.: An algorithm for scaling matrices. SIAM Rev. 4, 142–146 (1962)
Golub, G.H., Van Loan, C.F.: Matrix Computations. Johns Hopkins University Press, Baltimore (1996)
Hamming, R.W.: Introduction to Applied Numerical Analysis. McGraw-Hill, New York (1971)
IBM: IBM ILOG CPLEX Optimization Studio, Version 12.2 User’s Manual, Armonk, NY (2010)
Kelner, J.A., Spielman, D.A.: A randomized polynomial-time simplex algorithm for linear programming (Preliminary version). Electron. Colloq. Comput. Complex. 156, 1–17 (2005)
Larsson, T.: On scaling linear programs—Some experimental results. Optimization 27, 335–373 (1993)
Livne, O.E., Golub, G.H.: Scaling by binormalization. Numer. Algorithms 35, 97–120 (2004)
Makhorin, A.: GLPK—GNU linear programming kit. http://www.gnu.org/software/glpk/glpk.html (2008)
Murtagh, B.A., Saunders, M.A.: MINOS 5.5 user’s guide. Technical report, Department of Operations Research, Stanford University, Stanford, CA (1998)
Orchard-Hays, W.: Advanced Linear Programming Computing Techniques. McGraw-Hill, New York (1968)
Pierre, D.A.: An optimal scaling method. IEEE Trans. Syst. Man Cybern. SMC-17, 2–6 (1987)
Rothblum, U.G., Schneider, H.: Characterizations of optimal scalings of matrices. Math. Program. 19, 121–136 (1980)
Tomlin, J.A.: On scaling linear programming problems. Math. Program. Stud. 4, 146–166 (1975)
van der Sluis, A.: Condition numbers and equilibration of matrices. Numer. Math. 14, 14–23 (1969)
van der Sluis, A.: Condition, equilibration and pivoting in linear algebraic systems. Numer. Math. 15, 74–86 (1970)
von Golitschek, M.: An algorithm for scaling matrices and computing the minimum cycle mean in a digraph. Numer. Math. 35, 45–55 (1980)
Author information
Authors and Affiliations
Corresponding author
Electronic Supplementary Material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Elble, J.M., Sahinidis, N.V. Scaling linear optimization problems prior to application of the simplex method. Comput Optim Appl 52, 345–371 (2012). https://doi.org/10.1007/s10589-011-9420-4
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-011-9420-4