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.
Similar content being viewed by others
References
Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007)
Achterberg, T.: Constraint integer programming. PhD thesis. Technische Universität Berlin (2009)
Achterberg, T., Bixby, R.E., Gu, Z., Rothberg, E., Weninger, D.: Presolve reductions in mixed integer programming. In: ZIB Report, pp. 16–44 (2016)
Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. 100(6), 509–516 (1978)
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)
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)
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)
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)
Behle, M.: Binary decision diagrams and integer programming. PhD thesis. Saarbrücken, Germany: Max Planck Institute for Computer Science (2007)
Benhamou, F., McAllester, D.A., VanHentenryck, P.: CLP(intervals) revisited. In: Proceedings of ILPS, pp. 124–138 (1994)
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)
Bergman, D., Cire, A.A.: Discrete nonlinear optimization by state-space decompositions. Manag. Sci. 64(10), 4700–4720 (2017)
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)
Bergman, D., Cire, A.A., van Hoeve, W.-J.: Lagrangian bounds from decision diagrams. Constraints 20(3), 346–361 (2015)
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)
Bergman, D., Cire, A.A., van Hoeve, W.-J., Yunes, T.: BDD-based heuristics for binary optimization. J. Heuristics 20(2), 211–234 (2014)
Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.: Decision Diagrams for Optimization. Springer, Berlin (2016)
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)
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)
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)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 100(8), 677–691 (1986)
Cire, A.A., van Hoeve, W.-J.: Multivalued decision diagrams for sequencing problems. Oper. Res. 61(6), 1411–1428 (2013)
Davarnia, D., van Hoeve, W.-J.: Outer approximation for integer nonlinear programs via decision diagrams. Mathematical Programming (2020)
Davis, E.: Constraint propagation with interval labels. Artif. Intell. 32(3), 281–331 (1987)
DIMACS maximum clique benchmark set. http://iridia.ulb.ac.be/~fmascia/maximum_clique/DIMACS-benchmark (2018). Accessed 14 Dec 2018
Fisher, M.L.: An applications oriented guide to Lagrangian relaxation. Interfaces 15(2), 10–21 (1985)
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)
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)
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)
Lee, C.-Y.: Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J. 38(4), 985–999 (1959)
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)
MIPLIB 2017. http://miplib.zib.de (2018). Accessed 14 Dec 2018
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)
Savelsbergh, M.W.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6(4), 445–454 (1994)
Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)
Tjandraatmadja, C., van Hoeve, W.-J.: Target cuts from relaxed decision diagrams. INFORMS J. Comput. 31(2), 285–301 (2019)
Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393(6684), 440 (1998)
Wegener, I.: Branching Programs and Binary Decision Diagrams: Theory and Applications, vol. 4. SIAM, Philadelphia (2000)
Author information
Authors and Affiliations
Corresponding author
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.
Percentage of time spent generating bounds and compiling decision diagrams (the former is the latter plus any Lagrangian relaxation or primal bound computation);
-
2.
Number of improving feasible solutions found by the primal heuristic.
-
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, 5, 6, 7, 8 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).
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.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-020-00191-6