Constraints

, Volume 17, Issue 3, pp 273–303 | Cite as

Solving constraint satisfaction problems with SAT modulo theories

  • Miquel Bofill
  • Miquel Palahí
  • Josep Suy
  • Mateu Villaret
Application

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.

Keywords

Constraint programming Reformulation Solvers and tools Satisfiability modulo theories 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ackermann, W. (1954). Solvable cases of the decision problem. Studies in logic and the foundations of mathematics. North-Holland, Amsterdam.Google Scholar
  2. 2.
    Apt, K. R., & Wallace, M. (2007). Constraint logic programming using eclipse. New York: Cambridge University Press.MATHGoogle Scholar
  3. 3.
    Banković, M., & Marić, F. (2010). An Alldifferent constraint solver in SMT. In Proceedings of the 8th international workshop on satisfiability modulo theories.Google Scholar
  4. 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. 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.Google Scholar
  6. 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.Google Scholar
  7. 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).Google Scholar
  8. 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.Google Scholar
  9. 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.MathSciNetMATHCrossRefGoogle Scholar
  10. 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.Google Scholar
  11. 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.Google Scholar
  12. 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.Google Scholar
  13. 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.Google Scholar
  14. 14.
    de Moura, L. M. (2011). Orchestrating satisfiability engines. In CP, LNCS (Vol. 6876, p. 1). Springer.Google Scholar
  15. 15.
    de Moura, L. M., & Bjørner, N. (2008). Z3: An efficient SMT solver. In TACAS, LNCS (Vol. 4963, pp. 337–340). Springer.Google Scholar
  16. 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. 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.Google Scholar
  18. 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.MathSciNetMATHCrossRefGoogle Scholar
  19. 19.
    Huang, J. (2008). Universal Booleanization of constraint models. In CP, LNCS (Vol. 5202, pp. 144–158). Springer.Google Scholar
  20. 20.
    JaCoP Java Constraint Programming Solver (2010). http://jacop.osolpro.com. Accessed 16 May 2012.
  21. 21.
    Minizinc + Flatzinc (2010). http://www.g12.csse.unimelb.edu.au/minizinc/. Accessed 16 May 2012.
  22. 22.
    Nelson, G., & Oppen, D. C. (1979). Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, TOPLAS, 1(2), 245–257.MATHCrossRefGoogle Scholar
  23. 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.Google Scholar
  24. 24.
    Nieuwenhuis, R., & Oliveras, A. (2006). On SAT modulo theories and optimization problems. In SAT, LNCS (Vol. 4121, pp. 156–169). Springer.Google Scholar
  25. 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.Google Scholar
  26. 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.MathSciNetCrossRefGoogle Scholar
  27. 27.
    Ohrimenko, O., Stuckey, P. J., & Codish, M. (2009). Propagation via Lazy clause generation. Constraints, 14(3), 357–391.MathSciNetMATHCrossRefGoogle Scholar
  28. 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. 29.
    Schulte, C., Lagerkvist, M., & Tack, G. (2010). Gecode. http://www.gecode.org. Accessed 16 May 2012.
  30. 30.
    SCIP, Solving constraint integer programs (2010). http://scip.zib.de/scip.shtml. Accessed 16 May 2012.
  31. 31.
    Sebastiani, R. (2007). Lazy satisfiability modulo theories. Journal on Satisfiability, Boolean Modeling and Computation, 3(3–4), 141–224.MathSciNetMATHGoogle Scholar
  32. 32.
    Sheini, H. M., & Sakallah, K. A. (2006). From propositional satisfiability to satisfiability modulo theories. In SAT, LNCS (Vol. 4121, pp. 1–9). Springer.Google Scholar
  33. 33.
    Shostak, R. E. (1984). Deciding combinations of theories. Journal of the ACM, 31(1), 1–12.MathSciNetMATHCrossRefGoogle Scholar
  34. 34.
    SICStus Prolog (2010). http://www.sics.se/sicstus. Accessed 16 May 2012.
  35. 35.
    Stuckey, P. J., Becket, R., & Fischer, J. (2010). Philosophy of the minizinc challenge. Constraints, 15, 307–316.MATHCrossRefGoogle Scholar
  36. 36.
    Tamura, N., Taga, A., Kitagawa, S., & Banbara, M. (2009). Compiling finite linear CSP into SAT. Constraints, 14(2), 254–272.MathSciNetMATHCrossRefGoogle Scholar
  37. 37.
    Van Hentenryck, P. (1999). The OPL Optimization Programming Language. MIT Press.Google Scholar
  38. 38.
    Walsh, T. (2000). SAT v CSP. In CP, LNCS (Vol. 1894, pp. 441–456). Springer.Google Scholar
  39. 39.
    Zhang, L., & Malik, S. (2002). The quest for efficient Boolean satisfiability solvers. In CAV, LNCS (Vol. 2404, pp. 17–36). Springer.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Miquel Bofill
    • 1
  • Miquel Palahí
    • 1
  • Josep Suy
    • 1
  • Mateu Villaret
    • 1
  1. 1.Departament d’Informàtica i Matemàtica AplicadaUniversitat de GironaGironaSpain

Personalised recommendations