Experiments with Conflict Analysis in Mixed Integer Programming

  • Jakob WitzigEmail author
  • Timo Berthold
  • Stefan Heinz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10335)


The analysis of infeasible subproblems plays an important role in solving mixed integer programs (MIPs) and is implemented in most major MIP solvers. There are two fundamentally different concepts to generate valid global constraints from infeasible subproblems. The first is to analyze the sequence of implications, obtained by domain propagation, that led to infeasibility. The result of the analysis is one or more sets of contradicting variable bounds from which so-called conflict constraints can be generated. This concept has its origin in solving satisfiability problems and is similarly used in constraint programming. The second concept is to analyze infeasible linear programming (LP) relaxations. The dual LP solution provides a set of multipliers that can be used to generate a single new globally valid linear constraint. The main contribution of this short paper is an empirical evaluation of two ways to combine both approaches. Experiments are carried out on general MIP instances from standard public test sets such as Miplib2010; the presented algorithms have been implemented within the non-commercial MIP solver SCIP. Moreover, we present a pool-based approach to manage conflicts which addresses the way a MIP solver traverses the search tree better than aging strategies known from SAT solving.



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). We thank the anonymous reviewers for their valuable suggestions and helpful comments.


  1. 1.
    Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Achterberg, T.: Constraint integer programming (2007)Google Scholar
  3. 3.
    Achterberg, T., Berthold, T.: Hybrid branching. In: Hoeve, W.-J., Hooker, J.N. (eds.) CPAIOR 2009. LNCS, vol. 5547, pp. 309–311. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-01929-6_23 CrossRefGoogle Scholar
  4. 4.
    Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bénichou, M., Gauthier, J.-M., Girodet, P., Hentges, G., Ribière, G., Vincent, O.: Experiments in mixed-integer linear programming. Math. Program. 1(1), 76–94 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Berthold, T., Gleixner, A.M.: Undercover: a primal MINLP heuristic exploring a largest sub-MIP. Math. Program. 144(1–2), 315–346 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Berthold, T., Hendel, G.: Shift-and-propagate. J. Heuristics 21(1), 73–106 (2015)CrossRefzbMATHGoogle Scholar
  8. 8.
    Bixby, R.E., Boyd, E.A., Indovina, R.R.: MIPLIB: a test set of mixed integer programming problems. SIAM News 25, 16 (1992)Google Scholar
  9. 9.
    Brearley, A., Mitra, G., Williams, H.: Analysis of mathematical programming problems prior to applying the simplex algorithm. Math. Program. 8, 54–83 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Cornuéjols, G., Dawande, M.: A class of hard small 0-1 programs. In: Bixby, R.E., Boyd, E.A., Ríos-Mercado, R.Z. (eds.) IPCO 1998. LNCS, vol. 1412, pp. 284–293. Springer, Heidelberg (1998). doi: 10.1007/3-540-69346-7_22 CrossRefGoogle Scholar
  11. 11.
    Dakin, R.J.: A tree-search algorithm for mixed integer programming problems. Comput. J. 8(3), 250–255 (1965)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Davey, B., Boland, N., Stuckey, P.J.: Efficient intelligent backtracking using linear programming. INFORMS J. Comput. 14(4), 373–386 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Gamrath, G., Fischer, T., Gally, T., Gleixner, A.M., Hendel, G., Koch, T., Maher, S.J., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schenker, S., Schwarz, R., Serrano, F., Shinano, Y., Vigerske, S., Weninger, D., Winkler, M., Witt, J.T., Witzig, J.: The SCIP optimization suite 3.2. Technical Report 15–60, ZIB, Takustr. 7, 14195 Berlin (2016)Google Scholar
  14. 14.
    Ginsberg, M.L.: Dynamic backtracking. J. Artif. Intell. Res. 1, 25–46 (1993)zbMATHGoogle Scholar
  15. 15.
    Jiang, Y., Richards, T., Richards, B.: No-good backmarking with min-conflict repair in constraint satisfaction and optimization. In: PPCP, vol. 94, pp. 2–4. Citeseer (1994)Google Scholar
  16. 16.
    Kılınç Karzan, F., Nemhauser, G.L., Savelsbergh, M.W.P.: Information-based branching schemes for binary linear mixed-integer programs. Math. Program. Comput. 1(4), 249–293 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    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)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Linderoth, J.T., Ralphs, T.K.: Noncommercial software for mixed-integer linear programming. Integer Program.: Theor. Pract. 3, 253–303 (2005)zbMATHGoogle Scholar
  20. 20.
    Linderoth, J.T., Savelsbergh, M.W.: A computational study of search strategies for mixed integer programming. INFORMS J. Comput. 11(2), 173–187 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Marques-Silva, J.P., Sakallah, K.: Grasp: a search algorithm for propositional satisfiability. IEEE Trans. Comput. 48(5), 506–521 (1999)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Pólik, I.: (Re)using dual information in MILP. In: INFORMS Computing Society Conference, Richmond, VA (2015)Google Scholar
  23. 23.
    Pólik, I.: Some more ways to use dual information in MILP. In: International Symposium on Mathematical Programming, Pittsburgh, PA (2015)Google Scholar
  24. 24.
    Sandholm, T., Shields, R.: Nogood learning for mixed integer programming. In: Workshop on Hybrid Methods and Branching Rules in Combinatorial Optimization, Montréal (2006)Google Scholar
  25. 25.
    Stallman, R.M., Sussman, G.J.: Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. Artif. Intell. 9(2), 135–196 (1977)CrossRefzbMATHGoogle Scholar
  26. 26.
    Witzig, J., Berthold, T., Heinz, S.: Experiments with conflict analysis in mixed integer programming. Technical report 16–63, ZIB, Takustr. 7, 14195 Berlin (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

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

Personalised recommendations