Abstract
Multi-valued decision diagrams (MDDs) were introduced into constraint programming over a decade ago as a powerful alternative to domain propagation. While effective MDD-propagation algorithms have been proposed for various constraints, to date no system exists that can generically compile and combine MDD propagation for arbitrary constraints. To fill this need, we introduce Haddock, a declarative language and architecture for MDD compilation. Haddock supports the specification, implementation, and composition of a broad range of MDD propagators that delivers the strength one expects from MDDs at a fraction of the development effort and with comparable performance. This paper describes the language, the framework architecture, outlines its performance credentials and demonstrates how to specify and implement novel MDD propagators.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Haddock stands for ‘Handling Automatically Decision Diagrams Over Constraint Kernels’. It also refers to a saltwater fish, as well as to a fictional character from the Tintin comic series by Hergé, both of which are however irrelevant to this paper.
- 2.
- 3.
Curious readers can find it in the online supplement.
- 4.
We take some liberty with notation and refer to the relaxation R over a set of states.
References
Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. C–27, 509–516 (1978)
Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P.: A constraint store based on multivalued decision diagrams. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 118–132. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_11
Berge, C.: Hypergraphs - Combinatorics of Finite Sets. North-Holland Mathematical Library, vol. 45. North-Holland, Amsterdam (1989)
Bergman, D., Cire, A.A., van Hoeve, W.-J.: MDD propagation for sequence constraints. JAIR 50, 697–722 (2014)
Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Decision Diagrams for Optimization. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-319-42849-9
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)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C–35, 677–691 (1986)
Bryant, R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. ACM Comput. Surv. 24, 293–318 (1992)
Cheng, K.C.K., Xia, W., Yap, R.H.C.: Space-time tradeoffs for the regular constraint. In: Milano, M. (ed.) CP 2012. LNCS, vol. 7514, pp. 223–237. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33558-7_18
Cheng, K.C.K., Yap, R.H.C.: Maintaining generalized arc consistency on ad-hoc n-ary Boolean constraints. In Brewka, G., et al. (eds.) Proceedings of ECAI, pp. 78–82. IOS Press (2006)
Cire, A.A., van Hoeve, W.-J.: Multivalued decision diagrams for sequencing problems. Oper. Res. 61(6), 1411–1428 (2013)
de Uña, D., Gange, G., Schachte, P., Stuckey, P.J.: Compiling CP subproblems to MDDs and d-DNNFs. Constraints 24(1), 56–93 (2019). https://doi.org/10.1007/s10601-018-9297-2
Gange, G., Lagoon, V., Stuckey, P.J.: Fast set bounds propagation using BDDs. In: Ghallab, M. et al. (eds.) Proceedings of ECAI, pp. 505–509. IOS Press (2008)
Gange, G., Stuckey, P.J., Van Hentenryck, P.: Explaining propagators for edge-valued decision diagrams. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 340–355. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40627-0_28
Gange, G., Stuckey, P.J., Szymanek, R.: MDD propagators with explanation. Constraints 16(4), 407–429 (2011)
Hadžić, T., Hooker, J.N.: Cost-bounded binary decision diagrams for 0–1 programming. Technical report, Carnegie Mellon University (2007)
Hadzic, T., Hooker, J.N., O’Sullivan, B., Tiedemann, P.: Approximate compilation of constraints into multivalued decision diagrams. In: Stuckey, P.J. (ed.) CP 2008. LNCS, vol. 5202, pp. 448–462. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85958-1_30
Hadzic, T., Hooker, J.N., Tiedemann, P.: Propagating separable equalities in an MDD store. In: Perron, L., Trick, M.A. (eds.) CPAIOR 2008. LNCS, vol. 5015, pp. 318–322. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-68155-7_30
Hadzic, T., O’Mahony, E., O’Sullivan, B., Sellmann, M.: Enhanced inference for the market split problem. In: Proceedings of ICTAI, pp. 716–723. IEEE Computer Society (2009)
Hawkins, P., Lagoon, V., Stuckey, P.J.: Solving set constraint satisfaction problems using ROBDDs. JAIR 24(1), 109–156 (2005)
Hoda, S.: Essays on equilibrium computation, MDD-based constraint programming and scheduling. Ph.D. thesis, Carnegie Mellon University (2010)
Hoda, S., van Hoeve, W.-J., Hooker, J.N.: A systematic approach to MDD-based constraint programming. In: Cohen, D. (ed.) CP 2010. LNCS, vol. 6308, pp. 266–280. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15396-9_23
Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976)
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)
Lagoon, V., Stuckey, P.J.: Set domain propagation using ROBDDs. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 347–361. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30201-8_27
Lee, C.-Y.: Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J. 38(4), 985–999 (1959)
Michel, L., Schaus, P., Van Hentenryck, P.: MiniCP: a lightweight solver for constraint programming (2018). https://minicp.bitbucket.io
Perez, G., Régin, J.-C.: Efficient operations on MDDs for building constraint programming models. In: Proceedings of IJCAI, pp. 374–380 (2015)
Perez, G., Régin, J.-C.: Soft and cost MDD propagators. In: Proceedings of AAAI, pp. 3922–3928. AAAI Press (2017)
Wegener, I.: Branching Programs and Binary Decision Diagrams: Theory and Applications. SIAM Monographs on Discrete Mathematics and Applications. Society for Industrial and Applied Mathematics, Philadelphia (2000)
Acknowledgments
Willem-Jan van Hoeve was partially supported by ONR Grant No. N00014-18-1-2129 and NSF Award #1918102. L. Michel and R. Gentzel were partially supported by Comcast under Grant #15228, Synchrony under #790057267 and ONR/NIUVT under #N000014-20-1-2040.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Gentzel, R., Michel, L., van Hoeve, WJ. (2020). HADDOCK: A Language and Architecture for Decision Diagram Compilation. In: Simonis, H. (eds) Principles and Practice of Constraint Programming. CP 2020. Lecture Notes in Computer Science(), vol 12333. Springer, Cham. https://doi.org/10.1007/978-3-030-58475-7_31
Download citation
DOI: https://doi.org/10.1007/978-3-030-58475-7_31
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58474-0
Online ISBN: 978-3-030-58475-7
eBook Packages: Computer ScienceComputer Science (R0)