UNCORRECTED PROOF
AI Communications 00 (20xx) 1–13 1
DOI 10.3233/AIC-180768
IOS Press
1 52
2 53
3 54
4 55
5 56
6 57
7 58
8 59
9 60
10 61
11 62
12 63
13 64
14 65
15 66
16 67
17 68
18 69
19 70
20 71
21 72
22 73
23 74
24 75
25 76
26 77
27 78
28 79
29 80
30 81
31 82
32 83
33 84
34 85
35 86
36 87
37 88
38 89
39 90
40 91
41 92
42 93
43 94
44 95
45 96
46 97
47 98
48 99
49 100
50 101
51 102
Resizing cardinality constraints for MaxSAT
Eivind Jahren
a,∗
and Roberto Asín Achá
b
a
Department of Informatics, University of Bergen, Norway
E-mail: eivind.jahren@ii.uib.no
b
Computer Science Department, Universidad de Concepción, Chile
E-mail: rasin@udec.cl
Abstract. In this paper we describe several variations of the incremental MSU3 and MSU4 algorithms for the MaxSAT problem,
and show that some of these improve performance. Among the variations considered are new cardinality constraint encodings
which enable incrementally updating the constraint, and have smaller worst-case size than those encodings previously considered.
The new cardinality encodings are based on the well-known sorting networks. The incremental approach is also extended, in a
novel way, inspired by the idea behind resizing arrays. Best performance was achieved when the totalizer encoding was used in
conjunction with sorting networks; unlike other implementations of such combinations in the literature we found that to get best
performance, sorting networks should be used very sparingly. We submitted a solver using a version of the methods described in
this paper to the 2017 MaxSAT evaluation where it placed fourth out of 8 solvers participating in the unweighted category.
Keywords: MaxSAT, cardinality encoding
1. Introduction
MaxSAT solvers have an impressive list of ap-
plications ranging from software package upgrades
(Argelich et al. [6]) to hardware design (Chen et al.
[11]). MaxSAT is the problem of finding an assignment
that maximizes the number of satisfied clauses of a
boolean formula in Conjunctive Normal Form (CNF).
There are several approaches to solving MaxSAT, for
instance, the solver MaxSatz (Li et al. [19]) extends
the inference rules of SAT to MaxSAT, and the solver
MaxHS (Davies and Bacchus [13]) combines Mixed
Integer Programming and SAT solving. In this paper
we are primarily concerned with MaxSAT algorithms
based on satisfiability testing (for an introduction to
MaxSAT techniques see for instance Li and Manyà
[18]).
MaxSAT algorithms based on satisfiability test-
ing, such as MSU3 (Marques-Silva and Planes [21])
and MSU4 (Marques-Sila and Planes [20]), call a
SAT solver, inspect the result to refine upper and
lower bounds, and then repeat the call to the solver
with a modified formula. The formula is modified by
adding constraints that bound the number of unsatis-
fied clauses, all encoded as a CNF formula.
Several SAT solvers facilitate such a use, and are
therefore called incremental. An incremental SAT
*
Corresponding author. E-mail: eivind.jahren@ii.uib.no.
solver allows certain modifications to the formula be-
fore it can be rechecked for satisfiability, reusing as
much as possible of the runs with the previous formu-
las. There are several such solvers, and the SAT-Race
2015 competition featured an incremental SAT solver
track where 5 solvers entered.
Martins et al. [23] showed that leveraging the incre-
mental aspect of SAT solvers is crucial for the MSU3
algorithm. To do so they devised a way of reusing
a cardinality encoding, called totalizer (Bailleux and
Boufkhad [9]), between calls to the solver. In this paper
we extend this work to the cardinality network encod-
ing (Asín et al. [7]), the mixed encoding of Abío et al.
[3], and to the MSU4 algorithm. Our experiments show
that the simple combination of the mixed encoding and
the incremental MSU4 algorithm gives a competitive
MaxSAT solver. However, unlike in (Martins [22]) and
(Abío et al. [3]), best performance is achieved when
sorting networks are used sparingly in the mixed en-
coding. This might be due to the size of the cardinal-
ity constraint being less important when the latter is
reused.
There are three main varieties of MaxSAT: un-
weighted, partial, and weighted. All varieties can be
solved using satisfiability testing with cardinality con-
straints (see for instance Ansótegui et al. [5]). How-
ever, for simplicity, we only discuss the unweighted
case. For our experiments we use benchmarks that are
[research-article] p. 1/13
0921-7126/18/$35.00 © 2018 – IOS Press and the authors. All rights reserved