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.
Similar content being viewed by others
References
Aardal, K., Lenstra, A.: Hard equality constrained integer knapsacks. Math. Oper. Res. 29, 724–738 (2004)
Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Oper. Res. Lett. 33(1), 42–54 (2005)
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)
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
Bixby, R., Boyd, E., Indovina, R.: MIPLIB: A test set of mixed integer programming problems. SIAM News, Philadelphia (1992)
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)
Chvátal, V.: Hard knapsack problems. Oper. Res. 28, 1402–1411 (1980)
Cornuéjols, G., Liberti, L., Nannicini, G.: Improved strategies for branching on general disjunctions. Math. Program. 130, 225–247 (2011)
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)
Dey, S., Dubey, Y., Molinaro, M.: Lower bounds on the size of general branch-and-bound trees. Mathematical Programming (2022)
Dey, S., Dubey, Y., Molinaro, M., Shah, P.: A theoretical and computational analysis of full strong-branching. Available online at arXiv:2110.10754 (2021)
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
Fischetti, M., Monaci, M.: Backdoor branching. INFORMS J. Comput. 25(4), 693–700 (2018)
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)
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)
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)
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
Gurobi Optimization: Gurobi Optimizer (Version 9.5). https://www.gurobi.com/products/gurobi-optimizer/, Accessed: November 4, (2022)
Jeroslow, R.: Trivial integer programs unsolvble by branch-and-bound. Math. Program. 6, 105–109 (1974)
Karamanov, M., Cornuéjols, G.: Branching on general disjunctions. Math. Program. 128, 403–436 (2011)
Khalil, E., Vaezipoor, P., Dilkina, B.: Finding backdoors to integer programs: A Monte Carlo Tree Search Framework. in Proceedings of AAAI (2022)
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
Linderoth, J., Savelsbergh, M.: A computational study of search strategies for mixed integer programming. INFORMS J. Comput. 11(2), 173–187 (1999)
Mahajan, A., Ralphs, T.: Experiments with branching using general disjunctions. in Proceedings of Operations Research and Cyber-Infrastructure pp. 101–118 (2009)
Mahajan, A., Ralphs, T.: On the complexity of selecting disjunctions in integer programming. SIAM J. Optim. 20(5), 2181–2198 (2010)
Mahmoud, H., Chinneck, J.: Achieving MILP feasibility quickly using general disjunctions. Comput. Oper. Res. 40, 2094–2102 (2013)
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)
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)
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)
Paat, J., Schlöter, M., Weismantel, R.: The integrality number of an integer program. Math. Program. Series B 192, 271–291 (1988)
Xavier, A.S., Qiu, F.: MIPLearn: A framework for learning-enhanced mixed-integer optimization (Julia Interface). https://github.com/ANL-CEEESA/MIPLearn.jl (2022)
Yang, Y., Boland, N., Savelsbergh, M.: Multivariable branching: a 0–1 knapsack problem case study. INFORMS J. Comput. 33(4), 1354–1367 (2021)
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
Corresponding author
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.