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.
Similar content being viewed by others
References
Ackermann, W. (1954). Solvable cases of the decision problem. Studies in logic and the foundations of mathematics. North-Holland, Amsterdam.
Apt, K. R., & Wallace, M. (2007). Constraint logic programming using eclipse. New York: Cambridge University Press.
Banković, M., & Marić, F. (2010). An Alldifferent constraint solver in SMT. In Proceedings of the 8th international workshop on satisfiability modulo theories.
Barrett, C., Stump, A., & Tinelli, C. (2010). The Satisfiability Modulo Theories Library (SMT-LIB). http://www.SMT-LIB.org. Accessed 16 May 2012.
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.
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.
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).
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.
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.
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.
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.
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.
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.
de Moura, L. M. (2011). Orchestrating satisfiability engines. In CP, LNCS (Vol. 6876, p. 1). Springer.
de Moura, L. M., & Bjørner, N. (2008). Z3: An efficient SMT solver. In TACAS, LNCS (Vol. 4963, pp. 337–340). Springer.
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.
Dutertre, B., & de Moura, L. M. (2006). A fast linear-arithmetic solver for DPLL(T). In CAV, LNCS (Vol. 4144, pp. 81–94). Springer.
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.
Huang, J. (2008). Universal Booleanization of constraint models. In CP, LNCS (Vol. 5202, pp. 144–158). Springer.
JaCoP Java Constraint Programming Solver (2010). http://jacop.osolpro.com. Accessed 16 May 2012.
Minizinc + Flatzinc (2010). http://www.g12.csse.unimelb.edu.au/minizinc/. Accessed 16 May 2012.
Nelson, G., & Oppen, D. C. (1979). Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, TOPLAS, 1(2), 245–257.
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.
Nieuwenhuis, R., & Oliveras, A. (2006). On SAT modulo theories and optimization problems. In SAT, LNCS (Vol. 4121, pp. 156–169). Springer.
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.
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.
Ohrimenko, O., Stuckey, P. J., & Codish, M. (2009). Propagation via Lazy clause generation. Constraints, 14(3), 357–391.
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.
Schulte, C., Lagerkvist, M., & Tack, G. (2010). Gecode. http://www.gecode.org. Accessed 16 May 2012.
SCIP, Solving constraint integer programs (2010). http://scip.zib.de/scip.shtml. Accessed 16 May 2012.
Sebastiani, R. (2007). Lazy satisfiability modulo theories. Journal on Satisfiability, Boolean Modeling and Computation, 3(3–4), 141–224.
Sheini, H. M., & Sakallah, K. A. (2006). From propositional satisfiability to satisfiability modulo theories. In SAT, LNCS (Vol. 4121, pp. 1–9). Springer.
Shostak, R. E. (1984). Deciding combinations of theories. Journal of the ACM, 31(1), 1–12.
SICStus Prolog (2010). http://www.sics.se/sicstus. Accessed 16 May 2012.
Stuckey, P. J., Becket, R., & Fischer, J. (2010). Philosophy of the minizinc challenge. Constraints, 15, 307–316.
Tamura, N., Taga, A., Kitagawa, S., & Banbara, M. (2009). Compiling finite linear CSP into SAT. Constraints, 14(2), 254–272.
Van Hentenryck, P. (1999). The OPL Optimization Programming Language. MIT Press.
Walsh, T. (2000). SAT v CSP. In CP, LNCS (Vol. 1894, pp. 441–456). Springer.
Zhang, L., & Malik, S. (2002). The quest for efficient Boolean satisfiability solvers. In CAV, LNCS (Vol. 2404, pp. 17–36). Springer.
Author information
Authors and Affiliations
Corresponding author
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-012-9123-1