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