Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers
Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence. Main Track. Pages 1989-1997.
https://doi.org/10.24963/ijcai.2024/220
Keywords
- Constraint Satisfaction and Optimization: CSO: Satisfiabilty
- Search: S: Local search
- Constraint Satisfaction and Optimization: CSO: Solvers and tools
Abstract
MaxSAT is an optimization version of the famous NP-complete Satisfiability problem (SAT). Algorithms for MaxSAT mainly include complete solvers and local search incomplete solvers. In many complete solvers, once a better solution is found, a Soft conflict Pseudo Boolean (SPB) constraint will be generated to enforce the algorithm to find better solutions. In many local search algorithms, clause weighting is a key technique for effectively guiding the search directions. In this paper, we propose to transfer the SPB constraint into the clause weighting system of the local search method, leading the algorithm to better solutions. We further propose an adaptive clause weighting strategy that breaks the tradition of using constant values to adjust clause weights. Based on the above methods, we propose a new local search algorithm called SPB-MaxSAT that provides new perspectives for clause weighting on MaxSAT local search solvers. Extensive experiments demonstrate the excellent performance of the proposed methods.
- Benchmark #inst. SPB-MaxSAT (60s) SPB-MaxSAT δ=1 (60s) SPB-MaxSAT (300s) SPB-MaxSAT δ=1 (300s) #win time #score #win time #score #win time #score #win time #score PMS2018 153 104 14.38 0.7562 96 12.60 0.7432 106 57.60 0.7819 103 54.96 0.7708 PMS2019 299 206 12.76 0.7384 193 10.05 0.7383 213 51.21 0.7701 202 43.33 0.7657 PMS2020 262 169 12.45 0.7378 168 12.05 0.7366 178 52.85 0.7586 175 47.37 0.7545 PMS2021 155 97 14.27 0.6565 99 13.97 0.6529 97 45.06 0.6707 103 39.64 0.6658 PMS2022 179 118 15.96 0.7167 108 14.96 0.7113 115 56.96 0.7281 118 56.02 0.7274 PMS2023 179 114 18.90 0.6805 91 14.82 0.6672 115 83.81 0.7130 103 75.97 0.7052 WPMS2018 172 112 17.72 0.7815 94 18.38 0.7797 114 79.72 0.7939 95 72.90 0.7896 WPMS2019 297 195 18.85 0.7711 163 19.74 0.7659 185 77.04 0.7983 179 80.77 0.7913 WPMS2020 253 160 22.07 0.7795 129 23.10 0.7756 159 89.33 0.8125 140 95.41 0.8045 WPMS2021 151 78 20.92 0.6887 81 25.85 0.6897 85 111.24 0.7252 79 107.89 0.7231 WPMS2022 197 103 20.41 0.7119 95 22.01 0.7121 108 109.06 0.7613 107 107.62 0.7541 WPMS2023 160 97 19.05 0.6655 81 21.90 0.6615 103 94.51 0.7125 78 88.39 0.7079 References
- [Ansótegui et al., 2013] Carlos Ansótegui, Maria Luisa Bonet, and Jordi Levy. SAT-based MaxSAT algorithms. Artificial Intelligence, 196:77-105, 2013.
- [Berg et al., 2019] Jeremias Berg, Emir Demirovic, and Pe- ter J. Stuckey. Core-boosted linear search for incomplete MaxSAT. In Proceedings of the 16th International Confer- ence on Integration of Constraint Programming, Artificial Intelligence, and Operations Research, volume 11494, pages 39-56, 2019.
- [Bonet et al., 2019] Blai Bonet, Guillem Francès, and Hec- tor Geffner. Learning features and abstract actions for computing generalized plans. In Proceedings of the 33rd AAAI Conference on Artificial Intelligence, pages 2703- 2710, 2019.
- [Cai and Lei, 2020] Shaowei Cai and Zhendong Lei. Old techniques in new ways: Clause weighting, unit propaga- tion and hybridization for maximum satisfiability. Artifi- cial Intelligence, 287:103354, 2020.
- [Cai and Zhang, 2020] Shaowei Cai and Xindi Zhang. Pure maxsat and its applications to combinatorial optimization via linear local search. In Proceedings of the 26th Inter- national Conference on Principles and Practice of Con- straint Programming, volume 12333, pages 90-106, 2020.
- [Cai and Zhang, 2021] Shaowei Cai and Xindi Zhang. Deep cooperation of CDCL and local search for SAT. In Pro- ceedings of the 24th International Conference on Theory and Applications of Satisfiability Testing, volume 12831, pages 64-81, 2021.
- [Cai et al., 2014] Shaowei Cai, Chuan Luo, John Thornton, and Kaile Su. Tailoring local search for partial MaxSAT. In Proceedings of the 28th AAAI Conference on Artificial Intelligence, pages 2623-2629, 2014.
- [Cai et al., 2015] Shaowei Cai, Chuan Luo, and Kaile Su. CCAnr: A configuration checking based local search solver for non-random satisfiability. In Proceedings of the 18th International Conference of Theory and Applications of Satisfiability Testing, volume 9340, pages 1-8, 2015.
- [Cai et al., 2017] Shaowei Cai, Chuan Luo, and Haochen Zhang. From decimation to local search and back: A new approach to MaxSAT. In Proceedings of the 26th Inter- national Joint Conference on Artificial Intelligence, pages 571-577, 2017. IJCAI
- [Cai, 2015] Shaowei Cai. Balance between complexity and quality: Local search for minimum vertex cover in mas- sive graphs. In Proceedings of the 24th International Joint Conference on Artificial Intelligence, pages 747- 753, 2015. IJCAI
- [Cha et al., 1997] Byungki Cha, Kazuo Iwama, Yahiko Kambayashi, and Shuichi Miyazaki. Local search algo- rithms for partial MAXSAT. In Proceedings of the 14th National Conference on Artificial Intelligence, pages 263- 268, 1997.
- [Cherif et al., 2020] Mohamed Sami Cherif, Djamal Habet, and André Abramé. Understanding the power of Max-SAT resolution through UP-resilience. Artificial Intelligence, 289:103397, 2020.
- [Chu et al., 2022] Yi Chu, Shaowei Cai, Zhendong Lei, and Xiang He. NuWLS-c: Solver description. MaxSAT Eval- uation 2022, page 28, 2022.
- [Chu et al., 2023a] Yi Chu, Shaowei Cai, and Chuan Luo. NuWLS-c-2023: Solver description. MaxSAT Evaluation 2023, pages 23-24, 2023.
- [Chu et al., 2023b] Yi Chu, Shaowei Cai, and Chuan Luo. NuWLS: Improving local search for (weighted) partial MaxSAT by new weighting techniques. In Proceedings of the 37th AAAI Conference on Artificial Intelligence, the 35th Conference on Innovative Applications of Artificial Intelligence, and the 13th Symposium on Educational Ad- vances in Artificial Intelligence, pages 3915-3923, 2023.
- [Chu et al., 2023c] Yi Chu, Shaowei Cai, Chuan Luo, Zhen- dong Lei, and Cong Peng. Towards more efficient local search for pseudo-boolean optimization. In Proceedings of the 29th International Conference on Principles and Practice of Constraint Programming, volume 280, pages 12:1-12:18, 2023.
- [Ciampiconi et al., 2020] Lorenzo Ciampiconi, Bishwamit- tra Ghosh, Jonathan Scarlett, and Kuldeep S. Meel. A MaxSAT-based framework for group testing. In Proceed- ings of the 34th AAAI Conference on Artificial Intelligence, pages 10144-10152, 2020.
- [Davis et al., 1962] Martin Davis, George Logemann, and Donald W. Loveland. A machine program for theorem- proving. Communications of the ACM, 5(7):394-397, 1962.
- [Frank, 1996] Jeremy Frank. Weighting for godot: Learning heuristics for GSAT. In Proceedings of the 13th National Conference on Artificial Intelligence and 8th Innovative Applications of Artificial Intelligence Conference, pages 338-343, 1996.
- [Fu and Malik, 2006] Zhaohui Fu and Sharad Malik. On solving the partial MAX-SAT problem. In Proceedings of the 9th International Conference on Theory and Appli- cations of Satisfiability Testing, volume 4121, pages 252- 265, 2006.
- [Jiang et al., 2018] Hua Jiang, Chu-Min Li, Yanli Liu, and Felip Manyà. A two-stage MaxSAT reasoning approach for the maximum weight clique problem. In Proceedings of the 32nd AAAI Conference on Artificial Intelligence, the 30th innovative Applications of Artificial Intelligence, and the 8th AAAI Symposium on Educational Advances in Ar- tificial Intelligence, pages 1338-1346, 2018.
- [Lei and Cai, 2018] Zhendong Lei and Shaowei Cai. Solving (weighted) partial MaxSAT by dynamic local search for SAT. In Proceedings of the 27th International Joint Con- ference on Artificial Intelligence, pages 1346-1352, 2018. IJCAI
- [Lei and Cai, 2020] Zhendong Lei and Shaowei Cai. Solv- ing set cover and dominating set via maximum satisfia- bility. In Proceedings of the 34th AAAI Conference on Artificial Intelligence, the 32nd Innovative Applications of Artificial Intelligence Conference, and the 10th AAAI Sym- posium on Educational Advances in Artificial Intelligence, pages 1569-1576, 2020.
- [Lei et al., 2021] Zhendong Lei, Shaowei Cai, Fei Geng, Dongxu Wang, Yongrong Peng, Dongdong Wan, Yiping Deng, and Pinyan Lu. SATLike-c: Solver description. MaxSAT Evaluation 2021, pages 19-20, 2021.
- [Lemos et al., 2020] Alexandre Lemos, Pedro T. Monteiro, and Inês Lynce. Minimal perturbation in university timetabling with maximum satisfiability. In Proceedings of the 17th International Conference on Integration of Con- straint Programming, Artificial Intelligence, and Opera- tions Research, volume 12296, pages 317-333, 2020.
- [Li et al., 2005] Chu Min Li, Felip Manyà, and Jordi Planes. Exploiting unit propagation to compute lower bounds in branch and bound Max-SAT solvers. In Proceedings of the 11th International Conference on Principles and Prac- tice of Constraint Programming, volume 3709, pages 403- 414, 2005.
- [Li et al., 2020] Chu-Min Li, Fan Xiao, Mao Luo, Felip Manyà, Zhipeng Lü, and Yu Li. Clause vivification by unit propagation in CDCL SAT solvers. Artificial Intelligence, 279, 2020.
- [Li et al., 2021] Chu-Min Li, Zhenxing Xu, Jordi Coll, Fe- lip Manyà, Djamal Habet, and Kun He. Combining clause learning and branch and bound for MaxSAT. In Proceed- ings of the 27th International Conference on Principles and Practice of Constraint Programming, volume 210, pages 38:1-38:18, 2021.
- [Lindauer et al., 2022] Marius Lindauer, Katharina Eggensperger, Matthias Feurer, André Biedenkapp, Difan Deng, Carolin Benjamins, Tim Ruhkopf, René Sass, and Frank Hutter. SMAC3: A versatile bayesian optimization package for hyperparameter optimization. Journal of Machine Learning Research, 23(54):1-9, 2022.
- [Luo et al., 2017] Chuan Luo, Shaowei Cai, Kaile Su, and Wenxuan Huang. CCEHC: An efficient local search algo- rithm for weighted partial maximum satisfiability. Artifi- cial Intelligence, 243:26-44, 2017.
- [Morris, 1993] Paul Morris. The breakout method for escap- ing from local minima. In Proceedings of the 11th Na- tional Conference on Artificial Intelligence, pages 40-45, 1993.
- [Nadel, 2019] Alexander Nadel. Anytime weighted MaxSAT with improved polarity selection and bit-vector optimization. In Proceedings of the 2019 Formal Methods in Computer Aided Design, pages 193-202, 2019.
- [Roussel and Manquinho, 2021] Olivier Roussel and Vasco Manquinho. Pseudo-boolean and cardinality constraints. In Handbook of satisfiability, pages 1087-1129. IOS Press, 2021.
- [Selman et al., 1993] Bart Selman, Henry A. Kautz, and Bram Cohen. Local search strategies for satisfiability test- ing. In Cliques, Coloring, and Satisfiability, Proceedings of a DIMACS Workshop, volume 26, pages 521-531, 1993.
- [Silva and Sakallah, 1996] João P. Marques Silva and Karem A. Sakallah. GRASP -a new search algorithm for satisfiability. In Proceedings of the 1996 IEEE/ACM International Conference on Computer-Aided Design, pages 220-227, 1996.
- [Zheng et al., 2022a] Jiongzhi Zheng, Kun He, Zhuo Chen, Jianrong Chou, and Chu-Min Li. Decision tree based hy- brid walking strategies. MaxSAT Evaluation 2022, pages 24-25, 2022.
- [Zheng et al., 2022b] Jiongzhi Zheng, Kun He, Jianrong Zhou, Yan Jin, Chu Min Li, and Felip Manyà. Band- MaxSAT: A local search MaxSAT solver with multi-armed bandit. In Proceedings of the 31st International Joint Con- ference on Artificial Intelligence, pages 1901-1907, 2022.
- [Zheng et al., 2023] Jiongzhi Zheng, Kun He, and Jianrong Zhou. Farsighted probabilistic sampling: A general strat- egy for boosting local search MaxSAT solvers. In Pro- ceedings of the 37th AAAI Conference on Artificial Intel- ligence, the 35th Conference on Innovative Applications of Artificial Intelligence, and the 13th Symposium on Ed- ucational Advances in Artificial Intelligence, pages 4132- 4139, 2023.
- [Zhou et al., 2023] Wenbo Zhou, Yujiao Zhao, Yiyuan Wang, Shaowei Cai, Shimao Wang, Xinyu Wang, and Minghao Yin. Improving local search for pseudo boolean optimization by fragile scoring function and deep opti- mization. In Proceedings of the 29th International Con- ference on Principles and Practice of Constraint Program- ming, volume 280, pages 41:1-41:18, 2023.
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
1 Introduction
The Maximum Satisfiability problem (MaxSAT) is an optimization version of the famous Satisfiability problem (SAT). Given a propositional formula in Conjunctive Normal Form (CNF), MaxSAT aims to find an assignment that satisfies as many clauses as possible. More generally, the Partial MaxSAT (PMS) divides the clauses into hard and soft, aiming to satisfy as many soft clauses as possible while satisfying all the hard clauses. The Weighted PMS (WPMS) associates each soft clause with a positive weight, aiming to maximize the total weight of satisfied soft clauses while satisfying all the hard clauses. The nature of hard and soft clauses well matches the constraints and optimization objectives in optimization scenarios. Therefore, MaxSAT has a wide range of industrial and academic applications, such as group testing [Ciampiconi et al., 2020], timetabling [Lemos et al., 2020], planning [Bonet et al., 2019], clique problems [Jiang et al., 2018], set covering [Lei and Cai, 2020], etc.
∗Corresponding author.
Algorithms for MaxSAT can be divided into complete and incomplete solvers based on their capacity to provide optimality guarantees. Complete algorithms include branch and bound [Cherif et al., 2020; Li et al., 2021] algorithms and a series of methods that solve MaxSAT by iteratively calling a SAT solver, so-called SAT-based algorithms [Fu and Malik, 2006; Ans´otegui et al., 2013; Nadel, 2019]. Due to the power of complete solving techniques in handling CNF formulas, such as the unit propagation [Davis et al., 1962; Li et al., 2005] and clause learning [Silva and Sakallah, 1996; Li et al., 2020], complete algorithms exhibit excellent performance for solving MaxSAT.
Another important technique inMaxSAT complete-solving is the Soft conflict Pseudo Boolean (SPB) constraints [Berg et al., 2019; Li et al., 2021]. A Pseudo Boolean (PB) constraint [Chu et al., 2023c; Zhou et al., 2023] is a particular type of linear constraint in the form of ∑ni=1 qixi # K, where # ∈ {<,≤,=,≥,>} and can be normalized to <, qi and K are integer constants, and xi are 0/1 variables, i ∈ {1, ..., n}. In many complete MaxSAT solvers, once a better solution is found, a PB (or Cardinality for unweighted problem) constraint [Roussel and Manquinho, 2021] is added naturally to prohibit the procedure from finding solutions that are no better than the current best. Falsifying such a constraint leads to a Soft conflict [Li et al., 2021]. The SPB constraints can help complete solvers prune branches and reduce the search space.
On the other hand, incomplete algorithms mainly focus on the local search approach [Selman et al., 1993; Morris, 1993; Cha et al., 1997]. With the development of many local search techniques, including the decimation-based initialization methods [Cai et al., 2017], the local optima escaping methods [Zheng et al., 2022b; Zheng et al., 2023], and especially the clause weighting methods [Lei and Cai, 2018; Cai and Lei, 2020; Chu et al., 2023b], the state-of-the-art local search algorithms exhibit competitive performance with complete algorithms and even dominating the rankings of incomplete tracks of recent MaxSAT Evaluations.
In this paper, we focus on the local search approach for MaxSAT and propose two new methods regarding the clause weighting scheme, i.e., integrating SPB constraints into the clause weighting system and a novel Adaptive Clause Weighting scheme.
We first introduce the SPB constraints into the local search MaxSAT algorithm. Similar constraints have also been applied to local search for Pure MaxSAT [Cai and Zhang, 2020], a special case of MaxSAT whose hard clauses have only positive literals and soft clauses are all unit clauses with negative literals (and vice versa), and it is used as a hard constraint to strictly restrict the search space, which may limit the search ability of the local search.
To better and more generally make use of the SPB constraints, we propose to integrate them into the clause weighting system for universal MaxSAT problems, including PMS and WPMS. Specifically, we associate each hard clause with a dynamic weight and add a SPB constraint to the MaxSAT formula with a dynamic weight. Once the algorithm falls into a local optimum, the dynamic weights of the hard clauses and the SPB constraint falsified by the current local optimal solution will be increased. Moreover, once a better solution is found by local search, the SPB constraint will be updated accordingly. In this way, the SPB constraint does not restrict the search space but guides the search directions and leads the algorithm to find better solutions.
For the second method, we found that the existing clause weighting methods usually update the dynamic weight of each clause using a constant value, which may make the increased rate of dynamic weights converge inversely proportional to the number of weight increments and approaches zero. The convergence of the increased rate may lead to the distribution of dynamic weights tending to stabilize, diminish the effect of the clause weighting method, and make it hard for the algorithm to escape from local optima. There are some techniques for avoiding the convergence of the increased rate caused by the divergent increased dynamic weights, including setting upper limits, periodic decay, and probabilistic smoothing [Cai et al., 2015; Lei and Cai, 2018]. However, setting upper limits may restrict the search flexibility, the decay method cannot handle the convergence during each decay, and the weight smoothing method should set lower limits, which may also restrict the search flexibility.
To handle these issues, we propose a simple clause weighting method that allows the dynamic weights to update adaptively. Specifically, we increase the dynamic weights proportionally according to the current weights. Such a strategy provides a lower bound for the increased rate of dynamic weights and makes the clause weighting method always guide the search directions and help escape from local optima efficiently. As a result, our method is simple yet effective, providing a new perspective on the clause weighting methods.
In the end, by integrating the above two methods, we propose a new local search MaxSAT algorithm called SPBMaxSAT. SPB-MaxSAT always maintains an SPB constraint and associates it with a dynamic weight, which will be increased proportionally once a local optimal solution falsifies the constraint. We further combine SPB-MaxSAT with a typical SAT-based solver, TT-Open-WBO-Inc [Nadel, 2019], as many incomplete MaxSAT solvers do [Lei et al., 2021; Chu et al., 2022], and the resulting incomplete solver is denoted as SPB-MaxSAT-c. Extensive experiments show that SPBMaxSAT significantly outperforms the state-of-the-art local search MaxSAT algorithms, NuWLS [Chu et al., 2023b] and BandMaxSAT [Zheng et al., 2022b]; SPB-MaxSAT-c also exhibits higher performance and robustness than NuWLS-c-
2023 [Chu et al., 2023a], winner of all the four incomplete tracks of MaxSAT Evaluation 2023.
2 RelatedWork
This section first reviews the development of the clause weighting method in local search MaxSAT algorithms and then introduces related works that use complete solving techniques of SAT and MaxSAT for the local search. We will also briefly describe the differences and improvements of our method over the existing studies.
2.1 ClauseWeighting inMaxSAT Local Search
Clause weighting is a typical technique in local search SAT and MaxSAT solvers [Frank, 1996; Cha et al., 1997]. It associates the clauses with dynamic weights and uses them to guide the search directions. The main idea is that when the algorithm falls into a local optimum, i.e., flipping any variable cannot improve the current solution, the dynamic weights of falsified clauses will be increased to help the algorithm escape from local optima. With the appearance of PMS and WPMS, many advanced clause weighting methods have been proposed to consider the properties of hard and soft clauses. For instance, Dist [Cai et al., 2014] and CCEHC [Luo et al., 2017] only use clause weighting methods upon hard clauses and prioritize satisfying hard clauses during the search. SATLike [Lei and Cai, 2018] and its extension of SATLike3.0 [Cai and Lei, 2020] first propose to associate both hard and soft clauses with dynamic weights, which is also inherited by BandMaxSAT [Zheng et al., 2022b] and FPS [Zheng et al., 2023] algorithms. Recently, NuWLS [Chu et al., 2023b] improves the clause weighting method by assigning appropriate initial dynamic weights to the clauses, and NuWLS-c-2023 [Chu et al., 2023a] further proposes to uniformly update the dynamic weights of all soft clauses, helping it win all the four incomplete tracks of MaxSAT Evaluation 2023.
The clause weighting method has made significant achievements in the field of MaxSAT solving. In this work, we investigate the limitation of constant increments of existing clause weighting methods used in the above algorithms and thereby propose an effective adaptive clause weighting strategy to address the limitation.
2.2 Complete SolvingMethods in Local Search
Since complete algorithms occupy the mainstream of (Max)SAT solvers, researchers usually use local search to improve complete solvers [Cai and Zhang, 2021; Chu et al., 2023a] but rarely try to use complete solving methods to improve local search incomplete solvers. There are some studies that use unit propagation [Davis et al., 1962; Li et al., 2005] techniques to generate the initial assignments for local search (Max)SAT algorithms, obtaining significant improvements. The linear search constraint has been used in the local search process by strictly restricting the search space for a special case of MaxSAT [Cai and Zhang, 2020], showing excellent performance in the special MaxSAT problems that are very easy to find feasible solutions. However, strictly restricting the search space might not be appropriate for general MaxSAT problems.
This paper also investigates the utilization of complete solving methods, i.e., SPB constraint, in MaxSAT local search solvers and proposes to integrate SPB into the clause weighting system rather than directly restrict the search space. The clause weighting scheme with the SPB constraint can guide the algorithm to find better solutions, as demonstrated by our follow-up experiments on various MaxSAT problems.
3 Preliminaries
Given a set of Boolean variables {x1, · · · , xn}, a literal is either a variable itself xi or its negation ¬xi, a clause is a disjunction of literals, e.g., c = l1∨· · ·∨lp, and a Conjunctive Normal Form (CNF) formula F is a conjunction of clauses, e.g., F = c1 ∧ · · · ∧ cq. A complete assignment A represents a mapping that maps each variable to a value of 1 (true) or 0 (false). A literal xi (resp. ¬xi) is satisfied if the current assignment maps xi to 1 (resp. 0). A clause is satisfied by the current assignment if there is at least one satisfied literal in the clause and is falsified otherwise.
Given a CNF formula F, the MaxSAT problem aims to find an assignment (i.e., solution) that satisfies as many clauses in F as possible. Given a CNF formula F whose clauses are divided into hard and soft, we denote Hard(F) and Soft(F) as the set of hard and soft clauses in F, respectively. The Partial MaxSAT (PMS) problem is a variant of MaxSAT that aims to find an assignment satisfying all the hard clauses while maximizing the number of satisfied soft clauses in F. The Weighted Partial MaxSAT (WPMS) problem is a generalization of PMS where each soft clause is associated with a positive weight, aiming to find an assignment that satisfies all the hard clauses while maximizing the total weight of satisfied soft clauses in F.
For convenience, we regard PMS as a special case of WPMS by assigning each soft clause with unit weight. Given a MaxSAT instance F , we denote ws(c) as the original weight of soft clause c ∈ Soft(F) and denote wh(c) as the dynamic weight maintained of each hard clause c ∈ Hard(F) by the clause weighting method.
Given a MaxSAT instance F, a complete assignment A is feasible if it satisfies all the hard clauses in F, and we denote its objective function obj(A) as the total weight of soft clauses falsified by A and set its cost function cost(A) to obj(A) (resp. +∞) if A is feasible (resp. infeasible). Moreover, in the local search algorithms for MaxSAT, the widely-used flipping operator for a variable is an operator that changes its Boolean value.
4 The Proposed SPB-MaxSAT
This section introduces our proposed local search algorithm, termed the Soft conflict Pseudo Boolean based MaxSAT solver (SPB-MaxSAT). SPB-MaxSAT maintains an SPB constraint with dynamic weight during the local search process, integrating SPB into the clause weighting system and using an adaptive clause weighting technique to update its dynamic weight. The clause weighting system is then used to help the algorithm escape from local optima and find better solutions.
Algorithm 1: SPB-MaxSAT
Input: MaxSAT instance F, cut-off time cutoff, BMS parameter k, hard clause dynamic weight increment hinc, increase proportion δ Output: A feasible solution A of F, or no feasible solution found 1 A←an initial complete assignment; 2 A∗ ←A; 3 for each c ∈ Hard(F) do 4 wh(c) ← 1; 5 w(SPB) ← 1; 6 while running time < cutoff do 7 if D ← {x|score(x) > 0} ̸= ∅ then 8 v ← a variable in D picked by BMS(k); 9 else 10 Update dynamic weights by SPB-Weighting; 11 if ∃ falsified hard clauses then 12 c ← a random falsified hard clause; 13 else 14 c ← a random falsified soft clause; 15 v ← the variable with the highest score in c; 16 A←Awith v flipped; 17 if cost(A) < cost(A∗ ) then 18 A∗ ← A; 19 update SPB accordingly; 20 if A∗ is feasible then return A∗ ; 21 else return no feasible assignment found;
In the following, we first present the main framework of SPB-MaxSAT and then introduce the clause weighting system in SPB-MaxSAT with the SPB constraint and the adaptive clause weighting method.
4.1 The Main Framework
SPB-MaxSAT actually follows the general framework of many local search algorithms, such as SATLike3.0 [Cai and Lei, 2020] and NuWLS [Chu et al., 2023b], and uses our proposed clause weighting scheme. The main procedure of SPB-MaxSAT is shown in Algorithm 1. The algorithm first generates an initial complete assignment A by the decimation method [Cai et al., 2017] used in SATLike3.0 and NuWLS, initializes the best solution found A∗ , and initializes the dynamic weights (lines 1-5). Then, the algorithm repeats selecting a variable and flipping it until the cut-off time is reached (lines 6-19). If there are variables with positive score, the algorithm also uses the Best-from-Multiple-Selections (BMS) strategy [Cai, 2015] used in various local search MaxSAT algorithms to select a variable with positive score (lines 7-8). BMS chooses k random variables with positive score (with replacement) and returns the one with the highest score.
Upon falling into a local optimum, SPB-MaxSAT first updates the dynamic weights by our proposed clause weighting system with the SPB constraint (line 10), which is encapsulated by the SPB-Weighting function introduced in Section 4.2. Then, if the current local optimal solution is infeasible
(resp. feasible), a random falsified hard (resp. soft) clause c is selected, and the variable to be flipped is the one with the highest score in c (lines 11-15). Once a better feasible solution is found, A∗ will be updated, and the SPB constraint will also be updated accordingly.
4.2 ClauseWeighting System
This subsection presents our proposed SPB constraint, scoring function, and adaptive SPB weighting method together with our intuition.
SPB Constraint
Suppose A∗ is the best solution found so far during the local search. Then, finding solutions no better than A∗ is meaningless, and an SPB constraint, denoted as SPB, is added naturally as follows.
where unsat(c) equals 1 (resp. 0) if clause c is falsified (resp. satisfied) by the current solution A and can be regarded as a Boolean variable. Actually, SPB can be simply represented by obj(A) < cost(A∗ ), and it will be updated accordingly with the updating of A∗ .
In SPB-MaxSAT, we associate SPB with a dynamic weight w(SPB), using w(SPB) and the dynamic weights of hard clauses to calculate the scoring function of the variables and guide the search directions.
Scoring Function
In the local search MaxSAT algorithms, the scoring function score(v) of a variable v is widely used to evaluate the benefit of flipping v in the current solution. In our SPB-MaxSAT, score(v) is calculated by combining the influences of such a flipping on the hard clauses and the SPB constraint.
Given a MaxSAT instance F, the current solution A, the dynamic weight wh(c) of each hard clause c, and the dynamic weight w(SPB) of SPB, we denote hscore(v) as the decrement of the total dynamic weight of falsified hard clauses caused by flipping v in A. Suppose A′ is the solution obtained by flipping variable v in A. We define another scoring function, SPBscore(v), to evaluate the influence of flipping v in A to the SPB constraint as follows.
Finally, the scoring function score(v) is defined as follows:
The dynamic weights wh(c) and w(SPB) actually play the role of a pivot to control the importance of the hard clauses and soft clauses in the MaxSAT solving process. The SPBscore(v) actually regards all soft clauses as a whole and evaluates the influence on the objective function obj(A) caused by flipping v. In our method, the clause weighting technique is used to adjust wh(c) and w(SPB), so as to adjust the precedence of satisfying hard clauses and increasing the objective function. As a result, the adaptively adjusted SPB Constraint and w(SPB) dynamic weight can lead the local search algorithm to better solutions.
Algorithm 2: SPB-Weighting
Input: MaxSAT instance F, current solution A, hard clause dynamic weight increment hinc, increment proportion δ
- 1 for each clause c ∈ Hard(F) falsified by A do
- 2 wh(c) ←wh(c) +hinc;
- 3 if SPB is falsified by A then
- 4 w(SPB) ← δ · (w(SPB) +1);

