Skip to main content
Log in

Structure-driven fix-and-propagate heuristics for mixed integer programming

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

Primal heuristics play an important role in the solving of mixed integer programs (MIPs). They often provide good feasible solutions early and help to reduce the time needed to prove optimality. In this paper, we present a scheme for start heuristics that can be executed without previous knowledge of an LP solution or a previously found integer feasible solution. It uses global structures available within MIP solvers to iteratively fix integer variables and propagate these fixings. Thereby, fixings are determined based on the predicted impact they have on the subsequent domain propagation. If sufficiently many variables can be fixed that way, the resulting problem is solved first as an LP, and then as an auxiliary MIP if the rounded LP solution does not provide a feasible solution already. We present three primal heuristics that use this scheme based on different global structures. Our computational experiments on standard MIP test sets show that the proposed heuristics find solutions for about 60% of the instances and by this, help to improve several performance measures for MIP solvers, including the primal integral and the average solving time.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. We compute the primal integral [15] of instance i as \(P(i) = \int _{t = 0}^{\text {t}_{\text {max}}} \gamma _{i}(t)\,dt\) with \(\text {t}_{\text {max}}\)= 7200 seconds and \(\gamma _{i}(t)\) the primal gap at time t.

References

  1. Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  2. Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007)

  3. Achterberg, T., Berthold, T.: Improving the feasibility pump. Discrete Optim. 4(1), 77–86 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  4. Achterberg, T., Berthold, T., Hendel, G.: Rounding and propagation heuristics for mixed integer programming. In: Klatte, D., Lüthi, H.-J., Schmedders, K. (eds.) Operations Research Proceedings 2011, pp. 71–76. Springer, Berlin (2012)

    Chapter  Google Scholar 

  5. Achterberg, T., Bixby, R.E., Gu, Z., Rothberg, E., Weninger, D.: Presolve reductions in mixed integer programming. Technical Report 16-44, ZIB, Takustr. 7, 14195 Berlin (2016)

  6. Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  7. Achterberg, T., Raack, C.: The MCF-separator: detecting and exploiting multi-commodity flow structures in MIPs. Math. Program. Comput. 2(2), 125–165 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  8. Achterberg, T., Wunderling, R.: Mixed integer programming: analyzing 12 years of progress. In: Facets of Combinatorial Optimization, pp. 449–481. Springer (2013)

  9. Andrade, C.E., Ahmed, S., Nemhauser, G.L., Shao, Y.: A hybrid primal heuristic for finding feasible solutions to mixed integer programs. Eur. J. Oper. Res. 263(1), 62–71 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  10. Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.: Conflict graphs in solving integer programming problems. Eur. J. Oper. Res. 121(1), 40–55 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  11. Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.: The mixed vertex packing problem. Math. Program. 89(1), 35–53 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  12. Bergman, D., Cire, A.A., van Hoeve, W.-J., Yunes, T.: BDD-based heuristics for binary optimization. J. Heuristics 20(2), 211–234 (2014)

    Article  Google Scholar 

  13. Bertacco, L., Fischetti, M., Lodi, A.: A feasibility pump heuristic for general mixed-integer problems. Discrete Optim. 4(1), 63–76 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  14. Berthold, T.: Primal heuristics for mixed integer programs. Diploma thesis, Technische Universität Berlin (2006)

  15. Berthold, T.: Measuring the impact of primal heuristics. Oper. Res. Lett. 41(6), 611–614 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  16. Berthold, T.: Heuristic algorithms in global MINLP solvers. Ph.D. thesis, Technische Universität Berlin (2014)

  17. Berthold, T.: RENS—the optimal rounding. Math. Program. Comput. 6(1), 33–54 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  18. Berthold, T.: Improving the performance of MIP and MINLP solvers by integrated heuristics. In: Dörner, K.F., Ljubic, I., Pflug, G., Tragler, G. (eds.) Operations Research Proceedings 2015, pp. 19–24. Springer, Cham (2017)

    Chapter  Google Scholar 

  19. Berthold, T., Feydy, T., Stuckey, P.J.: Rapid learning for binary programs. In: Lodi, A., Milano, M., Toth, P. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Lecture Notes in Computer Science, pp. 51–55. Springer, Berlin (2010)

    Chapter  MATH  Google Scholar 

  20. Berthold, T., Gleixner, A.M.: Undercover—a primal heuristic for MINLP based on sub-MIPs generated by set covering. In: Bonami, P., Liberti, L., Miller, A.J., Sartenaer, A. (eds.), Proceedings of the EWMINLP, pp. 103–112 (2010)

  21. Berthold, T., Perregaard, M., Mészáros, C.: Four good reasons to use an interior point solver within a MIP solver. Technical Report 17-42, ZIB, Takustr. 7, 14195 Berlin (2017)

  22. Bixby, R.E.: A brief history of linear and mixed-integer programming computation. Documenta Math., pp. 107–121 (2012)

  23. 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 

  24. Bixby, R.E., Fenelon, M., Gu, Z., Rothberg, E., Wunderling, R.: MIP: Theory and practice—closing the gap. In: Powell, M.J.D., Scholtes, S. (eds.) Systems Modelling and Optimization: Methods, Theory, and Applications, pp. 19–49. Kluwer Academic Publisher, Dordrecht (2000)

    Chapter  MATH  Google Scholar 

  25. COR@L. MIP Instances (2014). http://coral.ie.lehigh.edu/data-sets/mixed-integer-instances/. Accessed 02 July 2018

  26. Dakin, R.J.: A tree-search algorithm for mixed integer programming problems. Comput. J. 8(3), 250–255 (1965)

    Article  MathSciNet  MATH  Google Scholar 

  27. Danna, E., Rothberg, E., Pape, C.L.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Program. 102(1), 71–90 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  28. Dey, S., Iroume, A., Molinaro, M., Salvagnin, D.: Improving the randomization step in feasibility pump. arXiv preprint arXiv:1609.08121 (2016)

  29. Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  30. Fischetti, M., Lodi, A.: Local branching. Math. Program. 98(1–3), 23–47 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  31. Fischetti, M., Lodi, A.: Repairing MIP infeasibility through local branching. Comput. Oper. Res. 35(5), 1436–1445 (2008). Special Issue: Algorithms and Computational Methods in Feasibility and Infeasibility

    Article  MathSciNet  MATH  Google Scholar 

  32. Fischetti, M., Lodi, A.: Heuristics in mixed integer programming. In: Cochran, J.J., Cox, L.A., Keskinocak, P., Kharoufeh, J.P., Smith, J.C. (eds.) Wiley Encyclopedia of Operations Research and Management Science. Wiley, New York (2010). Online publication

    Google Scholar 

  33. Fischetti, M., Monaci, M.: Proximity search for 0–1 mixed-integer convex programming. J. Heuristics 20(6), 709–731 (2014)

    Article  MATH  Google Scholar 

  34. Fischetti, M., Salvagnin, D.: Feasibility pump 2.0. Math. Program. Comput. 1, 201–222 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  35. Fügenschuh, A., Martin, A.: Computational integer programming and cutting planes. In: Aardal, K., Nemhauser, G.L., Weismantel, R. (eds.) Discret. Optim., volume 12 of Handbooks in Operations Research and Management Science, chapter 2, pp. 69–122. Elsevier, Amsterdam (2005)

    Google Scholar 

  36. Gamrath, G., Berthold, T., Heinz, S., Winkler, M.: Structure-based primal heuristics for mixed integer programming. In: Fujisawa, K., Shinano, Y., Waki, H (eds.) Optimization in the Real World, vol. 13, pp. 37 – 53. Springer Tokyo (2015)

    Google Scholar 

  37. Gamrath, G., Berthold, T., Heinz, S., Winkler, M.: Structure-driven fix-and-propagate heuristics for mixed integer programming. Technical Report 17-56, ZIB, Takustr. 7, 14195 Berlin (2017)

  38. Gardi, F.: Toward a mathematical programming solver based on local search. Habilitation thesis, Université Pierre et Marie Curie (2013)

  39. Ghosh, S.: DINS, a MIP improvement heuristic. In: Fischetti, M., Williamson, D.P. (eds.) Proceedings of 12th International IPCO Conference on Integer Programming and Combinatorial Optimization, vol. 4513 of LNCS, pp. 310–323. Springer, Berlin (2007)

  40. Gleixner, A., Eifler, L., Gally, T., Gamrath, G., Gemander, P., Gottwald, R.L., Hendel, G., Hojny, C., Koch, T., Miltenberger, M., r, B.M., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schlösser, F., Serrano, F., Shinano, Y., Viernickel, J.M., Vigerske, S., Weninger, D., Witt, J.T., Witzig, J.: The SCIP Optimization Suite 5.0. Technical Report 17-61, ZIB, Takustr. 7, 14195 Berlin (2017)

  41. Guastaroba, G., Savelsbergh, M., Speranza, M.: Adaptive kernel search: a heuristic for solving mixed integer linear programs. Eur. J. Oper. Res 263(3), 789–804 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  42. Guzelsoy, M., Nemhauser, G., Savelsbergh, M.: Restrict-and-relax search for 0–1 mixed-integer programs. EURO J. Comput. Optim. 1, 1–18 (2013)

    Article  MATH  Google Scholar 

  43. Hansen, P., Mladenović, N., Urošević, D.: Variable neighborhood search and local branching. Comput. Oper. Res. 33(10), 3034–3045 (2006)

    Article  MATH  Google Scholar 

  44. Hendel, G.: IPET interactive performance evaluation tools. https://github.com/GregorCH/ipet. Accessed 02 July 2018

  45. Johnson, E.L., Padberg, M.W.: Degree-two inequalities, clique facets, and biperfect graphs. N-Holl. Math. Stud. 66, 169–187 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  46. Koc, U., Mehrotra, S.: Generation of feasible integer solutions on a massively parallel computer using the feasibility pump. Oper. Res. Lett. 45, 652–658 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  47. 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)

    Article  MathSciNet  Google Scholar 

  48. Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  49. Lazić, J.: Variable and single neighbourhood diving for MIP feasibility. Yugosl. J. Oper. Res. 26(2), 131–157 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  50. Lodi, A.: Mixed integer programming computation. In: Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds.) 50 Years of Integer Programming 1958–2008, pp. 619–645. Springer, Berlin (2010)

    Chapter  MATH  Google Scholar 

  51. Lodi, A.: The heuristic (dark) side of MIP solvers. In: Talbi, E.-G. (ed.) Hybrid Metaheuristics, Volume 434 of Studies in Computational Intelligence, pp. 273–284. Springer, Berlin (2013)

    Google Scholar 

  52. Lodi, A., Tramontani, A.: Performance variability in mixed-integer programming. In: Theory Driven by Influential Applications, chapter 1, pp. 1–12. INFORMS (2013)

  53. Maher, S.J., Fischer, T., Gally, T., Gamrath, G., Gleixner, A., Gottwald, R.L., Hendel, G., Koch, T., Lübbecke, M.E., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schenker, S., Schwarz, R., Serrano, F., Shinano, Y., Weninger, D., Witt, J.T., Witzig, J.: The SCIP Optimization Suite 4.0. Technical Report 17-12, ZIB, Takustr. 7, 14195 Berlin (2017)

  54. Marchand, H., Wolsey, L.A.: Aggregation and mixed integer rounding to solve MIPs. Oper. Res. 49(3), 363–371 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  55. Margot, F.: Symmetry in integer linear programming. In: Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds.) 50 Years of Integer Programming 1958–2008: From the Early Years to the State-of-the-Art, pp. 647–686. Springer, Berlin (2010)

    Chapter  Google Scholar 

  56. Munguía, L.-M., Ahmed, S., Bader, D.A., Nemhauser, G.L., Shao, Y.: Alternating criteria search: a parallel large neighborhood search algorithm for mixed integer programs. Comput. Optim. Appl. 69(1), 1–24 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  57. Pryor, J., Chinneck, J.W.: Faster integer-feasibility in mixed-integer linear programs by branching to force change. Comput. Oper. Res. 38(8), 1143–1152 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  58. Rothberg, E.: An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS J. Comput. 19(4), 534–541 (2007)

    Article  MATH  Google Scholar 

  59. Salvagnin, D.: Detecting and exploiting permutation structures in MIPs. In: Simonis, H. (ed.) Integration of AI and OR Techniques in Constraint Programming. Lecture Notes in Computer Science, vol. 8451, pp. 29–44. Springer, Berlin (2014)

    Chapter  MATH  Google Scholar 

  60. Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  61. Wallace, C.: ZI round, a MIP rounding heuristic. J. Heuristics 16(5), 715–722 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  62. Winkler, M.: Presolving for pseudo-Boolean optimization problems. Diploma thesis, Technische Universität Berlin (2014)

  63. Witzig, J., Berthold, T., Heinz, S.: Experiments with conflict analysis in mixed integer programming. In: Salvagnin, D., Lombardi, M. (eds.) Integration of AI and OR Techniques in Constraint Programming, pp. 211–220. Springer, Cham (2017)

    Chapter  MATH  Google Scholar 

  64. Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. thesis, Technische Universität Berlin (1996)

Download references

Acknowledgements

The work for this article has been conducted within the Research Campus Modal funded by the German Federal Ministry of Education and Research (Fund Number 05M14ZAM). The authors would like to thank the anonymous reviewers for helpful comments on the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gerald Gamrath.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gamrath, G., Berthold, T., Heinz, S. et al. Structure-driven fix-and-propagate heuristics for mixed integer programming. Math. Prog. Comp. 11, 675–702 (2019). https://doi.org/10.1007/s12532-019-00159-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-019-00159-1

Keywords

Mathematics Subject Classification

Navigation