Skip to main content
Log in

Solving constraint satisfaction problems with SAT modulo theories

  • Application
  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Due to significant advances in SAT technology in the last years, its use for solving constraint satisfaction problems has been gaining wide acceptance. Solvers for satisfiability modulo theories (SMT) generalize SAT solving by adding the ability to handle arithmetic and other theories. Although there are results pointing out the adequacy of SMT solvers for solving CSPs, there are no available tools to extensively explore such adequacy. For this reason, in this paper we introduce a tool for translating FLATZINC (MINIZINC intermediate code) instances of CSPs to the standard SMT-LIB language. We provide extensive performance comparisons between state-of-the-art SMT solvers and most of the available FLATZINC solvers on standard FLATZINC problems. The obtained results suggest that state-of-the-art SMT solvers can be effectively used to solve CSPs.

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. Ackermann, W. (1954). Solvable cases of the decision problem. Studies in logic and the foundations of mathematics. North-Holland, Amsterdam.

  2. Apt, K. R., & Wallace, M. (2007). Constraint logic programming using eclipse. New York: Cambridge University Press.

    MATH  Google Scholar 

  3. Banković, M., & Marić, F. (2010). An Alldifferent constraint solver in SMT. In Proceedings of the 8th international workshop on satisfiability modulo theories.

  4. Barrett, C., Stump, A., & Tinelli, C. (2010). The Satisfiability Modulo Theories Library (SMT-LIB). http://www.SMT-LIB.org. Accessed 16 May 2012.

  5. Barrett, C., Stump, A., & Tinelli, C. (2010). The SMT-LIB standard: Version 2.0. In Proceedings of the 8th international workshop on satisfiability modulo theories.

  6. Bofill, M., Nieuwenhuis, R., Oliveras, A., Rodríguez-Carbonell, E., & Rubio, A. (2008). The Barcelogic SMT solver. In CAV, LNCS (Vol. 5123, pp. 294–298). Springer.

  7. Bofill, M., Palahí, M., Suy, J., & Villaret, M. (2009). SIMPLY: A compiler from a CSP modeling language to the SMT-LIB format. In Proceedings of the 8th international workshop on constraint modelling and reformulation (pp. 30–44).

  8. Bofill, M., Suy, J., & Villaret, M. (2010). A system for solving constraint satisfaction problems with SMT. In SAT, LNCS (Vol. 6175, pp. 300–305). Springer.

  9. Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T. A., Ranise, S., van Rossum, P., et al. (2006). Efficient theory combination via Boolean search. Information and Computation, 204(10), 1493–1525.

    Article  MathSciNet  MATH  Google Scholar 

  10. Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Santuari, A., & Sebastiani, R. (2006). To Ackermann-ize or not to Ackermann-ize? On efficiently handling uninterpreted function symbols in \(\mathit{SMT}(\mathcal{EUF \cup T})\). In LPAR, LNCS (Vol. 4246, pp. 557–571). Springer.

  11. Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., & Sebastiani, R. (2008). The MathSAT 4 SMT solver. In CAV, LNCS (Vol. 5123, pp. 299–303). Springer.

  12. Cadoli, M., Mancini, T., & Patrizi, F. (2006). SAT as an effective solving technology for constraint problems. In ISMIS, LNCS (Vol. 4203, pp. 540–549). Springer.

  13. Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R., & Stenico, C. (2010). Satisfiability modulo the theory of costs: Foundations and applications. In TACAS, LNCS (Vol. 6015, pp. 99–113). Springer.

  14. de Moura, L. M. (2011). Orchestrating satisfiability engines. In CP, LNCS (Vol. 6876, p. 1). Springer.

  15. de Moura, L. M., & Bjørner, N. (2008). Z3: An efficient SMT solver. In TACAS, LNCS (Vol. 4963, pp. 337–340). Springer.

  16. Dutertre, B., & de Moura, L. (2006). The Yices SMT solver. Tool paper at http://yices.csl.sri.com/tool-paper.pdf. Accessed 16 May 2012.

  17. Dutertre, B., & de Moura, L. M. (2006). A fast linear-arithmetic solver for DPLL(T). In CAV, LNCS (Vol. 4144, pp. 81–94). Springer.

  18. Frisch, A., 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.

    Article  MathSciNet  MATH  Google Scholar 

  19. Huang, J. (2008). Universal Booleanization of constraint models. In CP, LNCS (Vol. 5202, pp. 144–158). Springer.

  20. JaCoP Java Constraint Programming Solver (2010). http://jacop.osolpro.com. Accessed 16 May 2012.

  21. Minizinc + Flatzinc (2010). http://www.g12.csse.unimelb.edu.au/minizinc/. Accessed 16 May 2012.

  22. Nelson, G., & Oppen, D. C. (1979). Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, TOPLAS, 1(2), 245–257.

    Article  MATH  Google Scholar 

  23. Nethercote, N., Stuckey, P. J., Becket, R., Brand, S., Duck, G. J., & Tack, G. (2007). MiniZinc: Towards a standard CP modelling language. In CP, LNCS (Vol. 4741, pp. 529–543). Springer.

  24. Nieuwenhuis, R., & Oliveras, A. (2006). On SAT modulo theories and optimization problems. In SAT, LNCS (Vol. 4121, pp. 156–169). Springer.

  25. Nieuwenhuis, R., Oliveras, A., Rodríguez-Carbonell, E., & Rubio, A. (2007). Challenges in satisfiability modulo theories. In RTA, LNCS (Vol. 4533, pp. 2–18). Springer.

  26. Nieuwenhuis, R., Oliveras, A., & Tinelli, C. (2006). Solving SAT and SAT modulo theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). Journal of the ACM, 53(6), 937–977.

    Article  MathSciNet  Google Scholar 

  27. Ohrimenko, O., Stuckey, P. J., & Codish, M. (2009). Propagation via Lazy clause generation. Constraints, 14(3), 357–391.

    Article  MathSciNet  MATH  Google Scholar 

  28. Ranise, S., & Tinelli, C. (2006). The SMT-LIB standard: Version 1.2. Technical report, Dept. of Comp. Science, University of Iowa. Available at www.SMT-LIB.org. Accessed 16 May 2012.

  29. Schulte, C., Lagerkvist, M., & Tack, G. (2010). Gecode. http://www.gecode.org. Accessed 16 May 2012.

  30. SCIP, Solving constraint integer programs (2010). http://scip.zib.de/scip.shtml. Accessed 16 May 2012.

  31. Sebastiani, R. (2007). Lazy satisfiability modulo theories. Journal on Satisfiability, Boolean Modeling and Computation, 3(3–4), 141–224.

    MathSciNet  MATH  Google Scholar 

  32. Sheini, H. M., & Sakallah, K. A. (2006). From propositional satisfiability to satisfiability modulo theories. In SAT, LNCS (Vol. 4121, pp. 1–9). Springer.

  33. Shostak, R. E. (1984). Deciding combinations of theories. Journal of the ACM, 31(1), 1–12.

    Article  MathSciNet  MATH  Google Scholar 

  34. SICStus Prolog (2010). http://www.sics.se/sicstus. Accessed 16 May 2012.

  35. Stuckey, P. J., Becket, R., & Fischer, J. (2010). Philosophy of the minizinc challenge. Constraints, 15, 307–316.

    Article  MATH  Google Scholar 

  36. Tamura, N., Taga, A., Kitagawa, S., & Banbara, M. (2009). Compiling finite linear CSP into SAT. Constraints, 14(2), 254–272.

    Article  MathSciNet  MATH  Google Scholar 

  37. Van Hentenryck, P. (1999). The OPL Optimization Programming Language. MIT Press.

  38. Walsh, T. (2000). SAT v CSP. In CP, LNCS (Vol. 1894, pp. 441–456). Springer.

  39. Zhang, L., & Malik, S. (2002). The quest for efficient Boolean satisfiability solvers. In CAV, LNCS (Vol. 2404, pp. 17–36). Springer.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miquel Bofill.

Additional information

This is an extended version of a short paper [8] presented at the 13th International Conference on Theory and Applications of Satisfiability Testing (SAT 2010) in Edinburgh, UK. Research partially supported by the Spanish MICINN under grant TIN2008-04547.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bofill, M., Palahí, M., Suy, J. et al. Solving constraint satisfaction problems with SAT modulo theories. Constraints 17, 273–303 (2012). https://doi.org/10.1007/s10601-012-9123-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-012-9123-1

Keywords

Navigation