## Abstract

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.

### Similar content being viewed by others

## References

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).Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2002). PBS: A backtrack search Pseudo-Boolean solver. In

*Proc. SAT*.Amgoud, L., Cayrol, C., & Le Berre, D. (1996). Comparing arguments using preference ordering for argument-based reasoning. In

*Proc. ICTAI*(pp. 400–403).Bailleux, O., & Boufkhad, Y. (2003). Efficient CNF encoding of Boolean cardinality constraints. In

*Proc. CP*(pp. 108–122).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.Biere, A., Cimatti, A., Clarke, E., & Zhu, Y. (1999). Symbolic model checking without BDDs. In

*Proc. TACAS*.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.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.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.Buresh-Oppenheim, J., & Pitassi, T. (2003). The complexity of resolution refinements. In

*Proc. LICS*(pp. 138–147).Büttner, M., & Rintanen, J. (2005). Satisfiability planning with constraints on the number of actions. In

*Proc. ICAPS*(pp. 292–299).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).Chomicki, J., Conitzer, V., Junker, U., & Perny, P. (Eds.) (2008).

*4th Multidisciplinary Workshop on Advances in Preference Handling (MPREF’08)*. Menlo Park: AAAI.Codish, M., Lagoon, V., & Stuckey, P. J. (2008). Logic programming with satisfiability.

*Theory and Practice of Logic Programming, 8*(1), 121–128.Codish, M., Lagoon, V., & Stuckey, P. J. (2008). Telecommunications feature subscription as a partial order constraint problem. In

*Proc. ICLP 2008*(pp. 749–753).Coudert, O. (1996). On solving covering problems. In

*Proc. DAC*(pp. 197–202).Davis, M., Logemann, G., & Loveland, D. W. (1962). A machine program for theorem proving.

*Communication of ACM, 5*(7), 394–397.De Givry, S., Larrosa, J., Meseguer, P,, & Schieux, T. (2003). Solving Max-SAT as weighted CSP. In

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

*Proc. CP*(pp. 603–607).Eén, N., & Biere, A. (2005). Effective preprocessing in SAT through variable and clause elimination. In

*Proc. SAT*(pp. 61–75).Eén, N., & Sörensson, N. (2003). An extensible SAT-solver. In

*Proc. SAT*(pp. 502–518).Eén, N., & Sörensson, N. (2006). Translating Pseudo-Boolean constraints into SAT.

*Journal on Satisfiability, Boolean Modeling and Computation, 2*, 1–26.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.Giunchiglia, E., & Maratea, M. (2006). Solving optimization problems with DLL. In

*Proc. ECAI*(pp. 377–381).Giunchiglia, E., & Maratea, M. (2007). Planning as satisfiability with preferences. In

*Proc. AAAI*(pp. 987–992).Heras, F., Larrosa, J., & Oliveras, A. (2008). MiniMaxSat: A new weighted Max-SAT solver.

*Journal of Artificial Intelligence Research, 31*, 1–32.Jackson, P., & Sheridan, D. (2004). Clause form conversions for Boolean circuits. In

*Proc. SAT*(pp. 183–198).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.Jin, H., & Somenzi, F. (2005). Prime clauses for fast enumeration of satisfying assignments to boolean circuits. In

*Proc. DAC*(pp. 750–753).Kautz, H., & Selman, B. (1992). Planning as satisfiability. In

*Proc. ECAI*(pp. 359–363).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).Le Berre, D., & Simon, L. (2004). Fifty-five solvers in Vancouver: The SAT 2004 competition. In

*Proc. SAT (selected papers)*(pp. 321–344).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.Li, C. M., Manya, F., & Planes, J. (2007). New inference rules for Max-SAT.

*Journal of Artificial Intelligence Research, 30*, 321–359.Liffiton, M. H., & Sakallah, K. A., (2008). Algorithms for computing minimal unsatisfiable subsets of constraints.

*Journal of Automated Reasoning, 40*(1), 1–33.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).Manquinho, V. M., & Marques-Silva, J. P. (2000). On solving boolean optimization with satisfiability-based algorithms. In

*Proc. AMAI*.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.Manquinho, V. M., Marques Silva, J. P. & Planes, J. (2009). Algorithms for weighted boolean optimization. In

*Proc. SAT 2009*(pp. 495–508).Marques-Silva, J., & Planes, J. (2008). Algorithms for maximum satisfiability using unsatisfiable cores. In

*Proc. DATE*(pp. 408–413).Marques-Silva, J. P., & Sakallah, K. A. (1996). GRASP—a new search algorithm for satisfiability. In

*Proc. ICCAD*(pp. 220–227).McMillan, K. L. (1993).

*Symbolic model checking: An approach to the state explosion problem*. Dordrecht: Kluwer Academic.McMillan, K. L. (2002). Applying SAT methods in unbounded symbolic model checking. In

*Proc. CAV*(pp. 250–264).Mitchell, D. G. (2005). A SAT solver primer.

*Bulletin of the European Association for Theoretical Computer Science, 85*, 112–132.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).Plaisted, D. A., & Greenbaum, S. (1986). A structure-preserving clause form translation.

*Journal of Symbolic Computation 2*, 293–304.Prestwich, S. D., Rossi, F., Venable, K. B., & Walsh, T. (2005). Constraint-based preferential optimization. In

*Proc. AAAI*(pp. 461–466).Ramirez, M., & Geffner, H. (2007). Structural relaxations by variable renaming and their compilation for solving MinCostSAT. In

*Proc. CP*(pp. 605–619).Ravi, K., & Somenzi, F. (2004). Minimal assignments for bounded model checking. In

*Proc. TACAS*(pp. 31–45).Sakama, C., & Inoue, K. (2000). Prioritized logic programming and its application to commonsense reasoning.

*Artificial Intelligence, 123*(1–2), 185–222.Sheini, H. M., & Sakallah, K. A. (2005). Pueblo: A modern Pseudo-Boolean Sat solver. In

*Proc. DATE*(pp. 684–685).Siekmann, J., & Wrightson, G. (Eds.) (1983).

*Automation of reasoning: Classical papers in computational logic*(Vol. 1–2, pp. 1967–1970). New York: Springer.Tseitin, G. S. (1970). On the complexity of proofs in propositional logics.

*Seminars in Mathematics, 8*, 466–483 (Reprinted in [52]).Van Nieuwenborgh, D., Heymans, S., & Vermeir, D. (2004). On programs with linearly ordered multiple preferences. In

*Proc. ICLP*(pp. 180–194).Van Nieuwenborgh, D., & Vermeir, D. (2006). Preferred answer sets for ordered logic programs.

*Theory and Practice of Logic Programming, 6*(1–2), 107–167.Warners, J. P. (1998). A linear-time transformation of linear inequalities into conjunctive normal form.

*Information Processing Letters, 68*(2), 63–69.Xing, Z., & Zhang, W. (2005). MaxSolver: An efficient exact algorithm for (weighted) maximum satisfiability.

*Artificial Intelligence, 164*(1–2), 47–80.

## Author information

### Authors and Affiliations

### Corresponding author

## Rights 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). https://doi.org/10.1007/s10601-010-9095-y

Published:

Issue Date:

DOI: https://doi.org/10.1007/s10601-010-9095-y