<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Improved algorithm of unsatisfiability-based Maximum Satisfiability</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yiyuan Wang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dantong Ouyang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Liming Zhang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Symbol Computation and Knowledge Engineering of Ministry of Education, Jilin University</institution>
          ,
          <addr-line>Changchun 130012</addr-line>
          ,
          <institution>China College of Computer Science and Technology, Jilin University</institution>
          ,
          <addr-line>Changchun 130012</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <fpage>93</fpage>
      <lpage>103</lpage>
      <abstract>
        <p>Recently, the Maximum Satisfiability (MaxSAT) discovers a rapidly increasing number of practical applications in a wide range of different areas. Unsatisfiability-based MaxSAT algorithms have been put forward aimed at improving the performance of solving MaxSAT problem. In these algorithms, several excellent Boolean Satisfiability (SAT) solvers are employed to iteratively identify unsatisfiable sub-formulas and the additional blocking variables are also applied to relax some of initial clauses or encode Boolean constraints into a CNF formula. Firstly, this paper proposes two novel optimizations to reduce the search space: finding all disjoint unsatisfiable cores with the original clauses removed and no blocking variables added; avoiding generating the largest number of blocking variables' clauses with heuristic strategy. Moreover, in order to reduce the number of satisfying iterations, the partial assignment is introduced into satisfiability-based framework as the tight bound accelerator which could find a smaller number of blocking variables. Experimental results show that the unsatisfiability-based algorithm with these optimizations results in an improved and more effective solver for MaxSAT problem than previous algorithms. In addition,this results in consistent performance gains in most cases and on average 1.5 times speed-up for MaxSAT with state-of-the-art algorithms.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The classical NP-complete problem of Boolean Satisfiability (SAT) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] has been a
growth of interest in not just the theoretical computer science community, but also in
various areas where feasible solutions to these problems are significantly important in
many practical applications. These practical applications have been able to successfully
apply SAT as a decision procedure to determine whether these instances are SAT or
UNSAT. However, there are more extra demands of the SAT problem that exceed this
decision procedure of SAT solvers, such as Maximum Satisfiability problem (MaxSAT)
[
        <xref ref-type="bibr" rid="ref12 ref3">12, 3</xref>
        ] and Pseudo-Boolean Optimization (PBO). Moreover, using the strong
relationship between these problems, several new algorithms have been developed [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>
        MaxSAT as a well-known problem in Computer Science, consists of identifying the
largest number of clauses in a CNF formula that can be satisfied. The recent
application of MaxSAT and variants in design debugging and verification of complex designs
[
        <xref ref-type="bibr" rid="ref10 ref20 ref4">4, 10, 20</xref>
        ] motivated the development of new MaxSAT algorithms, capable of solving
large structured problem instances common to these application domains. Many
exact methods for finding MaxSAT have been developed in recent years.
Davis-PutnamLogemann-Loveland procedure [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] explores a binary search tree and then establishes
incrementally truth assignments. The result of several methods based on this procedure
is very good, but they are not suitable for MaxSAT practical problems. Some other
exact methods generally based on Branch and Bound (B&amp;B) algorithms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] have been
designed to handle MaxSAT, but are unable to solve majority of problem instances.
Recently algorithms based on the identification of unsatisfiable sub-formulas [
        <xref ref-type="bibr" rid="ref15 ref18 ref19 ref7">7, 18, 19,
15</xref>
        ], with blocking variables introduced into these algorithms and Pseudo Boolean
Optimization used to simplify CNF, have also been developed, and are now able to tackle
all these Boolean optimization problems and most of unsatisfiable instances.
      </p>
      <p>
        This paper firstly reviews previous MaxSAT algorithm based on unsatisfiable
