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

  • Gerald GamrathEmail author
  • Timo Berthold
  • Stefan Heinz
  • Michael Winkler
Full Length Paper


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.


Mixed integer programming Primal heuristics Start heuristics Fix-and-propagate Large neighborhood search IP MIP 

Mathematics Subject Classification

90C11 90C10 90C59 



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.


  1. 1.
    Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007)Google Scholar
  3. 3.
    Achterberg, T., Berthold, T.: Improving the feasibility pump. Discrete Optim. 4(1), 77–86 (2007)MathSciNetzbMATHGoogle Scholar
  4. 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)Google Scholar
  5. 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)Google Scholar
  6. 6.
    Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)MathSciNetzbMATHGoogle Scholar
  7. 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)MathSciNetzbMATHGoogle Scholar
  8. 8.
    Achterberg, T., Wunderling, R.: Mixed integer programming: analyzing 12 years of progress. In: Facets of Combinatorial Optimization, pp. 449–481. Springer (2013)Google Scholar
  9. 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)MathSciNetzbMATHGoogle Scholar
  10. 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)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.: The mixed vertex packing problem. Math. Program. 89(1), 35–53 (2000)MathSciNetzbMATHGoogle Scholar
  12. 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)Google Scholar
  13. 13.
    Bertacco, L., Fischetti, M., Lodi, A.: A feasibility pump heuristic for general mixed-integer problems. Discrete Optim. 4(1), 63–76 (2007)MathSciNetzbMATHGoogle Scholar
  14. 14.
    Berthold, T.: Primal heuristics for mixed integer programs. Diploma thesis, Technische Universität Berlin (2006)Google Scholar
  15. 15.
    Berthold, T.: Measuring the impact of primal heuristics. Oper. Res. Lett. 41(6), 611–614 (2013)MathSciNetzbMATHGoogle Scholar
  16. 16.
    Berthold, T.: Heuristic algorithms in global MINLP solvers. Ph.D. thesis, Technische Universität Berlin (2014)Google Scholar
  17. 17.
    Berthold, T.: RENS—the optimal rounding. Math. Program. Comput. 6(1), 33–54 (2014)MathSciNetzbMATHGoogle Scholar
  18. 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)Google Scholar
  19. 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)zbMATHGoogle Scholar
  20. 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)Google Scholar
  21. 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)Google Scholar
  22. 22.
    Bixby, R.E.: A brief history of linear and mixed-integer programming computation. Documenta Math., pp. 107–121 (2012)Google Scholar
  23. 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. 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)zbMATHGoogle Scholar
  25. 25.
    COR@L. MIP Instances (2014). Accessed 02 July 2018
  26. 26.
    Dakin, R.J.: A tree-search algorithm for mixed integer programming problems. Comput. J. 8(3), 250–255 (1965)MathSciNetzbMATHGoogle Scholar
  27. 27.
    Danna, E., Rothberg, E., Pape, C.L.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Program. 102(1), 71–90 (2004)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Dey, S., Iroume, A., Molinaro, M., Salvagnin, D.: Improving the randomization step in feasibility pump. arXiv preprint arXiv:1609.08121 (2016)
  29. 29.
    Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005)MathSciNetzbMATHGoogle Scholar
  30. 30.
    Fischetti, M., Lodi, A.: Local branching. Math. Program. 98(1–3), 23–47 (2003)MathSciNetzbMATHGoogle Scholar
  31. 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 InfeasibilityMathSciNetzbMATHGoogle Scholar
  32. 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 publicationGoogle Scholar
  33. 33.
    Fischetti, M., Monaci, M.: Proximity search for 0–1 mixed-integer convex programming. J. Heuristics 20(6), 709–731 (2014)zbMATHGoogle Scholar
  34. 34.
    Fischetti, M., Salvagnin, D.: Feasibility pump 2.0. Math. Program. Comput. 1, 201–222 (2009)MathSciNetzbMATHGoogle Scholar
  35. 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. 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. 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)Google Scholar
  38. 38.
    Gardi, F.: Toward a mathematical programming solver based on local search. Habilitation thesis, Université Pierre et Marie Curie (2013)Google Scholar
  39. 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)Google Scholar
  40. 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)Google Scholar
  41. 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)MathSciNetzbMATHGoogle Scholar
  42. 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)zbMATHGoogle Scholar
  43. 43.
    Hansen, P., Mladenović, N., Urošević, D.: Variable neighborhood search and local branching. Comput. Oper. Res. 33(10), 3034–3045 (2006)zbMATHGoogle Scholar
  44. 44.
    Hendel, G.: IPET interactive performance evaluation tools. Accessed 02 July 2018
  45. 45.
    Johnson, E.L., Padberg, M.W.: Degree-two inequalities, clique facets, and biperfect graphs. N-Holl. Math. Stud. 66, 169–187 (1982)MathSciNetzbMATHGoogle Scholar
  46. 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)MathSciNetzbMATHGoogle Scholar
  47. 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)MathSciNetGoogle Scholar
  48. 48.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)MathSciNetzbMATHGoogle Scholar
  49. 49.
    Lazić, J.: Variable and single neighbourhood diving for MIP feasibility. Yugosl. J. Oper. Res. 26(2), 131–157 (2016)MathSciNetzbMATHGoogle Scholar
  50. 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)zbMATHGoogle Scholar
  51. 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. 52.
    Lodi, A., Tramontani, A.: Performance variability in mixed-integer programming. In: Theory Driven by Influential Applications, chapter 1, pp. 1–12. INFORMS (2013)Google Scholar
  53. 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)Google Scholar
  54. 54.
    Marchand, H., Wolsey, L.A.: Aggregation and mixed integer rounding to solve MIPs. Oper. Res. 49(3), 363–371 (2001)MathSciNetzbMATHGoogle Scholar
  55. 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)Google Scholar
  56. 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)MathSciNetzbMATHGoogle Scholar
  57. 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)MathSciNetzbMATHGoogle Scholar
  58. 58.
    Rothberg, E.: An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS J. Comput. 19(4), 534–541 (2007)zbMATHGoogle Scholar
  59. 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)zbMATHGoogle Scholar
  60. 60.
    Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)MathSciNetzbMATHGoogle Scholar
  61. 61.
    Wallace, C.: ZI round, a MIP rounding heuristic. J. Heuristics 16(5), 715–722 (2010)MathSciNetzbMATHGoogle Scholar
  62. 62.
    Winkler, M.: Presolving for pseudo-Boolean optimization problems. Diploma thesis, Technische Universität Berlin (2014)Google Scholar
  63. 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)zbMATHGoogle Scholar
  64. 64.
    Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. thesis, Technische Universität Berlin (1996)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature and Mathematical Optimization Society 2019

Authors and Affiliations

  1. 1.Zuse Institute BerlinBerlinGermany
  2. 2.Fair Isaac Germany GmbHBerlinGermany
  3. 3.Gurobi GmbHBerlinGermany

Personalised recommendations