Skip to main content
Log in

An abstract model for branch and cut

  • Full Length Paper
  • Series B
  • Published:
Mathematical Programming Submit manuscript

Abstract

Branch and cut is the dominant paradigm for solving a wide range of mathematical programming problems—linear or nonlinear—combining efficient search (via branch and bound) and relaxation-tightening procedures (via cutting planes, or cuts). While there is a wealth of computational experience behind existing cutting strategies, there is simultaneously a relative lack of theoretical explanations for these choices, and for the tradeoffs involved therein. Recent papers have explored abstract models for branching and for comparing cuts with branch and bound. However, to model practice, it is crucial to understand the impact of jointly considering branching and cutting decisions. In this paper, we provide a framework for analyzing how cuts affect the size of branch-and-cut trees, as well as their impact on solution time. Our abstract model captures some of the key characteristics of real-world phenomena in branch-and-cut experiments, regarding whether to generate cuts only at the root or throughout the tree, how many rounds of cuts to add before starting to branch, and why cuts seem to exhibit nonmonotonic effects on the solution process.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. See references and notes in https://oeis.org/A002387 and https://oeis.org/A004080.

References

  1. Achterberg, T., Wunderling, R.: Mixed integer programming: analyzing 12 years of progress. In: Facets of Combinatorial Optimization, pp. 449–481. Springer, Heidelberg (2013)

  2. Al-Khayyal, F.A.: An implicit enumeration procedure for the general linear complementarity problem. In: Computation Mathematical Programming, pp. 1–20. Springer, Heidelberg (1987)

  3. Anderson, D., Le Bodic, P., Morgan, K.: Further results on an abstract model for branching and its application to mixed integer programming. Math. Program. 190, 811–841 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  4. Balas, E., Fischetti, M., Zanette, A.: On the enumerative nature of Gomory’s dual cutting plane method. Math. Program. 125(2), 325–351 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  5. Basu, A., Conforti, M., Di Summa, M., Jiang, H.: Complexity of branch-and-bound and cutting planes in mixed-integer optimization—II. Combinatorica 42(1), 971–996 (2022)

    Article  MathSciNet  MATH  Google Scholar 

  6. Basu, A., Conforti, M., Di Summa, M., Jiang, H.: Complexity of branch-and-bound and cutting planes in mixed-integer optimization. Math. Progam. 198(1), 787–810 (2023)

    Article  MathSciNet  MATH  Google Scholar 

  7. Berthold, T., Francobaldi, M., Hendel, G.: Learning to use local cuts. arXiv:2206.11618 (2022)

  8. Burer, S., Vandenbussche, D.: A finite branch-and-bound algorithm for nonconvex quadratic programming via semidefinite relaxations. Math. Program. 113(2), 259–282 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  9. COIN-OR Cut Generation Library. https://github.com/coin-or/Cgl

  10. COIN-OR Linear Programming 1.16. https://projects.coin-or.org/Clp/

  11. Cornuéjols, G., Liberti, L., Nannicini, G.: Improved strategies for branching on general disjunctions. Math. Program. 130(2, Ser. A), 225–247 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  12. Dey, S.S., Dubey, Y., Molinaro, M., Shah, P.: A theoretical and computational analysis of full strong-branching (2021)

  13. Dey, S.S., Dubey, Y., Molinaro, M.: Branch-and-bound solves random binary packing IPs in polytime. In: Marx, D. (ed.) Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms, SODA 2021, Virtual Conference, January 10–13, 2021, pp. 579–591. SIAM (2021)

  14. Dey, S.S., Kazachkov, A.M., Lodi, A., Munoz, G.: Cutting plane generation through sparse principal component analysis. SIAM J. Optim. 32(2), 1319–1343 (2022)

    Article  MathSciNet  MATH  Google Scholar 

  15. Dey, S.S., Dubey, Y., Molinaro, M.: Lower bounds on the size of general branch-and-bound trees. Math. Program. (2022)

  16. Gasse, M., Chételat, D., Ferroni, N., Charlin, L., Lodi, A.: Exact combinatorial optimization with graph convolutional neural networks. In: Advances in Neural Information Processing Systems, pp. 15580–15592 (2019)

  17. Gleixner, A., Hendel, G., Gamrath, G., Achterberg, T., Bastubbe, M., Berthold, T., Christophel, P.M., Jarck, K., Koch, T., Linderoth, J., M. Lübbecke, Mittelmann, H.D., Ozyurt, D., Ralphs, T.K., Salvagnin, D., Shinano, Y.: MIPLIB 2017: data-driven compilation of the 6th mixed-integer programming library. Math. Program. Comput. (2021)

  18. Gomory, R.E.: Outline of an algorithm for integer solutions to linear programs. Bull. Am. Math. Soc. 64, 275–278 (1958)

    Article  MathSciNet  MATH  Google Scholar 

  19. Gomory, R.E.: An algorithm for the mixed integer problem. Technical Report RM-2597, RAND Corporation (1960)

  20. Gomory, R.E.: An algorithm for integer solutions to linear programs. Recent Adv. Math. Program. 64, 260–302 (1963)

    MATH  Google Scholar 

  21. Gurobi Optimization, Inc.: Gurobi Optimizer Reference Manual. http://www.gurobi.com (2018). Version 8.0.1

  22. Huang, Z., Wang, K., Liu, F., Zhen, H.-L., Zhang, W., Yuan, M., Hao, J., Yong, Yu., Wang, J.: Learning to select cuts for efficient mixed-integer programming. Pattern Recognit. 123, 108353 (2022)

    Article  Google Scholar 

  23. Jünger, M., Liebling, T., Naddef, D., Nemhauser, G., Pulleyblank, W., Reinelt, G., Rinaldi, G., Wolsey L. (eds.): 50 Years of Integer Programming 1958–2008. Springer, Berlin (2010). From the early years to the state-of-the-art, papers from the 12th Combinatorial Optimization Workshop (Aussois 2008) held in Aussois, January 7–11, 2008

  24. Karamanov, M., Cornuéjols, G.: Branching on general disjunctions. Math. Program. 128(1–2, Ser. A), 403–436 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  25. Kazachkov, A.M., Le Bodic, P., Sankaranarayanan, S.: An abstract model for branch-and-cut. In: Integer Programming and Combinatorial Optimization: 23rd International Conference, IPCO 2022, Eindhoven, The Netherlands, June 27–29, 2022, Proceedings, Lecture Notes in Comput. Sci., pp. 333–346. Springer, Berlin (2022)

  26. Khalil, E.B., Le Bodic, P., Song, L., Nemhauser, G., Dilkina, B.: Learning to branch in mixed integer programming. In: Thirtieth AAAI Conference on Artificial Intelligence (2016)

  27. Khalil, E.B., Dai, H., Zhang, Y., Dilkina, B., Song, L.: Learning combinatorial optimization algorithms over graphs. In: Advances in Neural Information Processing Systems, pp. 6348–6358 (2017)

  28. Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28, 497–520 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  29. Le Bodic, P., Nemhauser, G.: An abstract model for branching and its application to mixed integer programming. Math. Program. 166(1–2), 369–405 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  30. Mahajan, A.: On selecting disjunctions in mixed integer linear programming. PhD thesis, Lehigh University (2009)

  31. OEIS Foundation Inc.: The On-Line Encyclopedia of Integer Sequences. Published electronically at https://oeis.org (2022)

  32. Paulus, M.B., Zarpellon, G., Krause, A., Charlin, L., Maddison, C.: Learning to cut by looking ahead: Cutting plane selection via imitation learning. In: Chaudhuri, K., Jegelka, S., Song, L., Szepesvari, C., Niu, G., Sabato, S. (eds.) Proceedings of the 39th International Conference on Machine Learning, volume 162 of Proceedings of Machine Learning Research, pp. 17584–17600. PMLR (2022)

  33. Tang, Y., Agrawal, S., Faenza, Y.: Reinforcement learning for integer programming: learning to cut. In: Proceedings of the 37th International Conference on Machine Learning (ICML 2020) (2020)

  34. Turner, M., Koch, T., Serrano, F., Winkler, M.: Adaptive cut selection in mixed-integer linear programming (2022)

  35. Yang, Yu., Boland, N., Savelsbergh, M.: Multivariable branching: a 0–1 knapsack problem case study. INFORMS J. Comput. 33(4), 1354–1367 (2021)

    MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The authors thank Andrea Lodi, Canada Excellence Research Chair in Data Science for Real-Time Decision Making, for financial support and creating a collaborative environment that facilitated the interactions that led to this paper, as well as Monash University for supporting Pierre’s trip to Montréal.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aleksandr M. Kazachkov.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Extended version of workshop paper from The 23rd Conference on Integer Programming and Combinatorial Optimization [25].

