<!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>
      <journal-title-group>
        <journal-title>International Configuration Workshop
September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Inverse Q U I C K X P L A I N vs. M A X S AT - A Comparison in Theory and Practice</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rouven Walter</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
          <email>alexander.felfernig@ist.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Software Technology, Graz University of</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Symbolic Computation Group, WSI Informatics, Universita ̈t Tu ̈bingen</institution>
          ,
          <addr-line>Germany, www-sr.informatik.uni-tuebingen.de</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Wolfgang K u ̈chlin</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>1</volume>
      <fpage>0</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>We compare the concepts of the INVQX algorithm for computing a Preferred Minimal Diagnosis vs. Partial Weighted MAXSAT in the context of Propositional Logic. In order to restore consistency of a Constraint Satisfaction Problem w.r.t. a strict total order of the user requirements, INVQX identifies a diagnosis. Partial Weighted MAXSAT aims to find a set of satisfiable clauses with the maximum total weight. It turns out that both concepts have similarities, i.e., both deliver a correction set. We point out these theoretical commonalities and prove the reducibility of both concepts to each other, i.e., both problems are FPNP-complete, which was an open question. We evaluate the performance on problem instances based on real configuration data of the automotive industry from three different German car manufacturers and we compare the time and quality tradeoff.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Constraint programming is successfully applied in many different
areas, e.g., planning, scheduling, and configuration. Besides the usage
of Constraint Satisfaction Problem (CSP) based knowledge bases,
the usage of the more restrictive Propositional Logic has been
successfully established in the context of automotive configuration and
verification [
        <xref ref-type="bibr" rid="ref14">11</xref>
        ].
      </p>
      <p>
        In many practical use cases the knowledge base can become
overconstrained, e.g., by overly restrictive rules or user requirements. In
the context of automotive configuration the knowledge base can
become over-constrained, too [
        <xref ref-type="bibr" rid="ref26">23</xref>
        ]. A typical situation would be a
customer configuring a car up to his wishes conflicting with the
knowledge base. Another typical situation would be an engineer given the
task that new features should be constructable for an existing type
series by now which were not constructable before. In both
situations we would like to have an automatic reasoning procedure for
assistance in order to restore consistency.
      </p>
      <p>One approach to restore consistency is to guide the user by
computing minimal unsatisfiable cores (conflicts), which can be
considered as a problem explanation. However, more than one conflict is
involved in general. Another approach is to try to satisfy as many of
the constraints as possible, i.e., finding a maximal satisfiable subset
(MSS) or, the opposite, finding a minimum correction subset (MCS)
which can be considered as a repair suggestion. The constraints of an
MCS have to be removed or altered in order to restore consistency.</p>
      <p>
        An MCS can be calculated in different ways: (i) MAXSAT is
a generalization of the well-known SAT problem and computes
the MCS of minimum cardinality; (ii) the Inverse QUICKXPLAIN
(INVQX) algorithm (also denoted as FASTDIAG) [
        <xref ref-type="bibr" rid="ref5 ref7">4</xref>
        ] delivers a
preferred minimal diagnosis w.r.t. a total order on the user requirements.
Both approaches can be considered as an optimal repair suggestion
w.r.t. their definition of optimum. In this paper, we study both
approaches by giving the following contributions:
      </p>
      <p>To the best of our knowledge, it has not been proven before, that
the computation of a preferred minimal diagnosis in the context of</p>
    </sec>
    <sec id="sec-2">
      <title>Propositional Logic is FPNP-hard.</title>
      <p>The remainder of the paper is structured as follows: Section 2
introduces the formal background. Section 3 discusses related work. In
Section 4 and Section 5 we introduce both approaches (MINUNSAT
and INVQX) and give an overview of solving techniques,
respectively. Section 6 points out the theoretical relationships and Section 7
shows how to reduce one problem to the other. In Section 8 we
present experimental evaluations. Finally, Section 9 concludes the
paper.
2</p>
      <sec id="sec-2-1">
        <title>Preliminaries</title>
        <p>Within the scope of this paper we focus on Propositional Logic over
the standard operators :; ^; _; !; $ with constants ? and &gt;,
representing false and true, respectively. For a Boolean formula ' we
denote its evaluation by k'kv 2 f0; 1g for a variable assignment v.
A Boolean formula is in CNF normal form iff it consists of a
conjunction of clauses, where a clause is a disjunction of literals. A literal is a
variable or its negation. A formula in CNF can be interpreted as a set
of clauses and further a clause can be interpreted as a set of literals.
The NP-complete SAT problem asks whether a Boolean formula is
satisfiable or not.</p>
        <p>Definition 1. (MSS/MCS) Let ' be a set of clauses. A set '
is a Maximal Satisfiable Subset (MSS) iff is satisfiable and every
0 ' with 0 is unsatisfiable.</p>
        <p>A set ' is a Minimal Correction Subset (MCS) iff ' is
satisfiable and for all 0 ' with 0 the set difference ' 0
is unsatisfiable.</p>
        <p>The definition of an MSS (resp. MCS) can be naturally extended
by taking into account a set of hard clauses which have to be satisfied.</p>
        <p>Clearly, for a given MSS (resp. MCS) of ', the complement
' is an MCS (resp. MSS) of '.</p>
        <p>
          Analogous to [
          <xref ref-type="bibr" rid="ref19">16</xref>
          ] we introduce the following definitions:
Definition 2. (L- and A-Preference) Let &lt; be a strict total order over
a set ' = fc1; : : : ; cmg of clauses with ci &lt; ci+1 for 1 i &lt; m,
i.e., clause ci is preferred to clause ci+1.
        </p>
        <p>We define the lexicographical order &lt;lex as follows: For two
