Abstract
Presolve methods are important in solving LPs, as they reduce the size of the problem and discover whether an LP is unbounded or infeasible. Presolve methods are used prior to the application of an LP algorithm in order to: (i) eliminate redundant constraints, (ii) fix variables, (iii) transform bounds of single structural variables, and (iv) reduce the number of variables and constraints by eliminations. This chapter presents eleven presolve methods used prior to the execution of an LP algorithm: (i) eliminate zero rows, (ii) eliminate zero columns, (iii) eliminate singleton equality constraints, (iv) eliminate kton equality constraints, (v) eliminate singleton inequality constraints, (vi) eliminate dual singleton inequality constraints, (vii) eliminate implied free singleton columns, (viii) eliminate redundant columns, (ix) eliminate implied bounds on rows, (x) eliminate redundant rows, and (xi) make coefficient matrix structurally full rank. Each method is presented with: (i) its mathematical formulation, (ii) a thorough numerical example, and (iii) its implementation in MATLAB. In addition, we discuss how to transform a solution back in terms of the original variables and constraints of the problem (postsolve). Finally, a computational study on benchmark LPs is performed. The aim of the computational study is twofold: (i) compare the execution time and the reduction to the problem size of the aforementioned presolve methods, and (ii) investigate the impact of preprocessing prior to the application of LP algorithms. The execution time and the number of iterations with and without preprocessing are presented.
This is a preview of subscription content, log in via an institution.
Change history
11 January 2018
The original version of the book was inadvertently published without updating the following corrections:
References
Adler, I., Resende, M. G., Veiga, G., & Karmarkar, N. (1989). An implementation of Karmarkar’s algorithm for linear programming. Mathematical Programming, 44(1–3), 297–335.
Andersen, E. D., & Andersen, K. D. (1995). Presolving in linear programming. Mathematical Programming, 71(2), 221–245.
Baricelli, P., Mitra, G., & Nygreen, B. (1998). Modelling of augmented makespan assignment problems (AMAPs): Computational experience of applying integer presolve at the modelling stage. Annals of Operations Research, 82, 269–288.
Brearley, A. L., Mitra, G., & Williams, H. P. (1975). Analysis of mathematical programming problems prior to applying the simplex algorithm. Mathematical Programming, 8(1), 54–83.
Chang, S. F., & McCormick, S. T. (1992). A hierarchical algorithm for making sparse matrices sparser. Mathematical Programming, 56(1–3), 1–30.
Cosnard, M., Marrakchi, M., Robert, Y., & Trystram, D. (1986). Gauss elimination algorithms for MIMD computers. In Proceeding of CONPAR 86 (pp. 247–254). Berlin/Heidelberg: Springer.
Douglas, A. (1971). Examples concerning efficient strategies for gaussian elimination. Computing, 8(3–4), 382–394.
Elble, J. M. (2010). Computational experience with linear optimization and related problems. Doctoral dissertation, University of Illinois at Urbana-Champaign, Chicago, USA.
Gondzio, J. (1997). Presolve analysis of linear programs prior to applying an interior point method. INFORMS Journal on Computing, 9(1), 73–91.
Gould, N., & Toint, P. L. (2004). Preprocessing for quadratic programming. Mathematical Programming, 100(1), 95–132.
Hall, J. A., & McKinnon, K. I. (2005). Hyper-sparsity in the revised simplex method and how to exploit it. Computational Optimization and Applications, 32(3), 259–283.
Ioslovich, I. (2001). Robust reduction of a class of large-scale linear programs. SIAM Journal on Optimization, 12(1), 262–282.
Lustig, I. J. (1989). An analysis of an available set of linear programming test problems. Computers & Operations Research, 16(2), 173–184.
Lustig, I. J., Marsten, R. E., & Shanno, D. F. (1994). Interior point methods for linear programming: Computational state of the art. ORSA Journal on Computing, 6(1), 1–14.
McCormick, S. T. (1990). Making sparse matrices sparser: Computational results. Mathematical Programming, 49(1–3), 91–111.
Mészáros, C., & Suhl, U. H. (2003). Advanced preprocessing techniques for linear and quadratic programming. OR Spectrum, 25(4), 575–595.
Swietanowski, A. (1995). A modular presolve procedure for large scale linear programming. Working paper WP 95–113, International Institute for Applied Systems Analysis, Laxenburg, Austria.
Tomlin, J. A., & Welch, J. S. (1983). Formal optimization of some reduced linear programming problems. Mathematical Programming, 27(2), 232–240.
Urdaneta, A. J., Perez, L. G., Gomez, J. F., Feijoo, B., & Gonzalez, M. (2001). Presolve analysis and interior point solutions of the linear programming coordination problem of directional overcurrent relays. International Journal of Electrical Power & Energy Systems, 23(8), 819–825.
Weispfenning, V. (2004). Solving constraints by elimination methods. In Proceedings of the International Joint Conference on Automated Reasoning (pp. 336–341). Berlin/Heidelberg: Springer.
Ye, Y. (1989). Eliminating columns in the simplex method for linear programming. Journal of Optimization Theory and Applications, 63(1), 69–77.
Author information
Authors and Affiliations
4.1 Electronic Supplementary Material
Below is the link to the electronic supplementary material.
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Ploskas, N., Samaras, N. (2017). Presolve Methods. In: Linear Programming Using MATLAB® . Springer Optimization and Its Applications, vol 127. Springer, Cham. https://doi.org/10.1007/978-3-319-65919-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-65919-0_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-65917-6
Online ISBN: 978-3-319-65919-0
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)