<!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>Different Solving Strategies on PBO Problems from Automotive Industry</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thore K u¨bart</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Steinbeis-Transferzentrum Objektund Internet-Technologien</institution>
          ,
          <addr-line>Sand 13, 72076 Tu ̈bingen</addr-line>
          ,
          <country country="DE">Germany</country>
        </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 Ku ̈ chlin</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>1</volume>
      <fpage>0</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>SAT solvers have proved to be very efficient in verifying the correctness of automotive product documentations. However, in many applications a car configuration has to be optimized with respect to a given objective function prioritizing the selectable product components. Typical applications include the generation of predictive configurations for production planning and the reconfiguration of non-constructible customer orders. So far, the successful application of core guided MaxSAT solvers and ILP-based solvers like CPLEX have been described in literature. In this paper, we consider the linear search performed by DPLL-based PBO solvers as a third solution approach. The aim is to understand the capabilities of each of the three approaches and to identify the most suitable approach for different application cases. Therefore we investigate real-world benchmarks which we derived from the product description of a major German premium car manufacturer. Results show that under certain circumstances DPLL-based PBO solvers are clearly the better alternative to the two other approaches.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        An already well-established approach in the automotive industry is
to describe the set M of technically feasible vehicle configurations
by a propositional formula ' such that M = f j (') = 1g holds,
where is a satisfying assignment of formula ' [
        <xref ref-type="bibr" rid="ref11 ref19">11, 19</xref>
        ], i.e. every
model of ' is a feasible configuration. SAT solvers are the method
of choice for calculating configurations that comprise certain options
o1; : : : ; om: A model has to be determined that satisfies the formula
' ^ Vim=1 oi. If there is no such model of the desired configuration,
the user is often interested in an alternative model of optimal
configured options oi with respect to given priorities wi. To reach a best
possible configuration, a model of the formula ' has to be calculated
that optimizes the target function Pm
i=1 wioi.
      </p>
      <p>
        In the literature of the last few years different applications of this
