Advertisement

Constraints

, Volume 24, Issue 1, pp 56–93 | Cite as

Compiling CP subproblems to MDDs and d-DNNFs

  • Diego de UñaEmail author
  • Graeme Gange
  • Peter Schachte
  • Peter J. Stuckey
Article
  • 74 Downloads

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.

Keywords

Multivalued decision diagrams MDD d-DNNF Constraint programming Presolving Compilation 

Notes

References

  1. 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).Google Scholar
  2. 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).Google Scholar
  3. 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).Google Scholar
  4. 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.MathSciNetCrossRefzbMATHGoogle Scholar
  5. 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).Google Scholar
  6. 6.
    Bergman, D., Cire, A.A., Van Hoeve, W.J., Hooker, J. (2016a). Decision diagrams for optimization. Berlin: Springer.Google Scholar
  7. 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.Google Scholar
  8. 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).Google Scholar
  9. 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).Google Scholar
  10. 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.Google Scholar
  11. 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.MathSciNetCrossRefzbMATHGoogle Scholar
  12. 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).Google Scholar
  13. 13.
    Chu, G., De La Banda, M.G., Stuckey, P.J. (2012). Exploiting subproblem dominance in constraint programming. Constraints, 17(1), 1–38.MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Chu, G.G. (2011). Improving combinatorial optimization. PhD thesis, The University of Melbourne.Google Scholar
  15. 15.
    Cire, A.A., & van Hoeve, W.J. (2013). Multivalued decision diagrams for sequencing problems. Operations Research, 61(6), 1411–1428.MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Cocke, J. (1970). Global common subexpression elimination. In ACM Sigplan notices, ACM, (Vol. 5 pp. 20–24).Google Scholar
  17. 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).Google Scholar
  18. 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.Google Scholar
  19. 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).Google Scholar
  20. 20.
    Dekker, J.J. (2016). Sub-problem pre-solving in miniZinc master’s thesis. Master’s thesis. Uppsala Universitet.Google Scholar
  21. 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).Google Scholar
  22. 22.
    Demassey, S., Pesant, G., Rousseau, L.M. (2006). A cost-regular based hybrid column generation approach. Constraints, 11(4), 315–333.MathSciNetCrossRefzbMATHGoogle Scholar
  23. 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).Google Scholar
  24. 24.
    Erdös, P., & Rényi, A. (1959). On random graphs. I Publicationes Mathematicae (Debrecen), 6, 290–297.zbMATHGoogle Scholar
  25. 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).Google Scholar
  26. 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.MathSciNetCrossRefzbMATHGoogle Scholar
  27. 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).Google Scholar
  28. 28.
    Gange, G., Stuckey, P.J., Szymanek, R. (2011). MDD Propagators with explanation. Constraints, 16(4), 407–429.MathSciNetCrossRefzbMATHGoogle Scholar
  29. 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).Google Scholar
  30. 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.MathSciNetzbMATHGoogle Scholar
  31. 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).Google Scholar
  32. 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).Google Scholar
  33. 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).Google Scholar
  34. 34.
    Jha, A., & Suciu, D. (2013). Knowledge compilation meets database theory: compiling queries to decision diagrams. Theory of Computing Systems, 52(3), 403–440.MathSciNetCrossRefzbMATHGoogle Scholar
  35. 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.Google Scholar
  36. 36.
    Kell, B., & van Hoeve, W.J. (2013). An MDD approach to multidimensional bin packing.Google Scholar
  37. 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. 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).Google Scholar
  39. 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).Google Scholar
  40. 40.
    Leo, K., & Tack, G. (2015). Multi-pass high-level presolving. In Proceedings of the international joint conference on artificial intelligence (pp. 346–352).Google Scholar
  41. 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).Google Scholar
  42. 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. 43.
    Mears, C., de la Banda, M.G., Wallace, M. (2009). On implementing symmetry detection. Constraints, 14(4), 443–477.MathSciNetCrossRefzbMATHGoogle Scholar
  44. 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.Google Scholar
  45. 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).Google Scholar
  46. 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).Google Scholar
  47. 47.
    Parlett, D. (1980). The Penguin Book of Patience. London: Penguin Books.Google Scholar
  48. 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).Google Scholar
  49. 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).Google Scholar
  50. 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).Google Scholar
  51. 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).Google Scholar
  52. 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).Google Scholar
  53. 53.
    Pesant, G. (2005). Counting solutions of CSPs: a structural approach. In Proceedings of the international joint conference of artificial intelligence (pp. 260–265).Google Scholar
  54. 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).Google Scholar
  55. 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).Google Scholar
  56. 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.Google Scholar
  57. 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).Google Scholar
  58. 58.
    Van Hentenryck, P. (1999). The OPL optimization programming language. Cambridge: MIT Press.Google Scholar
  59. 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.CrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of MelbourneParkvilleAustralia
  2. 2.Data61 CSIROMelbourneAustralia

Personalised recommendations