Skip to main content
Log in

Compressing branch-and-bound trees

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

Abstract

A branch-and-bound (BB) tree certifies a dual bound on the value of an integer program. In this work, we introduce the tree compression problem (TCP): Given a BB tree T that certifies a dual bound, can we obtain a smaller tree with the same (or stronger) bound by either (1) applying a different disjunction at some node in T or (2) removing leaves from T? We believe such post-hoc analysis of BB trees may assist in identifying helpful general disjunctions in BB algorithms. We initiate our study by considering computational complexity and limitations of TCP. We then conduct experiments to evaluate the compressibility of realistic branch-and-bound trees generated by commonly-used branching strategies, using both an exact and a heuristic compression algorithm.

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
Algorithm 1
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Aardal, K., Lenstra, A.: Hard equality constrained integer knapsacks. Math. Oper. Res. 29, 724–738 (2004)

    Article  MathSciNet  Google Scholar 

  2. Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Oper. Res. Lett. 33(1), 42–54 (2005)

    Article  MathSciNet  Google Scholar 

  3. Basu, A., Conforti, M., Di Summa, M., Jiang, H.: Complexity of branch-and-bound and cutting planes in mixed-integer optimization-II. Proceedings of IPCO (2021)

  4. Beame, P., Fleming, N., Impagliazzo, R., Kolokolova, A., Pankratov, D., Pitassi, T., Robere, R.: Stabbing Planes. In: Karlin, A.R. (Ed.) 9th Innovations in Theoretical Computer Science Conference (ITCS 2018). Leibniz International Proceedings in Informatics (LIPIcs), vol. 94, pp. 10:1–10:20. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2018). https://doi.org/10.4230/LIPIcs.ITCS.2018.10, http://drops.dagstuhl.de/opus/volltexte/2018/8341

  5. Bixby, R., Boyd, E., Indovina, R.: MIPLIB: A test set of mixed integer programming problems. SIAM News, Philadelphia (1992)

    Google Scholar 

  6. Cheung, K.K., Gleixner, A., Steffy, D.E.: Verifying integer programming results. In: International Conference on Integer Programming and Combinatorial Optimization. pp. 148–160. Springer (2017)

  7. Chvátal, V.: Hard knapsack problems. Oper. Res. 28, 1402–1411 (1980)

    Article  MathSciNet  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  9. Dadush, D., Tiwari, S.: On the complexity of branching proofs. In: Saraf, S. (Ed.) 35th Computational Complexity Conference (CCC 2020). Leibniz International Proceedings in Informatics (LIPIcs), vol. 169, pp. 34:1–34:35. Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany (2020)

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

  11. Dey, S., Dubey, Y., Molinaro, M., Shah, P.: A theoretical and computational analysis of full strong-branching. Available online at arXiv:2110.10754 (2021)

  12. Dunning, I., Huchette, J., Lubin, M.: Jump: A modeling language for mathematical optimization. SIAM Rev. 59(2), 295–320 (2017). https://doi.org/10.1137/15M1020575

    Article  MathSciNet  Google Scholar 

  13. Fischetti, M., Monaci, M.: Backdoor branching. INFORMS J. Comput. 25(4), 693–700 (2018)

    Article  MathSciNet  Google Scholar 

  14. Gamrath, G., Melchiori, A., Berthold, T., Gleixner, A., Salvagnin, D.: Branching on multi-aggregated variables. In: Michel, L. (ed.) Integration of AI and OR Techniques in Constraint Programming, pp. 141–156. Springer International Publishing, New York (2015)

    Google Scholar 

  15. Gasse, M., Chételat, D., Ferroni, N., Charlin, L., Lodi, A.: Exact combinatorial optimization with graph convolutional neural networks. Advances in neural information processing systems 32, (2019)

  16. Gläser, M., Pfetsch, M.: On the Complexity of Finding Shortest Variable Disjunction Branch-and-Bound Proofs. In: Aardal, K., Sanità, L. (eds.) Integer Programming and Combinatorial Optimization, pp. 291–304. Springer International Publishing, New York (2022)

    Chapter  Google Scholar 

  17. Gleixner, A., Hendel, G., Gamrath, G., Achterberg, T., Bastubbe, M., Berthold, T., Christophel, P.M., Jarck, K., Koch, T., Linderoth, J., Lübbecke, M., Mittelmann, H.D., Ozyurt, D., Ralphs, T.K., Salvagnin, D., Shinano, Y.: MIPLIB 2017: Data-driven compilation of the 6th mixed-integer programming library. Mathematical Programming Computation (2021). https://doi.org/10.1007/s12532-020-00194-3

  18. Gurobi Optimization: Gurobi Optimizer (Version 9.5). https://www.gurobi.com/products/gurobi-optimizer/, Accessed: November 4, (2022)

  19. Jeroslow, R.: Trivial integer programs unsolvble by branch-and-bound. Math. Program. 6, 105–109 (1974)

    Article  MathSciNet  Google Scholar 

  20. Karamanov, M., Cornuéjols, G.: Branching on general disjunctions. Math. Program. 128, 403–436 (2011)

    Article  MathSciNet  Google Scholar 

  21. Khalil, E., Vaezipoor, P., Dilkina, B.: Finding backdoors to integer programs: A Monte Carlo Tree Search Framework. in Proceedings of AAAI (2022)

  22. Legat, B., Dowson, O., Dias Garcia, J., Lubin, M.: MathOptInterface: a data structure for mathematical optimization problems. INFORMS J. Comput. 34(2), 672–689 (2021). https://doi.org/10.1287/ijoc.2021.1067

    Article  MathSciNet  Google Scholar 

  23. Linderoth, J., Savelsbergh, M.: A computational study of search strategies for mixed integer programming. INFORMS J. Comput. 11(2), 173–187 (1999)

    Article  MathSciNet  Google Scholar 

  24. Mahajan, A., Ralphs, T.: Experiments with branching using general disjunctions. in Proceedings of Operations Research and Cyber-Infrastructure pp. 101–118 (2009)

  25. Mahajan, A., Ralphs, T.: On the complexity of selecting disjunctions in integer programming. SIAM J. Optim. 20(5), 2181–2198 (2010)

    Article  MathSciNet  Google Scholar 

  26. Mahmoud, H., Chinneck, J.: Achieving MILP feasibility quickly using general disjunctions. Comput. Oper. Res. 40, 2094–2102 (2013)

    Article  Google Scholar 

  27. Mehrotra, S., Li, Z.: Branching on hyperplane methods for mixed integer linear and convex programming using adjoint lattices. J. Global Optim. 9(4), 623–649 (2010)

    Article  MathSciNet  Google Scholar 

  28. Muñoz, G., Paat, J., Xavier, Á.S.: Compressing branch-and-bound trees. In: Del Pia, A., Kaibel, V. (eds.) Integer Programming and Combinatorial Optimization, pp. 348–362. Springer International Publishing, Cham (2023)

    Chapter  Google Scholar 

  29. Owen, J., Mehrotra, S.: Experimental results on using general disjunctions in branch-and-bound for general-integer linear programs. Comput. Optim. Appl. 20, 159–170 (2001)

    Article  MathSciNet  Google Scholar 

  30. Paat, J., Schlöter, M., Weismantel, R.: The integrality number of an integer program. Math. Program. Series B 192, 271–291 (1988)

    Article  MathSciNet  Google Scholar 

  31. Xavier, A.S., Qiu, F.: MIPLearn: A framework for learning-enhanced mixed-integer optimization (Julia Interface). https://github.com/ANL-CEEESA/MIPLearn.jl (2022)

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

    MathSciNet  Google Scholar 

Download references

Funding

G. Muñoz was supported by the Chilean National Agency of Research and Development through ANID PIA/PUENTE AFB230002. J. Paat was supported by a Natural Sciences and Engineering Research Council of Canada Discovery Grant [RGPIN-2021-02475]. Á.S. Xavier was partially supported by the U.S. Department of Energy Office of Electricity.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joseph Paat.

Ethics declarations

Conflict of interest

The authors have no relevant financial or non-financial interests to disclose. The authors have no conflicts of interest to declare that are relevant to the content of this article.

Additional information

Publisher's Note

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

A short version of this article was accepted for publication at IPCO 2023 [28]. This extended version contains more detailed discussions and proofs, and new computational contributions and experiments.

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

Muñoz, G., Paat, J. & Xavier, Á.S. Compressing branch-and-bound trees. Math. Program. (2024). https://doi.org/10.1007/s10107-024-02080-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10107-024-02080-5

Mathematics Subject Classification

Navigation