Skip to main content
Log in

Compiling CP subproblems to MDDs and d-DNNFs

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Modeling discrete optimization problems is not straightforward. It is often the case that precompiling a subproblem that involves only a few tightly constrained variables as a table constraint can improve solving time. Nevertheless, enumerating all the solutions of a subproblem into a table can be costly in time and space. In this work we propose using Multivalued Decision Diagrams (MDDs) and formulas in Deterministic Decomposable Negation Normal Form (d-DNNFs) rather than tables to compute and store all solutions of a subproblem. This, in turn, can be used to enhance the solver thanks to stronger propagation via specific propagators for these structures. We show how to precompile part of a problem into both these structures, which can then be injected back in the model by substituting the constraints it encodes, or simply adding it as a redundant constraint. Furthermore, in the case of MDDs, they can also be used to create edge-valued MDDs for optimization problems with an appropriate form. From our experiments we conclude that all three techniques are valuable in their own right, and show when each one should be chosen over the others.

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
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. https://people.eng.unimelb.edu.au/pstuckey/mdd_ddnnf_precomp/mdd_ddnnf_precomp.zip

  2. https://github.com/chuffed/chuffed/blob/master/chuffed/examples/shift.cpp

References

  1. Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P. (2007). A constraint store based on multivalued decision diagrams. In International conference on principles and practice of constraint programming, Springer (pp. 118–132).

  2. Bergman, D., & Cire, A.A. (2016). Decomposition based on decision diagrams. In International conference on integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in constraint programming, Springer (pp. 45–54).

  3. Bergman, D., & van Hoeve, W.J. (2011). Hooker JN Manipulating MDD relaxations for combinatorial optimization. In International conference on integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in constraint programming, Springer (pp. 20–35).

  4. Bergman, D., Cire, A.A., WJv, Hoeve, Hooker, J.N. (2013). Optimization bounds from binary decision diagrams. INFORMS Journal on Computing, 26(2), 253–268.

    Article  MathSciNet  MATH  Google Scholar 

  5. Bergman, D., Cire, A.A., van Hoeve, W.J. (2015). Improved constraint propagation via lagrangian decomposition. In International conference on principles and practice of constraint programming, Springer (pp. 30–38).

  6. Bergman, D., Cire, A.A., Van Hoeve, W.J., Hooker, J. (2016a). Decision diagrams for optimization. Berlin: Springer.

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

  8. Van den Broeck, G., Taghipour, N., Meert, W., Davis, J., De Raedt, L. (2011). Lifted probabilistic inference by first-order knowledge compilation. In Proceedings of international joint conference on artificial intelligence, AAAI Press/International joint conferences on artificial intelligence (pp. 2178–2185).

  9. Cheng, K.C., & HC, Y.R. (2008). Maintaining generalized arc consistency on ad hoc r-ary constraints. In International conference on principles and practice of constraint programming, Springer (pp. 509–523).

  10. Cheng, K.C., & Yap, R.H. (2005). Constrained decision diagrams. In Proceedings of the national conference on artificial intelligence, 1999, vol 20 (p. 366). Cambridge: MIT Press.

  11. Cheng, K.C., & Yap, R.H. (2010). An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints. Constraints, 15(2), 265–304.

    Article  MathSciNet  MATH  Google Scholar 

  12. Chu, G., & Stuckey, P.J. (2016). Lagrangian decomposition via subproblem search. In Quimper, C G (Ed.) International conference on integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in constraint programming, no. 9676 in LNCS (pp. 65–80).

  13. Chu, G., De La Banda, M.G., Stuckey, P.J. (2012). Exploiting subproblem dominance in constraint programming. Constraints, 17(1), 1–38.

    Article  MathSciNet  MATH  Google Scholar 

  14. Chu, G.G. (2011). Improving combinatorial optimization. PhD thesis, The University of Melbourne.

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

    Article  MathSciNet  MATH  Google Scholar 

  16. Cocke, J. (1970). Global common subexpression elimination. In ACM Sigplan notices, ACM, (Vol. 5 pp. 20–24).

  17. Darwiche, A.s. (2002). A compiler for deterministic, decomposable negation normal form. In Proceedings of the national conference on artificial intelligence, AAAI Press (pp. 627–634).

  18. Davies, J., & Bacchus, F. (2007). Using more reasoning to improve #SAT solving. In Proceedings of the national conference on artificial intelligence, 1999, vol 22 (p. 185). Cambridge: MIT Press.

  19. De Uña, D., Gange, G., Schachte, P., Stuckey, P.J. (2016). Steiner tree problems with side constraints using constraint programming. In Proceedings of the national conference on artificial intelligence, AAAI Press (pp. 3383–3389).

  20. Dekker, J.J. (2016). Sub-problem pre-solving in miniZinc master’s thesis. Master’s thesis. Uppsala Universitet.

  21. Dekker, J.J., Björdal, G., Carlsson, M., Flener, P., Monette, J.N. (2017). Auto-tabling for subproblem presolving in MiniZinc. In International conference on integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in constraint programming, vol 22, Springer (pp. 512–529).

  22. Demassey, S., Pesant, G., Rousseau, L.M. (2006). A cost-regular based hybrid column generation approach. Constraints, 11(4), 315–333.

    Article  MathSciNet  MATH  Google Scholar 

  23. Eén, N., & Biere, A. (2005). Effective preprocessing in SAT through variable and clause elimination. In International conference on theory and applications of satisfiability testing, Springer (pp. 61–75).

  24. Erdös, P., & Rényi, A. (1959). On random graphs. I Publicationes Mathematicae (Debrecen), 6, 290–297.

    MATH  Google Scholar 

  25. Fages, J.G., Lorca, X., Petit, T. (2014). Self-decomposable global constraints. In Proceedings of the European conference on artificial intelligence (pp. 297–302).

  26. Frisch, A.M., Harvey, W., Jefferson, C., Martínez-Hernández, B., Miguel, I. (2008). Essence: a constraint language for specifying combinatorial problems. Constraints, 13(3), 268–306. https://doi.org/10.1007/s10601-008-9047-y.

    Article  MathSciNet  MATH  Google Scholar 

  27. Gange, G., & Stuckey, P.J. (2012). Explaining propagators for s-DNNF circuits. In International conference on integration of Artificial Intelligence (AI) and Operations Research. (OR) techniques in constraint programming, Springer (pp. 195–210).

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

    Article  MathSciNet  MATH  Google Scholar 

  29. Gange, G., Stuckey, P.J., Van Hentenryck, P. (2013). Explaining propagators for edge-valued decision diagrams. In International conference on principles and practice of constraint programming, Springer (pp. 340–355).

  30. Gent, I.P., Jefferson, C., Kelsey, T., Lynce, I., Miguel, I., Nightingale, P., Smith, B.M., Tarim, S.A. (2007). Search in the patience game black hole. AI Communications, 20(3), 211–226.

    MathSciNet  MATH  Google Scholar 

  31. Hadzic, T., Hooker, J.N., O’Sullivan, B., Tiedemanns, P. (2008). Approximate compilation of constraints into multivalued decision diagrams. In International conference on principles and practice of constraint programming, Springer (pp. 448–462).

  32. Hoda, S., Van Hoeve, W.J., Hooker, J.N. (2010). A systematic approach to MDD-based constraint programming. In International conference on principles and practice of constraint programming, Springer (pp. 266–280).

  33. Huang, J., & Darwiche, A. (2005). DPLL With a trace: from SAT to knowledge compilation. In Proceedings of the international joint conference on artificial intelligence, (Vol. 5 pp. 156–162).

  34. Jha, A., & Suciu, D. (2013). Knowledge compilation meets database theory: compiling queries to decision diagrams. Theory of Computing Systems, 52(3), 403–440.

    Article  MathSciNet  MATH  Google Scholar 

  35. Jung, J.C., Barahona, P., Katsirelos, G., Walsh, T. (2008). Two encodings of DNNF theories. In ECAI workshop on inference methods based on graphical structures of knowledge.

  36. Kell, B., & van Hoeve, W.J. (2013). An MDD approach to multidimensional bin packing.

  37. Koch, T., Martin, A., Voß, S. (2000). SteinLib: an updated library on Steiner tree problems in graphs. Tech. Rep. ZIB-Report 00-37, Konrad-Zuse-Zentrum fur̈ Informationstechnik Berlin, Takustr. 7, Berlin. http://elib.zib.de/steinlib.

  38. Koriche, F., Lagniez, J.M., Marquis, P., Thomas, S. (2015). Compiling constraint networks into multivalued decomposable decision graphs. In Proceedings of the international joint conference on artificial intelligence (pp. 332–338).

  39. Latour, A.L., Babaki, B., Dries, A., Kimmig, A., Van den Broeck, G., Nijssen, S. (2017). Combining stochastic constraint optimization and probabilistic programming. In International conference on principles and practice of constraint programming, Springer (pp. 495–511).

  40. Leo, K., & Tack, G. (2015). Multi-pass high-level presolving. In Proceedings of the international joint conference on artificial intelligence (pp. 346–352).

  41. Leo, K., Mears, C., Tack, G., de la Banda, M.G. (2013). Globalizing constraint models. In Schulte, C (Ed.) International conference on principles and practice of constraint programming, Springer, Lecture notes in computer science, vol 8124 (pp. 432–447).

  42. Loreggia, A., Malitsky, Y., Samulowitz, H., Saraswat, V.A. (2016). Deep learning for algorithm portfolios. In Proceedings of the thirtieth AAAI conference on artificial intelligence, February 12-17, 2016, Phoenix, Arizona, USA. http://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/view/12274 (pp. 1280–1286).

  43. Mears, C., de la Banda, M.G., Wallace, M. (2009). On implementing symmetry detection. Constraints, 14(4), 443–477.

    Article  MathSciNet  MATH  Google Scholar 

  44. Muise, C., McIlraith, S., Beck, J.C., Hsu, E. (2010). Fast d-DNNF compilation with sharp SAT. In Workshops at the twenty-fourth AAAI conference on artificial intelligence.

  45. Nethercote, N., Stuckey, P., Becket, R., Brand, S., Duck, G., Tack, G. (2007). Minizinc: towards a standard CP modelling language. In International conference on principles and practice of constraint programming, Springer-verlag, LNCS, vol. 4741 (pp. 529–543).

  46. O’Mahony, E., Hebrard, E., Holland, A., Nugent, C., O’Sullivan, B. (2008). Using case-based reasoning in an algorithm portfolio for constraint solving. In Irish conference on artificial intelligence and cognitive science (pp. 210–216).

  47. Parlett, D. (1980). The Penguin Book of Patience. London: Penguin Books.

    Google Scholar 

  48. Perez, G., & Régin, J.C. (2014). Improving GAC-4 for table and MDD constraints. In International conference on principles and practice of constraint programming, Springer (pp. 606–621).

  49. Perez, G., & Régin, J.C. (2016). Constructions and in-place operations for MDDs based constraints. In International conference on integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in constraint programming, Springer (pp. 279–293).

  50. Perez, G., & Régin, J.C. (2017). MDDs:sampling and probability constraints. In International conference on principles and practice of constraint programming, Springer (pp. 226–242).

  51. Perez, G., Régin, JC, Antipolis, U., Umr, I. (2015). Efficient operations on mdds for building constraint programming models. In Proceedings of international joint conference on artificial intelligence (pp. 374–380).

  52. Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Wallace, M (Ed.) International conference on principles and practice of constraint programming, Springer-verlag, LNCS, vol 3258 (pp. 482–495).

  53. Pesant, G. (2005). Counting solutions of CSPs: a structural approach. In Proceedings of the international joint conference of artificial intelligence (pp. 260–265).

  54. Puget, J.F. (2005). Automatic detection of variable and value symmetries. In International conference on principles and practice of constraint programming, Springer (pp. 475–489).

  55. Régin, JC. (1996). Generalized arc consistency for global cardinality constraint. In Proceedings of the national conference on artificial intelligence, AAAI Press (pp. 209–215).

  56. Sang, T., Bacchus, F., Beame, P., Kautz, H.A., Pitassi, T. (2004). Combining component caching and clause learning for effective model counting. SAT 4:7th.

  57. Srinivasan, A., Ham, T., Malik, S., Brayton, R.K. (1990). Algorithms for discrete function manipulation. In 1990 IEEE international conference on computer-aided design, 1990. ICCAD-90. Digest of technical papers, IEEE (pp. 92–95).

  58. Van Hentenryck, P. (1999). The OPL optimization programming language. Cambridge: MIT Press.

    Google Scholar 

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

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Diego de Uña.

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

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

de Uña, D., Gange, G., Schachte, P. et al. Compiling CP subproblems to MDDs and d-DNNFs. Constraints 24, 56–93 (2019). https://doi.org/10.1007/s10601-018-9297-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-018-9297-2

Keywords

Navigation