subformulas named msu4 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and then proposes an improved MaxSAT algorithm based
on the method of binary search [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Despite the improved algorithm building on msu4
based on unsatisfiable sub-formulas and binary search, this paper proposes one
improvement as the tight bound accelerator and extra two optimizations to reduce the
search space, which are novel, including: (1) reducing the number of SAT solver
iterations under the control of partial assignment; (2) developing the heuristic strategy to
avoid generating the largest number of blocking clauses, so as to slow down the
efficiency of algorithm, when the middle value is half number of blocking variables. (3)
speeding up to find all disjoint unsatisfiable cores without blocking variables added
into these clauses in the early iterative execution of binary searchs’ preprocess. The new
improved algorithm also uses several techniques [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to utilize BDDs for encoding
cardinality constraints as Boolean circuits. Experimental results show that the new MaxSAT
algorithm is observably faster than the previous MaxSAT algorithms in a wide range
of unsatisfiable industrial instances, demonstrating the robustness of the proposed
approach.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        Firstly a finite set of Boolean variables is assumed X={ x1,x2,x3,. . . ,xn} . A CNF
formula φ is defined on the conjunction of clauses wi and each clause consists of the
disjunction of literals, which is either a variable xi or its complement xi. In the
context of search algorithms of SAT, variables can be assigned a logic value, either 0 or 1.
Alternatively, variables can defined as a function v: X →{ 0,u,1} , where u denotes a
variable whose value is uncertain. When all of variables are assigned a value in { 0,1} ,
then v is referred to as a complete assignment. Otherwise it is a partial assignment [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
where some variables do not have values and are assigned u, which will be used in the
following improved algorithm.
      </p>
      <p>In this section Maximal Satisfiability and Minimal Unsatisfiability are firstly
introduced. Afterwards, the previous MaxSAT algorithm using unsatisfiable cores named
msu4 is described.</p>
      <sec id="sec-2-1">
        <title>Maximal Satisfiability and Minimal Unsatisfiability</title>
        <p>Our improved algorithm and previous methods are based on maximal satisfiability and
minimal unsatisfiability. The MaxSAT problem as an optimization problem corresponds
to the minimization of the number of false clauses in a CNF formula, which means
that MaxSAT problem discovers an assignment to the variables of a CNF formula that
maximizes the number of satisfied clauses.</p>
        <p>
          In order to illustrate this problem, Maximally Satisfiable Subset (MSS) is defined as
a subset of clauses in a CNF formula, which is satisfiable and then adds any of the other
clauses in an original formula to MSS leading new clauses set to unsatisfiable. In this
context, Minimal Unsatisfiable Subset (MUS) is an inconsistent subset of the clauses of
the original formula and dropping one of its clauses will make it satisfiable. MSS and
MUS [
          <xref ref-type="bibr" rid="ref14 ref7">14, 7</xref>
          ] correspond to the following rules:
        </p>
        <p>M SS(φ ) =
{</p>
        <p>m
m ∪ { a}
is satisf iable, if m⊆φ</p>
        <p>is unsatisf iable, ∀a∈(φ -m)
M U S(φ ) =
{</p>
        <p>m is
m − { a}
unsatisf iable, if m⊆φ
is satisf iable, ∀a∈m</p>
        <p>Notice that MSS as a satisfied subset of clauses cannot become bigger and MUS as
an unsatisfiable subset that removes any of its clauses can render it satisfiable. The
relationship between MaxSAT and MSS is subtle. Given an unsatisfiable instance, MaxSAT
is the largest subset of clauses that can be satisfiable which means to find MSS with
maximal number. However, all MSSes may have different sizes and cannot be
all MaxSAT solutions with maximal number. Removing the clauses that are not included
in the MSS makes CNF formula satisfiable. Therefore Minimal Correction Set (MCS)
is introduced to describe the complement of MSS and the set of MCSes is shown:
M CSes(φ ) = { m| m ⊆ φ and
(φ − m) ∈ M SSes(φ )}</p>
        <p>MCS as the complementary point of MSSes offers the real link to MUSes. Note
that any clause of MUS in a CNF formula makes the formula unsatisfiable and the
complement formula satisfiable,thus every MSS must contain at least one of clauses of
every MUS. This relationship between MCSes and MUSes can usually be described as
a solution to a set converting problem. Specifically, each hitting set of the MUSes is
an MCS. Given a collection of sets, hitting set intersects all sets in the collection in at
least one element and the problem of hitting set is an equivalent reformulation of set
covering. A MCS is a hitting set of the MUSes with the additional limit that it cannot
become smaller without losing its defining property: it is an irreducible hitting set and
each hitting set of MCSes is an MUS. The example formula is shown to explain their
relationship between MSSes, MCSes and MUSes.</p>
        <p>φ = (x1) ∧ (x1 ∨ x2) ∧ (x2) ∧ (x2)</p>
        <p>M SSes(φ ) = { { x1, x1 ∨ x2, x2} , { x1 ∨ x2, x2} , { x1, x2} }</p>
        <p>In the example above, every MUS of a CNF formula is an irreducible hitting set
of the MCSes of that CNF formula. In the given CNF formula above, the number of
maximal satisfiable clauses is 3. More importantly, MSS and MUS also can tell us the
relationship between MUS and MaxSAT problem.</p>
      </sec>
      <sec id="sec-2-2">
        <title>A MaxSAT algorithm using unsatisfiable cores</title>
        <p>
          Recently, several methods based on unsatisfiable cores are proposed. M su4 which
applies improved blocking variable into clauses is more effective than other algorithms in
the experiment results. More importantly, msu4 avoids interacting with a PBO solver
and instead is a fully SAT-based solver that relies on the most effective techniques,
such as Boolean Constraint Propagation, conflict based learning and conflict-directed
backtracking [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Finally, the two advantages of msu4 lie in adding at most one
blocking variable into each clause in a CNF formula which can avoid quickly increasing the
number of blocking variables and clauses, and applying linear programming encoding
of pseudo boolean constraints with BDDs and sorting networks.
        </p>
        <p>Proposition 1 MaxSAT Upper Bound(UB): In a CNF formula, φ corresponds to the
number of clauses. Let K denote disjoint unsatisfiable cores, then φ - K corresponds to
an MaxSAT Upper Bound.</p>
        <p>Proposition 2 MaxSAT Lower Bound(LB): Let B define as the set of blocking
variables assigned value TRUE when clauses become satisfiable, then φ - B denotes a MaxSAT
Lower Bound.</p>
        <p>
          In previous subsection, some relationships between MUS and MaxSAT are briefly
introduced and these properties are employed in the algorithm to define MaxSAT Upper
Bound and Lower Bound [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Some details for msu4 are shown in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Improved MaxSAT algorithm with some strategies</title>
      <p>
        As shown previously, unsatisfiable-based algorithm is able to tackle MaxSAT problem.
However, msu4 works by the redundant lower and upper bounds in some SAT solver
iterations. This section proposes an improved algorithm based on msu4 with two key
optimizations, which are used as the tight bound accelerator. Firstly the thought of
binary search [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] (its algorithm named BIN ) can be imported into msu4 for clearly
improving its efficiency by decreasing the redundant calculation. Secondly, based on
the idea of binary search, this paper proposes some key optimizations: (1)the use of
partial assignment computing a smaller number of blocking variables assigned value
TRUE instead of the middle value of binary search in each satisfying assignment. (2)the
heuristic strategy HSBS to avoid generating the largest number of clauses containing
blocking variables when the middle value is nearly half number of blocking variables.
(3)acceleration to find disjoint unsatisfiable cores by iteratively computing the original
formula and temporarily deleting these cores that have already been found.
      </p>
      <sec id="sec-3-1">
        <title>Unsatisfiable core-based MaxSAT algorithm using binary search</title>
        <p>In algorithm 1, compared with the upper bound and lower bound in the msu4, two new
bounds, which denote the lower and upper bounds of lower bound, are firstly proposed
and then used into algorithm 1 and algorithm 2.</p>
        <p>Proposition 3 Lower Bound of Lower Bound (L LB): φ corresponds to a CNF
formula. Remove any L LB clauses to render new φ ∗ unsatisfiable. In our algorithm 2,
L LB is initialized to the number of unsatisfiable cores.</p>
        <p>Proposition 4 Upper Bound of Lower Bound (L UB):φ corresponds to a CNF
formula. Remove the given L U B clauses to make new φ ∗ satisfiable. In algorithm 2, L U B
is firstly assigned to the number of blocking variables.</p>
        <p>
          Proposition 5 [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] Binary search for MaxSAT executes Θ(log(W )) calls to a SAT
oracle in the worst case.
        </p>
        <p>Compared with msu4, algorithm 1 uses the method of binary search to acquire
MaxSAT solution and is also based on Proposition 5 defined in the BIN to guide
algorithm 1. The pseudo code for msu5 bin is shown in Algorithm 1.</p>
        <p>In msu4, lower bound only depends on the value of blocking variables when φ
is satisfiable, and its variation is passive. Considering that msu4 calculates the size
of lower bound by inches, this paper presents the binary search, whose algorithm in
computer science finds the position of a specified value within a sorted key. Algorithm 1
employs the binary search to take the initiative to alter two bounds in order to accelerate
the growth of two bounds for reducing the number of SAT solver iterations, which will
solve the MaxSAT problem quickly.</p>
        <p>In algorithm 1, there are several differences between msu4 and msu5 bin. L U B is
initialized to the number of initial clauses and L LB is to 0. Before each call to the SAT
solver, BSB which corresponds to the middle variable, needs to be computed under the
method of binary search (line 6). Afterwards CN F (∑i∈VB bi ≤ BSB) is generated
and then added to φ w (line 7 and 8). L LB is only updated on iterations when the
SAT solver returns false. Considering such an iteration, for which the unsatisfiable core
does not include initial clauses (line 17), L LB will be assigned to BSB. When the
unsatisfiable core contains original clauses I &gt; 0, this process is the same as msu4
from line 13 to 16. Consider now a satisfiable iteration. It occurs when the number
of blocking variables assigned 1 is sufficient to make the current CNF formula get a
satisfiable assignment, L U B will be updated(line 21). But it can not guarantee that
this number is minimal. When L LB + 1 ≥ L U B, it is an answer of the MaxSAT
solution.</p>
        <p>Algorithm 1 Improving MaxSAT Algorithm based on binary search
1: ◃ the running condition of algorithm 1 is that φ is unsatisfiable
2: L LB ← 0
3: L U B ← | φ|
4: φw ← φ
5: while TRUE do
6: BSB ← (L LB + L U B)/2 ◃ BSB is the middle variable in the binary search
7: φCH ← CN F (∑i∈VB bi ≤ BSB)
8: (st, φc) ← SAT (φw ∪ φCH )
9: if st = UNSAT then
10: φI ← φc ∩ φ
11: I ← { i| wi ∈ φI }
12: VB ← VB ∪ I
13: if | I| &gt; 0 then
14: φN ← { wi ∪ { bi}| wi ∈ φI }
15: φa ← CN F (∑
16: φw ← (φw − φIi)∈∪Ibφi N≥∪1)φa
17: else
18: L LB ← BSB
19: end if
20: else
21: L U B ← BSB
22: end if
23: if L LB + 1 ≥ L U B then
24: return a satisfiable assignment
25: end if
26: end while</p>
      </sec>
      <sec id="sec-3-2">
        <title>Improved algorithm based on binary search</title>
        <p>Although the performance of msu5 bin is superior to previous methods, three novel
improvements are proposed in algorithm 2, which can be more efficient to optimize the
MaxSAT algorithm.</p>
        <p>
          Firstly, when the SAT solver returns satisfiable, the upper bound only relies on the
middle variable in algorithm 1, which may not be the minimal number of blocking
variables assigned 1. In detail, after some satisfiable iterations, the assignments of upper
bounds are usually redundant. Our algorithm 2 (named msu6 bd) proposes the
technology of partial assignment, which could effectively reduce the number of satisfying
iterations in algorithm 1. Comparing the number of blocking variables (assigned value
TRUE) in partial assignment with the value of middle variable, the smaller value will
be assigned to the upper bound. Specifically, a partial assignment might not include
some blocking variables called irrelevant variables, which means that SAT solver only
needs to analyze several blocking variables and discard some other blocking variables
if they are not used for satisfying any clause. Our Algorithm is built on the interface of
PicoSAT [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] to eliminate unnecessary SAT tests by simplifying satisfying assignments
using standard partial assignment.
Algorithm 2 Our Improved MaxSAT Algorithm based on binary search
1: ◃ the running condition of algorithm 2 is that φ is unsatisfiable
2: INC ← ϕ; U NC ← ϕ; CSC ← ϕ; VB ← ϕ
3: while st ̸= SAT do
4: (st, φc) ← increSAT (φ − INC )
5: if st = UNSAT then
6: VB ← VB ∪ { i| wi ∈ φc}
7: INC ← INC ∪ φc
8: U NC ← U NC ∪ { wi ∪ { bi}| wi ∈ φc}
9: CSC ← CSC ∪ CN F (∑i∈φ c bi ≥ 1)
10: end if
11: end while
12: φw ← (φ − INC ) ∪ U NC ∪ CSC
13: L LB ← | INC | ; L U B ← | VB|
14: while TRUE do
15: BSB ← (HSBS(L LB))?(L LB + L U B)/2 : (3L LB + L U B)/4 ◃ heuristic
strategy reduces the size of CNF formula
φCH ← CN F (∑i∈VB bi ≤ BSB)
(st, φc) ← increSAT (φw ∪ φCH )
if st = UNSAT then
        </p>
        <p>
          Secondly, when the middle variable in algorithm 1 is assigned to half number of
blocking variables, it could generate the largest number of clauses for pseudo boolean
constraints. Considering that x1 + x2 + . . . + xn ≥ k results in BDDs with (n −
k + 1) × k nodes [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], the number of BDD nodes is maximum when k = n/2. Based
on above, algorithm 2 proposes the heuristic strategy HSBS to avoid this situation in
binary search. The heuristic HSBS function is, when BSB is approximately equal to
| VB| /2, BSB is assigned to (3L LB + L U B)/4 which is nearly equal to | VB| /4.
        </p>
        <p>Lastly, when algorithm 1 iteratively obtains an unsatisfiable core each time, the CNF
formula will be added more and more clauses generated by blocking variables. For this
reason, algorithm 2 starts with finding all disjoint unsatisfiable cores as a prepossessing
under the smaller search space with original clauses removed and no blocking variables
added. In detail, whenever algorithm 2 finds an unsatisfiable core, some clauses in this
core will be temporarily removed. When SAT solver can no longer obtain any
unsatisfiable core, the CNF formula will be restored and then the method of binary search
continues to solve MaxSAT problem. For this unsatisfiable core-solving preprocessing
that requires to iterative calls to a SAT solver, the well-known incremental interface
of PicoSAT solver can be considered, which is a SAT solver that after running a
CNF formula, keeps all clauses and the internal state that can be reused when inserting
additional clauses or deleting information learned from clauses. The pseudo code for
msu6 bd is shown in Algorithm 2.</p>
        <p>Algorithm 2 begins with finding out all disjoint unsatisfiable cores from line 2 to
11. Afterwards φ w is set as (φ − INC ) ∪ U NC ∪ CSC , which shows that φ removes
unsatisfiable cores, and then adds those clauses including blocking variables and pseudo
boolean constraints (line 12). L LB will be initialized to the number of unsatisfiable
cores and L U B is assigned to the number of blocking variables, aiming at reducing
the number of SAT solver iterations and speeding up to enhance the performance of
algorithm 1 (line 13). In the process of binary search, the function of HSBS is to prevent
the number of blocking clauses becoming large when HSBS is nearly equal to VB/2
(line 15). More importantly, L U B is assigned to the smaller value between VS and
BSB (line 31).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experiment Results</title>
      <p>
        This section presents the experimental results of the improved MaxSAT algorithm (msu6 bd).
In order to evaluate this new method, pbo [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], msu4 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and msu5 bin which is built
on the msu4 using the binary search [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] are considered as the comparison
algorithms. The framework of our algorithm is implemented using a state-of-the-art SAT solver
named PicoSAT-V953 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>In order to evaluate the improved MaxSAT algorithm, a set of instances are selected.
These instances are obtained from existing unsatisfiable subsets of crafted and
industrial MaxSAT benchmarks, the SAT competition archives and SATLIB. The majority
of the considered industrial instances are originally from EDA applications, including
model checking, equivalence checking , and test pattern generation. The total number
of unsatisfiable instances considered is 447. All experiments are running on a Core 2
Dual 2.13 Ghz workstation with 4 GB of RAM and the CPU timeout of 1000 seconds
for each instance.</p>
      <p>Table 1 shows the number of solved instances for all selected benchmark sets. The
improvements from msu4 and msu5 bin to msu6 bd are very clear. The overall
number of solved instances (msu6 bd) is vastly improved as it now solves more instances
than msu5 bin, msu4 and pbo. When solving MaxSAT crafted instances, the
performances of msu5 bin and msu6 bd are parallel. Nevertheless, msu6 bd is not effective
enough to solve all the selected instances. The MaxSAT algorithm based on the
unsatisfiable cores needs to use SAT solver to iteratively execute, which is not suitable for
the time-out instances.</p>
      <p>1000
900
800
700
600
e 500
m
i
t 400
300
200
100
0
msu6_bd
msu5_bin
msu4
pbo
0.1
0.01
1X 2X3X</p>
      <p>10X
0.01
0.1
1
10
100</p>
      <p>1000
msu4
that it is more effective than pbo. Despite the performance advantage of the versions of
msu6 bd, there are some exceptions.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>
        This paper proposes an improved unsatisfiable-based MaxSAT algorithm. At first
partial assignment can be employed into binary search-based framework as the tight bound
accelerator: partial assignment could make upper bound select a smaller number of
clauses than previous algorithms. Moreover, HSBS avoids generating the largest
number of clauses for pseudo boolean constraints, which can reduce the search space of
binary search. Finally, another improvement strategy as the preprocessing of binary
search can find as much disjoint unsatisfiable cores as possible to speed up the
execution speed of MaxSAT algorithm. With the original clauses removed and no blocking
clauses added, this optimization can significantly reduce search space in these number
of unsatisfiable iterations. Preliminary experimental results show that these techniques
significantly improve the performance of our unsatisfiability-based algorithm in
solving industrial instances of MaxSAT problem. As a result, our algorithm maintains its
competitive advantage over other algorithms for MaxSAT problem. Despite the
promising results, additional application to msu6 bd is expected, which is to exploit structure
information [
        <xref ref-type="bibr" rid="ref13 ref9">9, 13</xref>
        ] to accelerate MaxSAT algorithm in design debugging.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgment</title>
      <p>The authors are thankful to the editor and anonymous reviewers for their valuable
comments that help us improve the quality of the paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Picosat essentials</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          <volume>4</volume>
          (
          <fpage>75</fpage>
          -
          <lpage>97</lpage>
          ),
          <volume>45</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Borchers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furman</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A two-phase exact algorithm for max-sat and weighted max-sat problems</article-title>
          .
          <source>Journal of Combinatorial Optimization</source>
          <volume>2</volume>
          (
          <issue>4</issue>
          ),
          <fpage>299</fpage>
          -
          <lpage>306</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cai</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thornton</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Tailoring local search for partial maxsat</article-title>
          .
          <source>In: TwentyEighth AAAI Conference on Artificial Intelligence</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Safarpour</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veneris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automated design debugging with maximum satisfiability</article-title>
          .
          <source>Computer-Aided Design of Integrated Circuits and Systems</source>
          , IEEE Transactions on
          <volume>29</volume>
          (
          <issue>11</issue>
          ),
          <fpage>1804</fpage>
          -
          <lpage>1817</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logemann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loveland</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A machine program for theorem-proving</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>5</volume>
          (
          <issue>7</issue>
          ),
          <fpage>394</fpage>
          -
          <lpage>397</lpage>
          (
          <year>1962</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Ee´n, N., So¨rensson, N.:
          <article-title>Translating pseudo-boolean constraints into sat</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          <volume>2</volume>
          (
          <issue>3-4</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>On solving the partial max-sat problem</article-title>
          .
          <source>Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2006</year>
          pp.
          <fpage>252</fpage>
          -
          <lpage>265</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gary</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , D.:
          <article-title>Computers and Intractability: A Guide to the Theory of NPcompleteness</article-title>
          . WH Freeman and Company, New York (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Large scale diagnosis using associations between system outputs and components</article-title>
          .
          <source>In: Twenty-Fifth AAAI Conference on Artificial Intelligence</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Heras</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Larrosa</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveras</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Minimaxsat: A new weighted max-sat solver</article-title>
          .
          <source>Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2007</year>
          pp.
          <fpage>41</fpage>
          -
          <lpage>55</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Heras</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morgado</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Core-guided binary search algorithms for maximum satisfiability</article-title>
          .
          <source>In: Proceedings of the AAAI National Conference (AAAI)</source>
          . pp.
          <fpage>36</fpage>
          -
          <lpage>41</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , D.:
          <article-title>Approximation algorithms for combinatorial problems</article-title>
          .
          <source>Journal of computer and system sciences 9(3)</source>
          ,
          <fpage>256</fpage>
          -
          <lpage>278</lpage>
          (
          <year>1974</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangassarian</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keng</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veneris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Non-solution implications using reverse domination in a modern sat-based debugging environment</article-title>
          .
          <source>In: Design, Automation &amp; Test in Europe Conference &amp; Exhibition (DATE)</source>
          ,
          <year>2012</year>
          . pp.
          <fpage>629</fpage>
          -
          <lpage>634</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Liffiton</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakallah</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>On finding all minimally unsatisfiable subformulas</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing</source>
          . pp.
          <fpage>34</fpage>
          -
          <lpage>42</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Manquinho</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lynce</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Improving unsatisfiability-based algorithms for boolean optimization</article-title>
          .
          <source>Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2010</year>
          pp.
          <fpage>181</fpage>
          -
          <lpage>193</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Manquinho</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Search pruning techniques in sat-based branch-and-bound algorithms for the binate covering problem</article-title>
          .
          <source>Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 21(5)</source>
          ,
          <fpage>505</fpage>
          -
          <lpage>516</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lynce</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Conflict-driven clause learning sat solvers</article-title>
          .
          <source>SAT</source>
          Handbook pp.
          <fpage>131</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Planes</surname>
          </string-name>
          , J.:
          <article-title>On using unsatisfiability for solving maximum satisfiability</article-title>
          .
          <source>arXiv preprint arXiv:0712.1097</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Planes</surname>
          </string-name>
          , J.:
          <article-title>Algorithms for maximum satisfiability using unsatisfiable cores</article-title>
          .
          <source>In: Proceedings of the conference on Design, automation and test in Europe</source>
          . pp.
          <fpage>408</fpage>
          -
          <lpage>413</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bacchus</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Maxsat heuristics for cost optimal planning</article-title>
          .
          <source>In: Proceedings of the AAAI National Conference (AAAI)</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manya`</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Argelich</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A new encoding from minsat into maxsat</article-title>
          .
          <source>In: Principles and Practice of Constraint Programming</source>
          . pp.
          <fpage>455</fpage>
          -
          <lpage>463</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>