, Volume 15, Issue 4, pp 485–515 | Cite as

Solving satisfiability problems with preferences

  • Emanuele Di RosaEmail author
  • Enrico Giunchiglia
  • Marco Maratea


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.


Satisfiability Preferences 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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).Google Scholar
  2. 2.
    Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2002). PBS: A backtrack search Pseudo-Boolean solver. In Proc. SAT.Google Scholar
  3. 3.
    Amgoud, L., Cayrol, C., & Le Berre, D. (1996). Comparing arguments using preference ordering for argument-based reasoning. In Proc. ICTAI (pp. 400–403).Google Scholar
  4. 4.
    Bailleux, O., & Boufkhad, Y. (2003). Efficient CNF encoding of Boolean cardinality constraints. In Proc. CP (pp. 108–122).Google Scholar
  5. 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.Google Scholar
  6. 6.
    Biere, A., Cimatti, A., Clarke, E., & Zhu, Y. (1999). Symbolic model checking without BDDs. In Proc. TACAS.Google Scholar
  7. 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.CrossRefMathSciNetGoogle Scholar
  8. 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.CrossRefMathSciNetGoogle Scholar
  9. 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.zbMATHMathSciNetGoogle Scholar
  10. 10.
    Buresh-Oppenheim, J., & Pitassi, T. (2003). The complexity of resolution refinements. In Proc. LICS (pp. 138–147).Google Scholar
  11. 11.
    Büttner, M., & Rintanen, J. (2005). Satisfiability planning with constraints on the number of actions. In Proc. ICAPS (pp. 292–299).Google Scholar
  12. 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).Google Scholar
  13. 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. 14.
    Codish, M., Lagoon, V., & Stuckey, P. J. (2008). Logic programming with satisfiability. Theory and Practice of Logic Programming, 8(1), 121–128.zbMATHCrossRefGoogle Scholar
  15. 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).Google Scholar
  16. 16.
    Coudert, O. (1996). On solving covering problems. In Proc. DAC (pp. 197–202).Google Scholar
  17. 17.
    Davis, M., Logemann, G., & Loveland, D. W. (1962). A machine program for theorem proving. Communication of ACM, 5(7), 394–397.zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    De Givry, S., Larrosa, J., Meseguer, P,, & Schieux, T. (2003). Solving Max-SAT as weighted CSP. In Proc. CP (pp. 363–376).Google Scholar
  19. 19.
    Di Rosa, E., Giunchiglia, E., & Maratea, M. (2008). Computing all optimal solutions in satisfiability problems with preferences. In Proc. CP (pp. 603–607).Google Scholar
  20. 20.
    Eén, N., & Biere, A. (2005). Effective preprocessing in SAT through variable and clause elimination. In Proc. SAT (pp. 61–75).Google Scholar
  21. 21.
    Eén, N., & Sörensson, N. (2003). An extensible SAT-solver. In Proc. SAT (pp. 502–518).Google Scholar
  22. 22.
    Eén, N., & Sörensson, N. (2006). Translating Pseudo-Boolean constraints into SAT. Journal on Satisfiability, Boolean Modeling and Computation, 2, 1–26.zbMATHGoogle Scholar
  23. 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.zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Giunchiglia, E., & Maratea, M. (2006). Solving optimization problems with DLL. In Proc. ECAI (pp. 377–381).Google Scholar
  25. 25.
    Giunchiglia, E., & Maratea, M. (2007). Planning as satisfiability with preferences. In Proc. AAAI (pp. 987–992).Google Scholar
  26. 26.
    Heras, F., Larrosa, J., & Oliveras, A. (2008). MiniMaxSat: A new weighted Max-SAT solver. Journal of Artificial Intelligence Research, 31, 1–32.zbMATHMathSciNetGoogle Scholar
  27. 27.
    Jackson, P., & Sheridan, D. (2004). Clause form conversions for Boolean circuits. In Proc. SAT (pp. 183–198).Google Scholar
  28. 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.zbMATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    Jin, H., & Somenzi, F. (2005). Prime clauses for fast enumeration of satisfying assignments to boolean circuits. In Proc. DAC (pp. 750–753).Google Scholar
  30. 30.
    Kautz, H., & Selman, B. (1992). Planning as satisfiability. In Proc. ECAI (pp. 359–363).Google Scholar
  31. 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).Google Scholar
  32. 32.
    Le Berre, D., & Simon, L. (2004). Fifty-five solvers in Vancouver: The SAT 2004 competition. In Proc. SAT (selected papers) (pp. 321–344).Google Scholar
  33. 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. 34.
    Li, C. M., Manya, F., & Planes, J. (2007). New inference rules for Max-SAT. Journal of Artificial Intelligence Research, 30, 321–359.MathSciNetGoogle Scholar
  35. 35.
    Liffiton, M. H., & Sakallah, K. A., (2008). Algorithms for computing minimal unsatisfiable subsets of constraints. Journal of Automated Reasoning, 40(1), 1–33.zbMATHCrossRefMathSciNetGoogle Scholar
  36. 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).Google Scholar
  37. 37.
    Manquinho, V. M., & Marques-Silva, J. P. (2000). On solving boolean optimization with satisfiability-based algorithms. In Proc. AMAI.Google Scholar
  38. 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.zbMATHGoogle Scholar
  39. 39.
    Manquinho, V. M., Marques Silva, J. P. & Planes, J. (2009). Algorithms for weighted boolean optimization. In Proc. SAT 2009 (pp. 495–508).Google Scholar
  40. 40.
    Marques-Silva, J., & Planes, J. (2008). Algorithms for maximum satisfiability using unsatisfiable cores. In Proc. DATE (pp. 408–413).Google Scholar
  41. 41.
    Marques-Silva, J. P., & Sakallah, K. A. (1996). GRASP—a new search algorithm for satisfiability. In Proc. ICCAD (pp. 220–227).Google Scholar
  42. 42.
    McMillan, K. L. (1993). Symbolic model checking: An approach to the state explosion problem. Dordrecht: Kluwer Academic.Google Scholar
  43. 43.
    McMillan, K. L. (2002). Applying SAT methods in unbounded symbolic model checking. In Proc. CAV (pp. 250–264).Google Scholar
  44. 44.
    Mitchell, D. G. (2005). A SAT solver primer. Bulletin of the European Association for Theoretical Computer Science, 85, 112–132.zbMATHGoogle Scholar
  45. 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).Google Scholar
  46. 46.
    Plaisted, D. A., & Greenbaum, S. (1986). A structure-preserving clause form translation. Journal of Symbolic Computation 2, 293–304.zbMATHCrossRefMathSciNetGoogle Scholar
  47. 47.
    Prestwich, S. D., Rossi, F., Venable, K. B., & Walsh, T. (2005). Constraint-based preferential optimization. In Proc. AAAI (pp. 461–466).Google Scholar
  48. 48.
    Ramirez, M., & Geffner, H. (2007). Structural relaxations by variable renaming and their compilation for solving MinCostSAT. In Proc. CP (pp. 605–619).Google Scholar
  49. 49.
    Ravi, K., & Somenzi, F. (2004). Minimal assignments for bounded model checking. In Proc. TACAS (pp. 31–45).Google Scholar
  50. 50.
    Sakama, C., & Inoue, K. (2000). Prioritized logic programming and its application to commonsense reasoning. Artificial Intelligence, 123(1–2), 185–222.zbMATHCrossRefMathSciNetGoogle Scholar
  51. 51.
    Sheini, H. M., & Sakallah, K. A. (2005). Pueblo: A modern Pseudo-Boolean Sat solver. In Proc. DATE (pp. 684–685).Google Scholar
  52. 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. 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. 54.
    Van Nieuwenborgh, D., Heymans, S., & Vermeir, D. (2004). On programs with linearly ordered multiple preferences. In Proc. ICLP (pp. 180–194).Google Scholar
  55. 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.zbMATHCrossRefMathSciNetGoogle Scholar
  56. 56.
    Warners, J. P. (1998). A linear-time transformation of linear inequalities into conjunctive normal form. Information Processing Letters, 68(2), 63–69.CrossRefMathSciNetGoogle Scholar
  57. 57.
    Xing, Z., & Zhang, W. (2005). MaxSolver: An efficient exact algorithm for (weighted) maximum satisfiability. Artificial Intelligence, 164(1–2), 47–80.zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Emanuele Di Rosa
    • 1
    Email author
  • Enrico Giunchiglia
    • 1
  • Marco Maratea
    • 1
  1. 1.DISTUniversity of GenoaGenoaItaly

Personalised recommendations