Adaptive SPB Weighting
The initial values of the dynamic weight wh(c) of each hard clause c and the dynamic weight w(SPB) of SPB are both set to 1. We propose an SPB-Weighting function shown in Algorithm 2 to update the dynamic weights once the algorithm falls into a local optimum, i.e., there is no variable having a positive score.
The SPB-Weighting function is very simple and easy to understand. This function just increases the dynamic weights of falsified elements in the current local optimal solution, including hard clauses and the SPB constraint. The dynamic weights of falsified hard clauses are increased by a constant parameter hinc as many local search MaxSAT algorithms do [Lei and Cai, 2018; Zheng et al., 2022b; Chu et al., 2023b], and the dynamic weight of SPB is updated adaptively by first increasing 1 and then multiplying by δ > 1. Actually, the original constant clause weighting method can be regarded as a special case of our adaptive clause weighting method with δ = 1. Moreover, to avoid w(SPB) from becoming too large, we also use a decay method to reduce all the dynamic weights simultaneously when they reach a threshold.
Discussion on Adaptive Clause Weighting
The adaptive clause weighting method in function SPBWeighting actually highlights the soft clauses and better solutions in the later stages of the search. At the beginning of the search, when there is no feasible solution found, cost(A∗ ) = +∞ holds, SPB is always satisfied, and w(SPB) always equals 1. The algorithm mainly pays attention to finding feasible solutions. After finding a feasible solution, w(SPB) will be increased once SPB is falsified to pay more attention to soft clauses and push the algorithm to find better solutions. However, with the accumulation of the dynamic weights, increasing w(SPB) by 1 might only have a minor influence on the importance of soft clauses, and the algorithmmight need more steps to pay appropriate attention to the soft clauses.
Suppose the average dynamic weights of hard clauses, denoted as wh(c), increases by 1 once w(SPB) increases. For each increment of w(SPB), i.e., w′ (SPB) = δ·(w(SPB)+ 1), we define the increasing rate as Rinc = (w′ (SPB) - w(SPB))/w(SPB) and the increment on the importance of soft clauses as Iinc = (w′ (SPB) -w(SPB))/(w(SPB) + wh(c)). The smaller the Rinc and Iinc, the smaller the effect of the increment of w(SPB) for guiding the search. Figure 1 shows how these two metrics change with the increment of the number of times w(SPB) increased when δ = 1.001 (i.e., adaptive weighting) and 1 (i.e., constant weighting). We can observe that both the two metrics converge to δ - 1, i.e., zero when δ = 1. Therefore, increasing w(SPB) proportionally with δ > 1 can avoid the diminishing of the clause weighting method for guiding the search with the accumulation of the dynamic weights.
In addition, for the hard clauses, we increase their dynamic weights conservatively to ensure that we can find high-quality feasible solutions. The experimental results also show that increasing w(SPB) proportionally is better than increasing both wh(c) and w(SPB) proportionally or linearly with a constant value, demonstrating that our design is reasonable and effective.
5 Experiments
In this section, we first compare the proposed SPB-MaxSAT 1 algorithm with the state-of-the-art local search algorithms, NuWLS [Chu et al., 2023b] and BandMaxSAT [Zheng et al., 2022b]. We then combine SPB-MaxSAT with a SAT-based solver, TT-Open-WBO-Inc [Nadel, 2019], as many incomplete MaxSAT solvers do [Lei et al., 2021; Chu et al., 2022], and compare the resulting incomplete solver SPB-MaxSATc with the state-of-the-art incomplete solver NuWLS-c-2023, which won all the four incomplete tracks of MaxSAT Evaluation (MSE) 2023. NuWLS-c-2023 is an improvement of NuWLS-c [Chu et al., 2022], the winner of all the four incomplete tracks of MSE2022. Since they obtained such good results on recent MSEs, we only selected NuWLS-c-2023 as the baseline of incomplete solver and ignored other effective solvers, such as DT-HyWalk [Zheng et al., 2022a], Loandra [Berg et al., 2019], and TT-Open-WBO-Inc [Nadel, 2019]. Finally, we perform ablation studies to analyze the effectiveness of our adaptive clause weighting method by comparing SPB-MaxSAT with its variant algorithms.
5.1 Experimental Setup
All the algorithms were implemented in C++ and run on a server using an AMD EPYC 7H12 CPU, running Ubuntu 18.04 Linux operation system. We evaluated the algorithms on all the PMS and WPMS instances from the incomplete track of the six recent MSEs 2 , i.e., MSE2018 to MSE2023. Note that the benchmarks containing all PMS/WPMS instances from the incomplete track of MSE2023 are named PMS 2023/WPMS 2023, and so forth. Each instance was processed once by each algorithm with two time limits, 60 and 300 seconds. This is consistent with the settings of the incomplete track of MSEs.
1 https://github.com/JHL-HUST/SPB-MaxSAT
We adopt two kinds of metrics to compare and evaluate the algorithms. The first one is the number of winning instances, represented by '#win', which indicates the number of instances in which the algorithm yields the best solution among all the algorithms listed in the table. The metric '#win' has been widely used in comparing local search MaxSAT algorithms [Cai et al., 2014; Luo et al., 2017; Lei and Cai, 2018; Cai and Lei, 2020; Chu et al., 2023b; Zheng et al., 2022b].
The second one is the scoring function used in the incomplete track of MSEs. The score of a solver for an instance is 0 if the solver cannot find feasible solutions, and (BKC + 1)/(cost(A) + 1) otherwise, where A is its output feasible solution, and BKC is the best-known cost of the instance. The score of a solver for a benchmark is its average score upon all contained instances, represented by '#score'. The best results appear in bold in the tables.
Parameters in SPB-MaxSAT mainly include the BMS parameter k, the hard clause dynamic weight increment hinc, and the increase proportion δ. Note that parameters k and hinc are also used in the baseline algorithms, and our method only introduces one additional parameter. We adopt an automatic configurator called SMAC3 [Lindauer et al., 2022] to tune the parameters based on instances in the incomplete track of MSE2017. Note that SMAC3 is also widely used for tuning the baseline solvers, NuWLS and NuWLSc-2023. The tuning domains of the above parameters are k ∈ [50, 100], hinc ∈ [1, 30], and δ ∈ [1.0005, 1.002]. The final settings of these parameters in both SPB-MaxSAT and SPB-MaxSAT-c are k = 53, hinc = 1, and δ = 1.00072 for PMS and k = 97, hinc = 28, and δ = 1.001 for WPMS. Parameters in variant algorithms of SPB-MaxSAT in the ablation study are also tuned by SMAC3.
5.2 Comparison with Local Search Baselines
The comparisons of SPB-MaxSAT with NuWLS and BandMaxSAT are summarized in Tables 1 and 2, respectively. From the results, one can see that SPB-MaxSAT exhibits significantly better performance than the two local search baselines in both PMS and WPMS instances, irrespective of the 60s or 300s time limit, according to the '#win' and '#score' metrics. Specifically, the number of '#win' instances of SPBMaxSAT is 47-118% (resp. 68-217%) more than NuWLS (resp. BandMaxSAT) for PMS benchmarks and 353-641% (resp. 84-263%) more than NuWLS (resp. BandMaxSAT) for WPMS benchmarks. The '#score' of SPB-MaxSAT is 17% (resp. 9-18%) higher than NuWLS (resp. BandMaxSAT) for PMS benchmarks and 4-17% (resp. 9-24%) higher than NuWLS (resp. BandMaxSAT) for WPMS benchmarks.
2 https://maxsat-evaluations.github.io/
| Benchmark | #inst. | SPB-MaxSAT (60s) | NuWLS (60s) | SPB-MaxSAT (300s) | NuWLS (300s) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #win | time | #score | #win | time | #score | #win | time | #score | #win | time | #score | ||
| PMS2018 | 153 | 115 | 15.58 | 0.7562 | 61 | 17.34 | 0.7224 | 118 | 63.14 | 0.7819 | 70 | 60.09 | 0.7583 |
| PMS2019 | 299 | 230 | 13.54 | 0.7384 | 142 | 12.22 | 0.7205 | 235 | 56.75 | 0.7701 | 150 | 42.72 | 0.7491 |
| PMS2020 | 262 | 198 | 14.22 | 0.7378 | 113 | 13.78 | 0.7156 | 199 | 60.41 | 0.7586 | 127 | 53.71 | 0.7454 |
| PMS2021 | 155 | 119 | 16.61 | 0.6565 | 70 | 6.82 | 0.6184 | 115 | 56.59 | 0.6707 | 78 | 46.95 | 0.6484 |
| PMS2022 | 179 | 135 | 18.13 | 0.7167 | 72 | 11.18 | 0.6706 | 134 | 59.33 | 0.7281 | 90 | 53.92 | 0.7036 |
| PMS2023 | 179 | 124 | 18.26 | 0.6805 | 57 | 15.02 | 0.6677 | 128 | 85.50 | 0.7130 | 66 | 84.85 | 0.7087 |
| WPMS2018 | 172 | 136 | 19.32 | 0.7815 | 30 | 16.04 | 0.7294 | 139 | 90.30 | 0.7939 | 29 | 81.13 | 0.7611 |
| WPMS2019 | 297 | 244 | 21.02 | 0.7711 | 47 | 10.05 | 0.6618 | 252 | 94.37 | 0.7983 | 41 | 50.19 | 0.7060 |
| WPMS2020 | 253 | 210 | 23.94 | 0.7795 | 29 | 8.89 | 0.6705 | 221 | 106.80 | 0.8125 | 25 | 45.01 | 0.7162 |
| WPMS2021 | 151 | 115 | 26.53 | 0.6887 | 25 | 21.81 | 0.5889 | 122 | 127.78 | 0.7252 | 25 | 77.79 | 0.6410 |
| WPMS2022 | 197 | 149 | 23.59 | 0.7119 | 26 | 18.51 | 0.6316 | 163 | 125.04 | 0.7613 | 22 | 69.88 | 0.6790 |
| WPMS2023 | 160 | 119 | 22.73 | 0.6655 | 22 | 19.72 | 0.5739 | 126 | 110.30 | 0.7125 | 21 | 63.33 | 0.6361 |
| Benchmark | #inst. | SPB-MaxSAT (60s) | BandMaxSAT (60s) | SPB-MaxSAT (300s) | BandMaxSAT (300s) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #win | time | #score | #win | time | #score | #win | time | #score | #win | time | #score | ||
| PMS2018 | 153 | 122 | 15.40 | 0.7562 | 49 | 15.27 | 0.6556 | 122 | 64.57 | 0.7819 | 61 | 60.44 | 0.6913 |
| PMS2019 | 299 | 229 | 13.49 | 0.7384 | 109 | 12.10 | 0.6634 | 238 | 57.65 | 0.7701 | 125 | 48.99 | 0.6973 |
| PMS2020 | 262 | 196 | 14.49 | 0.7378 | 91 | 12.74 | 0.6744 | 202 | 63.03 | 0.7586 | 104 | 49.95 | 0.6961 |
| PMS2021 | 155 | 110 | 16.80 | 0.6565 | 57 | 11.27 | 0.5901 | 110 | 54.66 | 0.6707 | 64 | 43.54 | 0.6013 |
| PMS2022 | 179 | 123 | 17.95 | 0.7167 | 61 | 15.61 | 0.6383 | 123 | 57.79 | 0.7281 | 73 | 61.39 | 0.6574 |
| PMS2023 | 179 | 133 | 18.25 | 0.6805 | 42 | 16.28 | 0.5768 | 139 | 86.56 | 0.7130 | 46 | 75.12 | 0.6252 |
| WPMS2018 | 172 | 126 | 18.56 | 0.7815 | 43 | 23.14 | 0.7123 | 127 | 82.44 | 0.7939 | 41 | 79.46 | 0.7289 |
| WPMS2019 | 297 | 228 | 20.07 | 0.7711 | 82 | 18.79 | 0.6751 | 229 | 87.21 | 0.7983 | 94 | 71.46 | 0.7215 |
| WPMS2020 | 253 | 196 | 24.18 | 0.7795 | 54 | 16.38 | 0.6382 | 199 | 98.11 | 0.8125 | 61 | 63.22 | 0.6947 |
| WPMS2021 | 151 | 99 | 27.37 | 0.6887 | 39 | 25.35 | 0.5571 | 92 | 128.10 | 0.7252 | 50 | 114.34 | 0.6276 |
| WPMS2022 | 197 | 132 | 24.03 | 0.7119 | 48 | 25.35 | 0.6069 | 130 | 122.92 | 0.7613 | 57 | 102.21 | 0.6746 |
| WPMS2023 | 160 | 94 | 23.15 | 0.6655 | 45 | 27.42 | 0.5795 | 95 | 107.11 | 0.7125 | 50 | 121.94 | 0.6379 |
| Benchmark | #inst. | SPB-MaxSAT-c | NuWLS-c-2023 | ||
|---|---|---|---|---|---|
| 60s | 300s | 60s | 300s | ||
| PMS2018 | 153 | 0.8477 | 0.8856 | 0.8339 | 0.8774 |
| PMS2019 | 299 | 0.8893 | 0.9349 | 0.8876 | 0.9272 |
| PMS2020 | 262 | 0.8610 | 0.9057 | 0.8606 | 0.9007 |
| PMS2021 | 155 | 0.8403 | 0.8947 | 0.8386 | 0.8962 |
| PMS2022 | 179 | 0.8362 | 0.9042 | 0.8301 | 0.8901 |
| PMS2023 | 179 | 0.7933 | 0.8754 | 0.8037 | 0.8780 |
| WPMS2018 | 172 | 0.8859 | 0.9219 | 0.8774 | 0.9210 |
| WPMS2019 | 297 | 0.8634 | 0.9253 | 0.8587 | 0.9259 |
| WPMS2020 | 253 | 0.8651 | 0.9262 | 0.8582 | 0.9233 |
| WPMS2021 | 151 | 0.7902 | 0.8536 | 0.7887 | 0.8569 |
| WPMS2022 | 197 | 0.7930 | 0.8715 | 0.7851 | 0.8711 |
| WPMS2023 | 160 | 0.8000 | 0.8803 | 0.7843 | 0.8776 |
The improvement of SPB-MaxSAT over the baselines in WPMS instances is more obvious because there are many PMS instances in the MSE benchmarks that are simple and can be solved to optimal for these effective local search algorithms. Moreover, SPB-MaxSAT and NuWLS actually differ only in their clause weighting system and have the common variable selection strategy and searching framework, and BandMaxSAT has a different searching framework that applies the multi-armed bandit model to help select the search directions. The results show that BandMaxSAT has a better complementarity with SPB-MaxSAT (i.e., more '#win' instances) than NuWLS in WPMS benchmarks, indicating that our proposed clause weighting system has a relatively comprehensive improvement compared to that in NuWLS.
In summary, our proposed methods that combine our SPB constraint with clause weighting system and adaptive clause weighting strategy help SPB-MaxSAT significantly outperform the state-of-the-art local search MaxSAT algorithms.
5.3 Combining with SAT-based Solver
The comparison results between SPB-MaxSAT-c and NuWLS-c-2023 are shown in Table 3. They all combine their local search components, i.e., SPB-MaxSAT and an improvement of NuWLS, with a SAT-based solver, TT-Open-WBOInc. They first use a SAT solver to generate a feasible assignment as an initial solution, then call the local search algorithm to continue the search with the initial solution, and finally use the cost value of the best solution found by local search as an upper bound for TT-Open-WBO-Inc. Since the MSE only compares the incomplete solvers using the '#score' metric, we also follow this convention to compare them using this metric.
The results in Table 3 show that SPB-MaxSAT-c outperforms NuWLS-c-2023 in 11 out of 12 benchmarks under 60 seconds of time limit and 8 out of 12 benchmarks under 300 seconds of time limit, indicating that SPB-MaxSAT-c is generally more robust and effective than NuWLS-c-2023. The solvers under 300 seconds of time limit exhibit closer performance because the longer running time of the effective TTOpen-WBO-Inc solver narrows the difference in the performance of the local search algorithms.
| Benchmark | #inst. | SPB-MaxSAT (60s) | SPB-MaxSATδ=1 (60s) | SPB-MaxSAT (300s) | SPB-MaxSATδ=1 (300s) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #win | time | #score | #win | time | #score | #win | time | #score | #win | time | #score | ||
| PMS2018 | 153 | 104 | 14.38 | 0.7562 | 96 | 12.60 | 0.7432 | 106 | 57.60 | 0.7819 | 103 | 54.96 | 0.7708 |
| PMS2019 | 299 | 206 | 12.76 | 0.7384 | 193 | 10.05 | 0.7383 | 213 | 51.21 | 0.7701 | 202 | 43.33 | 0.7657 |
| PMS2020 | 262 | 169 | 12.45 | 0.7378 | 168 | 12.05 | 0.7366 | 178 | 52.85 | 0.7586 | 175 | 47.37 | 0.7545 |
| PMS2021 | 155 | 97 | 14.27 | 0.6565 | 99 | 13.97 | 0.6529 | 97 | 45.06 | 0.6707 | 103 | 39.64 | 0.6658 |
| PMS2022 | 179 | 118 | 15.96 | 0.7167 | 108 | 14.96 | 0.7113 | 115 | 56.96 | 0.7281 | 118 | 56.02 | 0.7274 |
| PMS2023 | 179 | 114 | 18.90 | 0.6805 | 91 | 14.82 | 0.6672 | 115 | 83.81 | 0.7130 | 103 | 75.97 | 0.7052 |
| WPMS2018 | 172 | 112 | 17.72 | 0.7815 | 94 | 18.38 | 0.7797 | 114 | 79.72 | 0.7939 | 95 | 72.90 | 0.7896 |
| WPMS2019 | 297 | 195 | 18.85 | 0.7711 | 163 | 19.74 | 0.7659 | 185 | 77.04 | 0.7983 | 179 | 80.77 | 0.7913 |
| WPMS2020 | 253 | 160 | 22.07 | 0.7795 | 129 | 23.10 | 0.7756 | 159 | 89.33 | 0.8125 | 140 | 95.41 | 0.8045 |
| WPMS2021 | 151 | 78 | 20.92 | 0.6887 | 81 | 25.85 | 0.6897 | 85 | 111.24 | 0.7252 | 79 | 107.89 | 0.7231 |
| WPMS2022 | 197 | 103 | 20.41 | 0.7119 | 95 | 22.01 | 0.7121 | 108 | 109.06 | 0.7613 | 107 | 107.62 | 0.7541 |
| WPMS2023 | 160 | 97 | 19.05 | 0.6655 | 81 | 21.90 | 0.6615 | 103 | 94.51 | 0.7125 | 78 | 88.39 | 0.7079 |
| Benchmark | #inst. | SPB-MaxSAT (60s) | SPB-MaxSATall (60s) | SPB-MaxSAT (300s) | SPB-MaxSATall (300s) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #win | time | #score | #win | time | #score | #win | time | #score | #win | time | #score | ||
| PMS2018 | 153 | 105 | 14.03 | 0.7562 | 85 | 16.95 | 0.7333 | 114 | 61.55 | 0.7819 | 85 | 60.24 | 0.7660 |
| PMS2019 | 299 | 207 | 12.37 | 0.7384 | 175 | 13.27 | 0.7385 | 218 | 53.34 | 0.7701 | 180 | 52.58 | 0.7632 |
| PMS2020 | 262 | 178 | 12.88 | 0.7378 | 139 | 13.25 | 0.7321 | 187 | 57.75 | 0.7586 | 145 | 47.77 | 0.7543 |
| PMS2021 | 155 | 109 | 14.39 | 0.6565 | 84 | 10.17 | 0.6434 | 112 | 55.38 | 0.6707 | 82 | 38.36 | 0.6597 |
| PMS2022 | 179 | 118 | 14.96 | 0.7167 | 100 | 16.67 | 0.7088 | 131 | 54.94 | 0.7281 | 97 | 40.42 | 0.7190 |
| PMS2023 | 179 | 119 | 16.43 | 0.6805 | 85 | 20.54 | 0.6822 | 127 | 84.44 | 0.7130 | 76 | 73.71 | 0.7077 |
| WPMS2018 | 172 | 110 | 16.35 | 0.7815 | 93 | 16.56 | 0.7788 | 125 | 84.36 | 0.7939 | 87 | 59.29 | 0.7891 |
| WPMS2019 | 297 | 194 | 18.38 | 0.7711 | 158 | 18.16 | 0.7623 | 212 | 82.05 | 0.7983 | 158 | 71.34 | 0.7883 |
| WPMS2020 | 253 | 158 | 21.04 | 0.7795 | 131 | 21.75 | 0.7782 | 175 | 93.48 | 0.8125 | 122 | 85.05 | 0.8070 |
| WPMS2021 | 151 | 89 | 22.80 | 0.6887 | 67 | 26.41 | 0.6855 | 99 | 115.98 | 0.7252 | 67 | 108.04 | 0.7172 |
| WPMS2022 | 197 | 105 | 19.52 | 0.7119 | 97 | 22.74 | 0.7098 | 120 | 109.43 | 0.7613 | 98 | 109.02 | 0.7530 |
| WPMS2023 | 160 | 94 | 17.38 | 0.6655 | 79 | 18.71 | 0.6619 | 104 | 91.82 | 0.7125 | 80 | 95.99 | 0.7066 |
5.4 Ablation Study
To analyze the effectiveness and rationality of our proposed adaptive clause weighting strategy, we compare the SPBMaxSAT algorithm with its two variants. The first one simply sets δ = 1, denoted as SPB-MaxSATδ=1, and the second one applies the adaptive clause weighting strategy to both the hard clauses and the SPB constraint, denoted as SPB-MaxSATall. The comparison results of SPB-MaxSAT with these two variants are summarized in Tables 4 and 5, respectively.
The results show that SPB-MaxSAT outperforms SPBMaxSATδ=1, indicating that our adaptive clause weighting strategy is effective and can improve the performance of the clause weighting system. SPB-MaxSAT also outperforms SPB-MaxSATall, indicating that we only highlight the soft clauses and the objective function is reasonable and can lead to better feasible solutions. Using the adaptive clause weighting strategy for both hard clauses and the SPB constraint may make the algorithm swing between hard and soft clauses and cannot focus on improving the objective function so as to find better solutions.
6 Conclusion
Complete algorithm and local search are two research lines of the MaxSAT solvers. Many studies and solvers have tried to apply local search to improve complete solvers, but there have been few attempts in the opposite direction. In this paper, we investigate the utilization of complete solving techniques in improving local search algorithms and focus on the Soft conflict Pseudo Boolean (SPB) constraint widely used in complete solvers to enforce the algorithm to find solutions better than the best solution found so far. We rethink the usage of the SPB constraint and propose integrating SPB into the clause weighting system of local search. We further propose an adaptive clause weighting strategy that allows the dynamic weights to be adjusted proportionally rather than linearly.
Based on the clause weighting techniques, we propose a new local search algorithm, SPB-MaxSAT. Extensive experiments demonstrate its excellent performance and also show that the proposed adaptive clause weighting strategy is reasonable and effective. In future work, we will further investigate the utilization of complete solving techniques for local search and the adaptive clause weighting strategy.
Acknowledgments
This work is supported by National Natural Science Foundation of China (U22B2017) and National Key Laboratory of Electromagnetic Space Security.
Contribution Statement
The first two authors, Jiongzhi Zheng and Zhuo Chen, contributed equally.
@inproceedings{ijcai2024p220,
title = {Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers},
author = {Zheng, Jiongzhi and Chen, Zhuo and Li, Chu-Min and He, Kun},
booktitle = {Proceedings of the Thirty-Third International Joint Conference on
Artificial Intelligence, {IJCAI-24}},
publisher = {International Joint Conferences on Artificial Intelligence Organization},
editor = {Kate Larson},
pages = {1989--1997},
year = {2024},
month = {8},
note = {Main Track},
doi = {10.24963/ijcai.2024/220},
url = {https://doi.org/10.24963/ijcai.2024/220},
}
TY - CPAPER TI - Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers AU - Zheng, Jiongzhi AU - Chen, Zhuo AU - Li, Chu-Min AU - He, Kun T2 - Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence, IJCAI-24 PB - International Joint Conferences on Artificial Intelligence Organization PY - 2024 SP - 1989 EP - 1997 DO - 10.24963/ijcai.2024/220 UR - https://doi.org/10.24963/ijcai.2024/220 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: