MinSAT versus MaxSAT for Optimization Problems
Josep Argelich1 , Chu Min Li2 , Felip Manyà3 , and Zhu Zhu2
1
3
Dept. of Computer Science, Universitat de Lleida, Lleida, Spain
2
MIS, Université de Picardie Jules Verne, Amiens, France
Artificial Intelligence Research Institute (IIIA, CSIC), Bellaterra, Spain
Abstract. Despite their similarities, MaxSAT and MinSAT use different encodings and solving techniques to cope with optimization problems. In this paper we
describe a new weighted partial MinSAT solver, define original MinSAT encodings for relevant combinatorial problems, propose a new testbed for evaluating
MinSAT, report on an empirical investigation comparing MinSAT with MaxSAT,
and provide new insights into the duality between MinSAT and MaxSAT.
1
Introduction
MinSAT is the problem of finding a truth assignment that minimizes the number of satisfied clauses in a CNF formula, and MaxSAT is the problem of finding a truth assignment that maximizes the number of satisfied clauses. When hard and soft clauses, and
weights are considered, the problem is known as weighted partial MinSAT/MaxSAT.
The promising results on MaxSAT as a generic approach to solving combinatorial
optimization problems [6, 16] led us to investigate the opportunities that MinSAT offers
in optimization [19, 20]. At first sight, it may seem that MaxSAT and MinSAT are so
close that it does not pay off to devote efforts to MinSAT, but this is not completely certain. In [19, 20], branch-and-bound MinSAT solvers apply upper bounding techniques
not applicable in MaxSAT solvers, and this provides a competitive advantage to MinSAT, which solves MaxClique and combinatorial auction instances (that are beyond the
reach of current MaxSAT solvers) even faster than using dedicated algorithms. Interestingly, the MinSAT and MaxSAT encodings of these problems are almost identical (the
only difference is that the literals in the soft clauses, which are unitary, have opposite
polarity). The superiority of MinSAT in [19, 20] is due to the MinSAT solving techniques, not to the encoding. The compared MinSAT and MaxSAT solvers use the same
data structures but implement different techniques. Since performance depends on both
solvers and encodings, our first goal is to define suitable MinSAT encodings of NP-hard
problems, and improve the performance by using more efficient encodings.
All the interesting genuine MinSAT encodings defined so far, except for random
Min-kSAT instances, only contain unit clauses in the soft part. In the literature we can
find experimental investigations solving instances with non-unit soft clauses, but the optimization problem that is actually being solved is a genuine or transformed MaxSAT
instance. The first contribution of the paper is the definition of genuine MinSAT encodings of practical optimization problems, containing non-unit soft clauses, that are
completely different from their MaxSAT counterparts, and a comparison that provides
empirical evidence of the gains that could be achieved. More specifically, we define
novel encodings from weighted MaxCSP to MinSAT that fulfill our requirements. We
use weighted MaxCSP as a good source of benchmarks for MinSAT solvers, but not
with the aim of competing with weighted MaxCSP solvers in their own territory.
The second contribution is the incorporation of the inference rules defined in [17]
into MinSatz [19, 20]. It turns out that MaxSAT inference rules can be applied to MinSAT too, because they preserve the cost distribution over all the models. As a result,
we have implemented a new version of MinSatz that incorporates inference rules, and
provided empirical evidence that inference rules may produce significant speedups.
Last but not least, we would like to highlight that MinSAT solving is a novel and
emerging technology with a remarkable potential in optimization. It allows to look at
problems from a different perspective because, in contrast to existing Boolean optimization approaches, it works by maximizing the number of violated constraints instead of
working by minimizing that number. This fact leads to the definition of different encodings and solving techniques that exploit the duality between MinSAT and MaxSAT.
Related work: The work on MinSAT for solving optimization problems may be divided
into three categories: (I) Transformation between MinSAT and MaxSAT: Reductions
from MinSAT to PMaxSAT were defined in [18], but these reductions do not generalize
to WPMinSAT. This drawback was overcome with the definition of the natural encoding [13], which was improved in [23]. Reductions of WPMinSAT to Group MaxSAT
were evaluated in [11]. (II) Branch-and-bound solvers: The only existing WPMinSAT
solver, MinSatz [19, 20], is based on MaxSatz [17], and implements upper bounds that
exploit clique partition algorithms and MaxSAT technology. (III) SAT-based solvers:
There exist two WPMinSAT solvers of this class [2, 11]. The main difference with SATbased MaxSAT solvers lies in the way of relaxing soft clauses.
2
Preliminaries
A weighted clause is a pair (c, w), where c is a is a disjunction of literals and w, its
weight, is a natural number or infinity. A clause is hard if its weight is infinity (for
simplicity, we omit infinity weights); otherwise it is soft. A Weighted Partial MinSAT (MaxSAT) instance is a multiset of hard clauses and weighted soft clauses. A
truth assignment assigns to each propositional variable either 0 or 1. The Weighted
Partial MinSAT (MaxSAT) problem, or WPMinSAT (WPMaxSAT), for an instance φ
consists in finding an assignment in which the sum of weights of the satisfied (falsified) soft clauses is minimal, and all the hard clauses are satisfied. The Weighted MinSAT (MaxSAT) problem, or WMinSAT (WMaxSAT), is the WPMinSAT (WPMaxSAT)
problem when there are no hard clauses. The Partial MinSAT (MaxSAT) problem, or
PMinSAT (PMaxSAT), is the WPMinSAT (WPMaxSAT) problem when all the soft
clauses have the same weight. The MinSAT (MaxSAT) problem is the Partial MinSAT
(MaxSAT) problem when there are no hard clauses.
A CSP instance is a triple hX , D, Ci, where X = {X1 , . . . , Xn } is a set of variables,
D = {d(X1 ), . . . , d(Xn )} is a set of finite domains, and C = {C1 , . . . , Cm } is a
set of constraints. Each Ci = hSi , Ri i in C is a relation Ri over a subset of Si =
{Xi1 , . . . , Xik } ⊆ X , called the scope. Ri may be represented extensionally as a subset
of the Cartesian product d(Xi1 )×· · ·×d(Xik ). The tuples belonging to Ri represent the
allowed values and are called goods, and the rest of tuples represent the forbidden values
and are called nogoods. An assignment v for a CSP instance hX , D, Ci is a mapping that
assigns to every variable Xi ∈ X an element v(Xi ) ∈ d(Xi ). It satisfies a constraint
h{Xi1 , . . . , Xik }, Ri i ∈ C iff hv(Xi1 ), . . . , v(Xik )i ∈ Ri . The Constraint Satisfaction
Problem (CSP) for an instance P consists in finding a satisfying assignment for P .
A Weighted MaxCSP (WMaxCSP) instance is defined as a triple hX , D, Ci, where
X and D are variables and domains as in CSP, and C is a set of weighted constraints.
A weighted constraint hc, wi is just a classical constraint c plus a weight w over natural
numbers. The cost of an assignment v is the sum of the weights of all constraints violated by v. An optimal solution is an assignment with minimal cost. In the particular
case where all the constraints have the same weight, it is called the MaxCSP problem.
3
Encodings from WMaxCSP to WPMinSAT
We define the MinSAT counterparts of the direct, minimal support and interval-based
minimal support encodings from WMaxCSP to WPMaxSAT defined in [5]. All these
encodings are correct: solving a WMaxCSP instance is equivalent to solving the WPMinSAT instance derived by any of our encodings. Other variants and encodings could
be tried. We selected them because they were superior in most of our tests. We assume
binary constraints, but the direct encoding is valid for non-binary constraints too.
Direct encoding A Boolean variable xi is associated with each value i that the CSP
variable X can take. If the domain d(X) has size m, the ALO clause of X is x1 ∨ · · · ∨
xm , and ensures that X is given a value. The AMO clauses of X are the set of clauses
{¬xi ∨ ¬xj |i, j ∈ d(X), i < j}, and ensure that X takes no more than one value.
Definition 1. The direct encoding of a WMaxCSP instance hX , D, Ci is the WPMinSAT instance that contains as hard clauses the ALO and AMO clauses for every CSP
variable in X , and a soft clause (¬xi ∨ ¬yj , w) for every good (X = i, Y = j) of every
weighted constraint hC, wi of C with scope {X, Y }.
Since PMinSAT maximizes the number of falsified soft clauses, the idea behind the
PMinSAT encoding of a MaxCSP instance is that we want to force the violation of one
soft clause for every satisfied constraint, because of that we negate the goods instead
of the nogoods as is done for PMaxSAT encodings of MaxCSP instances in [5]. If an
interpretation is compatible with a good of a constraint, then one soft clause of the
clauses encoding the constraint is falsified, and if it is not compatible with any good,
then all the clauses are satisfied. The idea is the same when weights are added.
Example 1. Let hX , D, Ci be the WMaxCSP instance where X = {X, Y }, d(X) =
d(Y ) = {1, 2, 3}, C = {X = Y }, and the weight of X = Y is 3. The direct encoding
from WMaxCSP to WPMinSAT is formed by the hard clauses encoding the ALO and
AMO conditions of X and Y , and the soft clauses (¬x1 ∨ ¬y1 , 3), (¬x2 ∨ ¬y2 , 3), and
(¬x3 ∨ ¬y3 , 3). In contrast to the WPMaxSAT direct encoding, which needs a quadratic
number of binary soft clauses in the domain size for encoding the equality constraint,
the WPMinSAT direct encoding just needs a linear number of binary clauses. So, this
example shows that certain constraints can be more compactly defined with MinSAT.
Minimal support encoding In the support encoding from CSP to SAT [12, 9, 22],
besides the ALO and AMO clauses, there are clauses that encode the support for a value
instead of encoding conflicts. The support for a value i of a variable X across a binary
constraint with scope {X, Y } is the set of values of Y which allow X = i. If v1 , . . . , vk
are the supporting values of variable Y for X = i, the clause ¬xi ∨yv1 ∨· · ·∨yvk (called
support clause) is added. There is one support clause for each value in the domain
and for each pair of variables X, Y involved in a constraint. In the support encoding,
a clause in each direction is used: one for the pair X, Y and one for Y, X, while in
the minimal support encoding [5], for every constraint with scope {X, Y }, the added
clauses are the support clauses either for all the domain values of X or for all the domain
values of Y . The minimal support encoding does not maintain arc consistency through
unit propagation but usually is better for SAT solvers with learning and for MaxSAT
solvers [5]. In our MinSAT setting, we focus on the minimal support encoding because
it greatly outperformed the support encoding in our tests. Before defining the encoding,
we need to define the negative support for a value j of a CSP variable X across a binary
constraint with scope {X, Y } as the set of values of Y which forbid X = j.
Definition 2. The minimal support encoding of a WMaxCSP instance hX , D, Ci is the
WPMinSAT instance that contains as hard clauses the ALO and AMO clauses for every
CSP variable in X and, for every constraint with scope {X, Y } and weight w, either
the soft clause (¬xi ∨ yv1 ∨ · · · ∨ yvn , w) for every value i ∈ d(X), where v1 , . . . , vn is
the negative support for value i, or the soft clause (¬yj ∨ xu1 ∨ · · · ∨ xum , w) for every
value j ∈ d(Y ), where u1 , . . . , um is the negative support for value j.
The main difference with the minimal support encoding from WMaxCSP to WPMaxSAT [5] is that the support clauses now include the negative support instead of the
positive support. This allows the violation of a soft clause for every satisfied constraint.
In the experiments, we select the variable that produces support clauses of smaller size.
To this end, we give a score of 16 to unit clauses, a score of 4 to binary clauses and a
score of 1 to ternary clauses, and select the variable with higher sum of scores.
Example 2. Let hX , D, Ci be the MaxCSP instance where X = {X, Y }, d(X) =
d(Y ) = {1, 2, 3}, C = {X 6= Y }, and the constraint weight is 2. The minimal support
encoding from WMaxCSP to WPMinSAT is formed by the ALO and AMO hard clauses
of X and Y , and the soft clauses (¬x1 ∨ y1 , 2), (¬x2 ∨ y2 , 2), and (¬x3 ∨ y3 , 2). Notice
that we could also define the minimal support encoding by replacing the previous soft
clauses with (x1 ∨¬y1 , 2), (x2 ∨¬y2 , 2), and (x3 ∨¬y3 , 2) if we add the support clauses
for the domain values of Y instead of the domain values of X. The length of the soft
clauses of the minimal support WPMaxSAT encoding is linear in the domain size for
the inequality constraint whereas in MinSAT all the soft clauses are binary.
If we replace C = {X 6= Y } with C = {X ≤ Y }, we can derive the minimal support encoding containing the soft clauses (¬x1 , 2), (¬x2 ∨y1 , 2), and (¬x3 ∨y1 ∨y2 , 2).
Interestingly, we derive a unit clause that can be very useful for applying inference rules.
In the minimal support encoding from WMaxCSP to WPMaxSAT no unit clause is derived. It contains the soft clauses (¬x2 ∨ y2 ∨ y3 , 2), and (¬x3 ∨ y3 , 2).
Interval-based minimal support encoding An alternative for modeling a CSP variable X is the use of Boolean variables of the form x≥
i (instead of x = i), assuming a
total ordering on the domain. Variables of the form x≥
i are called regular variables, and
≥
their intended meaning is that xi is true iff X ≥ i [7, 3, 10]. For simplicity, we assume
here that domains are subsets of natural numbers.
One advantage of introducing regular literals (i.e.; regular variables and their negations) is that the number of clauses needed for each CSP variable is linear rather than
quadratic in the domain size, they may produce more compact encodings, and are particularly useful for dealing with large domains. We focus on the interval-based minimal
support encoding [5] because it outperformed other encodings with regular literals.
Given a MinSAT support clause ¬xj ∨ yv1 ∨ yv2 ∨ · · · ∨ yvk , the negative support
of variable Y for X = j is now encoded in intervals using regular literals. Let us
see an example: If the domain of Y is {1, 2, . . . , 10} and we are given the support
clause ¬x2 ∨ y2 ∨ y3 ∨ y6 ∨ y8 ∨ y9 , then the negative support is represented by the
following intervals: [2, 3], [6, 6], and [8, 9]. The interval-based encoding for this clause is
≥
≥
≥
≥
≥
≥
≥
≥
≥
≥
≥
≥
as follows: x≥
2 ∧¬x3 → y2 , x2 ∧¬x3 ∧y4 → y6 , x2 ∧¬x3 ∧y7 → y8 , x2 ∧¬x3 →
≥
¬y10 . Notice that the number of clauses needed for each support clause is linear in the
largest domain size, and each clause has at most four regular literals.
Definition 3. The interval-based minimal support encoding of a WMaxCSP instance
hX , D, Ci is the WPMinSAT instance obtained from the minimal support encoding by
(i) replacing the ALO and AMO clauses for every variable X ∈ X with domain size
≥
≥
≥
≥
≥
m with the clauses x≥
m → xm−1 , xm−1 → xm−2 , . . . , x3 → x2 ; and (ii) replacing
every support clause with the corresponding interval-based regular clauses using the
negative support; i.e, if the negative support of variable Y for X = i can be represented
≥
≥
by the intervals [l1 , u1 ], [l2 , u2 ], . . . [lk , uk ], we add the clauses x≥
i ∧ ¬xi+1 → yl1 ,
≥
≥
≥
≥
≥
≥
≥
≥
≥
≥
x≥
i ∧ ¬xi+1 ∧ yu1 +1 → yl2 , . . . , xi ∧ ¬xi+1 ∧ yuk−1 +1 → ylk , xi ∧ ¬xi+1 → ¬yuk +1 .
Example 3. The WPMinSAT interval-based minimal support encoding for the
WMaxCSP instance of Example 2 with the constraint X 6= Y is formed by the hard
≥
≥
≥
≥
≥
≥
≥
≥
clauses ¬x≥
3 ∨x2 and ¬y3 ∨y2 , and the soft clauses (x2 ∨¬y2 , 2), (¬x2 ∨x3 ∨y2 , 2),
≥
≥
≥
≥
(¬x≥
2 ∨ x3 ∨ ¬y3 , 2), and (¬x3 ∨ y3 , 2).
4
A new WPMinSAT Solver
We implemented a new version of MinSatz [20], which is the only existing branch-andbound WPMinSAT solver, by incorporating all the inference rules of MaxSatz [17].
Such rules preserve the number of falsified clauses over all the models and can be applied in MinSatz, to help detect contradictions earlier, because it works by maximizing
the number of falsified clauses (instead of minimizing that number as in MaxSAT).
For lack of space we just define one rule of [17]: The clauses x, y, ¬x ∨ ¬y are
replaced with 2, x ∨ y. The clause x ∨ y ensures that the number of falsified clauses is
preserved also when x = y = 0. In this case, two clauses are falsified.
#
50
50
50
50
50
50
50
50
50
450
#
100
100
100
100
100
100
100
100
100
100
100
100
1200
Random binary CSP
Toulbar2 MinSatz (supc) MaxSatz (isupc) MinSatz (isupc) Abscon MaxSatz (supc)
0.01(100)
0.37(100)
0.01(100)
438.21(98) 11.66(100)
0.01(100)
0.01(100)
7.29(100)
0.93(100)
187.77(100) 11.59(100)
1.65(100)
0.58(100)
44.29(100)
62.21(100)
377.95(100) 49.73(100)
23.20(100)
2.20(100)
99.62(100)
217.00(100)
522.45(100) 68.60(100)
59.37(100)
4.96(100)
173.71(100)
362.44(100)
586.06(100) 114.64(100)
129.01(100)
7.48(100)
247.97(100)
441.82(100)
634.37(100) 202.55(100)
237.51(100)
9.52(100)
285.39(100)
359.80(100)
513.48(100) 350.16(100)
422.87(100)
9.74(100)
276.80(100)
224.28(100)
366.35(100) 516.14(100)
696.88(99)
8.49(100)
225.65(100)
124.22(100)
173.55(100) 639.40(100)
1021.36(89)
6.47(100)
176.76(100)
54.13(100)
72.30(100) 764.34(96)
1122.14(62)
2.69(100)
61.97(100)
14.75(100)
9.34(100) 669.01(99)
989.45(92)
0.08(100)
0.25(100)
0.93(100)
0.04(100) 195.24(100)
44.76(100)
1200
1200
1200
1198
1195
1142
Toulbar2 MinSatz (supc) MinSatz (isupc)
0.01(50)
1.46(50)
39.81(50)
0.01(50)
2.93(50)
27.02(50)
0.19(50)
4.58(50)
34.21(50)
1.18(50)
11.21(50)
47.04(50)
2.05(50)
11.33(50)
45.08(50)
2.77(50)
15.04(50)
31.25(50)
3.49(50)
19.10(50)
28.29(50)
1.60(50)
18.88(50)
5.79(50)
0.82(50)
33.60(50)
1.46(50)
450
450
450
MinSatz (dir) MaxSatz (dir) WPM1 (supc)
937.91(27)
0.01(100)
0.01(100)
1084.66(27)
0.02(100)
0.02(100)
1179.06(2)
7.40(100)
730.03(32)
1127.71(2) 111.02(100)
0.00(0)
1715.14(3) 854.61(93)
0.00(0)
1314.50(5) 1487.47(1)
0.00(0)
1390.58(23)
0.00(0)
0.00(0)
1033.17(92)
0.00(0)
0.00(0)
334.16(100)
0.00(0)
0.00(0)
73.99(100)
0.00(0)
0.00(0)
5.41(100)
0.00(0)
0.00(0)
0.01(100)
0.00(0)
319.82(1)
581
494
233
Kbtrees
Abscon MinSatz (dir) MaxSatz (isupc) MaxSatz (supc) MaxSatz (dir) WPM1 (dir)
18.72(50)
0.00(0)
0.01(50)
0.01(50)
0.01(50)
0.01(50)
25.42(50) 489.89(50)
65.93(50)
34.26(50)
1.42(50)
0.30(50)
50.73(50) 485.40(48)
800.77(35)
260.17(50) 209.61(50) 541.71(11)
77.81(50) 444.69(49)
1509.73(2)
925.71(41)
0.00(0)
0.00(0)
104.27(50) 213.32(50)
907.35(3)
1040.50(18)
0.00(0)
0.00(0)
177.85(50)
90.48(50)
930.23(21)
1200.68(7)
0.00(0)
0.00(0)
306.46(50)
65.45(50)
998.99(37)
0.00(0)
0.00(0)
0.00(0)
321.73(50)
8.39(50)
244.92(50)
0.00(0)
0.00(0)
0.00(0)
370.69(50)
1.83(50)
47.07(50)
0.00(0)
0.00(0)
0.00(0)
450
397
298
216
150
111
Graph Coloring
# Toulbar2
Abscon MinSatz (supc) MaxSatz (dir) MaxSatz (isupc) MinSatz (isupc) MaxSatz (supc) Minsatz (dir) WPM1 (supc)
100 10.48(100) 85.65(100)
106.75(100) 84.99(100)
167.05(100)
615.50(75)
688.32(63) 557.89(30)
86.48(91)
100
1.98(100) 49.32(100)
7.22(100)
4.92(100)
1.60(100)
26.07(100)
22.66(100) 88.79(100)
668.69(24)
100 132.01(100) 502.96(81)
649.46(74) 576.50(67)
1036.78(37)
1275.15(2)
0.00(0)
0.00(0)
247.14(40)
100 16.35(100) 130.90(100)
65.48(100) 50.95(100)
12.44(100)
290.03(100)
262.91(100) 692.70(84)
0.00(0)
100 514.20(63) 588.24(40)
886.25(5) 757.93(11)
0.00(0)
0.00(0)
0.00(0)
0.00(0)
234.16(34)
100 478.25(95) 1024.63(30)
872.03(46) 899.19(22)
1169.70(12)
0.00(0)
0.00(0)
0.00(0)
437.06(1)
600
558
451
425
400
349
277
263
214
190
hn, d, p1 , p2 i
h22, 5, 180, 2i
h22, 5, 180, 4i
h22, 5, 180, 6i
h22, 5, 180, 8i
h22, 5, 180, 10i
h22, 5, 180, 12i
h22, 5, 180, 14i
h22, 5, 180, 16i
h22, 5, 180, 18i
h22, 5, 180, 20i
h22, 5, 180, 22i
h22, 5, 180, 24i
Total
hn, k, ci
h16, 16, 6i
h16, 16, 4i
h18, 18, 6i
h18, 18, 4i
h20, 20, 7i
h20, 20, 5i
Total
t
10
20
30
40
50
60
70
80
90
Total
Table 1. Experimental results for random binary MaxCSP, graph coloring, and kbtree instances. The first column displays the parameters provided to the
generators, the second column displays the number of tested instances, and the rest of columns display, for the encoding and solver indicated in the first
row, the mean time (seconds) needed to solve an instance among the instances that were solved within a cutoff time of 1800 seconds, followed by the
total number of solved instances in parentheses. The best results are in bold.
MinSatz is also characterized by incorporating the upper bounds, described in [20],
that exploit clique partition algorithms and MaxSAT technology. In a sense, the new
MinSatz combines efficient MaxSAT techniques with genuine MinSAT techniques.
To show the impact of inference rules in performance, Figure 1 compares the old and
new MinSatz solvers on weighted Min2SAT instances, generated uniformly at random,
having 2000 variables, and with a number of clauses ranging from 1000 to 3000, and
the weights ranging from 1 to 10. We used the computer described below, and solved
100 instances per point. MinSatz-ir refers to MinSatz without inference rules.
Random Max2SAT with 2000 variables
Mean CPU time in seconds
1000
MinSatz-ir
MinSatz
100
10
1
0.1
1000
1500
2000
Number of clauses
2500
3000
Fig. 1. Comparison of Minsatz with and without inference rules on weighted Min2SAT instances.
5
Experimental Results
We compared the performance of the direct encoding (dir), the minimal support encoding (supc), and the interval-based support encoding (isupc) of different optimization
problems with WCSP, WPMinSAT and WPMaxSAT solvers. Experiments were performed on a cluster with Intel Xeon 2.67GHz processors with 4GB of memory.
The solved problems (that were first derived as MaxCSP instances and then translated to the mentioned WPMinSAT and WPMaxSAT encodings) are: (I) Random binary
MaxCSP (model B [21]): In the class hn, d, p1 , p2 i with n variables of domain size d,
we choose a random subset of exactly p1 n(n − 1)/2 constraints (rounded to the nearest
integer), each with exactly p2 d2 conflicts; p1 may be thought of as the density and p2
as the tightness. (II) Graph coloring: unsatisfiable graph coloring instances of Culberson [8] with option IID (independent random edge assignment). The parameters of the
generator are: number of vertices (n), optimum number of colors to get a valid coloring (k), and number of colors we use to color the graph (c). We solved the problem of
finding a coloring that minimizes the number of adjacent vertices with the same color.
(III) Kbtrees: Clique tree instances with different constraint tightness (t), tested in [4].
We used the MaxSAT solvers MaxSatz and WPM1 [1] from the last MaxSAT Evaluation, the new version of MinSatz, and the WCSP solvers Abscon [15] and Toulbar2 [14]. For WPM1 we just show results with the best performing encoding. We also
tested WPMin1 [2] and the WPMinSAT instances produced by transforming the tested
WPMaxSAT instances using the natural flow network encoding [23], but their performance was not competitive.
Table 1 shows the results obtained. As a general comment for the solved testbed,
we should say that MinSAT outperforms MaxSAT, the minimal support and intervalbased minimal support encodings are better than the direct encoding in MinSAT, and
encodings containing fewer and smaller clauses are usually more efficient. Even when
our aim is to study the duality and complementarity between MaxSAT and MinSAT,
and not to compete with WCSP solvers in their own territory, it is worth mentioning the
good behavior of MinSatz wrt Abscon, as well as the still existing gap between MinSatz
and Toulbar2 that should stimulate further research on MinSAT. The efforts devoted to
WCSP solvers cannot be compared with the recent efforts on WPMinSAT solvers. Recall that WCSP is used here as a source for getting benchmarks for WPMinSAT solvers,
and for advancing in the construction of a challenging testbed of MinSAT instances.
In random MaxCSP, the performance of MinSAT versus MaxSAT depends on the
number of conflicts. The number of conflicts is related to the clause size in the support encodings, and is related to the number of clauses in the direct encoding. Also
observe that isupc is superior to supc on some subsets of instances on both MaxSAT
and MinSAT solvers, showing the relevance of using regular literals in some cases.
In graph coloring, MinSAT solves more instances than MaxSAT but MaxSAT is
faster in some subsets, providing again evidence of the complementarity between MinSAT and MaxSAT. We also observe that regular literals are relevant in some cases.
There are a substantial number of instances beyond the reach of the tested solvers, and
are a challenge for future experimental investigations. Observe that MinSAT outperforms Abscon on some sets.
In the clique tree results, all the MinSAT options are superior to the best MaxSAT
option, solving 152 additional instances. Our encodings allowed to solve for the first
time a number of instances not solved in [4].
6
Conclusions
We have defined original encodings from WMaxCSP to WPMinSAT, created a new
testbed for evaluating MinSAT solvers, developed a new WPMinSAT solver, and provided new insights into MinSAT such as the duality between MinSAT and MaxSAT
encodings. Our experiments indicate that MaxSAT solving and MinSAT solving are
complementary. Depending on the structure of the instances, more compact and efficient encodings are produced either with MinSAT or with MaxSAT. In a similar way,
the solving techniques of MinSAT outperform the techniques of MaxSAT for some instances, and vice versa.
MaxSAT and MinSAT are important optimization problems that deserve to be compared, and their duality and complementarity deserve to be analyzed. Moreover, as
MinSAT-based problem solving is a new research topic, there are not as many available benchmarks as in MaxSAT for evaluating solvers and stimulating the development
of new ones. We hope the results of the paper could contribute to gain new insights
on these problems, advance the state of the art of MinSAT-based problem solving, and
provide tools for developing and evaluating MinSAT solvers.
References
1. Carlos Ansótegui, María Luisa Bonet, and Jordi Levy. A new algorithm for weighted partial
MaxSAT. In Proceedings of the 24th AAAI Conference on Artificial Intelligence, AAAI-2008,
Atlanta, USA, pages 3–8, 2010.
2. Carlos Ansótegui, Chu Min Li, Felip Manyà, and Zhu Zhu. A SAT-based approach to MinSAT. In Proceedings of the 15th International Conference of the Catalan Association for
Artificial Intelligence, CCIA-2012, Alacant, Spain, pages 185–189. IOS Press, 2012.
3. Carlos Ansótegui and Felip Manyà. Mapping problems with finite-domain variables into
problems with Boolean variables. In Proceedings of the 7th International Conference on
Theory and Applications of Satisfiability Testing (SAT), Vancouver, Canada, pages 1–15.
Springer LNCS 3542, 2004.
4. Josep Argelich, Alba Cabiscol, Inês Lynce, and Felip Manyà. Sequential encodings from
Max-CSP into Partial Max-SAT. In Proceedings of the 12th International Conference
on Theory and Applications of Satisfiability Testing (SAT), Swansea, UK, pages 161–166.
Springer LNCS 5584, 2009.
5. Josep Argelich, Alba Cabiscol, Inês Lynce, and Felip Manyà. Efficient encodings from CSP
into SAT, and from MaxCSP into MaxSAT. Multiple-Valued Logic and Soft Computing,
19(1-3):3–23, 2012.
6. Josep Argelich, Chu Min Li, Felip Manyà, and Jordi Planes. The first and second MaxSAT evaluations. Journal on Satisfiability, Boolean Modeling and Computation, 4:251–278,
2008.
7. Ramón Béjar, Reiner Hähnle, and Felip Manyà. A modular reduction of regular logic to
classical logic. In Proceedings, 31st International Symposium on Multiple-Valued Logics
(ISMVL), Warsaw, Poland, pages 221–226. IEEE CS Press, Los Alamitos, 2001.
8. Joseph Culberson.
Graph coloring page: The flat graph generator.
See
http://web.cs.ualberta.ca/˜ joe/Coloring/Generators/flat.html, 1995.
9. Ian P. Gent. Arc consistency in SAT. In Proceedings of the 15th European Conference on
Artificial Intelligence (ECAI), Lyon, France, pages 121–125, 2002.
10. Ian P. Gent and Peter Nightingale. A new encoding of AllDifferent into SAT. In Proceedings
of the 3rd International Workshop on Modelling and Reformulating Constraint Satisfaction
Problems, CP 2004 Workshop, Toronto, Canada, pages 95–110, 2004.
11. Federico Heras, Antonio Morgado, Jordi Planes, and Joao Marques-Silva. Iterative SAT solving for minimum satisfiability. In Proceedings of the IEEE 24th International Conference on
Tools with Artificial Intelligence, ICTAI 2012, Athens, Greece, pages 922–927, 2012.
12. S. Kasif. On the parallel complexity of discrete relaxation in constraint satisfaction networks.
Artificial Intelligence, 45:275–286, 1990.
13. Adrian Kügel. Natural Max-SAT encoding of Min-SAT. In Proceedings of the Learning and
Intelligent Optimization Conference, LION 6, Paris, France, 2012.
14. Javier Larrosa and Thomas Schiex. In the quest of the best form of local consistency for
weighted CSP. In Proceedings of the International Joint Conference on Artificial Intelligence, IJCAI’03, Acapulco, México, pages 239–244, 2003.
15. C. Lecoutre and S. Tabary. Abscon 112: Towards more robustness. In Proceedings of the
3rd International Constraint Solver Competition in CP 2008, 2008.
16. Chu Min Li and F. Manyà. MaxSAT, hard and soft constraints. In Armin Biere, Hans van
Maaren, and Toby Walsh, editors, Handbook of Satisfiability, pages 613–631. IOS Press,
2009.
17. Chu Min Li, Felip Manyà, and Jordi Planes. New inference rules for Max-SAT. Journal of
Artificial Intelligence Research, 30:321–359, 2007.
18. Chu Min Li, Felip Manyà, Zhe Quan, and Zhu Zhu. Exact MinSAT solving. In Proceedings
of the 13th International Conference on Theory and Applications of Satisfiability Testing,
SAT-2010, Edinburgh, UK, pages 363–368. Springer LNCS 6175, 2010.
19. Chu Min Li, Zhu Zhu, Felip Manyà, and Laurent Simon. Minimum satisfiability and its
applications. In Proceedings of the 22nd International Joint Conference on Artificial Intelligence, IJCAI-2011, Barcelona, Spain, pages 605–610, 2011.
20. Chu Min Li, Zhu Zhu, Felip Manyà, and Laurent Simon. Optimizing with minimum satisfiability. Artificial Intelligence, 190:32–44, 2012.
21. B.M. Smith and M.E. Dyer. Locating the phase transition in binary constraint satisfaction
problems. Artificial Intelligence, 81:155–181, 1996.
22. Toby Walsh. SAT v CSP. In Proceedings of the 6th International Conference on Principles of
Constraint Programming, CP-2000, Singapore, pages 441–456. Springer LNCS 1894, 2000.
23. Zhu Zhu, Chu Min Li, Felip Manyà, and Josep Argelich. A new encoding from MinSAT into
MaxSAT. In Proceedings of the 18th International Conference on Principles and Practice
of Constraint Programming, CP 2012, Québec City, QC, Canada, pages 455–463. Springer
LNCS 7514, 2012.
© Copyright 2026 Paperzz