<!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>Minimal Model Generation with respect to an Atom Set</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Miyuki Koshimura</string-name>
          <email>koshi@ar.is.kyushu-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hidetomo Nabeshima</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hiroshi Fujita</string-name>
          <email>fujita@ar.is.kyushu-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ryuzo Hasegawa</string-name>
          <email>hasegawa@ar.is.kyushu-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kyushu University</institution>
          ,
          <addr-line>Motooka 744, Nishi-ku, Fukuoka, 819-0395</addr-line>
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Yamanashi</institution>
          ,
          <addr-line>Takeda 4-3-1, Kofu, 400-8511</addr-line>
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <fpage>49</fpage>
      <lpage>59</lpage>
      <abstract>
        <p>This paper studies minimal model generation for SAT instances. In this study, we minimize models with respect to an atom set, and not to the whole atom set. In order to enumerate minimal models, we use an arbitrary SAT solver as a subroutine which returns models of satisfiable SAT instances. In this way, we benefit from the year-byyear progress of efficient SAT solvers for generating minimal models. As an application, we try to solve job-shop scheduling problems by encoding them into SAT instances whose minimal models represent optimum solutions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The notion of minimal Herbrand models is important in a wide range of areas
such as logic programming, deductive database, software verification, and
hypothetical reasoning. Some applications would actually need to generate minimal
models of a given formula.</p>
      <p>
        In this work, we consider the problem of automating propositional minimal
model generation with respect to an atom set. Some earlier works [
        <xref ref-type="bibr" rid="ref14 ref3 ref9">3, 14, 9</xref>
        ]
considered minimal model generation with respect to the whole atom set.
      </p>
      <p>
        Bry and Yahya [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] presented a sound and complete procedure for
generating minimal models. They incorporate complement splitting and constrained
search into positive unit hyper-resolution in order to reject nonminimal models.
Niemela¨ [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] also gave a sound and complete procedure. His method is based
on a generate and test method: generate a sequence of minimal model
candidates and reject nonminimal models by groundedness test which passes minimal
models. Hasegawa et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] presented an minimal model generation method
employing branching assumptions and lemmas so as to prune branches that lead to
nonminimal models, and to reduce minimality tests on obtained models.
      </p>
      <p>
        However, these earlier works do not make use of some pruning techniques
such as non-chronological or intelligent backtracking, and generating lemmas.
These techniques make reasoning systems practical ones. In recent years, the
⋆ This work was supported by KAKENHI (20240003).
propositional satisfiability (SAT) problem has been studied actively [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Specially,
many works for implementing efficient SAT solvers have been performed in the
last decade. The state-of-the-art SAT solvers can solve SAT problems consisting
of millions of clauses in a few minutes. Then, it has been realized that we solve
several kinds of problems by encoding them into SAT problems [
        <xref ref-type="bibr" rid="ref2 ref7">7, 2</xref>
        ].
      </p>
      <p>This paper shows a method to generate minimal models with a SAT solver.
Thus, the method benefits from the year-by-year progress of SAT solvers
implementing the pruning techniques efficiently. We also try to solve the job-shop
scheduling problems (JSSP) in the minimal model generation framework, in
which, minimal models represent optimum, namely, the shortest schedules.</p>
      <p>The remaining part of this paper is organized as follows: First we present a
characterization of minimal models that is the key to our method to handle
minimal model generation. Section 3 gives minimal model inference procedures with
a SAT solver. Section 4 describes the job-shop scheduling problem and encodes
it as a SAT instance. Section 5 demonstrates that the procedures are successfully
implemented with the SAT solver MiniSat 2 by solving several JSSPs. We end
the paper with a short summary and a discussion of future works.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Properties of Minimal Models</title>
      <p>Models of a propositional formula can be represented by a set of propositional
variables (or atoms); namely, each model is represented by the set of
propositional variables to which it assigns true. For example, the model assigning true
to a, false to b, and true to c is represented by the set {a, c}. In this
representation, we can compare two models by set inclusion. For example, model {a, c} is
smaller than model {a, b, c}. In this study, we focus on minimality of models in
the representation.</p>
      <p>Definition 1. Let P , M1 and M2 be atom sets. Then, M1 is said to be smaller
than M2 with respect to P if M1 ∩ P is a proper subset of M2 ∩ P .
Example 1. Let M1 = {p1, p2, p3, a}, M2 = {p1, p3, b, c, e, f } and P = {p1, p2, p3}.
Then, M2 is smaller than M1 with respect to P .</p>
      <p>Definition 2 (Minimal model). Let A be a propositional formula, P be an
atom set, and M be a model of A. Then, M is said to be a minimal model of A
with respect to P when there is no model smaller than M with respect to P .
Example 2. Let A be a propositional formula and P = {p1, p2, p3}. And, A has
three models M1 = {p1, p2, p3, a}, M2 = {p1, p2, b}, and M3 = {p3, c}. Then, M2
and M3 are minimal models with respect to P while M1 is not minimal.</p>
      <p>
        This definition is the same as that of circumscription Circum(A(P, Z); P ; Z)
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] when variable predicates Z = P , i.e. no fixed predicate. Note that P
denotes the set complement of P . In this sense, our study is a specialized one of
circumscription. There is a little difference between our work and circumscription
for the treatment of models. We are interested only in truth values of atoms in P .
Therefore, we regard two models M1 and M2 as equal when M1 ∩ P = M2 ∩ P ,
while these two are distinguished in the framework of circumscription when
M1 6= M2.
      </p>
      <p>
        The following theorem is a straight extension of Proposition 6 in Niemela¨’s