sets 1; 2 ' we say set 1 is lexicographically preferred to
2, denoted as 2 and
1 &lt;lex 2, iff 91 k m : ck 2 1
1 \ fc1; : : : ; ck 1g = 2 \ fc1; : : : ; ck 1g.</p>
        <p>Furthermore, we define the anti-lexicographical order &lt;antilex
as follows: For two sets 1; 2 ' we say set 1 is
antilexicographically preferred to 2, denoted as 2, iff
2 1 and</p>
        <p>1 &lt;antilex
1 \ fck+1; : : : ; cmg =
1 is L-preferred (resp. A-preferred) if for all
1, 1 &lt;lex 2 (resp. 1 &lt;antilex 2).</p>
        <p>The lexicographical order appears to be the more intuitive one.
Whereas the most L-preferred set includes the most preferred
clauses, the most A-preferred set excludes the most non-preferred
clauses. We denote the inverse order of &lt; by &lt; 1.</p>
        <p>If is an L-preferred (resp. A-preferred) MSS/MCS of ' w.r.t.
to the order &lt; , then ' is an A-preferred (resp. L-preferred)</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>MSS/MCS of ' w.r.t. to the inverse order &lt; 1 (see Proposition 12</title>
      <p>
        in [
        <xref ref-type="bibr" rid="ref19">16</xref>
        ]). Therefore, algorithms for the computation of an L-preferred
MSS/MCS can also be used for the computation of the corresponding
A-preferred MCS/MSS.
      </p>
      <p>Note that we use the standard notation for the complexity class</p>
    </sec>
    <sec id="sec-4">
      <title>FPNP (resp. FPNP[log n]), the class of function problems solvable in</title>
      <p>
        deterministic polynomial time using a polynomial (resp. logarithmic)
number of calls to an NP oracle [
        <xref ref-type="bibr" rid="ref22">19</xref>
        ].
3
      </p>
      <sec id="sec-4-1">
        <title>Related Work</title>
        <p>
          The authors of [
          <xref ref-type="bibr" rid="ref17">14</xref>
          ] improve the computation of an MCS by newly
introduced techniques, i.e., usage of backbone literals, disjoint
unsatisfiable cores and satisfied clauses. Not all techniques can be applied
to the computation of an A-preferred MCS, i.e., only the usage of
backbone literals can be adopted. Hence the proposed enhanced
version of INVQX (also denoted as FASTDIAG [
          <xref ref-type="bibr" rid="ref5 ref7">4</xref>
          ]) of the cited work
can not be adopted for A-preferred MCS computation. The newly
proposed MCS algorithm, called CLAUSED, exploits the fact that a
falsified clause does not contain complementary literals, but it can
not be adopted, either.
        </p>
        <p>
          The INVQX algorithm (also known as FASTDIAG) [
          <xref ref-type="bibr" rid="ref5 ref7">4</xref>
          ] is based on
the idea of divide-and-conquer that has been successfully exploited
in the QUICKXPLAIN algorithm [
          <xref ref-type="bibr" rid="ref12">9</xref>
          ]. Whereas QUICKXPLAIN
computes a preferred explanation (a minimal unsatisfiable subset (MUS)
in the context of Propsitional Logic), the INVQX algorithm
computes a preferred diagnosis (an MCS in the context of Propositional
Logic), which can be interpreted as the inverse of QUICKXPLAIN.
        </p>
        <p>
          The complexity of computing preferred sets is studied in [
          <xref ref-type="bibr" rid="ref19">16</xref>
          ].
Furthermore, the authors give an overview of established algorithms
which can or can not be adopted to involve preferences.
        </p>
        <p>
          The authors of [
          <xref ref-type="bibr" rid="ref20">17</xref>
          ] introduce improvements on computing an
MCS in the context of CSP, i.e., they adopt the CLAUSED algorithm
of [
          <xref ref-type="bibr" rid="ref17">14</xref>
          ]. The adopted variant is also not applicable for A-preferred
MCS computation.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Preferred Minimal Diagnosis</title>
        <p>
          The definition of a Preferred Minimal Diagnosis (PMD) used in [
          <xref ref-type="bibr" rid="ref5 ref7">4</xref>
          ]
is in the context of a Constraint Satisfaction Problem (CSP). We will
recap the essential definitions briefly. Let CKB and CR be sets of
CSP constraints. The set CKB (resp. CR) represents the constraints
of the knowledge base (resp. the user requirements).
        </p>
        <p>Definition 3. (CR Diagnosis) Let (CKB; CR) be a CR diagnosis
problem. A set CR is a CR Diagnosis if CKB [ (CR n ) is
consistent. Furthermore, is called minimal if no diagnosis 0
exists where CKB [ (CR n 0) is consistent.</p>
        <p>In the context of Propositional Logic a CR diagnosis corresponds
to the MCS problem with an additional hard part. The definitions for
L- and A-Preference can analogously be defined for CSP. We will
not write them out here.</p>
        <p>Finally, we can define a preferred minimal diagnosis:
Definition 4. (Preferred Minimal Diagnosis) Let (CKB; CR =
fc1; : : : ; cmg) be a CR diagnosis problem with a strict total order
s.t. c1 &lt; : : : &lt; cm. A minimal diagnosis is called a Preferred
Minimal Diagnosis (PMD) if is A-preferred w.r.t. the order &lt; 1.</p>
        <p>
          The strict total order in [
          <xref ref-type="bibr" rid="ref5 ref7">4</xref>
          ] is defined the other way round, i.e., if
ci &lt; cj then constraint cj is preferred to ci. Our definition here is
consistent with [
          <xref ref-type="bibr" rid="ref19">16</xref>
          ].
        </p>
        <p>
          Remark 1. In the context of Propositional Logic we assume, without
loss of generality, that CKB and CR are clause sets:
1. CR: Let si be a fresh variable. For each constraint ci 2 CR we
add the clause set CNF(si ! ci) to the hard part and the unit
clause fsig replaces ci within CR (cf. [
          <xref ref-type="bibr" rid="ref10 ref2">2, 7</xref>
          ]).
2. CKB: For any non-clausal constraint c 2 CKB we apply
the Tseitin-/Plaisted-Greenbaum Transformation [
          <xref ref-type="bibr" rid="ref23 ref24">20, 21</xref>
          ] which
takes polynomial time and space. Furthermore, the constraint c
and the resulting formula share the same models w.r.t. the
original variables. The search space between both remains the same.
Therefore we can interpret the problem of computing a PMD as the
problem of computing an A-preferred MCS.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>The computation of an A-preferred MCS is in FPNP [16]. The</title>
      <p>question arises whether computing an A-preferred MCS is also</p>
    </sec>
    <sec id="sec-6">
      <title>FPNP-hard? This is actually the case as we will show in Theorem 1.</title>
      <p>4.1</p>
      <sec id="sec-6-1">
        <title>Algorithms</title>
        <p>A straightforward approach is Linear Search. We iterate in
descending order through all constraints and check whether they conflict with
the hard constraints and the previously added constraints or not. If
there is a conflict, the constraint is part of the A-preferred MCS.
Otherwise, the constraint will be added. The complexity of Linear</p>
        <sec id="sec-6-1-1">
          <title>Search in terms of the number of consistency checks is O(m), where</title>
          <p>m = jCj.</p>
          <p>
            Algorithm 1 shows the procedure presented in [
            <xref ref-type="bibr" rid="ref5 ref7">4</xref>
            ]. The worst case
complexity of INVQX in terms of the number of consistency checks
is O(2d log2( md ) + 2d), where d is the minimal diagnosis set size
and m = jCj.
          </p>
          <p>Remark 2. (Exploiting inc-/decremental SAT interface) Modern
SAT solvers often provide an inc-/decremental interface for adding
clauses and removing them afterwards. This can be useful, e.g., when
Algorithm 1: INVQX Algorithm
Input: C AC, AC = fc1; : : : ; ctg
Output: Preferred minimal diagnosis
if isEmpty(C) or inconsistent(AC</p>
          <p>return ;
else
return FD(;; C; AC)
C) then
we have a huge formula representing the configuration model and
small test instances to check against the configuration model.</p>
          <p>Therefore we can improve Algorithm 1 by adding all constraints
AC C first and do the consistency checks by using the
inc/decremental interface. Another improvement can be made for the
second recursive call D2 = FD(D1; C1; AC D1). All constraints
in C2 D1 have to be satisfied for this call. We add all constraints
C2 D1 before and remove them afterwards. We evaluated this
improvement, see Section 8.</p>
          <p>Definition 5. (MINUNSAT) Let Hard be a set of propositional
clauses. Let Soft = f(c1; w1); : : : ; (cm; wm)g a set of tuples where
ci is a propositional clause and wi 2 N 1 is a weight for all
i = 1; : : : ; m. Let ' = (Hard; Soft) and n be the number of
variables in Hard [ Soft. The Partial Weighted Minimum Unsatisfiable
Problem (MINUNSAT) is defined as follows:</p>
          <p>MINUNSAT(') := min
( m</p>
          <p>X wi(1
i=1
kcikv) v 2 f0; 1gn
)</p>
          <p>Partial Weighted MINUNSAT and Partial Weighted MAXSAT
are closely connected: MaxSAT(Hard; Soft) = Pim=1 wi
MINUNSAT(Hard; Soft). A solution for one problem directly leads
to a solution for the other one and vice verca. The Partial Weighted</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>MaxSAT (resp. MINUNSAT) problem is FPNP-complete [19].</title>
      <p>The unweighted (partial) MAXSAT (resp. MINUNSAT) problem is</p>
    </sec>
    <sec id="sec-8">
      <title>FPNP[log n]-complete [10].</title>
      <p>In the context of this paper, we will refer to Partial Weighted
MINUNSAT just as MINUNSAT to simplify reading. Please note
that in the literature often the name MAXSAT is used to refer to
MINUNSAT. But we will use its original name to make the
dinstinction clear.
5.1</p>
      <sec id="sec-8-1">
        <title>Algorithms</title>
        <p>
          MINUNSAT solvers make use of SAT solvers as a black box. A
basic approach is to add a blocking variable to each soft clause,
iteratively checking the instance for satisfiability and restricting the
blocking variables further each time. Also binary search is possible
this way. Nowadays solvers make usage of SAT solvers delivering an
unsatisfiable core, which was first presented in [
          <xref ref-type="bibr" rid="ref6 ref8">5</xref>
          ] and extended by
weights in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Our list is not complete, see [
          <xref ref-type="bibr" rid="ref21">18</xref>
          ] for an overview. As
an example, Algorithm 2 shows the WPM1 algorithm. If 'c is not
necessarily an MUS, the worst case complexity of WPM1 in terms
of the number of consistency checks is O(d), where d is the minimal
sum of weights of unsatisfied clauses, i.e., only costs of 1 are added
in each iteration [
          <xref ref-type="bibr" rid="ref9">6</xref>
          ].
        </p>
        <p>Algorithm 2: WPM1 Algorithm
Input: (Hard; Soft = f(c1; w1) : : : ; (cm; wm)g)
Output: Sum of minimal unsatisfied weights: cost
if UNSAT(Hard) then</p>
        <p>return No solution
cost 0
while true do
(st; 'c) SAT(Hard [ f(ci; wi) 2 Softg)
if st = SAT then</p>
        <p>return cost
BV</p>
        <p>;
wmin minfwi j ci 2 'c ^ ci is softg
foreach ci 2 'c \ Soft do
bi fresh blocking variable
Soft
Soft
BV
f(ci; wi)g[f(ci; wi</p>
        <p>BV [ fbig
Hard
cost</p>
        <p>Hard [ CNF(Pb2BV b = 1)
cost + wmin
wmin)g[f(ci _bi; wmin)g
6</p>
      </sec>
      <sec id="sec-8-2">
        <title>Relationship</title>
        <p>We want to identify and discuss similarities of the PMD problem and
the MINUNSAT problem. As we have already shown in Remark 1
in the context of Propositional Logic the PMD problem can be
interpreted as an A-preferred MCS problem. The hard parts of both
problems are equal in terms of expressive power, since both are sets
of clauses.</p>
        <p>The interesting part is the set CR with its strict total ordering &lt;
and the set Soft of weighted clauses. Both can be defined as a special
case of an MCS problem: The PMD problem can be interpreted as
an A-preferred MCS problem (cf. Remark 1):</p>
        <p>min fS j S is MCS of CR w.r.t. CKBg
&lt;an1tilex
Whereas the MINUNSAT problem is also an MCS with the
minimum sum of weights:</p>
        <p>min
Pc2S weight(c)</p>
        <p>S S is MCS of Soft w.r.t. Hard
Where weight(c) denotes the weight of clause c.</p>
        <p>
          Different approaches to solve the MINUNSAT problem have been
developed: Branch-and-Bound for general optimization problems
has been adopted to MINUNSAT, e.g., [
          <xref ref-type="bibr" rid="ref11 ref15">8, 12</xref>
          ]. In recent years, many
Remark 3. The same similarities hold for the corresponding
opposite problems, i.e., the MAXSAT problem and the L-preferred MSS
problem.
6.1
        </p>
      </sec>
      <sec id="sec-8-3">
        <title>Approximation of MINUNSAT</title>
        <p>Solvers for the A-preferred MCS problem can be used to
approximate the MINUNSAT problem. Let be a permutation of the
indices 1; : : : ; m such that the weights are sorted, i.e., if i &lt; j then
w (i) &lt; w (j). We set:</p>
        <p>CKB := Hard</p>
        <p>CR := Soft</p>
        <p>&lt; := c (1); : : : ; c (m)
This transformation is actually an approximation: An A-preferred
MCS will prefer to satisfy a clause with a high weight value more
than to satisfy multiple clauses with low weight values. Whereas a
MINUNSAT solution will minimize the sum of the weights of
unsatisfied clauses in total. The transformation can be done in polynomial
time: We sort the clauses w.r.t. their weights, which can be done in</p>
        <sec id="sec-8-3-1">
          <title>O(m log m) where m is the number of soft clauses. We evaluated</title>
          <p>this approximation, see Section 8.</p>
          <p>Example 1. Consider Hard = ; and Soft = f(x; 6); (:x _
y; 5); (:y; 4); (:x; 3)g. With a strict total ordering relying on the
weights of the soft clauses (see above), the A-preferred MCS is
= f(:y; 4); (:x; 3)g resulting in costs of 7. But the MINUNSAT
solution f(x; 6)g has costs of 6.
6.2</p>
        </sec>
      </sec>
      <sec id="sec-8-4">
        <title>Approximation of A-preferred MCS</title>
        <p>We can also use MINUNSAT to approximate the A-preferred MCS
problem. The crucial question is which weights to assign to the soft
clauses. We can assume CR to be a set of clauses, see Remark 1. We
set:</p>
        <p>Hard := CKB</p>
        <p>Soft := CR
weight(ci) := m
(i
1)
With this weight assignment, the most preferred clause is assigned to
weight m, the next one to weight m 1 and so on. The
lexicographical order will be imitated somewhat but not sufficiently to be exact.
The greater the distances of the weights of consecutive constraints ci
and ci+1 the better the approximation gets. Above we set the distance
to 1. In Subsection 7.1 we will show how to determine distances that
help to reach an exact reduction. The transformation can be done in
polynomial time, too.</p>
        <p>Example 2. Consider CR with x _ y &lt; :x &lt; :y &lt; x &lt; z.
The A-preferred MCS is = f:y; xg, but MINUNSAT(f(x _
y; 5); (:x; 4); (:y; 3); (x; 2); (z; 1)g) = 4, because :x with weight
4 is less than clauses x and :y with weights 2 + 3 = 5.
7</p>
      </sec>
      <sec id="sec-8-5">
        <title>Reduction</title>
        <p>In this section we will show how to polynomially reduce one problem
to each other and finally see that both problems are FPNP-complete
and are therefore equally hard to solve.
7.1</p>
      </sec>
      <sec id="sec-8-6">
        <title>From A-preferred MCS to MINUNSAT</title>
        <p>Let (CKB ; CR) be an A-preferred MCS problem with CR =
fc1; : : : ; cmg and a total strict order s.t. c1 &lt; : : : &lt; cm. We can
assume CR to be a set of clauses, see Remark 1. We can reduce the
problem to a MINUNSAT problem by:
with weight wi defined recursively:</p>
        <p>Hard := CKB</p>
        <p>Soft := CR
wi :=
m
X
j=i+1</p>
        <p>!
wj
+ 1
With these weights assigned we achieve two important properties:
(1) the ascending order of the constraints ci and more important
(2) the lexicographical ordering, because constraint ci with weight
Pm</p>
        <p>j=i+1 wj + 1 = wi+1 + : : : + wm + 1 is greater than the sum of
weights of all previous and less preferred constraints ci+1; : : : ; cm.</p>
        <p>Each step requires polynomial time. But the downside of the above
reduction is the exponential growth of the search space. It can be
shown by induction that (Pm</p>
        <p>j=i+1 wj ) + 1 = 2m i. The most
preferred clause has weight 2m 1, so the weights are in O(2m).
7.2</p>
      </sec>
      <sec id="sec-8-7">
        <title>From MINUNSAT to A-preferred MCS</title>
        <p>Firstly, we show how we can reduce the MINUNSAT problem
easily to the A-preferred MCS problem if the weights comply with the
following property:
Proposition 1. Let ' = (Hard; Soft) be a MINUNSAT problem
as defined in Definition 5 with Soft = f(c1; w1); : : : ; (cm; wm)g. If
there exists a permutation of the indices f1; : : : ; mg such that:
w (i) &gt;</p>
        <p>w (j)
m
X
j=i+1
then the strict total ordering &lt; with c (1) &lt; : : : &lt; c (m) with
CKB = Hard and CR = fc (1); : : : ; c (m)g is a reduction to the
A-preferred MCS problem.</p>
        <p>Proof. The reduction is correct since (1) it preserves the order of
the soft clauses w.r.t. their weights and (2) the weights are in such
a relation that for each clause c (i) a MINUNSAT solution will try
to satisfy c (i) before satisfying all clauses c (i+1); : : : ; c (m) and
so will a solution of A-preferred MCS due to the strict total clause
ordering.</p>
        <p>We can check whether such a permutation can be found by: (1)
Sorting soft clauses c1; : : : ; cm in ascending order w.r.t. their weights
for complexity O(m log m), (2) Iterating through the sorted list and
checking each clause ci whether the inequality holds for complexity
O(m).</p>
        <p>The property of Proposition 1 is sufficient but not necessary. There
are other classes of MINUNSAT instances without this property
which are reducible in polynomial time, too.</p>
        <p>Example 3. Soft = f(x1; m); : : : ; (xm; 1)g, i.e., a
descending weight for each clause. We assume atMost(x1; : : : ; xm)
Hard, i.e., at most one soft clause is allowed to be true.
MINUNSAT will try to satisfy the clause with the highest weight.
The A-preferred MCS problem with the strict total ordering x1 &lt;
: : : &lt; xm will be a diagnosis which contains clauses except for
the most preferred one in the ordering which can be satisfied
under Hard. Since at most one of the clauses can be true, the result
is the same.</p>
        <p>Next we will show the newly result that actually any MINUNSAT
instance is polynomially reducible to the A-preferred MCS problem,
i.e., the A-preferred MCS is FPNP-hard.</p>
        <p>
          Theorem 1. The A-preferred MCS problem is FPNP-hard.
Proof. Consider the Maximum Satisfying Assignment (MSA)
problem: For a Boolean formula ' over the variables x1; : : : ; xn find a
satisfying assignment with the lexicographical maximum of the word
x1 xn 2 f0; 1gn or 0 if not satisfiable. This problem is
FPNPcomplete as proved in [
          <xref ref-type="bibr" rid="ref13">10</xref>
          ].
        </p>
        <p>We can polynomially reduce the MSA problem to the A-preferred
MCS problem:</p>
        <p>CKB := Tseitin(')</p>
        <p>CR := ffx1g; : : : ; fxngg</p>
        <p>&lt; := x1; : : : ; xn
Since the Tseitin-transformed formula Tseitin(') has the same
models on the set of the original variables x1; : : : ; xn as the
original formula (see Remark 1), our reduction is sound. Let
APreMCS(CKB; CR) be the solution of the constructed A-preferred</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>MCS problem w.r.t. the order &lt; 1. Using Proposition 12 of [16], the</title>
      <p>corresponding L-preferred MSS, which is ' APreMCS(CKB; CR)
w.r.t. the order &lt;, is the solution for the MSA problem. Therefore,
the A-preferred MCS problem is FPNP-hard.</p>
      <p>Corollary 1. The A-preferred MCS problem is FPNP-complete.</p>
    </sec>
    <sec id="sec-10">
      <title>Proof. The A-preferred MCS problem is FPNP-hard (Theorem 1) and in FPNP [16].</title>
      <p>
        Remark 4. With similar arguments one can prove that the
Lpreferred MSS problem is FPNP-complete, too. Assuming P 6= NP,
then FPNP[log n] FPNP holds [
        <xref ref-type="bibr" rid="ref13">10</xref>
        ]. Hence FPNP-complete
problems are strictly harder than problems in FPNP[log n].
      </p>
      <p>
        Theorem 1 negatively answers the open question whether
computing L-preferred MSSes and A-preferred MCSes could be in
FPNP[log n] or not stated in Remark 1 in [
        <xref ref-type="bibr" rid="ref19">16</xref>
        ].
      </p>
      <p>A practical encoding of a MINUNSAT problem instance as an
Apreferred MCS problem could be to encode each soft clause as an
unit clause with variable si (similiar to Remark 1) and to build the
binary representation of the sum:</p>
      <p>X wi si = 2l+1 cl+1 + : : : + 20 c0</p>
      <p>i
Where wi is the weight of the unit soft clause fsig. Then, design
an adder-network of this sum with the output variables cl+1; : : : ; c0
and set CR := fcl+1; : : : ; c0g. The strict total order is given by the
order of the coefficients of the binary representation from the most
significant bit cl+1 to the least significant bit c0. Set CKB is the union
of the set of the hard clauses, the encoding of the soft clauses as unit
clause and the encoding of the adder-network of the sum. We will
not go into more detail in this work.
8</p>
      <sec id="sec-10-1">
        <title>Experimental Evaluation</title>
        <p>
          We evaluate both problems, the A-preferred MCS problem and the
MINUNSAT problem, with real industrial datasets from the
automotive domain. In the next subsections we describe the benchmark
data and the considered use cases in more detail, afterwards we
describe the used solver settings and finally discuss the results.
For our benchmarks we use test instances based on real automotive
configuration data from three different major German car
manufacturers. The configuration model of constructable cars is given as a
product overview formula (POF) in Propositional Logic [
          <xref ref-type="bibr" rid="ref14">11</xref>
          ]. A POF
is satisfiable and each satisfying assignment represents a valid
configurable car. If the POF is over-constrained (unsatisfiable), then no
cars are constructable. We denote a POF by Mx_y_z, where each x
is a different car manufacturer, each y is a different type series and
each z is a different model type. Each satisfying variable assignment
is a constructable car configuration. Table 1 shows statistics about
each used POF instance. Column #Var. shows the total variable
number of each instance. Rules are Boolean formulas (not necessarily
clauses) describing the dependencies between components. Column
Qty. shows the number of rules and column Avg. #Var. shows the
average number of variables of a rule. Families are groups of
components where usually one element has to be chosen, e.g., one motor has
to be chosen of the family of motors. But the condition of a family
depends on the car manufacturer. Column Qty. shows the number of
families and column Avg. #Var. shows the average number of
components of a family.
        </p>
        <p>
          We consider two use cases of re-configuration problems (see [
          <xref ref-type="bibr" rid="ref26">23</xref>
          ]
for a detailed description of use cases regarding optimization and
reconfiguration in the context of automotive configuration):
Re-Configuration of Selections: The constraints of the POF are
considered as hard constraints. We choose soft user requirements
(variables) at random.
        </p>
        <p>Since not all user requirements are consistent w.r.t. the POF in
general, such a random selection easily gets inconsistent. The goal
is to optimize the user selections.</p>
        <p>By this use case we try to realistically imitate a user behavior when
configuring a custom car.</p>
        <p>Re-Configuration of Rules: The constraints of the POF are
considered as soft constraints. We choose user requirements
(variables) at random.</p>
        <p>Similarly to the previous use case, such a random user selection
easily leads to inconsistency. But in contrast to the previous use
case, we want to optimize the POF constraints instead of the user
selections.</p>
        <p>
          By this use case we try to realistically imitate, for example, an
engineering situation where new hard requirements are given and
the corresponding engineer wants to be guided by an optimized
repair suggestion to adjust the rules.
Additionally, we considered three different levels of the user
selections: 30%, 50% and 70%. Each level represents the percentage of
components chosen from the families, where 100% are all families.
By this distinction we want to compare the performance impact of
less configured cars in contrast to highly configured cars. A more
detailed description of these use cases can be found in [
          <xref ref-type="bibr" rid="ref25">22</xref>
          ].
For MINUNSAT the weights were chosen between 1 to 10 by
random and for A-preferred MCS the order was chosen by random. We
        </p>
        <p>IQB
0.55
0.23
0.07
1.00
0.07
1.09
1.07
0.75
1.46
1.23</p>
        <p>IQBO
native long data type. The MaxSAT competition format3 permits
a top weight lower than 263. Table 7 is missing an evaluation for
MINUNSAT solvers for the same reason.</p>
        <p>For instances where an encoding is possible, both MINUNSAT
solvers can keep up with the native A-preferred MCS solvers. IQBO
performs significantly better than IQB for the second use case.
9</p>
      </sec>
      <sec id="sec-10-2">
        <title>Conclusions and Future Work</title>
        <p>In this work, we compared the problem of finding a minimal
preferred diagnosis (A-preferred MCS in the context of Propositional
Logic) with the problem of finding a diagnosis of minium
cardinality (MINUNSAT in the context of Propositional Logic). We proved
the FPNP-hardness of the A-preferred MCS problem and therefore
showed, that both problems are equally hard to solve and reducible
to each other.</p>
        <p>Both optimization approaches (A-preferred MCS and
MINUNSAT) complement each other. For use cases which
can be expressed as an A-preferred MCS problem one should use
INVQX as solving engine. For the other use cases, one should use
MINUNSAT.</p>
        <p>For instances where MINUNSAT is not able to find the solution
in within a reasonable time or where fast responses are needed, we
can fall back to INVQX if an approximated answer is reasonable for
the considered use case.</p>
        <p>We evaluated the performance of both problems with benchmarks
based on real automotive configuration data. We assumed a uniform
distribution of the soft formulas to simulate the interaction of the
user. These benchmarks can be improved by choosing a more
realistic distribution of the soft formulas.</p>
        <p>
          For an exhaustive evaluation of both problems, we need to
consider more complex benchmark data, e.g. unsatisfiable instances of
the SAT4 or MaxSAT5 competitions. Also, we need to evaluate all
solvers based on the same SAT solving engine, i.e. MINISAT [
          <xref ref-type="bibr" rid="ref3 ref4">3</xref>
          ], in
order to build up an uniform environment.
        </p>
        <p>Another interesting evaluation could be the reduction of the
MINUNSAT problem to an A-preferred MCS problem by using an
adder-network encoding as described in Subsection 7.2. With such an
encoding, we could use every A-preferred MCS solver, like INVQX,
to solve MINUNSAT problem instances.</p>
        <p>INVQX and MINUNSAT in their original form compute only a
single diagnosis. Both approaches can be extended to compute a set
of all diagnoses. We plan to investigate the relationship of these
extensions and to evaluate them, too.
104</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Carlos</given-names>
            <surname>Anso</surname>
          </string-name>
          <article-title>´tegui, Maria Luisa Bonet, and Jordi Levy, 'Solving (weighted) partial MaxSAT through satisfiability testing'</article-title>
          ,
          <source>in Theory and Applications of Satisfiability Testing - SAT</source>
          <year>2009</year>
          , ed.,
          <source>Oliver Kullmann</source>
          , volume
          <volume>5584</volume>
          of Lecture Notes in Computer Science,
          <volume>427</volume>
          -
          <fpage>440</fpage>
          , Springer Berlin Heidelberg, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Josep</given-names>
            <surname>Argelich</surname>
          </string-name>
          and Felip Manya`, '
          <article-title>Exact Max-SAT solvers for overconstrained problems</article-title>
          .',
          <source>Journal of Heuristics</source>
          ,
          <volume>12</volume>
          (
          <issue>4-5</issue>
          ),
          <fpage>375</fpage>
          -
          <lpage>392</lpage>
          , (
          <year>September 2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Niklas</given-names>
            <surname>Ee</surname>
          </string-name>
          <article-title>´n and Niklas So¨rensson, 'An extensible SAT-solver'</article-title>
          ,
          <source>in Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2003</year>
          , eds.,
          <source>Enrico Giunchiglia and Armando Tacchella</source>
          , volume
          <volume>2919</volume>
          of Lecture Notes in Computer Science,
          <volume>502</volume>
          -
          <fpage>518</fpage>
          , Springer Berlin Heidelberg, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>3 www</article-title>
          .maxsat.udl.cat/13/requirements/index.html
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>4 http://www.satcompetition.org/</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>5 www</article-title>
          .maxsat.udl.cat
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , Monika Schubert, and Christoph Zehentner, '
          <article-title>An efficient diagnosis algorithm for inconsistent constraint sets'</article-title>
          ,
          <source>Artificial Intelligence for Engineering Design, Analysis, and Manufacturing</source>
          ,
          <volume>26</volume>
          (
          <issue>1</issue>
          ),
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          , (
          <year>February 2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Zhaohui</given-names>
            <surname>Fu</surname>
          </string-name>
          and Sharad Malik, '
          <article-title>On solving the partial MAX-SAT problem'</article-title>
          ,
          <source>in Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2006</year>
          , eds., Armin Biere and
          <string-name>
            <given-names>Carla P.</given-names>
            <surname>Gomes</surname>
          </string-name>
          , volume
          <volume>4121</volume>
          of Lecture Notes in Computer Science,
          <volume>252</volume>
          -
          <fpage>265</fpage>
          , Springer Berlin Heidelberg, (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Federico</given-names>
            <surname>Heras</surname>
          </string-name>
          ,
          <article-title>Anto´nio Morgado, and Joa˜o Marques-Silva, 'Coreguided binary search algorithms for maximum satisfiability'</article-title>
          , in AAAI, eds.,
          <source>Wolfram Burgard and Dan Roth</source>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>41</lpage>
          . AAAI Press, (
          <year>August 2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Federico</given-names>
            <surname>Heras</surname>
          </string-name>
          ,
          <article-title>Anto´nio Morgado, and Joa˜o Marques-Silva, 'An empirical study of encodings for group MaxSAT'</article-title>
          , in Canadian Conference on AI, eds.,
          <source>Leila Kosseim and Diana Inkpen</source>
          , volume
          <volume>7310</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>85</fpage>
          -
          <lpage>96</lpage>
          . Springer, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Federico</given-names>
            <surname>Heras</surname>
          </string-name>
          ,
          <article-title>Anto´nio Morgado, and Joa˜o Marques-Silva, 'Lower bounds and upper bounds for MaxSAT'</article-title>
          ,
          <source>in Learning and Intelligent Optimization - 6th International Conference, LION 6</source>
          , Paris, France,
          <source>January 16-20</source>
          ,
          <year>2012</year>
          , Revised Selected Papers, eds.,
          <source>Youssef Hamadi and Marc Schoenauer</source>
          , volume
          <volume>7219</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>402</fpage>
          -
          <lpage>407</lpage>
          . Springer Berlin Heidelberg, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Ulrich</given-names>
            <surname>Junker</surname>
          </string-name>
          , 'QUICKXPLAIN:
          <article-title>Preferred explanations and relaxations for over-constrained problems'</article-title>
          ,
          <source>in Proceedings of the 19th National Conference on Artificial Intelligence</source>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>172</lpage>
          . AAAI Press / The MIT Press, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Mark</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Krentel</surname>
          </string-name>
          , '
          <article-title>The complexity of optimization problems'</article-title>
          ,
          <source>Journal of Computer and System Sciences</source>
          ,
          <volume>36</volume>
          (
          <issue>3</issue>
          ),
          <fpage>490</fpage>
          -
          <lpage>509</lpage>
          , (
          <year>June 1988</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Ku</surname>
          </string-name>
          <article-title>¨chlin and Carsten Sinz, 'Proving consistency assertions for automotive product data management'</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>24</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>145</fpage>
          -
          <lpage>163</lpage>
          , (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [12] Adrian Ku¨gel, '
          <article-title>Improved exact solver for the weighted MAX-SAT problem'</article-title>
          ,
          <source>in POS-10</source>
          . Pragmatics of SAT, ed.,
          <source>Daniel Le Berre</source>
          , volume
          <volume>8</volume>
          of EasyChair Proceedings in Computing, pp.
          <fpage>15</fpage>
          -
          <lpage>27</lpage>
          . EasyChair, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [13]
          <article-title>Chu Min Li and Felip Manya`, 'MaxSAT, hard and soft constraints'</article-title>
          , in Handbook of Satisfiability, eds.,
          <string-name>
            <surname>Armin</surname>
            <given-names>Biere</given-names>
          </string-name>
          , Marijn Heule, Hans van Maaren,
          <source>and Toby Walsh</source>
          , volume
          <volume>185</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , chapter
          <volume>19</volume>
          ,
          <fpage>613</fpage>
          -
          <lpage>631</lpage>
          , IOS Press, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Joa</surname>
          </string-name>
          <article-title>˜o Marques-Silva, Federico Heras</article-title>
          , Mikola´sˇ Janota, Alessandro Previti, and Anton Belov, '
          <article-title>On computing minimal correction subsets</article-title>
          .', in IJCAI, ed.,
          <source>Francesca Rossi</source>
          , pp.
          <fpage>615</fpage>
          -
          <lpage>622</lpage>
          . IJCAI/AAAI, (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Joa</surname>
          </string-name>
          <article-title>˜o Marques-Silva and Jordi Planes, 'Algorithms for maximum satisfiability using unsatisfiable cores'</article-title>
          ,
          <source>in Proceedings of the Conference on Design, Automation and Test in Europe, DATE '08</source>
          , pp.
          <fpage>408</fpage>
          -
          <lpage>413</lpage>
          . IEEE, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Joa</surname>
          </string-name>
          <article-title>˜o Marques-Silva and Alessandro Previti, 'On computing preferred MUSes and MCSes'</article-title>
          ,
          <source>in Theory and Applications of Satisfiability Testing - SAT</source>
          <year>2014</year>
          , eds.,
          <source>Carsten Sinz and Uwe Egly</source>
          , volume
          <volume>8561</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>58</fpage>
          -
          <lpage>74</lpage>
          . Springer International Publishing, (
          <year>July 2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Carlos</given-names>
            <surname>Menc</surname>
          </string-name>
          <article-title>´ıa and Joa˜o Marques-Silva, 'Efficient relaxations of overconstrained CSPs'</article-title>
          ,
          <source>in 2014 IEEE 26th International Conference on Tools with Artificial Intelligence</source>
          , pp.
          <fpage>725</fpage>
          -
          <lpage>732</lpage>
          . IEEE, (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [18] Anto´nio Morgado, Federico Heras,
          <string-name>
            <given-names>Mark H.</given-names>
            <surname>Liffiton</surname>
          </string-name>
          , Jordi Planes, and
          <article-title>Joa˜o Marques-Silva, 'Iterative and core-guided MaxSAT solving: A survey and assessment</article-title>
          .', Constraints,
          <volume>18</volume>
          (
          <issue>4</issue>
          ),
          <fpage>478</fpage>
          -
          <lpage>534</lpage>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Christos</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Papadimitriou</surname>
          </string-name>
          , Computational complexity,
          <source>AddisonWesley</source>
          , Reading, Massachusetts,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [20]
          <string-name>
            <surname>David</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Plaisted</surname>
          </string-name>
          and Steven Greenbaum, '
          <article-title>A structure-preserving clause form translation'</article-title>
          ,
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ),
          <fpage>293</fpage>
          -
          <lpage>304</lpage>
          , (
          <year>September 1986</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Grigorii</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Tseitin</surname>
          </string-name>
          , '
          <article-title>On the complexity of derivations in the propositional calculus'</article-title>
          ,
          <source>Studies in Constructive Mathematics and Mathematical Logic</source>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          ,
          <fpage>115</fpage>
          -
          <lpage>125</lpage>
          , (
          <year>1968</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Rouven</given-names>
            <surname>Walter</surname>
          </string-name>
          and Wolfgang Ku¨chlin, '
          <article-title>ReMax - a MaxSAT aided product configurator'</article-title>
          ,
          <source>in Proceedings of the 16th International Configuration Workshop</source>
          , eds.,
          <string-name>
            <surname>Alexander</surname>
            <given-names>Felfernig</given-names>
          </string-name>
          ,
          <source>Cipriano Forza, and Albert Haag</source>
          , pp.
          <fpage>59</fpage>
          -
          <lpage>66</lpage>
          ,
          <string-name>
            <surname>Novi</surname>
            <given-names>Sad</given-names>
          </string-name>
          , Serbia, (
          <year>September 2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Rouven</surname>
            <given-names>Walter</given-names>
          </string-name>
          , Christoph Zengler, and Wolfgang Ku¨chlin, '
          <article-title>Applications of MaxSAT in automotive configuration'</article-title>
          ,
          <source>in Proceedings of the 15th International Configuration Workshop</source>
          , eds.,
          <source>Michel Aldanondo and Andreas Falkner</source>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>28</lpage>
          , Vienna, Austria, (
          <year>August 2013</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>