Linear Programming Using MATLAB® pp 219-275 | Cite as

# Scaling Techniques

## Abstract

Preconditioning techniques are important in solving LPs, as they improve their computational properties. One of the most widely used preconditioning technique in LP solvers is scaling. Scaling is used prior to the application of an LP algorithm in order to: (i) produce a compact representation of the variable bounds, (ii) reduce the condition number of the constraint matrix, (iii) improve the numerical behavior of the algorithms, (iv) reduce the number of iterations required to solve LPs, and (v) simplify the setup of the tolerances. This chapter presents eleven scaling techniques used prior to the execution of an LP algorithm: (i) arithmetic mean, (ii) de Buchet for the case *p* = 1, (iii) de Buchet for the case *p* = 2, (iv) de Buchet for the case *p* = *∞*, (v) entropy, (vi) equilibration, (vii) geometric mean, (viii) IBM MPSX, (ix) *L*_{p}-norm for the case *p* = 1, (x) *L*_{p}-norm for the case *p* = 2, and (xi) *L*_{p}-norm for the case *p* = *∞*. Each technique is presented with: (i) its mathematical formulation, (ii) a thorough illustrative numerical example, and (iii) its implementation in MATLAB. Finally, a computational study is performed. The aim of the computational study is twofold: (i) compare the execution time of the scaling techniques, and (ii) investigate the impact of scaling prior to the application of LP algorithms. The execution time and the number of iterations with and without scaling are presented.

## Supplementary material

## References

- 1.Benichou, M., Gautier, J., Hentges, G., & Ribiere, G. (1977). The efficient solution of large-scale linear programming problems.
*Mathematical Programming, 13*, 280–322.MathSciNetCrossRefGoogle Scholar - 2.Curtis, A. R., & Reid, J. K. (1972). On the automatic scaling of matrices for Gaussian elimination.
*IMA Journal of Applied Mathematics, 10*, 118–124.CrossRefGoogle Scholar - 3.de Buchet, J. (1966). Experiments and statistical data on the solving of large–scale linear programs. In
*Proceedings of the Fourth International Conference on Operational Research*(pp. 3–13). New York: Wiley-Interscience.Google Scholar - 4.Elble, J. M., & Sahinidis, N. V. (2012). Scaling linear optimization problems prior to application of the simplex method.
*Computational Optimization and Applications, 52*(2), 345–371.MathSciNetCrossRefGoogle Scholar - 5.Fulkerson, D. R., & Wolfe, P. (1962). An algorithm for scaling matrices.
*SIAM Review, 4*, 142–146.MathSciNetCrossRefGoogle Scholar - 6.Hamming, R. W. (1971).
*Introduction to applied numerical analysis*. New York: McGraw-Hill.zbMATHGoogle Scholar - 7.Larsson, T. (1993). On scaling linear programs – Some experimental results.
*Optimization, 27*, 335–373.MathSciNetCrossRefGoogle Scholar - 8.Ploskas, N. (2014).
*Hybrid optimization algorithms: implementation on GPU*. Ph.D. thesis, Department of Applied Informatics, University of Macedonia.Google Scholar - 9.Ploskas, N., & Samaras, N. (2013). The impact of scaling on simplex type algorithms. In
*Proceedings of the 6th Balkan Conference in Informatics*(pp. 17–22), 19–21 September (ACM, Thessaloniki, Greece).Google Scholar - 10.Ploskas, N., & Samaras, N. (2015). A computational comparison of scaling techniques for linear optimization problems on a graphical processing unit.
*International Journal of Computer Mathematics, 92*(2), 319–336.MathSciNetCrossRefGoogle Scholar - 11.Tomlin, J. A. (1975). On scaling linear programming problems.
*Mathematical Programming Studies, 4*, 146–166.MathSciNetCrossRefGoogle Scholar - 12.Triantafyllidis, C., & Samaras, N. (2014). Three nearly scaling-invariant versions of an exterior point algorithm for linear programming.
*Optimization, 64*(10), 2163–2181.MathSciNetCrossRefGoogle Scholar