Solving MAXSAT by solving a sequence of simpler SAT instances

  • Authors:
  • Jessica Davies;Fahiem Bacchus

  • Affiliations:
  • Department of Computer Science, University of Toronto, Toronto, Ontario, Canada;Department of Computer Science, University of Toronto, Toronto, Ontario, Canada

  • Venue:
  • CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

MAXSAT is an optimization version of Satisfiability aimed at finding a truth assignment that maximizes the satisfaction of the theory. The technique of solving a sequence of SAT decision problems has been quite successful for solving larger, more industrially focused MAXSAT instances, particularly when only a small number of clauses need to be falsified. The SAT decision problems, however, become more and more complicated as the minimal number of clauses that must be falsified increases. This can significantly degrade the performance of the approach. This technique also has more difficulty with the important generalization where each clause is given a weight: the weights generate SAT decision problems that are harder for SAT solvers to solve. In this paper we introduce a new MAXSAT algorithm that avoids these problems. Our algorithm also solves a sequence of SAT instances. However, these SAT instances are always simplifications of the initial MAXSAT formula, and thus are relatively easy for modern SAT solvers. This is accomplished by moving all of the arithmetic reasoning into a separate hitting set problem which can then be solved with techniques better suited to numeric reasoning, e.g., techniques from mathematical programming. As a result the performance of our algorithm is unaffected by the addition of clause weights. Our algorithm can, however, require solving more SAT instances than previous approaches. Nevertheless, the approach is simpler than previous methods and displays superior performance on some benchmarks.