work [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. This theorem gives the basis of the computational treatment of
minimal models as Proposition 6 does.
      </p>
      <p>Theorem 1. Let A be a propositional formula, P be an atom set, and M be a
model of A. Then, M is a minimal model of A with respect to P iff a formula A∧
¬(a1∧a2∧. . .∧am)∧¬b1∧¬b2∧. . .∧¬bn is unsatisfiable, where {a1, a2, . . . , am} =
M ∩ P and {b1, b2, . . . , bn} = M ∩ P .</p>
      <p>Proof. Let G be A ∧ ¬(a1 ∧ a2 ∧ . . . ∧ am) ∧ ¬b1 ∧ ¬b2 ∧ . . . ∧ ¬bn.
Assume that M is not a minimal model. Then, there is a model N smaller than M
with respect to P . Thus, the following properties hold: ∀j(1 ≤ j ≤ n)(N |= ¬bj )
and ∃i(1 ≤ i ≤ m)(N |= ¬ai). Of course, N |= A because N is a model of A.
Therefore, N |= G; namely G is satisfiable.</p>
      <p>Conversely, we assume G is satisfiable. Then, there is a model N such that
∀j(1 ≤ j ≤ n)(N |= ¬bj ) and ∃i(1 ≤ i ≤ m)(N |= ¬ai). This implies N is
smaller than M with respect to P . That is, M is not a minimal model with
respect to P .</p>
      <p>Example 3. Let A be a propositional formula and P = {p1, p2, p3, p4}. Then, a
model {p1, p4, c, d} of A is minimal with respect to P iff A∧¬(p1 ∧p4)∧¬p2 ∧¬p3
is unsatisfiable.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Procedures</title>
      <p>This section gives procedures for generating minimal models of a SAT instance
with a SAT solver based on the generate and test method: generating a sequence
M1, . . . , Mi, . . . of models and performing minimality test on each Mi. In these
procedures, we use a single SAT solver as both generator and tester where we
assume the SAT solver returns a model of a satisfiable SAT instance. Almost all
SAT solvers satisfy this assumption.</p>
      <p>Figure 1 (a) shows a minimal model generation with respect to an atom set
P which is implicitly given to the procedure. We call this the naive version.
A0 is a SAT instance to be proved. The function solve(A) denotes the core
part of the SAT solver. The function returns false when a SAT instance A is
unsatisfiable and true when A is satisfiable. In the latter case, a model M of A is
obtained through an array from which we construct two formulas F1 and F2 for
a minimality test on M with respect to P where F1 = ¬(a1 ∧ . . . ∧ am) and F2 =
¬b1 ∧ . . . ∧ ¬bn. A boolean variable exhaustive indicates whether the procedure
generates all minimal models or only one minimal model. If exhaustive is set
to true, all minimal models are generated.</p>
      <p>If solve(A) in line (2) returns true, the body of the while statement is
executed. In this case, as a model M of A is obtained, we perform a minimality
test on M (in (4)). If the test passes, that is solve(A) in (4) returns f alse, we
conclude M is minimal with respect to P . If the test fails or exhaustive is true,
F1 is added to A1 as a conjunct in order to avoid generating the same model or
larger models in succeeding search. Thus, the role of the conjunct F1 is pruning
redundant models.
that ∃i(1 ≤ i ≤ m)(ai 6∈ SM). Therefore, at least one current ¬ai participates in
F2 of the next minimize.</p>
      <p>The major difference between the naive version and the normal version is the
use of SM obtained from the minimality test. The naive version ignores it while
the normal version uses it. Therefore, we expect that the normal version is more
efficient than the naive version for enumerating minimal models.
3.1</p>
      <sec id="sec-3-1">
        <title>Lemma Reusing</title>
        <p>Many state-of-the-art SAT solvers learn lemmas called conflict clauses to prune
redundant search space, but lemmas deduced from a certain SAT instance can
not apply to solve other SAT instances. Therefore, a function call solve(A) in
Figure 1 (both (a) and (b)) can not use lemmas deduced from previous solve(A)
in general.</p>
        <p>
          However, every SAT instance A in solve(A) satisfies the following
lemmareusability condition [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] if the conjunct F1 is not added to A, when the SAT
solver uses Chaff-like lemma generation mechanism [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>
          Definition 3 (Lemma-reusability condition [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]). Suppose that A and B
are SAT instances. The lemma-reusability condition between A and B is as
follows: If A includes a non-unit clause x, then B contains x.
        </p>
        <p>
          If both A and B satisfy the condition, we can use lemmas generated by
solve(A) for solve(B). This is justified by the following proposition which is a
paraphrase of Theorem 1 in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>Proposition 1. If A is a SAT instance and c is any lemma generated by solve(A),
then c is a logical consequence of a set of some non-unit clauses in A.</p>
        <p>This proposition is true when we use the SAT solver MiniSat for
implementing solve(A), because MiniSat does not use any unit clause for generating
lemmas.</p>
        <p>F1 is a non-unit clause and violates the lemma-reusability condition. However,
the only role of F1 is excluding models larger than the model causing F1. Then,
lemmas depending on F1 can be used for succeeding minimal model generation.
It follows from what has been said that every call solve(A) shares lemmas each
other.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>An Implementation with MiniSat</title>
        <p>
          We have implemented the minimal model generation procedures with the SAT
solver MiniSat [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] version 2.1 which is written in C++. MiniSat 2.1 took the
first place in the main track of SAT-Race 2008.
        </p>
        <p>The solve method of MiniSat is declared as follows:
bool solve(const vec&lt;Lit&gt;&amp; assumps)</p>
        <p>The method determines the satisfiability of a set of clauses under an
assumption assumps. It returns true if the set is satisfiable; otherwise false. The
clause set is realized by a vector clauses and initialized to a SAT instance (A0
in Figure 1). The assumption assumps is a vector of literals which means the
conjunction of the literals.</p>
        <p>In our implementation, the clause F1 is appended to clauses and the formula
F2 is set to assumps. Then, the solve method is invoked. We don’t need to
remove F1 from clauses before the next solve invocation because the role of
F1 is excluding models larger than the model causing F1. If F2 is appended
to clauses, we need to remove F2 from clauses before the next invocation.
Therefore, we add F2 to assumps instead of clauses. Thus, removing F2 is not
necessary.</p>
        <p>When we need only one minimal model3 rather than all minimal models, we
can append F2 to clauses without removing F2 afterward. We also implement
such solver based on the normal version and call it the single-solution version.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Solving the JSSP</title>
      <p>A JSSP consists of a set of jobs and a set of machines. Each job is a sequence
of operations. Each operation requires the exclusive use of a machine for an
uninterrupted duration, i.e. its processing time. A schedule is a set of start
times for each operation. The time required to complete all the jobs is called
the makespan. The objective of the JSSP is to determine the schedule which
minimizes the makespan.</p>
      <p>
        In this study, we follow a variant of the SAT encoding proposed by
Crawford and Baker [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In the SAT encoding, we assume there is a schedule whose
makespan is at most i and generate a SAT instance Si. If Si is satisfiable, then
the JSSP can complete all the jobs by the makespan i. Therefore, if we find a
positive integer k such that Sk is satisfiable and Sk−1 is unsatisfiable, then the
minimum makespan is k.
      </p>
      <p>
        For minimizing the makespan, Nabeshima et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] applied two kinds of
methods, incremental search and binary search. One can easily estimate the
upper bound Lup of the minimum makespan by serialising all the operations of all
the jobs 4. The lower bound Llow is also easily estimated by taking the maximum
length of each job in which we assume every job is performed independently. In
the incremental search, we start from Llow and increase the makespan by 1 until
we encounter the satisfiable instance St. If such St is found, then the minimum
makespan is t. We explain the binary search by an example of Lup = 393 and
Llow = 49. Firstly, we try to solve S221 because 221 is the midpoint between
48 and 393. If S221 is satisfiable, then try S135. If S135 is unsatisfiable, then try
S178. We continue this binary search until we encounter the satisfiable instance
St and unsatisfiable instance St−1.
3 The JSSP is such a problem.
4 In this study, we use a modified estimation a bit cleverer than this obvious estimation.
      </p>
      <p>In order to solve the JSSP in the minimal model generation framework, we
introduce a set Pu = {p1, p2, . . . , pu} of new atoms when Lup = u. The intended
meaning of pi = true is that we found a schedule whose makespan is i or longer
than i. To realize the intention, the formulas Fi(i = 1, . . . , u), which represent “if
all the operations complete at i, then pi becomes true,” are introduced. Besides,
we introduce a formula Tu = (¬pu ∨ pu−1) ∧ (¬pu−1 ∨ pu−2) ∧ · · · ∧ (¬p2 ∨ p1)
which implies that ∀l(1 ≤ l &lt; k)(pl = true) must hold if pk = true holds.</p>
      <p>In this setting, if we obtain a model M of Gu(= Su ∧ F1 ∧ · · · ∧ Fu ∧ Tu) and
k is the maximum integer such that pk ∈ M , that is, ∀j(k &lt; j ≤ u)(pj 6∈ M ),
then we must have ∀l(1 ≤ l ≤ k)(pl ∈ M ), namely, M ∩ Pu = {p1, . . . , pk}. The
existence of such k is guaranteed by Fk and Tu, and indicates that there is a
schedule whose makespan is k. If k is the minimum makespan, there is no model
of Gu smaller than M with respect to Pu. Thus, a minimal model of Gu with
respect to Pu represents a schedule which minimizes the makespan.
Example 4. Given a JSSP with Lup = 10. Then, we make S10 according to
Crawford encoding, P10 = {p1, . . . , p10}, and T10 = (¬p10 ∨ p9) ∧ · · · ∧ (¬p2 ∨ p1).
Let M be a minimal model of G10(= S10 ∧ F1 ∧ · · · ∧ F10 ∧ T10) with respect to
P10 and M ∩ P10 = {p1, p2, p3}. Then, the minimum makespan of the JSSP is 3.</p>
      <p>This SAT encoding technique, in which a minimal model represents an
optimum solution, is applicable to several problems such as graph coloring problem,
open-shop scheduling problem, two dimensional strip packing problem, and so
on. Thus, the technique gives a framework to solve these problems.</p>
      <p>The encoding is easily adapted for a partial Max-SAT encoding by adding
some unit clauses. Max-SAT is the optimization version of SAT where the goal is
to find a model satisfying the maximum number of clauses. In order to solve the
JSSP in the partial Max-SAT framework5, we introduce u unit clauses ¬pi(i =
1, . . . , u). Then, we solve M AXu(= Gu ∧¬p1 ∧. . .∧¬pu) with a partial Max-SAT
solver where all clauses in Gu are treated as hard clauses and ¬pi(i = 1, . . . , u)
are as soft clauses. A Max-SAT model of M AXu represents a optimum schedule.
Example 5. Let P10, G10, and M be the same as in Example 4. Then M AX10 =
G10 ∧ ¬p1 ∧ . . . ∧ ¬p10 has a (Max-SAT) model M which falsifies only three soft
clauses ¬p1, ¬p2, and ¬p3. Note that every model of G10 falsifies at least these
three clauses.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>
        We executed the three versions(naive/normal/single-solution), a Max-SAT solver
MiniMaxSat[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and a SAT-based JSSP solver SATSHOP which is a successor of
5 A partial Max-SAT solver can handle hard clauses and soft clauses. The hard clauses
must be satisfied while the soft clauses need not be necessarily satisfied. The goal
is to find a model satisfying the all hard clauses and the maximum number of soft
clauses.
the JSSP solver proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The MiniMaxSat took the third place in the
partial Max-SAT category (industrial) of Max-SAT Evaluation 2008.
      </p>
      <p>The SATSHOP tries to solve a JSSP in the following way. First, making
a relaxed problem to improve the upper bound Lup. The relaxed problem is
an approximation of the original problem. It is obtained by rounding up every
operation time. Its optimum solution gives a new upper bound Lunpew which
satisfies Lunpew ≤ Lup. The relaxed problem is solved with the SAT encoding
technique using binary search.</p>
      <p>Next, solving the problem with Lunpew by decremental search. Basically,
decremental search is a dual of incremental search. We start from Lunpew and decrease
the makespan until we encounter the unsatisfiable instance.</p>
      <p>
        We try to solve 82 JSSPs in OR-Library [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The problems are abz5–abz9,
ft06, ft10, ft20, la01–la40, orb01–orb10, swv01–swv20, and yn1–yn4. We limited
the execution time of each problem to 2 CPU hours. The single-solution version
and SATSHOP succeed to solve 33 problems out of 82 problems. The naive
version, normal version, and MiniMaxSAT succeed to solve 32, 31, and 14 problems,
respectively. Table 1 shows the experimental results of 33 problems solved.
      </p>
      <p>All experiments were conducted on a Pentium M 753(1.20GHz) machine
with 1GB memory running Linux 2.6.16. Each problem is encoded to a CNF
(conjunctive normal form)6. The second and third columns show statistics of
CNFs. The fourth column “|P |” shows the size of an atom set P with respect to
which we minimize a model. The fifth column “Optimum” shows the minimum
makespan. “Single” is the single-solution version. The “Total” row shows the
total CPU time for the single-solution version or SATSHOP. The “Ratio” row
shows (total time of SATSHOP)/(total time of Single).</p>
      <p>The single-solution version usually beats other two versions as expected. On
average it solves problems 1.6 times faster than the naive version and 1.3 times
faster than the normal version for the 31 problems solved by these three versions.</p>
      <p>On the other hand, the SATSHOP beats these three versions on almost
all problems. On average it solves problems about 1.7 times faster than the
single-solution version. The main reason for the domination of the SATSHOP
is that it tries to solve a relaxed problem first. The relaxed one is easy to solve
by orders of magnitude. In order to eliminate the effect of the relaxation, we
also run the SATSHOP in a non-relaxation mode where it try to solve JSSPs
without relaxation. This causes an increase of the runtime of the SATSHOP.
The single-solution version, then, is almost comparable with the SATSHOP: the
former sometimes beats the latter, and vice versa. On average, the latter solves
problems about 1.2 times faster than the former.</p>
      <p>The MiniMaxSAT is the worst solver in our experience. It can solve only half
of problems solved by others within 2 CPU hours. It seems to be several hundred
times slower than others. We may need to develop a SAT encoding tailored for
MaxSAT solvers.
6 We also use the SATSHOP as an encoder. Thus, the core part of a SAT instance
solved by the three versions is the same one solved by the SATSHOP.</p>
      <p>Turning now to the 49 problems unsolved within 2 CPU hours, even their
48 relaxed problems can not be solved by SATSHOP. Furthermore, some SAT
instances are huge 7 for our experimental environment. Ten of the 49 instances
require more than 1GB memory, and five of the ten require more than 4GB
memory which a 32-bits CPU can not manipulate any more.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>In this paper we presented a characterization of a minimal model with respect to
an atom set. Based on this characterization, we gave minimal model generation
procedures using a SAT solver as a subroutine. The only function we require
from the SAT solver is to compute a model of a satisfiable SAT instance. Thus,
our implementation benefits from efficiency of state-of-the-art SAT solvers.</p>
      <p>
        We implemented the naive, normal, and single-solution versions with the
SAT solver MiniSat 2. We have performed an experimental evaluation with 82
JSSPs. It shows that the single-solution version usually beats the other two
versions. Unfortunately, it rarely beats the SAT-based JSSP solver SATSHOP
which performs several optimizations concerning the problem domain. It is for
this reason that the SATSHOP generally beats others. In spite of the domination
of the SATSHOP, the minimal model generation approach still has an advantage
over the SATSHOP in the sense that the former is more general than the latter:
the latter solve only JSSP while the former can solve not only JSSP but also
several problems such as graph coloring problem, two dimensional strip packing
problem, and so on. Stochastic SAT solvers, such as WalkSAT [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], may be useful
for increasing performance of the three versions.
      </p>
      <p>We have also applied the Max-SAT solver MiniMaxSAT to the 82 JSSPs.
The experimental results show that the MiniMaxSAT is definitely inefficient
for solving the JSSP in our SAT encoding though it is a state-of-the-art
MaxSAT solver. Implementing a Max-SAT solver based on our approach looks like
interesting future work.</p>
      <p>
        Some problems can not be solved because of memory capacity. In order to
solve these problems in our framework, we have to purchase a 64-bits CPU
and memory, or develop methods to manipulate the problem on the available
memory. Encoding the problem into a first order formula seems to be a promising
approach to save memory [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        Answer set programming launched out into the new paradigm of logic
programming in 1999, in which a logic program represents the constraints of a
problem and its answer sets correspond to the solutions of the problem [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Computing answer sets is realized by generating minimal models and checking
whether they satisfy some conditions for negation as failure [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We plan to
extend this work to computing answer sets.
7 SWV13 has the hugest instance in our experiment. It has 2.4 million variables and
121.6 million clauses. And its DIMACS file in gzip format occupies 596 MB.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>L.</given-names>
            <surname>Bordeaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hamadi</surname>
          </string-name>
          , and
          <string-name>
            <surname>L. Zhang:</surname>
          </string-name>
          <article-title>Propositional Satisfiability and Constraint Programming: A Comparative Survey</article-title>
          .
          <source>ACM Computing Surveys</source>
          , Vol.
          <volume>38</volume>
          , No.4,
          <string-name>
            <surname>Article</surname>
            <given-names>12</given-names>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          <article-title>: Symbolic Model Checking without BDDs</article-title>
          .
          <source>In Proc. of TACAS'99</source>
          , pp.
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>F.</given-names>
            <surname>Bry</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Yahya</surname>
          </string-name>
          <article-title>: Minimal Model Generation with Positive Unit Hyperresolution Tableaux</article-title>
          .
          <source>In Proc. of TABLEAUX'96</source>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>159</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>J. M. Crawford</surname>
            ,
            <given-names>A. B.</given-names>
          </string-name>
          <string-name>
            <surname>Baker</surname>
          </string-name>
          :
          <article-title>Experimental Results on the Application of Satisfiability Algorithms to Scheduling Problems</article-title>
          .
          <source>In Proc. of AAAI-94</source>
          , pp.
          <fpage>1092</fpage>
          -
          <lpage>1097</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>E´en and N. S¨orensson: An Extensible SAT-solver</article-title>
          .
          <source>In Proc. of SAT-2003</source>
          , pp.
          <fpage>502</fpage>
          -
          <lpage>518</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Heras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Larrosa</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Oliveras: MiniMaxSAT: An Efficient Weighted MaxSAT Solver</surname>
          </string-name>
          .
          <source>J. of Artificial Intelligence Research</source>
          , Vol.
          <volume>31</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Kautz</surname>
          </string-name>
          and
          <string-name>
            <surname>B.</surname>
          </string-name>
          <article-title>Selman: Pushing the Envelope: Planning, Propositional Logic, and Stochastic Search</article-title>
          .
          <source>In Proc. of AAAI-96</source>
          , pp.
          <fpage>1194</fpage>
          -
          <lpage>1201</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>K.</given-names>
            <surname>Inoue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koshimura</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hasegawa</surname>
          </string-name>
          <article-title>: Embedding Negation as Failure into a Model Generation Theorem Prover</article-title>
          .
          <source>In Proc. of CADE-11</source>
          , pp.
          <fpage>400</fpage>
          -
          <lpage>415</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>R.</given-names>
            <surname>Hasegawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Fujita</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Koshimura: Efficient Minimal Model Generation Using Branching Lemmas</article-title>
          .
          <source>In Proc. of CADE-17</source>
          , pp.
          <fpage>184</fpage>
          -
          <lpage>199</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. V.
          <article-title>Lifschitz: Computing Circumscription</article-title>
          .
          <source>In Proc. of IJCAI-85</source>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>127</lpage>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. V.
          <article-title>Lifschitz: Answer Set Planning</article-title>
          .
          <source>In Proc. of ICLP-99</source>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>37</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Moskewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. F.</given-names>
            <surname>Madigan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          , and L. Zhang: Chaff:
          <article-title>Engineering an Efficient SAT Solver</article-title>
          .
          <source>In Proc. of DAC'01</source>
          , pp.
          <fpage>530</fpage>
          -
          <lpage>535</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. H.
          <string-name>
            <surname>Nabeshima</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Soh</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Inoue</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <article-title>Iwanuma: Lemma Reusing for SAT based Planning and Scheduling</article-title>
          .
          <source>In Proc. of ICAPS'06</source>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>112</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. I.
          <article-title>Niemel¨a: A Tableau Calculus for Minimal Model Reasoning</article-title>
          .
          <source>In Proc. of TABLEAUX'96</source>
          , pp.
          <fpage>278</fpage>
          -
          <lpage>294</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>OR-Library</surname>
          </string-name>
          . http://people.brunel.ac.uk/~mastjjb/jeb/info.html
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>J. A.</surname>
          </string-name>
          Navarro-P´
          <article-title>erez and A. Voronkov: Encodings of Bounded LTL Model Checking in Effectively Propositional Logic</article-title>
          .
          <source>In Proc. of CADE-21</source>
          , pp.
          <fpage>346</fpage>
          -
          <lpage>361</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>B.</given-names>
            <surname>Selman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kautz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Cohen</surname>
          </string-name>
          :
          <article-title>Local Search Strategies for Satisfiability Testing</article-title>
          .
          <source>Discrete Mathematics and Theoretical Computer Science</source>
          , vol.
          <volume>26</volume>
          ,
          <string-name>
            <surname>AMS</surname>
          </string-name>
          , (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>