Combining Clause Learning and Branch and Bound for MaxSAT
Chu-Min Li, Zhenxing Xu, Jordi Coll, Felip Manyà, Djamal Habet, Kun He, Combining Clause Learning and Branch and Bound for MaxSAT, in CP-2021, to appear
2012 ACM Subject Classification Software and its engineering → Constraints
Keywords and phrases MaxSAT, Branch&Bound, CDCL
Digital Object Identifier 10.4230/LIPIcs.CP.2021.38
Supplementary Material Software (Source Code): https://home.mis.u-picardie.fr/~cli/EnglishPage.html
Funding This work has been partially funded by the French Agence Nationale de la Recherche,
reference ANR-19-CHIA-0013-01, and the Spanish AEI project PID2019-111544GB-C2.
Acknowledgements This work has been partially supported by Archimedes Institute, Aix-Marseille
University. We thank the anonymous reviewers for their comments and suggestions that helped to
improve the manuscript.
两个重要网址:
https://maxsat-evaluations.github.io/2021/descriptions.html (文章从这直接进入链接:https://doi.org/10.4230/LIPIcs.CP.2021.38)
https://home.mis.u-picardie.fr/~cli/EnglishPage.html
Abstract
Branch and Bound (BnB) is a powerful technique that has been successfully used to solve many
In fact, there Our The experimental results show Furthermore, MaxCDCL, when combined |
|
1 Introduction
The Maximum satisfiability problem (MaxSAT) is an optimization version of a well-studied MaxSAT有很多共同之处,解决MaxSAT比解决SAT在实践中的难度要大得多。 |
|
Indeed, since several clauses can be falsified in an optimal MaxSAT solution, some fundamental Despite this difficulty, huge efforts made by researchers make it possible nowadays to solve many interesting real-world and academic NP-hard optimization problems encoded as MaxSAT instances [11, 26]. For this reason, MaxSAT has attracted increasing interest from the academy and industry in recent years. 译文:尽管存在这一困难,但研究人员的巨大努力使许多有趣的现实世界和学术NP-hard优化问题成为可能,这些问题编码为MaxSAT实例[11,26]。因此,近年来,MaxSAT吸引了越来越多的学术界和业界的兴趣。 |
|
As for many NP-hard problems, algorithms for MaxSAT are divided into two categories: 译文: |
|
We roughly distinguish two types of exact algorithms for MaxSAT: branch-and-bound 译文:
The performance of SAT-based MaxSAT algorithms is usually
Unfortunately,it is hard for a BnB solver to exploit clause learning. 译文:不幸的是,BnB解决者很难利用条款学习。 In a CDCL SAT solver, a backtracking
However, a BnB MaxSAT solver also need to Probably because of this difficulty, |
|
In this paper, we propose an original approach that allows a BnB MaxSAT solver to learn This approach is implemented in a new BnB MaxSAT solver, called MaxCDCL, The experimental results |
|
Combining clause learning and BnB, as clause learning itself, belongs to the general In other fields such as Pseudo-Boolean Optimization (PBO), there are also The general framework is not hard to understand. So, one important contribution of our work is that we found a configuration and an efficient implementation of this configuration allowing to make the combination of clause learning and BnB effective for MaxSAT, as presented in this paper. 译文:因此,我们工作的一个重要贡献是,我们找到了一种配置和这种配置的有效实现,使子句学习和BnB的组合对MaxSAT有效,如本文所述。 |
|
译文:更重要的是,我们的研究结果反驳了该领域的主流观点,即尽管BnB是一个强大的技术,已经成功地解决了许多组合优化问题,但它对MaxSAT没有太大的用处。作为首个成功利用子学习的BnB MaxSAT求解器,MaxCDCL开辟了广阔的研究方向。
More importantly, our results refute a prevailing opinion in the field stating that, although |
|
译文:本文的组织形式如下:第2节为论文的初步准备。第3节回顾了最先进的MaxSAT解决方案。第4节描述了MaxCDCL。第五部分对MaxCDCL进行了实证评价和分析。第六节总结。 This paper is organized as follows: Section 2 presents the preliminaries. Section 3 reviews |
|
2 Preliminaries
A propositional variable x can take values 0 or 1 (false or true). A literal is a variable x or |
|
MaxSAT is the problem of finding an assignment that satisfies the maximum number of
|
|
The state-of-the-art SAT solvers implement the CDCL algorithm. CDCL alternates a |
|
When a conflict is found in the decision level dl (i.e., dl decisions were made before the the negation of these literals and the 1UIP. For instance, in Figure 1, clause ¬x8 ∨ x11 ∨ ¬x25 |
|
Figure 1 shows an example of implication graph. It is a directed acyclic graph where each |
|
The learnt clause explains the conflict: when all its literals are falsified, unit propagation |
|
3 Related Work
A major difference between MaxSAT and SAT solvers is that each clause must be satisfied in |
|
Roughly speaking, we find two main groups of exact MaxSAT solvers: branch-and-bound
BnB MaxSAT solvers implement the branch-and-bound 译文:MaxSAT求解器实现了分支定界方案,并结合了一个前瞻过程,通过应用单元传播来检测软子句的不一致子集,并计算一个下界[26]。
They also apply some inference rules at each node of the search tree. 译文:它们还在搜索树的每个节点上应用一些推理规则。 Representative BnB solvers are MaxSatz [30],
Recently, it was |
|
SAT-based MaxSAT solvers proceed by reformulating the MaxSAT optimization problem These solvers could still be divided into
Among such solvers
Core-guided and MHS-guided approaches consider a MaxSAT instance as a SAT instance and call a CDCL SAT solver to identify an unsatisfiable subset of soft clauses, called a core. Core-guided和mhs引导的方法考虑MaxSAT实例作为一个SAT实例,并调用CDCL SAT求解器识别出一个软子句的不可满足子集,称为核心子句。
Then, they
The difference between 译文: The most representative core-guided solvers include msu1.2 [36],
|
|
A common point of SAT-based MaxSAT solvers is that they indirectly exploit the clause 译文:基于SAT的MaxSAT求解器的一个共同点是,它们通过反复调用CDCL SAT求解器间接利用子句学习技术。
Unfortunately, it is hard We are aware of only one tentative in [2]: when the 译文:我们知道在[2]中只有一个试探性:当证伪软子句的数量达到上限时,分析这些软子句的证伪来学习一个子句。然而,当前瞻过程返回的下界等于上界,并且报告的结果不是竞争性的时,就不会学习子句。 |
|
4 MaxCDCL: A BnB Algorithm Using CDCL for MaxSAT
This section first presents the general structure of MaxCDCL, and then the different components 译文:本节首先介绍MaxCDCL的一般结构,然后介绍在MaxCDCL中实现的方法的不同组件. |
|
4.1 General Structure of MaxCDCL |
|
We distinguish between hard and soft conflicts in the MaxSAT context. A hard conflict |
|
Given a MaxSAT instance with a set of hard clauses and a set of soft clauses, MaxCDCL |
|
MaxCDCL is like a CDCL SAT solver except for two points. First, when UP does not |
|
Note that model-guided MaxSAT solvers also set a UB in their search. However, they do |
|
Algorithm 1 MaxCDCL(H, S,UB), a generic CDCL procedure with lookahead for
|
|
4.2 Combining Lookahead and Clause Learning | |
|
|
Proposition 2 provides the foundation of our approach in the general case. | |
|
|
|
|
|
|
|
|
4.3 A Probing Strategy for Lookahead |
|
Existing BnB MaxSAT solvers usually tackle random or crafted instances of limited size and |
|
MaxCDCL uses a probing strategy to determine if lookahead has to be applied at the |
|
Inspired by the 68-95-99.7 rule in statistics, which says that the values within one (two, |
|
Concretely, coef is initialized to 2 for each UB. At each probing, if the success rate of |
|
4.4 Soft literal ordering in lookahead |
|
Existing BnB MaxSAT solvers such as MaxSatz usually propagate soft unit clauses in the |
|
Re-detecting a previous local core allows to obtain a possibly smaller local core due to additional assignments.
detect a new soft conflict sharing many local cores with the previous conflict. In this way, the clauses learnt from consecutive soft conflicts allow to intensify the search, because the clause learnt from a soft conflict is derived from the reasons of the detected cores. |
|
The quality of a clause learnt from a soft conflict highly depends on the detected cores, |
|
4.5 Improving the VSIDS heuristic by lookahead |
|
When there is no unit clause, a CDCL SAT solver chooses a free literal l using a decision |
|
VSIDS is also used in MaxCDCL by increasing the score of a variable in a soft or hard |
|
4.6 Implementation of MaxCDCL |
|
Since MaxCDCL can be considered as an extension of a CDCL SAT solver, it is implemented |
|
reduce the clauses learnt from soft conflicts. This technique is particularly useful for
allowing more learnt clauses to be kept in the clause database. |
|
We plan to implement MaxCDCL on top of Kissat [13], the winner of the SAT2020 |
|
5 Experimental Evaluation
We report on an experimental investigation to assess the performance of MaxCDCL. We |
|
MSE19∪20: The union of all the instances used in the complete unweighted track of the |
|
The cutoff time is one hour (3600s) per instance as in the MaxSAT Evaluation. For |
|
|
|
5.1 MaxCDCL Components |
|
Table 1 compares MaxCDCL with the following variants:
satisfied in line 3 of Algorithm 2. Note that after finding a feasible UB, MaxCDCL\LA
lookahead is always satisfied in line 3 of Algorithm 2.
soft literals in the ordering as the corresponding soft clauses occur in the input instance.
contributing to a local core detected in lookahead as described in Subsection 4.5. |
|
In Table 1, columns “#solv” give the number of solved instances and columns “avg” give |
|
Recall that the most fundamental feature of MaxCDCL is the clause learning from soft of a clause learnt from a soft (hard) conflict is 23.67 (19.2) among the 734 instances solved in |
|
In addition, the comparison of MaxCDCL with MaxCDCL\VSIDSbyLA suggests that the |
|
To complete the subsection, we mention the impact of two other components of MaxCDCL: |
|
|
|
5.2 Comparison with the top 5 Solvers in MSE2020 |
|
A total of 15 solvers competed in the complete unweighted track of MSE2020 [9]. We consider |
|
Table 2 shows the results for MSE19∪20 and MC, respectively. Column “#uniq” has the |
|
We observe that MaxCDCL solves more instances than two top 5 solvers in MSE19∪20 |
|
5.3 Combining MaxCDCL with existing solvers |
|
Given two deterministic solvers X and Y and a time limit T to solve an NP-hard problem |
|
Table 3 shows the results of all possible pairwise combinations of the top 5 solvers and |
|
More importantly, MaxCDCL combined with the top 2 solvers, MaxHS and EvalMaxSAT, |
|
Figure 3 shows cactus plots comparing the best two combinations of solvers with Max- |
|
|
|
5.4 Comparison with a BnB Solver |
|
We compare MaxCDCL with ahmaxsat, which was the best BnB solver in the last MaxSAT 译文:我们比较了MaxCDCL和ahmaxsat,后者是上届MaxSAT评估(MSE2016)中BnB解算器竞争的最佳解算器。我们使用类别MaxSAT (ms)和部分MaxSAT (pms)的MSE2016实例。每个类别都有随机的(运行的)、手工的(工艺的)和工业的(在)实例。因此,我们总共考虑6个家庭。 |
|
The results are shown in Table 4, where the number of instances for each family is given |
|
6 Conclusion
We described MaxCDCL, a MaxSAT solver that combines, for the first time to the best of 译文:我们第一次描述了MaxCDCL,一个MaxSAT求解器,它结合了我们所知道的最好的分支和约束以及子句学习。 译文:MaxCDCL与现有基于sat的MaxSAT求解器的主要区别如下: |
|
in the internal operations of the SAT solver when solving an instance, while MaxCDCL
the number of soft clauses that can be falsified. The difference lies in how to exploit
core-guided or MHS-guided MaxSAT solver only identifies global cores (i.e., the cores |
|
The extensive experimentation conducted shows that MaxCDCL is ranked among the top |
|
Detailed analyses indicate that the performance of MaxCDCL comes from a careful |
|
We believe that the proposed approach opens new and promising research directions, |
|
References
1 André Abramé and Djamal Habet. Ahmaxsat: Description and evaluation of a branch and 3 Carlos Ansótegui, María Luisa Bonet, and Jordi Levy. Solving (Weighted) Partial MaxSAT 4 Carlos Ansótegui, María Luisa Bonet, and Jordi Levy. A new algorithm for weighted partial 5 Carlos Ansótegui, Maria Luisa Bonet, and Jordi Levy. SAT-based MaxSAT algorithms. 6 Carlos Ansótegui and Joel Gabàs. WPM3: An (in)complete algorithm for Weighted Partial 7 Gilles Audemard and Laurent Simon. Predicting learnt clauses quality in modern SAT solvers. 8 Fahiem Bacchus. MaxHS in the 2020 MaxSAT Evaluation. In MaxSAT Evaluation 2020: 9 Fahiem Bacchus, Jeremias Berg, Matti Järvisalo, and Ruben Martins. MaxSAT Evaluation 10 Fahiem Bacchus, Antti Hyttinen, Matti Järvisalo, and Paul Saikko. Reduced cost fixing in 11 Fahiem Bacchus, Matti Järvisalo, and Martins Ruben. Maximum satisfiability. In Handbook 12 Daniel Le Berre and Anne Parrain. The Sat4j library, release 2.2. J. Satisf. Boolean Model. 13 Armin Biere, Katalin Fazekas, Mathias Fleury, and Maximilian Heisinger. CaDiCaL, Kissat, 14 Mohamed Sami Cherif, Djamal Habet, and André Abramé. Understanding the power of 15 Jessica Davies and Fahiem Bacchus. Solving MAXSAT by solving a sequence of simpler SAT 16 Jessica Davies and Fahiem Bacchus. Exploiting the power of MIP solvers in MAXSAT. In 17 Jo Devriendt, Ambros Gleixner, and Jakob Nordström. Learn to relax: Integrating 0-1 integer 18 Nick Feng and Fahiem Bacchus. Clause size reduction with all-uip learning. In Proceedings of 19 Graeme Gange, Jeremias Berg, Emir Demirović, and Peter J Stuckey. Core-guided and 20 Federico Heras, Javier Larrosa, and Albert Oliveras. MiniMaxSAT: An efficient Weighted 21 Alexey Ignatiev, António Morgado, and João Marques-Silva. RC2: an efficient maxsat solver. 22 Stepan Kochemazov. Improving implementation of SAT competitions 2017–2019 winners. In 23 Miyuki Koshimura, Tong Zhang, Hiroshi Fujita, and Ryuzo Hasegawa. QMaxSAT: A Partial 24 Adrian Kuegel. Improved exact solver for the Weighted MAX-SAT problem. In Proceedings of 25 Zhendong Lei and Shaowei Cai. Solving (Weighted) Partial MaxSAT by dynamic local search 26 Chu Min Li and Felip Manyà. MaxSAT, hard and soft constraints. In Handbook of satisfiability, 27 Chu Min Li, Felip Manya, Nouredine Ould Mohamedou, and Jordi Planes. Resolution-based
28 Chu Min Li, Felip Manya, and Jordi Planes. Exploiting unit propagation to compute lower 29 Chu Min Li, Felip Manya, and Jordi Planes. Detecting disjoint inconsistent subformulas for 30 Chu Min Li, Felip Manyà, and Jordi Planes. New inference rules for Max-SAT. Journal of 31 Chu-Min Li, Fan Xiao, Mao Luo, Felip Manyà, Zhipeng Lü, and Yu Li. Clause vivification by 32 Jia Hui Liang, Chanseok Oh, Vijay Ganesh, Krzysztof Czarnecki, and Pascal Poupart. Maple- 33 Michael Luby, Alistair Sinclair, and David Zuckerman. Optimal speedup of Las Vegas 34 Mao Luo, Chu-Min Li, Fan Xiao, Felip Manyà, and Zhipeng Lü. An effective learnt clause 35 Vasco M. Manquinho, Joao Marques-Silva, and Jordi Planes. Algorithms for weighted Boolean 36 Joao Marques-Silva and Vasco M. Manquinho. Towards more effective unsatisfiability-based
|
|