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.




Similar content being viewed by others
Notes
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
Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)
Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007)
Achterberg, T., Berthold, T.: Improving the feasibility pump. Discrete Optim. 4(1), 77–86 (2007)
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)
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)
Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)
Achterberg, T., Raack, C.: The MCF-separator: detecting and exploiting multi-commodity flow structures in MIPs. Math. Program. Comput. 2(2), 125–165 (2010)
Achterberg, T., Wunderling, R.: Mixed integer programming: analyzing 12 years of progress. In: Facets of Combinatorial Optimization, pp. 449–481. Springer (2013)
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)
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)
Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.: The mixed vertex packing problem. Math. Program. 89(1), 35–53 (2000)
Bergman, D., Cire, A.A., van Hoeve, W.-J., Yunes, T.: BDD-based heuristics for binary optimization. J. Heuristics 20(2), 211–234 (2014)
Bertacco, L., Fischetti, M., Lodi, A.: A feasibility pump heuristic for general mixed-integer problems. Discrete Optim. 4(1), 63–76 (2007)
Berthold, T.: Primal heuristics for mixed integer programs. Diploma thesis, Technische Universität Berlin (2006)
Berthold, T.: Measuring the impact of primal heuristics. Oper. Res. Lett. 41(6), 611–614 (2013)
Berthold, T.: Heuristic algorithms in global MINLP solvers. Ph.D. thesis, Technische Universität Berlin (2014)
Berthold, T.: RENS—the optimal rounding. Math. Program. Comput. 6(1), 33–54 (2014)
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)
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)
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)
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)
Bixby, R.E.: A brief history of linear and mixed-integer programming computation. Documenta Math., pp. 107–121 (2012)
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)
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)
COR@L. MIP Instances (2014). http://coral.ie.lehigh.edu/data-sets/mixed-integer-instances/. Accessed 02 July 2018
Dakin, R.J.: A tree-search algorithm for mixed integer programming problems. Comput. J. 8(3), 250–255 (1965)
Danna, E., Rothberg, E., Pape, C.L.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Program. 102(1), 71–90 (2004)
Dey, S., Iroume, A., Molinaro, M., Salvagnin, D.: Improving the randomization step in feasibility pump. arXiv preprint arXiv:1609.08121 (2016)
Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005)
Fischetti, M., Lodi, A.: Local branching. Math. Program. 98(1–3), 23–47 (2003)
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
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
Fischetti, M., Monaci, M.: Proximity search for 0–1 mixed-integer convex programming. J. Heuristics 20(6), 709–731 (2014)
Fischetti, M., Salvagnin, D.: Feasibility pump 2.0. Math. Program. Comput. 1, 201–222 (2009)
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)
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)
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)
Gardi, F.: Toward a mathematical programming solver based on local search. Habilitation thesis, Université Pierre et Marie Curie (2013)
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)
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)
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)
Guzelsoy, M., Nemhauser, G., Savelsbergh, M.: Restrict-and-relax search for 0–1 mixed-integer programs. EURO J. Comput. Optim. 1, 1–18 (2013)
Hansen, P., Mladenović, N., Urošević, D.: Variable neighborhood search and local branching. Comput. Oper. Res. 33(10), 3034–3045 (2006)
Hendel, G.: IPET interactive performance evaluation tools. https://github.com/GregorCH/ipet. Accessed 02 July 2018
Johnson, E.L., Padberg, M.W.: Degree-two inequalities, clique facets, and biperfect graphs. N-Holl. Math. Stud. 66, 169–187 (1982)
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)
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)
Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)
Lazić, J.: Variable and single neighbourhood diving for MIP feasibility. Yugosl. J. Oper. Res. 26(2), 131–157 (2016)
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)
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)
Lodi, A., Tramontani, A.: Performance variability in mixed-integer programming. In: Theory Driven by Influential Applications, chapter 1, pp. 1–12. INFORMS (2013)
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)
Marchand, H., Wolsey, L.A.: Aggregation and mixed integer rounding to solve MIPs. Oper. Res. 49(3), 363–371 (2001)
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)
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)
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)
Rothberg, E.: An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS J. Comput. 19(4), 534–541 (2007)
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)
Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)
Wallace, C.: ZI round, a MIP rounding heuristic. J. Heuristics 16(5), 715–722 (2010)
Winkler, M.: Presolving for pseudo-Boolean optimization problems. Diploma thesis, Technische Universität Berlin (2014)
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)
Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. thesis, Technische Universität Berlin (1996)
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-019-00159-1
Keywords
- Mixed integer programming
- Primal heuristics
- Start heuristics
- Fix-and-propagate
- Large neighborhood search
- IP
- MIP