Appendices

Computational results with selected MIPLIB instances

Figure 6 shows the linear relaxation bound, predicted bound (using the harmonically-worsening cuts model of Sect. 5.2), linear relaxation resolve time, and cumulative number of Gomory cuts added after up to 100 rounds of cuts have been applied to ten additional instances, using the same computational setup described in Sect. 5. The same general trends are observed as in the two plots in Fig. 2. For several instances, such as air05, binkar10, and swath3, the predicted bound—which is calculated based only on the improvement from the first round of cuts—is quite close to the actual bound changes after tens of rounds. The prediction tends to be inaccurate (a large overestimate) as more significant tailing in bound improvement occurs, but occasionally underestimates the bound improvement, such as for eil33-2.

Fig. 6
figure 6

Applying rounds of cuts on assorted MIPLIB 2017 instances (after preprocessing) typically yields diminishing bound improvement. Several instances show a linear tendency in LP resolve time. The overlayed bar plot for each instance shows the cumulative number of cuts added after each round. The predicted bound using the improvement from the first round follows a logarithmic function that is similar to the actual bound evolution until cut strength exhibits more pronounced tailing off

Experiments with optimal proportion of cut rounds in SVBHC

Theorem 15 proves that, in the SVBHC model of Sect. 5, the number of cuts prescribed by Algorithm 1 is approximately optimal in the sense that the resulting tree is at most a multiplicative factor larger than the optimal tree size. Theorem 21 shows that using this approximately-optimal number of cuts proves a constant proportion of the overall bound, in the limit when the target bound goes to infinity. However, since the multiplicative factor in Theorem 15 may be quite large, it is not clear if the same type of limit exists for minimal-size trees. In Fig. 7, we address this question computationally, showing that the proportion of bound proved by cut nodes tends to the same limit in a minimal tree for four artificial instances of the SVBHC model. Experiments with more instances have shown the same behavior and therefore are omitted.

Fig. 7
figure 7

Fraction of bound proved by cut nodes in an (exactly-)optimal SVBHC tree, exhibiting convergence to the bound from Theorem 21 provided by the approximately-optimal number of cut nodes prescribed by Algorithm 1

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kazachkov, A.M., Le Bodic, P. & Sankaranarayanan, S. An abstract model for branch and cut. Math. Program. (2023). https://doi.org/10.1007/s10107-023-01991-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10107-023-01991-z

Keywords

Mathematics Subject Classification

Navigation