Skip to main content

HADDOCK: A Language and Architecture for Decision Diagram Compilation

  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming (CP 2020)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    Code: https://bitbucket.org/ldmbouge/minicpp/commits/tag/HADDOCK.

  3. 3.

    Curious readers can find it in the online supplement.

  4. 4.

    We take some liberty with notation and refer to the relaxation R over a set of states.

References

  1. Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. C–27, 509–516 (1978)

    Article  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. Berge, C.: Hypergraphs - Combinatorics of Finite Sets. North-Holland Mathematical Library, vol. 45. North-Holland, Amsterdam (1989)

    MATH  Google Scholar 

  4. Bergman, D., Cire, A.A., van Hoeve, W.-J.: MDD propagation for sequence constraints. JAIR 50, 697–722 (2014)

    Article  MathSciNet  Google Scholar 

  5. 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

    Book  MATH  Google Scholar 

  6. 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 

  7. Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C–35, 677–691 (1986)

    Article  Google Scholar 

  8. Bryant, R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. ACM Comput. Surv. 24, 293–318 (1992)

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  12. 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

    Article  MathSciNet  Google Scholar 

  13. 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)

    Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. Gange, G., Stuckey, P.J., Szymanek, R.: MDD propagators with explanation. Constraints 16(4), 407–429 (2011)

    Article  MathSciNet  Google Scholar 

  16. Hadžić, T., Hooker, J.N.: Cost-bounded binary decision diagrams for 0–1 programming. Technical report, Carnegie Mellon University (2007)

    Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. 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)

    Google Scholar 

  20. Hawkins, P., Lagoon, V., Stuckey, P.J.: Solving set constraint satisfaction problems using ROBDDs. JAIR 24(1), 109–156 (2005)

    Article  Google Scholar 

  21. Hoda, S.: Essays on equilibrium computation, MDD-based constraint programming and scheduling. Ph.D. thesis, Carnegie Mellon University (2010)

    Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976)

    Article  MathSciNet  Google Scholar 

  24. 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 

  25. 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

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  27. Michel, L., Schaus, P., Van Hentenryck, P.: MiniCP: a lightweight solver for constraint programming (2018). https://minicp.bitbucket.io

  28. Perez, G., Régin, J.-C.: Efficient operations on MDDs for building constraint programming models. In: Proceedings of IJCAI, pp. 374–380 (2015)

    Google Scholar 

  29. Perez, G., Régin, J.-C.: Soft and cost MDD propagators. In: Proceedings of AAAI, pp. 3922–3928. AAAI Press (2017)

    Google Scholar 

  30. 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)

    Book  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Laurent Michel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics