Presolve Methods

Part of the Springer Optimization and Its Applications book series (SOIA, volume 127)


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.

Supplementary material (14 kb)
chapter 4 (Zip 14 kb)


  1. 1.
    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.MathSciNetCrossRefGoogle Scholar
  2. 2.
    Andersen, E. D., & Andersen, K. D. (1995). Presolving in linear programming. Mathematical Programming, 71(2), 221–245.MathSciNetCrossRefGoogle Scholar
  3. 3.
    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.MathSciNetCrossRefGoogle Scholar
  4. 4.
    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.MathSciNetCrossRefGoogle Scholar
  5. 5.
    Chang, S. F., & McCormick, S. T. (1992). A hierarchical algorithm for making sparse matrices sparser. Mathematical Programming, 56(1–3), 1–30.MathSciNetCrossRefGoogle Scholar
  6. 6.
    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.CrossRefGoogle Scholar
  7. 7.
    Douglas, A. (1971). Examples concerning efficient strategies for gaussian elimination. Computing, 8(3–4), 382–394.MathSciNetCrossRefGoogle Scholar
  8. 8.
    Elble, J. M. (2010). Computational experience with linear optimization and related problems. Doctoral dissertation, University of Illinois at Urbana-Champaign, Chicago, USA.Google Scholar
  9. 9.
    Gondzio, J. (1997). Presolve analysis of linear programs prior to applying an interior point method. INFORMS Journal on Computing, 9(1), 73–91.MathSciNetCrossRefGoogle Scholar
  10. 10.
    Gould, N., & Toint, P. L. (2004). Preprocessing for quadratic programming. Mathematical Programming, 100(1), 95–132.MathSciNetzbMATHGoogle Scholar
  11. 11.
    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.MathSciNetCrossRefGoogle Scholar
  12. 12.
    Ioslovich, I. (2001). Robust reduction of a class of large-scale linear programs. SIAM Journal on Optimization, 12(1), 262–282.MathSciNetCrossRefGoogle Scholar
  13. 13.
    Lustig, I. J. (1989). An analysis of an available set of linear programming test problems. Computers & Operations Research, 16(2), 173–184.CrossRefGoogle Scholar
  14. 14.
    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.MathSciNetCrossRefGoogle Scholar
  15. 15.
    McCormick, S. T. (1990). Making sparse matrices sparser: Computational results. Mathematical Programming, 49(1–3), 91–111.MathSciNetCrossRefGoogle Scholar
  16. 16.
    Mészáros, C., & Suhl, U. H. (2003). Advanced preprocessing techniques for linear and quadratic programming. OR Spectrum, 25(4), 575–595.MathSciNetCrossRefGoogle Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    Tomlin, J. A., & Welch, J. S. (1983). Formal optimization of some reduced linear programming problems. Mathematical Programming, 27(2), 232–240.MathSciNetCrossRefGoogle Scholar
  19. 19.
    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.CrossRefGoogle Scholar
  20. 20.
    Weispfenning, V. (2004). Solving constraints by elimination methods. In Proceedings of the International Joint Conference on Automated Reasoning (pp. 336–341). Berlin/Heidelberg: Springer.CrossRefGoogle Scholar
  21. 21.
    Ye, Y. (1989). Eliminating columns in the simplex method for linear programming. Journal of Optimization Theory and Applications, 63(1), 69–77.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Applied InformaticsUniversity of MacedoniaThessalonikiGreece

Personalised recommendations