Handling All Unit Propagation Reasons in Exact Max-SAT Solvers
DOI:
https://doi.org/10.1609/socs.v5i1.18313Keywords:
Max-SAT, branch and bound, unit propagationAbstract
Unit propagation (UP) based method are widely used in Branch and Bound (BnB) Max-SAT solvers for detecting disjoint inconsistent subsets (IS) during the lower bound (LB) estimation. UP consists in assigning to true (propagating) all the literals which appear in unit clauses. The existing implementations of UP only consider the first unit clause causing the assignment of each variable, thus the propagations must be done and undone chronologically to ensure that all the unit clauses are properly exploited. Max-SAT BnB solvers transforms the formulas to ensure IS disjointness. These transformations remove clauses from the formula thus propagations are frequently undone. Since the propagations are undone in chronological order, many useless unassignments and reassignments are performed. We propose in this paper a new unit propagation scheme which considers all the unit clauses causing the assignment of the variables by UP. This new scheme allows to undo propagations in a non-chronological way and thus it reduces the number of redundant propagation steps made by BnB solvers. We also show how the information available with this new scheme can be used to influence the characteristics of the IS built by BnB solvers. We propose a heuristic which aims at reducing their size, and thus improving the quality of the LB estimation. We have implemented the new propagation scheme as well as the IS building heuristic in our solver MSsolver. We present and discuss the results of the experimental study we have performed.