Journal of Heuristics

, Volume 21, Issue 1, pp 73–106 | Cite as


  • Timo Berthold
  • Gregor Hendel


In recent years, there has been a growing interest in the design of general purpose primal heuristics for use inside complete mixed integer programming solvers. Many of these heuristics rely on an optimal LP solution, which may take a significant amount of time to find. In this paper, we address this issue by introducing a pre-root primal heuristic that does not require a previously found LP solution. This heuristic, named Shift-and-Propagate , applies domain propagation techniques to quickly drive a variable assignment towards feasibility. Computational experiments indicate that this heuristic is a powerful supplement to existing rounding and propagation heuristics.


Primal heuristic Mixed integer programming Domain propagation Rounding 

Mathematics Subject Classification

90C10 90C11 90C59 



Many thanks to Christina Burt and two anonymous reviewers for their valuable comments. This research has been supported by the DFG Research Center Matheon Mathematics for key technologies in Berlin,


  1. Achterberg, T.: SCIP—a framework to integrate constraint and mixed integer programming. Tech. Rep. 04–19, Zuse Institute Berlin (2004).
  2. Achterberg, T.: Constraint integer programming. Ph.D. thesis, TU Berlin (2007)Google Scholar
  3. Achterberg, T., Berthold, T.: Improving the feasibility pump. Discret. Optim. Spec. Issue 4(1), 77–86 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  4. Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)CrossRefMathSciNetGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. Andersen, E., Andersen, K.: Presolving in linear programming. Math. Program. 71, 221–245 (1995)zbMATHGoogle Scholar
  7. Balas, E., Ceria, S., Dawande, M., Margot, F., Pataki, G.: OCTANE: a new heuristic for pure 0–1 programs. Oper. Res. 49(2), 207–225 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  8. Balas, E., Schmieta, S., Wallace, C.: Pivot and shift—a mixed integer programming heuristic. Discret. Optim. 1(1), 3–12 (2004)CrossRefzbMATHMathSciNetGoogle Scholar
  9. Bertacco, L., Fischetti, M., Lodi, A.: A feasibility pump heuristic for general mixed-integer problems. Discret. Optim. Spec. Issue 4(1), 63–76 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  10. Berthold, T.: Primal heuristics for mixed integer programs. Diploma thesis, Technische Universität Berlin (2006)Google Scholar
  11. Berthold, T.: Heuristics of the branch-cut-and-price-framework SCIP. In: Kalcsics, J., Nickel, S. (eds.) Operations Research Proceedings 2007, pp. 31–36. Springer, Berlin (2008)CrossRefGoogle Scholar
  12. Berthold, T.: Measuring the impact of primal heuristics. Oper. Res. Lett. 41(6), 611–614 (2013)CrossRefzbMATHMathSciNetGoogle Scholar
  13. Berthold, T., Feydy, T., Stuckey, P.J.: Rapid learning for binary programs. In: Lodi, A., Milano, M., Toth, P. (eds.) Proceedings of the CPAIOR 2010. LNCS, vol. 6140, pp. 51–55. Springer, Berlin (2010)Google Scholar
  14. Bessiere, C.: Constraint propagation. In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming. Chap. 3, pp. 29–83. Elsevier, Amsterdam (2006)CrossRefGoogle Scholar
  15. Bixby, R.E., Ceria, S., McZeal, C.M., Savelsbergh, M.W.: An updated mixed integer programming library: MIPLIB 3.0. Optima 58, 12–15 (1998)Google Scholar
  16. Bixby, R.E., Fenelon, M., Gu, Z., Rothberg, E., Wunderling, R.: MIP: theory and practice—closing the gap. In: Powell, M., Scholtes, S. (eds.) Systems Modelling and Optimization: Methods, Theory, and Applications, pp. 19–49. Kluwer Academic Publisher, Dordrecht (2000)CrossRefGoogle Scholar
  17. Brearley, A., Mitra, G., Williams, H.: Analysis of mathematical programming problems prior to applying the simplex algorithm. Math. Program. 8, 54–83 (1975)CrossRefzbMATHMathSciNetGoogle Scholar
  18. COIN-OR branch-and-cut MIP solver. Accessed 15 Dec 2014
  19. Danna, E., Rothberg, E., Pape, C.L.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Program. A 102(1), 71–90 (2004)CrossRefGoogle Scholar
  20. Fischetti, M., Salvagnin, D.: Feasibility pump 2.0. Math. Program. C 1, 201–222 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  21. 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
  22. Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  23. Ghosh, S.: DINS, a MIP improvement heuristic. In: Fischetti, M., Williamson, D.P. (eds.) Integer Programming and Combinatorial Optimization (IPCO 2007). LNCS, vol. 4513, pp. 310–323. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  24. Glover, F., Laguna, M.: General purpose heuristics for integer programming - part I. J. Heuristics 2(4), 343–358 (1997a)CrossRefzbMATHGoogle Scholar
  25. Glover, F., Laguna, M.: General purpose heuristics for integer programming—part II. J. Heuristics 3(2), 161–179 (1997b)CrossRefzbMATHGoogle Scholar
  26. Glover, F., Løkketangen, A., Woodruff, D.L.: Scatter search to generate diverse MIP solutions. In: Laguna, M., González-Velarde, J.L. (eds.) Computing Tools for Modeling, Optimization and Simulation. Operations Research/Computer Science Interfaces Series, vol. 12, pp. 299–317. Springer US (2000)Google Scholar
  27. Hansen, P., Mladenović, N., Urošević, D.: Variable neighborhood search and local branching. Comput. Oper. Res. 33(10), 3034–3045 (2006)CrossRefzbMATHGoogle Scholar
  28. Harvey, W.D., Ginsberg, M.L.: Limited discrepancy search. Int. Jt. Conf. Artif. Intell. 14, 607–615 (1995)Google Scholar
  29. Hendel, G.: New rounding and propagation heuristics for mixed integer programming. Bachelor’s thesis, TU Berlin (2011)Google Scholar
  30. Ibm, ILOG CPLEX Optimizer. Accessed 15 Dec 2014
  31. Jussien, N., Lhomme, O.: Local search with constraint propagation and conflict-based heuristics. Artif. Intell. 139(1), 21–45 (2002)CrossRefzbMATHMathSciNetGoogle Scholar
  32. 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)CrossRefMathSciNetGoogle Scholar
  33. Lin, S., Kernighan, B.W.: An effective heuristic algorithm for the travelling-salesman problem. Oper. Res. 21, 498–516 (1973)CrossRefzbMATHMathSciNetGoogle Scholar
  34. Lodi, A.: The heuristic (dark) side of MIP solvers. In: Talbi, E.G. (ed.) Hybrid Metaheuristics, Studies in Computational Intelligence, vol. 434, pp. 273–284. Springer, Berlin (2013). doi: 10.1007/978-3-642-30671-6_10
  35. Løkketangen, A.: Heuristics for 0–1 mixed integer programming. In: Pardalos, P.M., Resende, M.G.C. (eds.) Handbook of Applied Optimization. Oxford University Press (2002)Google Scholar
  36. Løkketangen, A., Glover, F.: Solving zero/one mixed integer programming problems using Tabu search. Eur. J. Oper. Res. 106, 624–658 (1998)CrossRefGoogle Scholar
  37. Mareček, J.: Exploiting structure in integer programs. Ph.D. thesis, University of Nottingham (2011)Google Scholar
  38. Minton, S., Johnston, M.D., Philips, A.B., Laird, P.: Solving large-scale constraint satisfaction and scheduling problems using a heuristic repair method. In: Proceedings of the eighth National conference on Artificial intelligence, pp. 17–24. AAAI Press (1990)Google Scholar
  39. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Annual ACM IEEE Design Automation Conference, pp. 530–535. ACM (2001)Google Scholar
  40. Pesant, G., Quimper, C.G., Zanarini, A.: Counting-based search: branching heuristics for constraint satisfaction problems. J. Artif. Intell. Res. 43(1), 173–210 (2012)zbMATHMathSciNetGoogle Scholar
  41. Rothberg, E.: An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS J. Comput. 19(4), 534–541 (2007)CrossRefzbMATHGoogle Scholar
  42. Rothberg, E.: Personal communication (2013)Google Scholar
  43. Ruml, W.: Incomplete tree search using adaptive probing. In: International Joint Conference on Artificial Intelligence, pp. 235–241 (2001)Google Scholar
  44. Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  45. SCIP. Solving Constraint Integer Programs. Accessed 15 Dec 2014
  46. Selman, B., Kautz, H.A., Cohen, B.: Noise strategies for improving local search. In: Proceedings of the twelfth national conference on Artificial intelligence (vol. 1), AAAI ’94, pp. 337–343. American Association for Artificial Intelligence (1994)Google Scholar
  47. SoPlex. An open source LP solver implementing the revised simplex algorithm. Accessed 15 Dec 2014
  48. SYMPHONY. development home page. Accessed 15 Dec 2014
  49. Wallace, C.: ZI round, a MIP rounding heuristic. J. Heuristics 16(5), 715–722 (2010)CrossRefzbMATHGoogle Scholar
  50. Walser, J.P.: Integer Optimization by Local Search, Lecture Notes in Computer Science, vol. 1637. Springer, Berlin (1999)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Fair Isaac Europe Ltd, c/o Zuse Institute BerlinBerlinGermany
  2. 2.Department of OptimizationZuse Institute BerlinBerlinGermany

Personalised recommendations