Skip to main content
Log in

Solving satisfiability problems with preferences

  • Published:
Constraints Aims and scope Submit manuscript


Propositional satisfiability (SAT) is a success story in Computer Science and Artificial Intelligence: SAT solvers are currently used to solve problems in many different application domains, including planning and formal verification. The main reason for this success is that modern SAT solvers can successfully deal with problems having millions of variables. All these solvers are based on the Davis–Logemann–Loveland procedure (dll). In its original version, dll is a decision procedure, but it can be very easily modified in order to return one or all assignments satisfying the input set of clauses, assuming at least one exists. However, in many cases it is not enough to compute assignments satisfying all the input clauses: Indeed, the returned assignments have also to be “optimal” in some sense, e.g., they have to satisfy as many other constraints—expressed as preferences—as possible. In this paper we start with qualitative preferences on literals, defined as a partially ordered set (poset) of literals. Such a poset induces a poset on total assignments and leads to the definition of optimal model for a formula ψ as a minimal element of the poset on the models of ψ. We show (i) how dll can be extended in order to return one or all optimal models of ψ (once converted in clauses and assuming ψ is satisfiable), and (ii) how the same procedures can be used to compute optimal models wrt a qualitative preference on formulas and/or wrt a quantitative preference on literals or formulas. We implemented our ideas and we tested the resulting system on a variety of very challenging structured benchmarks. The results indicate that our implementation has comparable performances with other state-of-the-art systems, tailored for the specific problems we consider.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others


  1. Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2002). Generic ILP versus specialized 0-1 ILP: An update. In Proc. ICCAD (pp. 450–457).

  2. Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2002). PBS: A backtrack search Pseudo-Boolean solver. In Proc. SAT.

  3. Amgoud, L., Cayrol, C., & Le Berre, D. (1996). Comparing arguments using preference ordering for argument-based reasoning. In Proc. ICTAI (pp. 400–403).

  4. Bailleux, O., & Boufkhad, Y. (2003). Efficient CNF encoding of Boolean cardinality constraints. In Proc. CP (pp. 108–122).

  5. Barth, P. (1995). A Davis-Putnam enumeration algorithm for linear Pseudo-Boolean optimization. Technical report, Max Plank Institute for Computer Science, MPI-I-95-2-2003.

  6. Biere, A., Cimatti, A., Clarke, E., & Zhu, Y. (1999). Symbolic model checking without BDDs. In Proc. TACAS.

  7. Borchers, B., & Furman, J. (1998). A two-phase exact algorithm for Max-SAT and weighted Max-SAT problems. Journal of Combinatorial Optimization, 2(4), 299–306.

    Article  MathSciNet  Google Scholar 

  8. Boutilier, C., Brafman, R. I., Domshlak, C., Hoos, H. H., & Poole, D. (2004). Preference-based constrained optimization with CP-nets. Computational Intelligence, 20(2), 137–157.

    Article  MathSciNet  Google Scholar 

  9. Boutilier, C., Brafman, R. I., Domshlak, C., Hoos, H. H., & Poole, D. (2004). CP-nets: A tool for representing and reasoning with conditional ceteris paribus preference statements. Journal of Artificial Intelligence Research, 21, 135–191.

    MATH  MathSciNet  Google Scholar 

  10. Buresh-Oppenheim, J., & Pitassi, T. (2003). The complexity of resolution refinements. In Proc. LICS (pp. 138–147).

  11. Büttner, M., & Rintanen, J. (2005). Satisfiability planning with constraints on the number of actions. In Proc. ICAPS (pp. 292–299).

  12. Castell, T., Cayrol, C., Cayrol, M., & Le Berre, D. (1996). Using the Davis and Putnam procedure for an efficient computation of preferred models. In Proc. ECAI (pp. 350–354).

  13. Chomicki, J., Conitzer, V., Junker, U., & Perny, P. (Eds.) (2008). 4th Multidisciplinary Workshop on Advances in Preference Handling (MPREF’08). Menlo Park: AAAI.

    Google Scholar 

  14. Codish, M., Lagoon, V., & Stuckey, P. J. (2008). Logic programming with satisfiability. Theory and Practice of Logic Programming, 8(1), 121–128.

    Article  MATH  Google Scholar 

  15. Codish, M., Lagoon, V., & Stuckey, P. J. (2008). Telecommunications feature subscription as a partial order constraint problem. In Proc. ICLP 2008 (pp. 749–753).

  16. Coudert, O. (1996). On solving covering problems. In Proc. DAC (pp. 197–202).

  17. Davis, M., Logemann, G., & Loveland, D. W. (1962). A machine program for theorem proving. Communication of ACM, 5(7), 394–397.

    Article  MATH  MathSciNet  Google Scholar 

  18. De Givry, S., Larrosa, J., Meseguer, P,, & Schieux, T. (2003). Solving Max-SAT as weighted CSP. In Proc. CP (pp. 363–376).

  19. Di Rosa, E., Giunchiglia, E., & Maratea, M. (2008). Computing all optimal solutions in satisfiability problems with preferences. In Proc. CP (pp. 603–607).

  20. Eén, N., & Biere, A. (2005). Effective preprocessing in SAT through variable and clause elimination. In Proc. SAT (pp. 61–75).

  21. Eén, N., & Sörensson, N. (2003). An extensible SAT-solver. In Proc. SAT (pp. 502–518).

  22. 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 

  23. Gerevini, A., Haslum, P., Long, D., Saetti, A., & Dimopoulos, Y. (2009). Deterministic planning in the 5th IPC: PDDL3 and experimental evaluation of the planners. Artificial Intelligence, 173(5–6), 619–668.

    Article  MATH  MathSciNet  Google Scholar 

  24. Giunchiglia, E., & Maratea, M. (2006). Solving optimization problems with DLL. In Proc. ECAI (pp. 377–381).

  25. Giunchiglia, E., & Maratea, M. (2007). Planning as satisfiability with preferences. In Proc. AAAI (pp. 987–992).

  26. Heras, F., Larrosa, J., & Oliveras, A. (2008). MiniMaxSat: A new weighted Max-SAT solver. Journal of Artificial Intelligence Research, 31, 1–32.

    MATH  MathSciNet  Google Scholar 

  27. Jackson, P., & Sheridan, D. (2004). Clause form conversions for Boolean circuits. In Proc. SAT (pp. 183–198).

  28. Järvisalo, M., Junttila, T., & Niemelä, I. (2005). Unrestricted vs restricted cut in a tableau method for Boolean circuits. Annals of Mathematics and Artificial Intelligence, 44(4), 373–399.

    Article  MATH  MathSciNet  Google Scholar 

  29. Jin, H., & Somenzi, F. (2005). Prime clauses for fast enumeration of satisfying assignments to boolean circuits. In Proc. DAC (pp. 750–753).

  30. Kautz, H., & Selman, B. (1992). Planning as satisfiability. In Proc. ECAI (pp. 359–363).

  31. Larrosa, J., & Schiex, T. (2003). In the quest of the best form of local consistency for weighted CSP. In Proc. IJCAI 2003 (pp. 239–244).

  32. Le Berre, D., & Simon, L. (2004). Fifty-five solvers in Vancouver: The SAT 2004 competition. In Proc. SAT (selected papers) (pp. 321–344).

  33. Le Berre, D., & Simon, L. (2006). Preface to the special volume on the SAT 2005 competitions and evaluation. Journal on Satisfiability, Boolean Modeling and Computation, 2, 1–14.

    Google Scholar 

  34. Li, C. M., Manya, F., & Planes, J. (2007). New inference rules for Max-SAT. Journal of Artificial Intelligence Research, 30, 321–359.

    MathSciNet  Google Scholar 

  35. Liffiton, M. H., & Sakallah, K. A., (2008). Algorithms for computing minimal unsatisfiable subsets of constraints. Journal of Automated Reasoning, 40(1), 1–33.

    Article  MATH  MathSciNet  Google Scholar 

  36. Manquinho, V. M., Flores, P. F., Marques Silva, J. P., & Oliveira, A. L., (1997). Prime implicant computation using satisfiability algorithms. In Proc. ICTAI (pp. 232–239).

  37. Manquinho, V. M., & Marques-Silva, J. P. (2000). On solving boolean optimization with satisfiability-based algorithms. In Proc. AMAI.

  38. Manquinho, V. M., & Marques-Silva, J. P. (2006). On using cutting planes in Pseudo-boolean optimization. Journal on Satisfiability, Boolean Modeling and Computation, 2, 209–219.

    MATH  Google Scholar 

  39. Manquinho, V. M., Marques Silva, J. P. & Planes, J. (2009). Algorithms for weighted boolean optimization. In Proc. SAT 2009 (pp. 495–508).

  40. Marques-Silva, J., & Planes, J. (2008). Algorithms for maximum satisfiability using unsatisfiable cores. In Proc. DATE (pp. 408–413).

  41. Marques-Silva, J. P., & Sakallah, K. A. (1996). GRASP—a new search algorithm for satisfiability. In Proc. ICCAD (pp. 220–227).

  42. McMillan, K. L. (1993). Symbolic model checking: An approach to the state explosion problem. Dordrecht: Kluwer Academic.

    Google Scholar 

  43. McMillan, K. L. (2002). Applying SAT methods in unbounded symbolic model checking. In Proc. CAV (pp. 250–264).

  44. Mitchell, D. G. (2005). A SAT solver primer. Bulletin of the European Association for Theoretical Computer Science, 85, 112–132.

    MATH  Google Scholar 

  45. Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: Engineering an efficient SAT Solver. In Proc. DAC (pp. 530–535).

  46. Plaisted, D. A., & Greenbaum, S. (1986). A structure-preserving clause form translation. Journal of Symbolic Computation 2, 293–304.

    Article  MATH  MathSciNet  Google Scholar 

  47. Prestwich, S. D., Rossi, F., Venable, K. B., & Walsh, T. (2005). Constraint-based preferential optimization. In Proc. AAAI (pp. 461–466).

  48. Ramirez, M., & Geffner, H. (2007). Structural relaxations by variable renaming and their compilation for solving MinCostSAT. In Proc. CP (pp. 605–619).

  49. Ravi, K., & Somenzi, F. (2004). Minimal assignments for bounded model checking. In Proc. TACAS (pp. 31–45).

  50. Sakama, C., & Inoue, K. (2000). Prioritized logic programming and its application to commonsense reasoning. Artificial Intelligence, 123(1–2), 185–222.

    Article  MATH  MathSciNet  Google Scholar 

  51. Sheini, H. M., & Sakallah, K. A. (2005). Pueblo: A modern Pseudo-Boolean Sat solver. In Proc. DATE (pp. 684–685).

  52. Siekmann, J., & Wrightson, G. (Eds.) (1983). Automation of reasoning: Classical papers in computational logic (Vol. 1–2, pp. 1967–1970). New York: Springer.

    Google Scholar 

  53. Tseitin, G. S. (1970). On the complexity of proofs in propositional logics. Seminars in Mathematics, 8, 466–483 (Reprinted in [52]).

    Google Scholar 

  54. Van Nieuwenborgh, D., Heymans, S., & Vermeir, D. (2004). On programs with linearly ordered multiple preferences. In Proc. ICLP (pp. 180–194).

  55. Van Nieuwenborgh, D., & Vermeir, D. (2006). Preferred answer sets for ordered logic programs. Theory and Practice of Logic Programming, 6(1–2), 107–167.

    Article  MATH  MathSciNet  Google Scholar 

  56. Warners, J. P. (1998). A linear-time transformation of linear inequalities into conjunctive normal form. Information Processing Letters, 68(2), 63–69.

    Article  MathSciNet  Google Scholar 

  57. Xing, Z., & Zhang, W. (2005). MaxSolver: An efficient exact algorithm for (weighted) maximum satisfiability. Artificial Intelligence, 164(1–2), 47–80.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Emanuele Di Rosa.

Additional information

This work extends the results presented in [19, 24].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Di Rosa, E., Giunchiglia, E. & Maratea, M. Solving satisfiability problems with preferences. Constraints 15, 485–515 (2010).

Download citation

  • Published:

  • Issue Date:

  • DOI: