Skip to main content

Presolve Methods

  • Chapter
  • First Online:
  • 4084 Accesses

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

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

  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.

    Article  MathSciNet  Google Scholar 

  2. Andersen, E. D., & Andersen, K. D. (1995). Presolving in linear programming. Mathematical Programming, 71(2), 221–245.

    Article  MathSciNet  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  5. Chang, S. F., & McCormick, S. T. (1992). A hierarchical algorithm for making sparse matrices sparser. Mathematical Programming, 56(1–3), 1–30.

    Article  MathSciNet  Google Scholar 

  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.

    Chapter  Google Scholar 

  7. Douglas, A. (1971). Examples concerning efficient strategies for gaussian elimination. Computing, 8(3–4), 382–394.

    Article  MathSciNet  Google Scholar 

  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. Gondzio, J. (1997). Presolve analysis of linear programs prior to applying an interior point method. INFORMS Journal on Computing, 9(1), 73–91.

    Article  MathSciNet  Google Scholar 

  10. Gould, N., & Toint, P. L. (2004). Preprocessing for quadratic programming. Mathematical Programming, 100(1), 95–132.

    MathSciNet  MATH  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  12. Ioslovich, I. (2001). Robust reduction of a class of large-scale linear programs. SIAM Journal on Optimization, 12(1), 262–282.

    Article  MathSciNet  Google Scholar 

  13. Lustig, I. J. (1989). An analysis of an available set of linear programming test problems. Computers & Operations Research, 16(2), 173–184.

    Article  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  15. McCormick, S. T. (1990). Making sparse matrices sparser: Computational results. Mathematical Programming, 49(1–3), 91–111.

    Article  MathSciNet  Google Scholar 

  16. Mészáros, C., & Suhl, U. H. (2003). Advanced preprocessing techniques for linear and quadratic programming. OR Spectrum, 25(4), 575–595.

    Article  MathSciNet  Google Scholar 

  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. Tomlin, J. A., & Welch, J. S. (1983). Formal optimization of some reduced linear programming problems. Mathematical Programming, 27(2), 232–240.

    Article  MathSciNet  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Chapter  Google Scholar 

  21. Ye, Y. (1989). Eliminating columns in the simplex method for linear programming. Journal of Optimization Theory and Applications, 63(1), 69–77.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

4.1 Electronic Supplementary Material

Below is the link to the electronic supplementary material.

chapter 4 (Zip 14 kb)

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics