Skip to main content
Log in

Incorporating bounds from decision diagrams into integer programming

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

Decision diagrams have been successfully used to help solve several classes of discrete optimization problems. We explore an approach to incorporate them into integer programming solvers, motivated by the wide adoption of integer programming technology in practice. The main challenge is to map generic integer programming models to a recursive structure that is suitable for decision diagram compilation. We propose a framework that opportunistically constructs decision diagrams for suitable substructures, if present. In particular, we explore the use of a prevalent substructure in integer programming solvers known as the conflict graph, which we show to be amenable to decision diagrams. We use Lagrangian relaxation and constraint propagation to consider constraints that are not represented directly by the substructure. We use the decision diagrams to generate dual and primal bounds to improve the pruning process of the branch-and-bound tree of the solver. Computational results on the independent set problem with side constraints indicate that our approach can provide substantial speedups when conflict graphs are present.

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
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. As a technicality, this requires that Theorem 2 holds when there are arcs between the two nodes of a same variable. Despite assuming a standard implication graph, the proof from Aspvall et al. [6] is also valid with same-variable arcs.

References

  1. Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)

    Article  MathSciNet  Google Scholar 

  2. Achterberg, T.: Constraint integer programming. PhD thesis. Technische Universität Berlin (2009)

  3. Achterberg, T., Bixby, R.E., Gu, Z., Rothberg, E., Weninger, D.: Presolve reductions in mixed integer programming. In: ZIB Report, pp. 16–44 (2016)

  4. Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. 100(6), 509–516 (1978)

    Article  Google Scholar 

  5. Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P.: A constraint store based on multivalued decision diagrams. In: Principles and Practice of Constraint Programming—CP 2007. Springer, pp. 118–132 (2007)

  6. Aspvall, B., Plass, M.F., Tarjan, R.E.: A linear-time algorithm for testing the truth of certain quantified boolean formulas. Inf. Process. Lett. 8(3), 121–123 (1979)

    Article  MathSciNet  Google Scholar 

  7. Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.: Conflict graphs in solving integer programming problems. Eur. J. Oper. Res. 121(1), 40–55 (2000)

    Article  MathSciNet  Google Scholar 

  8. Becker, B., Behle, M., Eisenbrand, F., Wimmer, R.: BDDs in a branch and cut framework. In: Experimental and Efficient Algorithms. Springer, pp. 452–463 (2005)

  9. Behle, M.: Binary decision diagrams and integer programming. PhD thesis. Saarbrücken, Germany: Max Planck Institute for Computer Science (2007)

  10. Benhamou, F., McAllester, D.A., VanHentenryck, P.: CLP(intervals) revisited. In: Proceedings of ILPS, pp. 124–138 (1994)

  11. Bergman, D., Cire, A.A.: Decomposition based on decision diagrams. In: International Conference on AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Springer, pp. 45–54 (2016)

  12. Bergman, D., Cire, A.A.: Discrete nonlinear optimization by state-space decompositions. Manag. Sci. 64(10), 4700–4720 (2017)

    Article  Google Scholar 

  13. Bergman, D., Cire, A.A., van Hoeve, W.-J.: Improved constraint propagation via Lagrangian decomposition. In: International Conference on Principles and Practice of Constraint Programming. Springer, pp. 30–38 (2015)

  14. Bergman, D., Cire, A.A., van Hoeve, W.-J.: Lagrangian bounds from decision diagrams. Constraints 20(3), 346–361 (2015)

    Article  MathSciNet  Google Scholar 

  15. Bergman, D., van Hoeve, W.-J., Hooker, J.N.: Manipulating MDD relaxations for combinatorial optimization. In: Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Springer, pp. 20–35 (2011)

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

    Article  Google Scholar 

  17. Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.: Decision Diagrams for Optimization. Springer, Berlin (2016)

    Book  Google Scholar 

  18. Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Discrete optimization with decision diagrams. INFORMS J. Comput. 28(1), 47–66 (2016)

    Article  MathSciNet  Google Scholar 

  19. Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Optimization bounds from binary decision diagrams. INFORMS J. Comput. 26(2), 253–268 (2013)

    Article  MathSciNet  Google Scholar 

  20. Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Variable ordering for the application of BDDs to the maximum independent set problem. In: International Conference on Integration of Artificial Intelligence (AI) and Operations Research (OR) Techniques in Constraint Programming. Springer, pp. 34–49 (2012)

  21. Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 100(8), 677–691 (1986)

    Article  Google Scholar 

  22. Cire, A.A., van Hoeve, W.-J.: Multivalued decision diagrams for sequencing problems. Oper. Res. 61(6), 1411–1428 (2013)

    Article  MathSciNet  Google Scholar 

  23. Davarnia, D., van Hoeve, W.-J.: Outer approximation for integer nonlinear programs via decision diagrams. Mathematical Programming (2020)

  24. Davis, E.: Constraint propagation with interval labels. Artif. Intell. 32(3), 281–331 (1987)

    Article  MathSciNet  Google Scholar 

  25. DIMACS maximum clique benchmark set. http://iridia.ulb.ac.be/~fmascia/maximum_clique/DIMACS-benchmark (2018). Accessed 14 Dec 2018

  26. Fisher, M.L.: An applications oriented guide to Lagrangian relaxation. Interfaces 15(2), 10–21 (1985)

    Article  Google Scholar 

  27. Hoda, S., Van Hoeve, W.-J., Hooker, J.N.: A systematic approach to MDD-based constraint programming. In: International Conference on Principles and Practice of Constraint Programming. Springer, pp. 266–280 (2010)

  28. Kinable, J., Cire, A.A., van Hoeve, W.-J.: Hybrid optimization methods for time-dependent sequencing problems. Eur. J. Oper. Res. 259(3), 887–897 (2017)

    Article  MathSciNet  Google Scholar 

  29. Lai, Y.-T., Pedram, M., Vrudhula, S.B.: EVBDD-based algorithms for integer linear programming, spectral transformation, and function decomposition. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 13(8), 959–975 (1994)

    Article  Google Scholar 

  30. Lee, C.-Y.: Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J. 38(4), 985–999 (1959)

    Article  MathSciNet  Google Scholar 

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

  32. MIPLIB 2017. http://miplib.zib.de (2018). Accessed 14 Dec 2018

  33. O’Neil, R.J., Hoffman, K.: Decision diagrams for solving traveling salesman problems with pickup and delivery in real time. Oper. Res. Lett. 47(3), 197–201 (2019)

    Article  MathSciNet  Google Scholar 

  34. Savelsbergh, M.W.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6(4), 445–454 (1994)

    Article  MathSciNet  Google Scholar 

  35. Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)

    Article  MathSciNet  Google Scholar 

  36. Tjandraatmadja, C., van Hoeve, W.-J.: Target cuts from relaxed decision diagrams. INFORMS J. Comput. 31(2), 285–301 (2019)

    Article  MathSciNet  Google Scholar 

  37. Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393(6684), 440 (1998)

    Article  Google Scholar 

  38. Wegener, I.: Branching Programs and Binary Decision Diagrams: Theory and Applications, vol. 4. SIAM, Philadelphia (2000)

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christian Tjandraatmadja.

