Mathematical Programming

, Volume 144, Issue 1–2, pp 315–346 | Cite as

Undercover: a primal MINLP heuristic exploring a largest sub-MIP

  • Timo Berthold
  • Ambros M. Gleixner
Full Length Paper Series A


We present Undercover, a primal heuristic for nonconvex mixed-integer nonlinear programs (MINLPs) that explores a mixed-integer linear subproblem (sub-MIP) of a given MINLP. We solve a vertex covering problem to identify a smallest set of variables to fix, a so-called cover, such that each constraint is linearized. Subsequently, these variables are fixed to values obtained from a reference point, e.g., an optimal solution of a linear relaxation. Each feasible solution of the sub-MIP corresponds to a feasible solution of the original problem. We apply domain propagation to try to avoid infeasibilities, and conflict analysis to learn additional constraints from infeasibilities that are nonetheless encountered. We present computational results on a test set of mixed-integer quadratically constrained programs (MIQCPs) and MINLPs. It turns out that the majority of these instances allows for small covers. Although general in nature, we show that the heuristic is most successful on MIQCPs. It nicely complements existing root-node heuristics in different state-of-the-art solvers and helps to significantly improve the overall performance of the MINLP solver SCIP.


Primal heuristic Mixed-integer nonlinear programming Large neighborhood search Mixed-integer quadratically constrained programming Nonconvex optimization 

Mathematics Subject Classification (2000)

90C11 90C20 90C26 90C30 90C59 



