TY - JOUR
T1 - MaxSolver
T2 - An efficient exact algorithm for (weighted) maximum satisfiability
AU - Xing, Zhao
AU - Zhang, Weixiong
N1 - Funding Information:
Many thanks to Zhongsheng Guo for an early implementation of the DPLL algorithm, to Fadi Aloul, Javier Larrosa, Haiou Shen, and Jordi Plane for making their programs available to us for this research, to John Hagar for a careful reading of the paper, and to the reviewers of this paper and an early version in [45] for many constructive comments and suggestions, which helped improve the research and the presentation of the paper. This research was supported in part by US National Science Foundation Grants IIS-0196057 and EIA-0113618 under the ITR program, and in part by US Defense Research Projects Agency and Air Force Research Laboratory, Air Force Material Command, USAF, under Cooperative Agreements F30602-00-2-0531 and F33615-01-C-1897. The views and conclusions herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the US Government.
PY - 2005/5
Y1 - 2005/5
N2 - Maximum Boolean satisfiability (max-SAT) is the optimization counterpart of Boolean satisfiability (SAT), in which a variable assignment is sought to satisfy the maximum number of clauses in a Boolean formula. A branch and bound algorithm based on the Davis-Putnam-Logemann-Loveland procedure (DPLL) is one of the most competitive exact algorithms for solving max-SAT. In this paper, we propose and investigate a number of strategies for max-SAT. The first strategy is a set of unit propagation or unit resolution rules for max-SAT. We summarize three existing unit propagation rules and propose a new one based on a nonlinear programming formulation of max-SAT. The second strategy is an effective lower bound based on linear programming (LP). We show that the LP lower bound can be made effective as the number of clauses increases. The third strategy consists of a binary-clause first rule and a dynamic-weighting variable ordering rule, which are motivated by a thorough analysis of two existing well-known variable orderings. Based on the analysis of these strategies, we develop an exact solver for both max-SAT and weighted max-SAT. Our experimental results on random problem instances and many instances from the max-SAT libraries show that our new solver outperforms most of the existing exact max-SAT solvers, with orders of magnitude of improvement in many cases.
AB - Maximum Boolean satisfiability (max-SAT) is the optimization counterpart of Boolean satisfiability (SAT), in which a variable assignment is sought to satisfy the maximum number of clauses in a Boolean formula. A branch and bound algorithm based on the Davis-Putnam-Logemann-Loveland procedure (DPLL) is one of the most competitive exact algorithms for solving max-SAT. In this paper, we propose and investigate a number of strategies for max-SAT. The first strategy is a set of unit propagation or unit resolution rules for max-SAT. We summarize three existing unit propagation rules and propose a new one based on a nonlinear programming formulation of max-SAT. The second strategy is an effective lower bound based on linear programming (LP). We show that the LP lower bound can be made effective as the number of clauses increases. The third strategy consists of a binary-clause first rule and a dynamic-weighting variable ordering rule, which are motivated by a thorough analysis of two existing well-known variable orderings. Based on the analysis of these strategies, we develop an exact solver for both max-SAT and weighted max-SAT. Our experimental results on random problem instances and many instances from the max-SAT libraries show that our new solver outperforms most of the existing exact max-SAT solvers, with orders of magnitude of improvement in many cases.
KW - DPLL
KW - Linear programming
KW - Nonlinear programming
KW - Unit propagation
KW - Variable ordering
KW - Weighted maximum satisfiability
UR - https://www.scopus.com/pages/publications/16244363360
U2 - 10.1016/j.artint.2005.01.004
DO - 10.1016/j.artint.2005.01.004
M3 - Article
AN - SCOPUS:16244363360
SN - 0004-3702
VL - 164
SP - 47
EP - 80
JO - Artificial Intelligence
JF - Artificial Intelligence
IS - 1-2
ER -