Additional information

Publisher's Note

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

Christian Tjandraatmadja is currently at Google.

Appendices

Additional computational observations

In this section, we report three additional experimental observations on the runs performed in Sect. 7:

  1. 1.

    Percentage of time spent generating bounds and compiling decision diagrams (the former is the latter plus any Lagrangian relaxation or primal bound computation);

  2. 2.

    Number of improving feasible solutions found by the primal heuristic.

  3. 3.

    Number of times that the bound generator was called (i.e. it met the criterion on subproblem size), that a bound resulted in an improvement over the LP bound at a node, and that the improvement resulted in the node being pruned by bound;

Tables 4, 5678 and 9 in this section report the values described above. All averages of the values above are done with arithmetic mean across the instances and random seeds examined in Sect. 7. Note that the percentage of time spent on each portion of the method are calculated via ratios of times summed up across all seeds and instances (or equivalently, via ratios of arithmetic means).

Table 4 Percentage of time used for bound generation and number of times an improving primal feasible solution was found for independent set instances of size 150 from Sect. 7.1
Table 5 Number of times an improving bound was found or resulted in pruning for independent set instances of size 150 from Sect. 7.1
Table 6 Percentage of time used for bound generation and number of times an improving primal feasible solution was found for independent set instances of size 300 from Sect. 7.1
Table 7 Number of times an improving bound was found or resulted in pruning for independent set instances of size 300 from Sect. 7.1
Table 8 Percentage of time used for bound generation and number of times an improving primal feasible solution was found for independent set + knapsack instances from Sect. 7.2
Table 9 Number of times an improving bound was found or resulted in pruning for independent set + knapsack instances from Sect. 7.2

Experiments on MIPLIB 2017

We performed the following simple experiment on MIPLIB 2017 instances [32]. We took the 109 instances with the tags ‘binary’ and ‘benchmark_suitable’ from MIPLIB 2017. For these instances, we ran SCIP with bounds from relaxed decision diagrams, using a width of 100 and generating them at subproblems where number of variables is at most 1000. We chose a threshold that is not problem-dependent to avoid building large decision diagrams in large problems.

We ran a first pass with the intention to filter out instances where our approach is very unlikely to help. For this pass, we used a time limit of 30 min and one random seed. Out of the 109 instances, there were only 38 of them where the bound generator was called, or in other words, the solver did not observe a subproblem of size at most 1000 within the time limit of 30 min. Out of these 38 instances, in only 9 instances the bound generator found a bound better than the LP bound at least 20 times. These were the following 9 instances: bnatt400, eil33-2, eilC76-2, mine-166-5, mine-90-10, neos18, ponderthis0517-inf, reblock115, reblock166.

In the second pass, we reran the same experiment for these 9 instances, but with five random seeds and a higher time limit of 3 hours. We analyze the 4 instances of this subset that did not hit the time limit for the runs with bounds from decision diagrams. We report the solving times and number of nodes in Table 10, and number of bound improvements (over LP) and pruning in Table 11.

In all cases, the overhead of generating bounds increases the solving time, sometimes substantially. However, for the instances mine-166-5 and mine-90-10, we do obtain relevant reductions in the number of nodes by 25.97% and 23.77% respectively. Moreover, we observe that in all four instances, a significant portion of bounds generated improve over the corresponding LP bounds.

Table 10 Solving time in seconds and number of nodes for a subset of MIPLIB 2017 instances
Table 11 Number of times an improving bound was found or resulted in pruning for a subset of MIPLIB 2017 instances

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tjandraatmadja, C., van Hoeve, WJ. Incorporating bounds from decision diagrams into integer programming. Math. Prog. Comp. 13, 225–256 (2021). https://doi.org/10.1007/s12532-020-00191-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-020-00191-6

Keywords

Mathematics Subject Classification

Navigation