Many thanks to Tobias Achterberg, J. Christopher Beck, Christina Burt, Angela Glover, Stefan Vigerske, the associate editor, 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. 1.
    Achterberg, T.: Conflict analysis in mixed integer programming. Discret. Optim. 4(1), 4–20 (2007). doi: 10.1016/j.disopt.2006.10.006 CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007).
  3. 3.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009). doi: 10.1007/s12532-008-0001-1
  4. 4.
    Achterberg, T., Berthold, T.: Improving the feasibility pump. Discret. Optim. 4(1), 77–86 (2007). doi: 10.1016/j.disopt.2006.10.004 CrossRefzbMATHMathSciNetGoogle Scholar
  5. 5.
    Belotti, P., Lee, J., Liberti, L., Margot, F., Wächter, A.: Branching and bounds tightening techniques for non-convex MINLP. Optim. Methods Softw. 24, 597–634 (2009). doi: 10.1080/10556780903087124 Google Scholar
  6. 6.
    Berthold, T.: Primal Heuristics for Mixed Integer Programs. Diploma thesis, Technische Universität Berlin (2006).
  7. 7.
    Berthold, T.: RENS–the Optimal Rounding. ZIB-Report 12–17, Zuse Institute Berlin (2012).
  8. 8.
    Berthold, T., Heinz, S., Pfetsch, M.E., Vigerske, S.: Large neighborhood search beyond MIP. In: Gaspero, L.D., Schaerf, A., Stützle, T. (eds.) Proceedings of the 9th Metaheuristics International Conference (MIC 2011), pp. 51–60 (2011). Available as Matheon Preprint # 856. urn:nbn:de:0296-matheon-9752Google Scholar
  9. 9.
    Berthold, T., Heinz, S., Vigerske, S.: Extending a CIP framework to solve MIQCPs. In: Lee, J., Leyffer, S. (eds.) Mixed Integer Nonlinear Programming, The IMA Volumes in Mathematics and its Applications, vol. 154, pp. 427–444. Springer (2011). doi: 10.1007/978-1-4614-1927-3_15
  10. 10.
    Bixby, R., 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, Dordrecht (2000)Google Scholar
  11. 11.
    Bonami, P., Biegler, L.T., Conn, A.R., Cornuéjols, G., Grossmann, I.E., Laird, C.D., Lee, J., Lodi, A., Margot, F., Sawaya, N., Wächter, A.: An algorithmic framework for convex mixed integer nonlinear programs. Discret. Optim. 5, 186–204 (2008). doi: 10.1016/j.disopt.2006.10.011 CrossRefzbMATHGoogle Scholar
  12. 12.
    Bonami, P., Cornuéjols, G., Lodi, A., Margot, F.: A feasibility pump for mixed integer nonlinear programs. Math. Program. 119(2), 331–352 (2009). doi: 10.1007/s10107-008-0212-2 CrossRefzbMATHMathSciNetGoogle Scholar
  13. 13.
    Bonami, P., Gonçalves, J.: Heuristics for convex mixed integer nonlinear programs. Comput. Optim. Appl. 51, 729–747 (2012). doi: 10.1007/s10589-010-9350-6 CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    Bussieck, M., Drud, A., Meeraus, A.: MINLPLib—a collection of test models for mixed-integer nonlinear programming. INFORMS J. Comput. 15(1), 114–119 (2003). doi: 10.1287/ijoc. CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Bussieck, M.R., Vigerske, S.: MINLP solver software. 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, London (2010). Online publication. doi: 10.1002/9780470400531.eorms0527
  16. 16.
    D’Ambrosio, C., Frangioni, A., Liberti, L., Lodi, A.: Experiments with a feasibility pump approach for nonconvex MINLPs. In: Festa, P. (ed.) Experimental Algorithms, Lecture Notes in Computer Science, vol. 6049, pp. 350–360. Springer, Berlin (2010). doi: 10.1007/978-3-642-13193-6_30
  17. 17.
    Danna, E., Rothberg, E., Pape, C.L.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Program. 102(1), 71–90 (2004). doi: 10.1007/s10107-004-0518-7 CrossRefGoogle Scholar
  18. 18.
    Dinur, I., Safra, S.: On the hardness of approximating vertex cover. Ann. Math. 162, 439–485 (2005). doi: 10.4007/annals.2005.162.439 CrossRefzbMATHMathSciNetGoogle Scholar
  19. 19.
    Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005). doi: 10.1007/s10107-004-0570-3 CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Fischetti, M., Lodi, A.: Local branching. Math. Program. 98(1–3), 23–47 (2003). doi: 10.1007/s10107-003-0395-5 CrossRefzbMATHMathSciNetGoogle Scholar
  21. 21.
    Fischetti, M., Salvagnin, D.: Feasibility Pump 2.0. Math. Program. Comput. 1(2–3), 201–222 (2009). doi: 10.1007/s12532-009-0007-3
  22. 22.
    Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York (1979)zbMATHGoogle Scholar
  23. 23.
    Ghosh, S.: DINS, a MIP improvement heuristic. In: Fischetti, M., Williamson, D.P. (eds.) Integer Programming and Combinatorial Optimization, Proceedings of the 12th International IPCO Conference, LNCS, vol. 4513, pp. 310–323. Springer, Berlin (2007). doi: 10.1007/978-3-540-72792-7_24
  24. 24.
    Griewank, A., Walther, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Society for Industrial and Applied Mathematics (2008)Google Scholar
  25. 25.
    Halperin, E.: Improved approximation algorithms for the vertex cover problem in graphs and hypergraphs. SIAM J. Comput. 31, 1608–1623 (2002). doi: 10.1137/S0097539700381097 CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Hansen, P., Jaumard, B.: Reduction of indefinite quadratic programs to bilinear programs. J. Glob. Optim. 2(1), 41–60 (1992). doi: 10.1007/BF00121301 CrossRefzbMATHMathSciNetGoogle Scholar
  27. 27.
    Karakostas, G.: A better approximation ratio for the vertex cover problem. ACM Trans. Algorithms, 5, 41:1–41:8 (2009). doi: 10.1145/1597036.1597045 Google Scholar
  28. 28.
    Khot, S., Regev, O.: Vertex cover might be hard to approximate to within \(2-\epsilon \). J. Comput. Syst. Sci. 74(3), 335–349 (2008). doi:  10.1016/j.jcss.2007.06.019 CrossRefzbMATHMathSciNetGoogle Scholar
  29. 29.
    Konno, H.: A cutting plane algorithm for solving bilinear programs. Math. Program. 11, 14–27 (1976). doi: 10.1007/BF01580367 CrossRefzbMATHMathSciNetGoogle Scholar
  30. 30.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica, 28(3), 497–520 (1960). Google Scholar
  31. 31.
    Liberti, L., Mladenović, N., Nannicini, G.: A recipe for finding good solutions to MINLPs. Math. Program. Comput. 3, 349–390 (2011). doi: 10.1007/s12532-011-0031-y CrossRefzbMATHMathSciNetGoogle Scholar
  32. 32.
    Lin, Y., Schrage, L.: The global solver in the LINDO API. Optim. Methods Softw. 24(4–5), 657–668 (2009). doi: 10.1080/10556780902753221 CrossRefzbMATHMathSciNetGoogle Scholar
  33. 33.
    Misener, R., Floudas, C.A.: Global Optimization of Mixed-Integer Quadratically-Constrained Quadratic Programs (MIQCQP) Through Piecewise-Linear and Edge-Concave Relaxations. Mathematical Programming (2012). Online publication. doi: 10.1007/s10107-012-0555-6
  34. 34.
    Misener, R., Floudas, C.A.: GloMIQO: Global mixed-integer quadratic optimizer. J. Glob. Optim. (2012). Online publication. doi: 10.1007/s10898-012-9874-7
  35. 35.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th Annual Design Automation Conference (DAC ’01), pp. 530–535 (2001). doi: 10.1145/378239.379017
  36. 36.
    Nannicini, G., Belotti, P.: Rounding-based heuristics for nonconvex MINLPs. Math. Program. Comput. 4(1), 1–31 (2012). doi: 10.1007/s12532-011-0032-x CrossRefzbMATHMathSciNetGoogle Scholar
  37. 37.
    Nannicini, G., Belotti, P., Liberti, L.: A local branching heuristic for MINLPs. ArXiv e-print 0812.2188, Cornell University (2008).
  38. 38.
    Tawarmalani, M., Sahinidis, N.V.: Global optimization of mixed-integer nonlinear programs: a theoretical and computational study. Math. Program. 99, 563–591 (2004). doi: 10.1007/s10107-003-0467-6 CrossRefzbMATHMathSciNetGoogle Scholar
  39. 39.
    Vigerske, S.: Decomposition in Multistage Stochastic Programming and a Constraint Integer Programming Approach to Mixed-Integer Nonlinear Programming. Ph.D. thesis, Humboldt-Universität zu Berlin (2012) (to appear)Google Scholar
  40. 40.
    Wächter, A., Biegler, L.T.: On the implementation of a primal-dual interior point filter line search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006). doi: 10.1007/s10107-004-0559-y CrossRefzbMATHMathSciNetGoogle Scholar
  41. 41.
    CppAD. A Package for Differentiation of C++ Algorithms.
  42. 42.
  43. 43.
    IBM, ILOG CPLEX Optimizer.
  44. 44.
    LindoGlobal. Lindo Systems, Inc.
  45. 45.
    MINOTAUR: a toolkit for MINLP.
  46. 46.
    SBB. ARKI Consulting & Development A/S and GAMS Inc.
  47. 47.
    SCIP. Solving Constraint Integer Programs.

Copyright information

© Springer-Verlag Berlin Heidelberg and Mathematical Optimization Society 2013

Authors and Affiliations

  1. 1.Department of OptimizationZuse Institute BerlinBerlinGermany

Personalised recommendations