Mathematical Programming Computation

, Volume 7, Issue 4, pp 367–398 | Cite as

Progress in presolving for mixed integer programming

  • Gerald Gamrath
  • Thorsten Koch
  • Alexander Martin
  • Matthias Miltenberger
  • Dieter Weninger
Full Length Paper

Abstract

This paper describes three presolving techniques for solving mixed integer programming problems (MIPs) that were implemented in the academic MIP solver SCIP. The task of presolving is to reduce the problem size and strengthen the formulation, mainly by eliminating redundant information and exploiting problem structures. The first method fixes continuous singleton columns and extends results known from duality fixing. The second analyzes and exploits pairwise dominance relations between variables, whereas the third detects isolated subproblems and solves them independently. The performance of the presented techniques is demonstrated on two MIP test sets. One contains all benchmark instances from the last three MIPLIB versions, while the other consists of real-world supply chain management problems. The computational results show that the combination of all three presolving techniques almost halves the solving time for the considered supply chain management problems. For the MIPLIB instances we obtain a speedup of 20 % on affected instances while not degrading the performance on the remaining problems.

Mathematics Subject Classification

Primary 90C11 90C10 Secondary 90-04 90-08 90C90 

References

  1. 1.
    Aardal, K., Bixby, R.E., Hurkens, C.A.J., Lenstra, A.K., Smeltink, J.W.: Market split and basis reduction: towards a solution of the Cornuéjols–Dawande instances. INFORMS J. Comput. 12(3), 192–202 (2000)MATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Achterberg, T.: Constraint Integer Programming. PhD thesis, Technische Universität Berlin (2007)Google Scholar
  3. 3.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Andersen, E.D., Andersen, K.D.: Presolving in linear programming. Math. Program. 71, 221–245 (1995)MATHGoogle Scholar
  6. 6.
    Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.P.: Conflict graphs in solving integer programming problems. Eur. J. Oper. Res. 121(1), 40–55 (2000)MATHCrossRefGoogle Scholar
  7. 7.
    Atamtürk, A., Savelsbergh, M.W.P.: Integer-programming software systems. Ann. Oper. Res. 140, 67–124 (2005)MATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Babayev, D.A., Mardanov, S.S.: Reducing the number of variables in integer and linear programming problems. Comput. Optim. Appl. 3(2), 99–109 (1994)MATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    Bixby, R.E., Ceria, S., McZeal, C.M., Savelsbergh, M.W.P.: An updated mixed integer programming library: MIPLIB 3.0. Optima 58, 12–15 (1998)Google Scholar
  10. 10.
    Bixby, R.E., Rothberg, E.: Progress in computational mixed integer programming-a look back from the other side of the tipping point. Ann. Oper. Res. 149, 37–41 (2007)MATHMathSciNetCrossRefGoogle Scholar
  11. 11.
    Bixby, R.E., Wagner, D.K.: A note on detecting simple redundancies in linear systems. Oper. Res. Lett. 6(1), 15–17 (1987)MATHMathSciNetCrossRefGoogle Scholar
  12. 12.
    Borndörfer, R.: Aspects of set packing, partitioning, and covering. PhD thesis, Technische Universität Berlin (1998)Google Scholar
  13. 13.
    Brearley, A.L., Mitra, G., Williams, H.P.: Analysis of mathematical programming problems prior to applying the simplex algorithm. Math. Program. 8, 54–83 (1975)MATHMathSciNetCrossRefGoogle Scholar
  14. 14.
    Crowder, H., Johnson, E.L., Padberg, M.: Solving large-scale zero-one linear programming problems. Oper. Res. 31(5), 803–834 (1983)MATHCrossRefGoogle Scholar
  15. 15.
    Dantzig, G.B.: Discrete-variable extremum problems. Oper. Res. 5(2), 266–277 (1957)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Daskalakis, C., Karp, R.M., Mossel, E., Riesenfeld, S., Verbin, E.L.: Sorting and selection in posets. In: SODA ’09: Proceedings of the Nineteenth Annual ACM–SIAM Symposium on Discrete Algorithms, pp. 392–401. Society for Industrial and Applied Mathematics, Philadelphia (2009)Google Scholar
  17. 17.
    Fügenschuh, A., Martin, A.: Computational integer programming and cutting planes. In: Aardal, K., Nemhauser, G.L., Weismantel, R. (eds.) Discrete Optimization. Handbooks in Operations Research and Management Science, vol. 12, chap. 2, pp. 69–122. Elsevier, Amsterdam (2005)Google Scholar
  18. 18.
    Guignard, M., Spielberg, K.: Logical reduction methods in zero-one programming: minimal preferred variables. Oper. Res. 29(1), 49–74 (1981)MATHMathSciNetCrossRefGoogle Scholar
  19. 19.
    Hoffman, K.L., Padberg, M.: Improving LP-representations of zero-one linear programs for branch-and-cut. ORSA J. Comput. 3(2), 121–134 (1991)MATHCrossRefGoogle Scholar
  20. 20.
    Hopcroft, J., Tarjan, R.: Algorithm 447: efficient algorithms for graph manipulation. Commun. ACM 16(6), 372–378 (1973)CrossRefGoogle Scholar
  21. 21.
    Johnson, E.L., Suhl, U.H.: Experiments in integer programming. Discrete Appl. Math. 2(1), 39–55 (1980)MATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    Koch, T., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R.E., Danna, E., Gamrath, G., Gleixner, A.M., Heinz, S., Lodi, A., Mittelmann, H., Ralphs, T., Salvagnin, D., Steffy, D.E., Wolter, K.: MIPLIB 2010. Math. Program. Comput. 3(2), 103–163 (2011)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Mahajan, A.: Presolving mixed-integer linear programs. In: Cochran, J.J., Cox, L.A., Keskinocak, P., Kharoufeh, J.P., Smith, J.C. (eds) Wiley Encyclopedia of Operations Research and Management Science, pp. 4141–4149. Wiley, New York (2011)Google Scholar
  24. 24.
    Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York (1988)MATHCrossRefGoogle Scholar
  25. 25.
    Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)MATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    Suhl, U., Szymanski, R.: Supernode processing of mixed-integer models. Comput. Optim. Appl. 3(4), 317–331 (1994)MATHMathSciNetCrossRefGoogle Scholar
  27. 27.
    Williams, H.P.: A reduction procedure for linear and integer programming models. In: Redundancy in Mathematical Programming. Lecture Notes in Economics and Mathematical Systems, vol. 206, pp. 87–107. Springer, Berlin (1983)Google Scholar
  28. 28.
    Williams, H.P.: The elimination of integer variables. J. Oper. Res. Soc. 43(5), 387–393 (1992)MATHCrossRefGoogle Scholar
  29. 29.
    Wolsey, L.A.: Integer Programming. Wiley, New York (1998)MATHGoogle Scholar
  30. 30.
    Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. PhD thesis, Technische Universität Berlin (1996)Google Scholar
  31. 31.
    Zhu, N., Broughan, K.: A note on reducing the number of variables in integer programming problems. Comput. Optim. Appl. 8(3), 263–272 (1997)MATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg and The Mathematical Programming Society 2015

Authors and Affiliations

  • Gerald Gamrath
    • 1
  • Thorsten Koch
    • 1
  • Alexander Martin
    • 2
  • Matthias Miltenberger
    • 1
  • Dieter Weninger
    • 2
  1. 1.Zuse Institute BerlinBerlinGermany
  2. 2.FAU Erlangen-NürnbergErlangenGermany

Personalised recommendations