Integrated integer programming and decision diagram search tree with an application to the maximum independent set problem


We propose an optimization framework which integrates decision diagrams (DDs) and integer linear programming (ILP) to solve combinatorial optimization problems. The hybrid DD-ILP approach explores the solution space based on a recursive compilation of relaxed DDs and incorporates ILP calls to solve subproblems associated with DD nodes. The selection of DD nodes to be explored by ILP technology is a significant component of the approach. We show how supervised machine learning can be useful to detect, on-the-fly, a subproblem structure for ILP technology. We use the maximum independent set problem as a case study. Computational experiments show that, in presence of suitable problem structure, the integrated DD-ILP approach can exploit complementary strengths and improve upon the performance of both a stand-alone DD solver and an ILP solver in terms of solution time and number of solved instances.

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

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 99

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9


  1. 1.

    This set of instances is available at


  1. 1.

    Akers, S. (1978). Binary decision diagrams. IEEE Transactions on Computers, C-27(6), 509–516.

  2. 2.

    Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P. (2007). A constraint store based on multivalued decision diagrams. In Bessière, C. (Ed.) Principles and practice of constraint programming – CP 2007: 13th international conference, CP 2007, Providence, RI, USA, September 23-27, 2007. Proceedings (pp. 118–132). Berlin: Springer.

  3. 3.

    Barabási, A.L., & Albert, R. (1999). Emergence of scaling in random networks. Science, 286(5439), 509–512.

  4. 4.

    Bengio, Y., Lodi, A., Prouvost, A. (2018). Machine learning for combinatorial optimization: a methodological tour d’horizon. arXiv:1811.06128.

  5. 5.

    Bergman, D., & Cire, A.A. (2018). Discrete nonlinear optimization by state-space decompositions. Management Science, 64(10), 4700–4720.

  6. 6.

    Bergman, D., Cire, A.A., van Hoeve, W.J., Hooker, J. (2014). Optimization bounds from binary decision diagrams. INFORMS Journal on Computing, 26(2), 253–268.

  7. 7.

    Bergman, D., Cire, A.A., van Hoeve, W.J., Hooker, J. (2016). Discrete optimization with decision diagrams. INFORMS Journal on Computing, 28(1), 47–66.

  8. 8.

    Bergman, D., Cire, A.A., van Hoeve, W.J., Hooker, J.N. (2012). Variable ordering for the application of BDDs to the maximum independent set problem. In Beldiceanu, N., Jussien, N., Pinson, É. (Eds.) Integration of AI and OR techniques in contraint programming for combinatorial optimzation problems (pp. 34–49). Berlin: Springer.

  9. 9.

    Bergman, D., Cire, A.A., van Hoeve, W.J., Yunes, T. (2014). Bdd-based heuristics for binary optimization. Journal of Heuristics, 20(2), 211–234.

  10. 10.

    Bergman, D., Cire, A.A., Hoeve, W.J.v., Hooker, J. (2016). Decision diagrams for optimization, 1st edn. Springer Publishing Company, Incorporated.

  11. 11.

    Bonami, P., Lodi, A., Zarpellon, G. (2018). Learning a classification of mixed-integer quadratic programming problems. In van Hoeve, W.J. (Ed.) Integration of constraint programming, artificial intelligence, and operations research (pp. 595–604). Cham: Springer International Publishing.

  12. 12.

    Breiman, L. (2001). Random forests. Machine Learning, 45(1), 5–32.

  13. 13.

    Bryant, R.E. (1986). Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8), 677–691.

  14. 14.

    Cire, A.A., & van Hoeve, W.J. (2013). Multivalued decision diagrams for sequencing problems. Operations Research, 61(6), 1411–1428.

  15. 15.

    Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine Learning, 20(3), 273–297.

  16. 16.

    Cortés, C.E., Gendreau, M., Rousseau, L.M., Souyris, S., Weintraub, A. (2014). Branch-and-price and constraint programming for solving a real-life technician dispatching problem. European Journal of Operational Research, 238(1), 300–312.

  17. 17.

    Easton, K., Nemhauser, G., Trick, M. (2004). CP based branch-and-price, (pp. 207–231). Boston: Springer.

  18. 18.

    Erdös, P., & Rényi, A. (1960). On the evolution of random graphs. In Publications of the mathematical institute of the Hungarian academy of sciences, (Vol. 5 pp. 17–61).

  19. 19.

    Grötschel, M., Lovász, L., Schrijver, A. (1988). Stable sets in graphs, (pp. 272–303). Berlin: Springer.

  20. 20.

    Holme, P., & Kim, B.J. (2002). Growing scale-free networks with tunable clustering. Physical Review E, 65(026107).

  21. 21.

    Hooker, J.N., & van Hoeve, W.J. (2018). Constraint programming and operations research. Constraints, 23(2), 172–195.

  22. 22.

    Hooker, J.N. (2007). Planning and scheduling by logic-based Benders decomposition. Operations Research, 55(3), 588–602.

  23. 23.

    Hooker, J.N. (2012). Integrated methods for optimization. Boston: Springer.

  24. 24.

    Khalil, E.B., Dilkina, B., Nemhauser, G.L., Ahmed, S., Shao, Y. (2017). Learning to run heuristics in tree search. In Proceedings of the twenty-sixth international joint conference on artificial intelligence, IJCAI-17 (pp. 659–666), DOI, (to appear in print).

  25. 25.

    Kinable, J., Cire, A.A., van Hoeve, W.J. (2017). Hybrid optimization methods for time-dependent sequencing problems. European Journal of Operational Research, 259(3), 887–897.

  26. 26.

    Lee, C. (1959). Representation of switching circuits by binary-decision programs. The Bell System Technical Journal, 38(4), 985–999.

  27. 27.

    Lodi, A., & Tramontani, A. (2014). Performance variability in mixed-integer programming. In Theory driven by influential applications (pp. 1–12): INFORMS, DOI, (to appear in print).

  28. 28.

    Lozano, L., & Smith, J.C. (2018). A binary decision diagram based algorithm for solving a class of binary two-stage stochastic programs. Mathematical Programming, 1–24.

  29. 29.

    Morrison, D.R., Sewell, E.C., Jacobson, S.H. (2016). Solving the pricing problem in a branch-and-price algorithm for graph coloring using zero-suppressed binary decision diagrams. INFORMS Journal on Computing, 28 (1), 67–82.

  30. 30.

    Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E. (2011). Scikit-learn: machine learning in Python. Journal of Machine Learning Research, 12, 2825–2830.

  31. 31.

    Tjandraatmadja, C., & van Hoeve, W.J. (2019). Target cuts from relaxed decision diagrams. INFORMS Journal on Computing, 31(2), 285–301.

  32. 32.

    Watts, D.J., & Strogatz, S.H. (1998). Collective dynamics of ’small-world’ networks. Nature, 393, 440–442.

  33. 33.

    Xu, L., Hutter, F., Hoos, H.H., Leyton-Brown, K. (2008). SATzilla: portfolio-based algorithm selection for SAT. Journal of Artificial Intelligence Research, 32(1), 565–606.

Download references


We thank the anonymous referees for providing thoughtful, constructive and detailed comments which helped to improve this work.

Author information

Correspondence to Jaime E. González.

Additional information

Publisher’s note

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

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

González, J.E., Cire, A.A., Lodi, A. et al. Integrated integer programming and decision diagram search tree with an application to the maximum independent set problem. Constraints (2020).

Download citation


  • Decision diagrams
  • Integrated methods
  • Integer linear programming
  • Hybrid optimization
  • Supervised learning