optimization problem are described as well as several approaches to
solve it. Similar optimization problems arise for example from the
task to minimize or maximize product properties such as price or
weight [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Another example is the task of optimal reconfiguration,
e.g., the selected options for a car are not feasible with the constraint
set [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Furthermore valid configurations that optimize linear
objective functions play an important role in demand forecasts [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. We
compare the underlying solving approaches by analyzing real-world
instances of a major German premium car manufacturer.
      </p>
      <p>This work is organized as follows: Section 2 introduces the basics
of Propositional Logic, Maximum Satisfiability (MaxSAT),
PseudoBoolean Optimization (PBO) and Integer Linear Programming (ILP)
and their respective algorithmic solving techniques. Section 3 points
out related work. Section 4 describes different optimization problems
in automotive configuration. Section 5 presents a detailed evaluation
of the different introduced optimization approaches for these
problems including a discussion of the results. Finally, Section 6
concludes this work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        In this work, we focus on propositional logic with the standard
logical operators :; ^; _; !; $ over the set of Boolean variables X and
with the constants ? and &gt;, representing false and true, respectively.
The set of variables of a formula ' is denoted by var('). A formula
' is called satisfiable, if and only if there is an assignment , a
mapping from the set of Boolean variables var(') to f0; 1g, under which
the formula ' evaluates to 1. The evaluation of a formula under an
assignment is the standard evaluation procedure for propositional
logic, denoted by ('). The values 0 and 1 are also referred to as
false and true. The well-known NP-complete SAT problem asks the
question whether a formula is satisfiable or not [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        The established input format of a SAT solver nowadays is a
conjunctive normal form (CNF) of a formula ', where ' is transformed
into a conjunction of clauses and each clause is a disjunction of
literals (variables or negated variables). The variable of a literal l is
denoted by var(l). For a formula ' = Vik=1 Wjm=i1 li;j in CNF we also
make use of the notation of ' as a set of clauses where each clause
is a set of literals: ' = ffl1;1; : : : ; l1;m1 g; : : : ; flk;1; : : : ; lk;mk gg.
The transformation of an arbitrary formula ' into a CNF is done by a
Tseitin- or Plaisted-Greenbaum-Transformation [
        <xref ref-type="bibr" rid="ref16 ref20">16, 20</xref>
        ] (denoted as
Tseitin(')). The resulting formula is not semantically equivalent,
but equisatisfiable. Also, the models of ' and Tseitin(') are the
same when restricted to the original variables var(').
2.1
      </p>
    </sec>
    <sec id="sec-3">
      <title>MaxSAT</title>
      <p>
        For a given clause set ' = fc1; : : : ; cmg, m 2 N, the MaxSAT
problem [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] asks for the maximum number of clauses which can be
simultaneously satisfied:
( m
      </p>
      <p>X
i=1
MaxSAT(') = max
(ci)
2 f0; 1gjvar(')j
)
(1)</p>
      <p>The corresponding problem of finding the minimum
number of clauses which can be simultaneously unsatisfied is called
MinUNSAT.</p>
      <p>The partial weighted MaxSAT problem is an extended version
where: (i) An additional clause set 'hard of hard clauses is taken
into account, which has to be satisfied, and (ii) weights wi 2 N are
assigned to the soft clauses of ' = fc1; : : : ; cmg. The resulting
problem, PWMaxSAT('hard; '), consists of finding the maximal sum
of weights of satisfied clauses of ' while satisfying 'hard. To
simplify reading we refer to partial weighted MaxSAT just as MaxSAT
in the rest of this work.</p>
      <p>
        MaxSAT can be solved by using a SAT solver as a black box,
e.g. by linear search or binary search. Firstly, a fresh variable bi,
called blocking variable, is added to each soft clause, which serves
to enable or disable the clause. Linear search iteratively checks the
SAT instance 'hard and ' with an additional constraint
CNF
m !
X wi :bi &gt; k ;
where initially k = 0. With this check we search for a model with a
sum of weights of at least 1. The constraint Pim=1 wi :bi &gt; k is
a Pseudo-Boolean constraint (see Subsection 2.2 for details), which
can be transformed to a CNF, see for example [
        <xref ref-type="bibr" rid="ref4 ref8">4, 8</xref>
        ]. The degree k is
increased to the sum of weights of the last model plus one in order
to check if we can find a better model. Binary search, in contrast,
follows the same scheme but restricts the search space with a lower
and an upper bound simultaneously. Linear search requires m SAT
calls in the worst case, whereas binary search requires only log2(m)
SAT calls in the worst case.
      </p>
      <p>
        Another approach is the usage of unsatisfiable cores delivered by a
SAT solver for the unsatisfiable case, which was introduced in [
        <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
        ].
The idea is to iteratively call the SAT solver and relax the soft clauses
contained in the unsatisfiable core by introducing blocking variables
until the formula becomes satisfiable. Solvers using an
unsatisfiable core approach performed well on industrial instances in recent
MaxSAT competitions3.
      </p>
      <p>
        The OPEN-WBO framework [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is based on using MiniSat-like
solvers [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and was one of the best performing MaxSAT algorithms
on industrial instances in the recent MaxSAT competition. Both
linear search and unsatisfiable-core guided solvers are included in
different variations within the OPEN-WBO framework. The default
solver, called WBO, is an unsatisfiable-core guided modification
of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] which partitions the soft clauses [
        <xref ref-type="bibr" rid="ref14 ref2">2, 14</xref>
        ]. Therefore, only a
subset of the soft clauses are given to the SAT solver to make the SAT
solver focus on relevant clauses. On the other hand, this can lead to
additional SAT calls in the case where a model is found but not all
soft clauses were considered. We used this solver for our evaluations,
see Section 5.
2.2
      </p>
    </sec>
    <sec id="sec-4">
      <title>DPLL-based PBO</title>
      <p>In addition to clauses we consider linear pseudo-Boolean (LPB)
constraints, which are linear inequalities of the form
k
X aili . b;
i=1</p>
      <p>Pseudo-Boolean solving (PBS) is the decision problem whether a
set of LPB constraints can be satisfied by an assignment . Hence,
PBS is a generalization of SAT. Like SAT solvers, most PBS solvers
which prove satisfiability are able to provide a satisfying assignment
to the user.</p>
      <p>Given a satisfiable set of LPB constraints another problem is to
identify a best possible assignment with respect to a linear
objective function:
s.t.</p>
      <p>min</p>
      <sec id="sec-4-1">
        <title>Pi cili</title>
        <p>V
j</p>
        <p>
          Pi aj;ilj;i . bj
This problem is called pseudo-Boolean optimization (PBO) [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>In order to solve the satisifiability problem PBS, DPLL-style
algorithms can be used to benefit from recent progress of modern SAT
solvers. One approach is to transform the LPB-constraints into CNF
and to apply SAT solvers to the resulting formula. Another approach
is based on generalized constraint propagation and conflict-based
learning, i. e. DPLL-based SAT solvers are enabled to handle LPB
constraints directly. Generally learning methods analyze the conflict
and learn a new constraint which is falsified on the conflict level and
which propagates a new assignment on a higher decision level.</p>
        <p>Given a PBS solver, the PBO problem of Formula (4) itself can be
solved by iteratively applying the solver to perform a linear search or
a binary search. Both approaches proceed analogously to the linear
and binary search approaches for MaxSAT using a SAT solver.</p>
        <p>In the linear search approach, models of the formula ' are
calculated in order to gradually approach the optimal objective value.
Through an extra LPB constraint, a model providing a better
objective value is enforced. If the extra LPB constraint leads to an
unsatisfiable PBS instance, the model last calculated is the optimal one.</p>
        <p>In the binary search approach the search space is bisected by every
single PBS-instance. If the optimal objective value lies inside the
interval [L; U ], a model with the objective value M = (L + U )=2
is searched for. If such a model exists, the minimal objective value
lies inside [L; M ]. If no such model exists, the minimal objective
value lies inside [M; U ].</p>
        <p>For the calculations in Section 5 we used the Sat4j library. The
library is based on a Java version of MiniSat, which was expanded by
generalized constraint propagation and conflict-based learning. The
PBO solver contained therein realizes a simple linear search. The
PBS solver called for this linear search is able to perform the
following two learning methods.</p>
        <p>The clause-based learning method calculates so-called UIPs
(unique implications points) by means of propositional resolution
just like in modern SAT solvers. SAT solvers such as MiniSat
derive a UIP on the basis of the conflict clause and the reason clauses
which were propagating the assignments of the conflict clause. If a
conflict constraint occurs in the form of a LPB constraint, Sat4j first
reduces this constraint to a conflict clause</p>
        <p>K =</p>
        <p>_
l2!C ; (l)=0
l;
where is the partial assignment, that leads to the conflict in the LPB
constraint !C . Analogously, reasons given by LPB constraints are
reduced to reason clauses: If ! is a LPB constraint, that propagates ~l
under the partial assignment , the clause</p>
        <p>R(~l) =</p>
        <p>_
(4)
(5)
(6)
is an implication of ! and also propagates the literal ~lunder .</p>
        <p>
          In a second learning method that is implemented in Sat4j more
expressive LPB constraints instead of clauses are learned. For this
purpose the principle of propositional resolutions in forms of
Hookers cutting planes [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] is directly applied to the LBP constraints [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
2.3
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Integer Linear Programming</title>
      <p>Like linear programming, integer linear programming deals with the
optimization of linear objective functions over a set which is limited
by linear equations and inequations. The difference is that while in
linear optimizations any real values can be taken on, in integer
optimization some or all variables are restricted to whole-number values.
(7)
s.t.</p>
      <p>min</p>
      <sec id="sec-5-1">
        <title>Pi cixi</title>
        <p>
          Pseudo-Boolean Optimization, see Formula (4), can be easily
transformed into 0-1 integer linear programming (ILP): Negative
literals :x are replaced by (1 x) and Boolean variables become
decision variables x 2 f0; 1g. Consequently, commercially available
state-of-the-art ILP solvers such as CPLEX [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] can be used to solve
PBO. Usually, they are based on the branch and cut strategy.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work</title>
      <p>
        Sinz et al. suggest a SAT-based procedure to check consistency of the
product documentation of a German car manufacturer [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
Therefore, they consider vehicle configurations as assignments to
propositional variables and define a propositional formula, called product
overview formula (POF), which evaluates to true iff the vehicle
configuration is technically feasible. Their work also lays the foundation
for formulating the restrictions of the product documentation as a
constraint in mathematical models.
      </p>
      <p>
        Tilak Singh et al. make use of such a product overview formula
in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. They describe a mathematical model to calculate car
configurations aimed at providing the production planning with test
variants before actual sales orders are received. Their configurations are
calculated on the basis of PBO problems that are solved by CPLEX.
This approach is described in greater detail in Section 4.
      </p>
      <p>
        Walter et al. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] describe the possible usage of MaxSAT in
automotive configuration by pointing out various use cases. Whenever
faced with an over-constrained configuration, MaxSAT can be used
to reconfigure the invalid configuration by providing an optimal
solution, e.g. giving a repair suggestion of the (possibly prioritized)
overconstrained selections of a user by a minimal number of changes.
4
      </p>
    </sec>
    <sec id="sec-7">
      <title>Optimization Problems from Automotive</title>
    </sec>
    <sec id="sec-8">
      <title>Configuration</title>
      <p>The product overview defines the set of valid product configurations
and is usually describable as a set of propositional constraints. This
means a configuration is only valid if it satisfies the conjunction of all
constraints, which is also called the product overview formula (POF).
The physical demand of building components for a valid
configuration is determined by the bill of materials (BOM). The combination
of the product overview and the bill of material is referred to as the
product documentation.</p>
      <p>
        Reconfiguration of invalid configurations, as described in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], is
an important issue in automotive configuration. Several practical
relevant use cases exist, such as the reconfiguration of customer orders,
the reconfiguration of constraints for a given fixed order or the
computation of a maximal/minimal car w.r.t. to an assigned value of the
options like weights (kg).
      </p>
      <p>Another major task is the prognosis of future part demands in
production planning. However, historical demands cannot easily be
extrapolated because planning situations in the automotive industry are
constantly changing. A typical planning state used for making a
forecast comprises
the product documentation (option A is only available, if option B
is selected; part x is needed exactly iff the order satisfies the part
rule 'x; etc.),
estimated customer buying behavior (option C is selected by 30%
of the customers; etc.),
capacity restrictions (only 5000 units of part X are available; etc.),
production plans that fix the total number of planned vehicles.
From a mathematical point of view a planning state consists of two
parts:
1. The Boolean formula POF, whose models describe the technically
feasible configurations,
2. the statistical frequency of certain atoms of the product formula.
A common approach to evaluate the planning state is to calculate
an amount of N technically feasible variations that approximates
the statistical guidelines as good as possible. Eventually, for
indicating the future unit demand, the calculated variations are analyzed
by means of the BOM.</p>
      <p>
        Singh et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] propose a linear optimization model for finding
such a set of N technically feasible variations. A solution of their
model is calculated by column generation: In every iteration a
technically feasible variation is determined which further improves the
solution set. For this, a PBO problem is solved. Its objective function
is given by the dual variables of the current approximation and its
constraints are given by the restrictions of the product overview.
      </p>
      <p>In column generation, calculated configurations of previous
iterations are partially replaced by new configurations. Thus, solved PBO
instances do not necessarily result in a configuration also contained
in the final solution. Therefore, it is particularly important to ensure
an efficient calculation of the individual PBO instances.
4
tiu 3
m
m
eop
th 2
ceano
t
ts 1
i
d
0
150
liseab
rav100
l
aud
reo
-zn 50
o
n
#</p>
      <p>0
0
100</p>
      <p>200
#iterations
300
0
100</p>
      <p>300
200
#iterations</p>
      <p>The typical approximation to the planning state when using
column generation is shown in Figure 1. As one can see on the left side,
the majority of iterations is used to overcome the last small step
towards the optimum. Yet, illustrated by the graph on the right side,
approximation is accompanied by increasingly complex target
functions of the PBO instances: the number of non-zero dual variables is
increasing. It must be noted that the maximum number of non-zero
dual variables is usually proportional to the number of statistical
requirements of the planning state.</p>
      <p>
        Concerning implementations of column generation described in
the literature, integer linear programming is the method of choice
for producing columns. This approach is also taken in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
using CPLEX. An important objective of this paper is to investigate
whether DPLL-based methods are suitable alternatives to CPLEX
for calculating predictive configurations.
5
      </p>
    </sec>
    <sec id="sec-9">
      <title>Experimental Evaluation</title>
      <p>In this section we present our main contribution by evaluating the
different previously described methods on optimization problems from
automotive configuration.</p>
      <p>As test environment for the experimental evaluations we used
Windows 7 Professional 64 Bit on an Intel(R) Core(TM) i7-4800MQ
CPU with 2.70 GHz and 2 GB main memory.
5.1</p>
    </sec>
    <sec id="sec-10">
      <title>Benchmark Statistics</title>
      <p>We evaluate several test series, each of which is composed of a
real-world product overview and of randomly generated linear
objective functions. We looked at product overviews of two different
Type
A
B</p>
      <p>Fixed Attributes
market, model, body type,
engine, steering type
market, model, body type
#Clauses
1200-5900
types, see A and B in Table 1. Both types of product overviews
differ in the extent to which attributes are fixed. Additionally, Table 1
shows the minimum and maximum number of clauses for the
product overviews of one type. For generating objective functions, n
variables were randomly selected (by using Java’s Random class with the
default constructor) and each was assigned to a random integer
coefficient from a range between 10; 000; 000 and 10; 000; 000. That
way, 10 objective functions were generated for different numbers of
variables (n = 10; 20; : : : ; 200) so that one test series contains a
total of 200 PBO instances. Corresponding test series were
generated for 13 different product overviews of type A and for 6 different
product overviews of type B.
5.2</p>
    </sec>
    <sec id="sec-11">
      <title>Results</title>
      <p>
        The test series from the previous section were solved by 3 solvers:
1. OPENWBO as a core guided MaxSat solver [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
2. Sat4j as an implementation of the DPLL-based linear search [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
3. CPLEX as an ILP solver [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>For solving the PBO instances a timeout of 60 seconds was set. In
order to set up the linear search correctly, two different learning
methods of the underlying PBS solver of Sat4j were tested. Concerning
the test series of type A, Figure 2 shows the average running time for
learning of
Cutting Planes</p>
      <p>Clauses
50 100 150
#variables in the objective function
200
depending on the complexity of the objective function. Based on
these results, Sat4j was limited to learning clauses when comparing
the 3 solvers.</p>
      <p>product overview with 133700 clauses</p>
      <p>In Figure 3 the running times of OPENWBO, Sat4j and CPLEX
are compared. The upper graph shows the average running times of
the test series of type A concerning objective functions of
different complexity. Accordingly the bottom graph displays the results
of the test series of type B. Time was limited in both subfigures
(200ms, 1400ms). In average, for all test series of type A and B,
the DPLL-based solvers OPENWBO and Sat4j perform significantly
better than CPLEX with regard to objective functions of low
complexity. In test series of type A the solver Sat4j performs better than
CPLEX concerning objective functions of up to N = 170 variables.
s
n
o
i
t
a
tr
e
i
#
e
g
a
r
e
v
a
15
10
5
0</p>
      <p>Sat4j</p>
      <p>OPENWBO
0
50
100
150</p>
      <p>200
The MaxSAT solver OPENWBO, however, produces reliable
running times for up to N = 70 variables.</p>
      <p>In contrast to the DPLL-based solvers, there was only a slight
increase in the running times for CPLEX with a growing number of
variables in the objective function. Hence, once a certain length of
the target function has been reached, CPLEX leads to better results.</p>
      <p>Across all test series of type B, Sat4j performed on average better
than CPLEX (Figure 3, bottom graph). Compared to CPLEX
however, OPENWBO leads to slower running times for objective
functions of only N = 30 variables. This observation is especially
illustrated by the most extensive product overview of type B (137700
clauses) as demonstrated in Figure 4, where the time-domain is
restricted to 3400 ms.</p>
      <p>Timeouts were observed exclusively for the MaxSAT solver
OPENWBO. Complementary to the results of running times,
Figure 5 shows the average number of timeouts when solving 10
instances.</p>
      <p>For a better understanding of the observed difference in running
times of both DPLL-based approaches, Figure 6 shows the average
number of DPLL-calls. The graphs refer exclusively to the test
series of type A and represent the numbers of SAT/UNSAT-calls for
OPENWBO or, in case of Sat4j, the numbers of PBS-calls.
5.3</p>
    </sec>
    <sec id="sec-12">
      <title>Discussion</title>
      <p>The test instances described in Section 5.1 differ with respect to the
following aspects:
the complexity of the objective function (number of variables
N = 10; 20; : : : ; 200)
the size of the product overview (number of models and number
of clauses; type A and B)
The findings of the previous section lead us to the following
conclusions:</p>
      <p>Using DPLL allows the quick calculation of a model of a formula
- in that way DPLL-based solvers are superior to ILP solvers.
Yet, when objective functions become more and more complex,
the particular suitability of CPLEX in solving 0-1-optimization
problems dominates.
The latter point is evident in the strong increase of running times for
the DPLL-based methods once a certain length of objective functions
has been reached.</p>
      <p>In comparison with OPENWBO, Sat4j leads to significantly
better running times. This is also due to the special suitability of the
examined instances for a linear search (see Figure 6). The number
of iterations for a linear search increases only linearly with the
numbers of variables in the objective function - this is a surprising result.
Hence, the nonlinear increase of running times can only be explained
by the growing complexity of PBS instances in linear search.</p>
      <p>Concerning product overviews of type A, the critical length of the
objective function for Sat4j is between N = 160 and N = 200. With
increasing scale of the product overview, this critical value shifts
upwards. In some cases of the product overviews of type B, the critical
value is greater than N = 200, such as seen in Figure 4.</p>
      <p>In order to optimally configure customer orders, an optimal subset
of about 20 options has to be determined. For this purpose the linear
search implemented in Sat4j and the core guided MaxSAT solver
OPENWBO are more than sufficient.</p>
      <p>
        For calculating predictive configurations for the product planning
(see Figure 1) Sat4j can be far more effective than the other tested
methods, at least for the first iterations of a column generation based
process. Yet it is possible that the critical area of linear search is
reached depending on the given number of statistical requirements in
the planning state. In such a case configurations should be calculated
by CPLEX just like in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-13">
      <title>Conclusion</title>
      <p>We compared current state-of-the-art solvers to calculate optimal
product configurations of a major German car manufacturer. So far,
the use of core guided MaxSAT solvers and ILP solvers like CPLEX
for PBO-instances of automotive industry was described in the
literature. For the purpose of comparison we additionally applied a
DPLLbased linear search.</p>
      <p>Results were analyzed with respect to the granularity of the
product overview and with respect to complexity of the objective
functions. The results show that the investigated approaches have
different suitability for different application cases. For reconfiguration
the linear search performed by a PBS-Solver is a stronger alternative
compared to core guided MaxSAT. For calculating predictive
configurations – up to a certain amount of given frequency restrictions –
the DPLL-based linear search is even more suitable than CPLEX.</p>
      <p>An important result is the small number of iterations observed in
linear search. The approach of linear search thus appears to be
especially suitable for PBO-instances whose constraints are given by
a product overview. For reliable usage of the DPLL-based linear
search, also for instances of long objective functions, a customized
PBS solver needs to be developed. Such a solver must be able to
more efficiently solve PBS instances that are characterized by a set
of product overview clauses and one extensive LPB constraint.
72</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>IBM</given-names>
            <surname>ILOG CPLEX</surname>
          </string-name>
          <article-title>Optimizer</article-title>
          . http://www01.ibm.com/software/commerce/optimization/cplexoptimizer/index.html,
          <year>June 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Carlos</given-names>
            <surname>Anso</surname>
          </string-name>
          <article-title>´tegui, Maria Luisa Bonet, Joel Gaba`s, and Jordi Levy, 'Improving SAT-based weighted MaxSAT solvers', in Principles and Practice of Constraint Programming -</article-title>
          18th International Conference, CP 2012,
          <article-title>ed</article-title>
          .,
          <source>Michela Milano</source>
          , volume
          <volume>7514</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>86</fpage>
          -
          <lpage>101</lpage>
          . Springer, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <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="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Olivier</given-names>
            <surname>Bailleux</surname>
          </string-name>
          , Yacine Boufkhad, and Olivier Roussel, '
          <article-title>A translation of pseudo boolean constraints to SAT'</article-title>
          ,
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          ,
          <volume>2</volume>
          (
          <issue>1-4</issue>
          ),
          <fpage>191</fpage>
          -
          <lpage>200</lpage>
          , (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Donald</given-names>
            <surname>Chai</surname>
          </string-name>
          and Andreas Kuehlmann, '
          <article-title>A fast pseudo-boolean constraint solver'</article-title>
          ,
          <source>IEEE Transactions on CAD of Integrated Circuits and Systems</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ),
          <fpage>305</fpage>
          -
          <lpage>317</lpage>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Stephen</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cook</surname>
          </string-name>
          , '
          <article-title>The complexity of theorem-proving procedures'</article-title>
          ,
          <source>in Proceedings of the Third Annual ACM Symposium on Theory of Computing</source>
          ,
          <source>STOC '71</source>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>158</lpage>
          , New York, NY, USA, (
          <year>1971</year>
          ). ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <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="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Niklas</given-names>
            <surname>Ee</surname>
          </string-name>
          <article-title>´n and Niklas So¨rensson, 'Translating pseudo-boolean constraints into SAT'</article-title>
          ,
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          ,
          <volume>2</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
          , (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <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="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>John</surname>
            <given-names>N. Hooker,</given-names>
          </string-name>
          '
          <article-title>Generalized resolution and cutting planes'</article-title>
          ,
          <source>Annals of Operations Research</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ),
          <fpage>217</fpage>
          -
          <lpage>239</lpage>
          , (
          <year>1988</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <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="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Le</surname>
          </string-name>
          Berre and Anne Parrain, '
          <article-title>The Sat4j library, release 2.2'</article-title>
          , Journal on Satisfiability,
          <source>Boolean Modeling and Computation</source>
          ,
          <volume>7</volume>
          (
          <issue>2-3</issue>
          ),
          <fpage>59</fpage>
          -
          <lpage>6</lpage>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <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="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Ruben</surname>
            <given-names>Martins</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasco M. Manquinho</surname>
          </string-name>
          , and Ineˆs Lynce, '
          <article-title>On partitioning for maximum satisfiability'</article-title>
          ,
          <source>in ECAI 2012 - 20th European Conference on Artificial Intelligence</source>
          , eds., Luc De Raedt, Christian Bessie`re, Didier Dubois, Patrick Doherty, Paolo Frasconi, Fredrik Heintz, and
          <string-name>
            <surname>Peter J. F. Lucas</surname>
          </string-name>
          , volume
          <volume>242</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , pp.
          <fpage>913</fpage>
          -
          <lpage>914</lpage>
          . IOS Press, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Ruben</surname>
            <given-names>Martins</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasco M. Manquinho</surname>
          </string-name>
          , and Ineˆs Lynce, 'Open-WBO:
          <article-title>A modular MaxSAT solver'</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>438</fpage>
          -
          <lpage>445</lpage>
          . Springer International Publishing, (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <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="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Olivier</given-names>
            <surname>Roussel and Vasco M. Manquinho</surname>
          </string-name>
          , '
          <article-title>Pseudo-boolean and cardinality 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>22</volume>
          ,
          <fpage>695</fpage>
          -
          <lpage>733</lpage>
          , IOS Press, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <article-title>Tilak Raj Singh and Narayan Rangaraj, 'Generation of predictive configurations for production planning'</article-title>
          ,
          <source>in Proceedings of the 15th International Configuration Workshop</source>
          , eds.,
          <source>Michel Aldanondo and Andreas Falkner</source>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>86</lpage>
          , Vienna, Austria, (
          <year>August 2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Carsten</surname>
            <given-names>Sinz</given-names>
          </string-name>
          , Andreas Kaiser, and Wolfgang Ku¨chlin, '
          <article-title>Formal methods for the validation of automotive product configuration data'</article-title>
          ,
          <source>Artificial Intelligence for Engineering Design, Analysis and Manufacturing</source>
          ,
          <volume>17</volume>
          (
          <issue>1</issue>
          ),
          <fpage>75</fpage>
          -
          <lpage>97</lpage>
          , (
          <year>January 2003</year>
          ).
          <article-title>Special issue on configuration</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G. S.</given-names>
            <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="ref21">
        <mixed-citation>
          [21]
          <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>