Skip to main content
Log in

Propagation via lazy clause generation

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Finite domain propagation solvers effectively represent the possible values of variables by a set of choices which can be naturally modelled as Boolean variables. In this paper we describe how to mimic a finite domain propagation engine, by mapping propagators into clauses in a SAT solver. This immediately results in strong nogoods for finite domain propagation. But a naive static translation is impractical except in limited cases. We show how to convert propagators to lazy clause generators for a SAT solver. The resulting system introduces flexibility in modelling since variables are modelled dually in the propagation engine and the SAT solver, and we explore various approaches to the dual modelling. We show that the resulting system solves many finite domain problems significantly faster than other techniques.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ansótegui, C., & Manyá, F. (2004). Mapping problems with finite-domain variables into problems with Boolean variables. In Proceedings of the seventh international conference on theory and applications of satisfiability testing (SAT’04). LNCS (Vol. 3542, pp. 1–15).

  2. Bailleux, O., & Boufkhad, Y. (2003). Efficient CNF encoding of Boolean cardinality constraints. In F. Rossi (Ed.), Proceedings of the 9th international conference on principles and practice of constraint programming (CP2003). LNCS (Vol. 2833, pp. 108–122).

  3. Barcelogic for SMT. www.lsi.upc.es/∼oliveras/bclt-main.html. Accessed 07 February.

  4. Benchmarks for Lazy Clause Generation. http://www.cs.mu.oz.au/~olgao/benchmarks.htm. Accessed 07 December.

  5. Cabon, B., de Givrey, S., Lobjois, L., Schiex, T., & Warners, L.P. (1999). Radio link frequency assignment. Constraints, 4(1), 78–89.

    Article  Google Scholar 

  6. Choi, C.W., Lee, J.H.M., & Stuckey, P.J. (2003). Propagation redundancy in redundant modelling. In F. Rossi (Ed.), Proceedings of the ninth international conference on principles and practices of constraint programming (CP2003). LNCS (Vol. 2833, pp. 229–243).

  7. Choi, C.W., Lee, J.H.M., & Stuckey, P.J. (2007). Removing propagation redundant constraints in redundant modeling. ACM Transactions on Computational Logic, 8(4), article 23.

    Google Scholar 

  8. Crawford, J., & Baker, A. (1994). Experimental results on the application of satisfiability algorithms to scheduling problems. In Proceedings of the 12th national conference on artificial intelligence (AAAI’94) (pp. 1092–1097).

  9. Cryptarithmetic puzzles. http://www.tkcs-collins.com/truman/alphamet/alphamet.shtml. Accessed 07 December.

  10. CSP competition (2006). http://cpai.ucc.ie/06/Competition.html. Accessed 07 June.

  11. CSP2SAT. http://bach.istc.kobe-u.ac.jp/csp2sat/. 06 December.

  12. Davis, M., Logemman, G., & Loveland, D. (1962). A machine program for theorem proving. Communications of the ACM, 5(7), 394–397.

    Article  MATH  Google Scholar 

  13. Dechter, R. (2003). Constraint processing. San Francisco: Morgan Kaufmann.

    Google Scholar 

  14. Eén, N., & Sörensson, N. (2006). Translating pseudo-Boolean constraints into SAT. Journal on Satisfiability, Boolean Modeling and Computation, 2, 1–26.

    MATH  Google Scholar 

  15. Gent, I. P. (2002). Arc consistency in SAT. In Proceedings of the 15th Eureopean conference on artificial intelligence, ECAI’2002, Lyon, France, July 2002 (pp. 121–125).

  16. GECODE. www.gecode.org. Accessed 07 February.

  17. Hawkins, P., & Stuckey, P.J. (2006). A hybrid BDD and SAT finite domain constraint solver. In P. Van Hentenryck (Ed.), Proceedings of the practical applications of declarative programming (PADL’06). LNCS (Vol. 3819, pp. 103–117).

  18. Kasif, S. (1990). On the parallel complexity of discrete relaxation in constraint satisfaction networks. Artificial Intelligence, 45, 275–286.

    Article  MATH  MathSciNet  Google Scholar 

  19. Katsirelos, G., & Bacchus, F. (2003). Unrestricted nogood recording in CSP search. In F. Rossi (Ed.), Proceedings of the 9th international conference on principles and practice of constraint programming (CP2003). LNCS (Vol. 2833, pp. 873–877).

  20. Katsirelos, G., & Bacchus, F. (2005). Generalized nogoods in CSPs. In The twentieth national conference on artificial intelligence (AAAI’05) (pp. 390–396).

  21. Kautz, H.A., & Selman, B. (1992). Planning as satisfiability. In Proceedings of the tenth European conference on artificial intelligence (ECAI’92) (pp. 359–363).

  22. Laborie, P. (2005). Complete MCS-based search: Application to resource constrained project scheduling. In Proceedings of the nineteenth international joint conference on artificial intelligence (IJCAI’05) (pp. 181–186).

  23. Lsencode. http://www.cs.cornell.edu/gomes/SOFT/lsencode-v1.1.tar.Z/. Accessed 07 November.

  24. Marriott, K., & Stuckey, P.J. (1998). Programming with constraints: An introduction. Cambridge: MIT.

    MATH  Google Scholar 

  25. Minion. minion.sourceforge.net. Accessed 07 Feb.

  26. MiniSat. www.cs.chalmers.se/Cs/Resarch/FormalMethods/MiniSat/. Accessed 06 December.

  27. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: Engineering an efficient SAT solver. In Proceedings of 38th conference on design automation (DAC’01) (pp. 530–535).

  28. Niewenhuis, R., Oliveras, A., & Tinelli, C. (2004). Abstract DPLL and abstract DPLL modulo theories. In Proceedings of the 11th international conference on logic for programming artificial intelligence and reasoning (LPAR’04). LNAI (Vol. 3452, pp. 36–50)

  29. Ohrimenko, O., & Stuckey, P.J. (2008). Modelling for lazy clause generation. In J. Harland, & P. Manyem (Eds.), Proceedings of the fourteenth computing: The Australasian theory symposium (CATS 2008). CRPIT (Vol. 77, pp. 27–38)

  30. Ohrimenko, O., Stuckey, P.J., & Codish, M. (2007). Propagation = lazy clause generation. In C. Bessiere (Ed.), Proceedings of the 13th international conference on principles and practice of constraint programming. LNCS (Vol. 4741, pp. 544–558)

  31. Roussel, O. (2005). Some notes on the implementation of csp2sat+zchaff, a sim- ple translator from CSP to SAT. In Proceedings of the 2nd international workshop on constraint propagation and implementation (pp. 83–88).

  32. Schulte, C., & Tack, G. (2005). Views and iterators for generic constraint implementations. In P. van Beek (Ed.), Proceedings of the 11th international conference on principles and practice of constraint programming (CP 2005). Lecture notes in computer science (Vol. 3709, pp. 817–821).

  33. Tamura, N., Taga, A., Kitagawa, S., Banbara, M. (2006). Compiling finite linear CSP to SAT. In F. Benhamou (Ed.), Proceedings of 12th international conference on principles and practice of constraint programming (CP2006). LNCS (Vol. 4204, pp. 590–603).

  34. Van Hentenryck, P., Saraswat, V., & Deville, Y. (1998). Design, implementation and evaluation of the constraint language cc(FD). Journal of Logic Programming, 37(1–3), 139–164.

    Article  MATH  Google Scholar 

  35. Walsh, T. (2000). SAT v CSP. In R. Dechter (Ed.), Proceedings of 6th international conference on principles and practice of constraint programming (CP2000). LNCS (Vol. 1894, pp. 441–456).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Codish.

Additional information

This paper is an extension of results first published in [29, 30].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ohrimenko, O., Stuckey, P.J. & Codish, M. Propagation via lazy clause generation. Constraints 14, 357–391 (2009). https://doi.org/10.1007/s10601-008-9064-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-008-9064-x

Keywords

Navigation