The second and more important idea is to separate hard score and soft score. Here the hard score of a variable is the
change on the number (or total weight) of satisfied hard clauses caused by flipping the variable, and the soft score of a
variable is the change on the number (or total weight) of satisfied soft clauses caused by flipping the variable. By separating
hard score and soft score, the algorithm becomes more flexible, in the sense that it can pick the flipping variable according
to either hard score or soft score, or both, according to different situations.
The third idea is a variable selection heuristic based on hard score and soft score. The heuristic distinguishes three
different situations during the search, and uses hard score and soft score in different ways under each situation.
The three ideas mentioned above are used in developing a local search algorithm for PMS dubbed Dist, as it makes effective
use of Distinctions between hard and soft clauses. Results of the MaxSAT Evaluation 2014 as well as our experiments
show that Dist significantly outperforms previous local search solvers on all benchmarks from the MaxSAT Evaluation 2014,
with a remarkable improvement in terms of the number of “winning” instances on structured PMS benchmarks. We also
compare Dist with latest state-of-the-art complete solvers and a state-of-the-art portfolio solver on PMS benchmarks from
the MaxSAT Evaluation 2014. Experimental results show that Dist outperforms the complete solvers on random and crafted
benchmarks, while its performance on industrial instances is still considerably worse than complete solvers.
The aforementioned ideas and the Dist algorithm have been presented in [12], but in this article we add more experiments
and replace the complete solvers in our experiments with latest state-of-the-art ones. The following contributions
are new in this article.
In order to improve the performance of Dist on industrial PMS instances, we propose an initialization procedure called
PrioUP, which utilizes unit propagation and puts priority on hard unit clauses. The procedure produces a complete assignment,
which is then used as the initial assignment for the Dist solver. The resulting solver is called DistUP, and it significantly
improves Dist on industrial instances, although it still cannot rival complete solvers.
We also perform experimental analysis and additional investigations on the ideas in this work. In detail, we compare Dist
with its four alternative versions, and the experimental results illustrate the effectiveness of the ideas; more interestingly, all
alternatives based on separation of hard and soft score have better performance than previous local search algorithms, indicating
separation of hard and soft score is an essential technique and opens up a new direction for local search algorithms
for PMS (and also weighted PMS). We also study the effectiveness of the PrioUP procedure on Weighted PMS industrial
instances, and provide a discussion on the initialization procedure.
1.4. Structure of the paper
The remainder of this paper is organized as follows: some preliminary concepts are given in next section. We present
in detail three new local search ideas for PMS in Section 3, and present the Dist algorithm in Section 4. Then we present
the experimental study on Dist in Section 5. After that, we propose the PrioUP procedure, and apply it to improve Dist
in Section 6, where we also present experiments on the improved algorithm DistUP and a discussion on the initialization
procedure. Finally, we give some concluding remarks and directions for future research.