<!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>Customer buying behaviour analysis in mass customization</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tilak Raj Singh</string-name>
          <email>tilak.singh@daimler.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Narayan Rangaraj</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Industrial Engineering and Operations Research, Indian Institute of Tech-</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>1</volume>
      <fpage>0</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>Motivated by the importance of customer buying behaviour (such as correlation among product attributes/features of products configured in the past) in planning future configurations, this paper addresses the issue that product evolution (upgrades) usually render information gathered from past buying behaviour at least partially unusable. For instance, relations among features might have been changed, thus making it difficult to configure the same products again. The proposed approach aims to (1) find associations between product attributes based on the analysis of prior customer orders (2) apply configuration rules to prune attribute association rules which are not controlled by customers, and (3) check whether derived attribute association rules from past orders also work for the new upgraded product. Attribute associations consistent with the upgraded product are then used to predict configurations for production planning. We use machine learning algorithms and optimization techniques to address these issues.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Mass customized products (e.g. Automobiles) involve a large number
of product variants which are generated by combining different
predefined features/attributes. Individual product attributes and attribute
combinations control the final consumption of vehicle components
and sub-assemblies during the production [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. For example, the
selection of features such as a specific gearbox or a sports package
can decide which steering wheel will be used to build the vehicle.
Thus, knowledge of customer buying behaviour (correlation between
product attributes) is crucial for demand estimation of parts and
subassemblies for future production.
      </p>
      <p>
        One way to get customer buying behaviour is by extrapolating the
configurations produced in the past. Due to the high degree of
individualization and continuous changes in the product design,
product evolution (upgrades) usually renders information gathered from
past buying behaviour at least partially unusable. For instance,
relations among features might have been changed, thereby not
allowing configuration of the same products again. In the special case of
a new product, information from existing models (having common
features) is often used to prepare the initial production plan (set of
vehicle configurations). As configuration rules of different products
are not same, it is likely that attribute associations from the existing
model may not be directly applicable to the new product. Thus, we
need a mechanism to validate whether the derived attribute
association rules from past orders also work for the new upgraded product.
These consistent attribute association rules could then be used to
predict future configurations for production planning [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Throughout this paper, we will use the terms attribute association
rules or attribute associations to specify quantities reflecting the joint
selection of attributes or conditional section of attributes. For
example, figure 1 shows that 67% of configurations contain both attribute
1 and attribute 2.</p>
      <p>
        In practice, the use of specific components in the final product
assembly depends on 1) the way they are designed and 2) the way
customers select them. Design or engineering related dependencies
(or restrictions) are well documented in product’s Bill-of-Material
(BOM) or configuration rules. As the product development process
starts well before the actual production, it is possible to know the
product description for a future time (2-3 years in advance) from
BOM [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. However, attribute associations from the customer point
of view are not known directly and can only be seen once
customers have placed orders. Most manufacturers utilize information
from product variants produced in the past to get estimates of
customer demands. Customer behaviour can be expressed through
associations between different attribute choices (e.g. joint selection)
customers have made in the past.
      </p>
      <p>In order to predict configurations for production planning the
information from 1) configuration restrictions and 2) customer buying
behaviour should be used together. Any conflicting information
between these two sources points to an inconsistency in the planning
information. Delay in the detection of such discrepancies may result
in a wrong mix of parts being produced, thus hampering production
efficiency.</p>
      <p>Input</p>
      <p>Product
configured
in the past
Attributes
1 2 3
1 0 1
1 1 0
1 1 1</p>
      <p>Section 2</p>
      <p>Section 2</p>
      <p>Section 3
Attribute
association</p>
      <p>rules
(1)
(1,2)
(1,3)
(2,3)</p>
      <p>Pruning
association</p>
      <p>rules
(+) Config
rule (2 → ¬3)
(1) 100%
(1,2) 67%
(1,3) 67%</p>
      <p>Validate
attribute
associations
(1)
(1,2)
(1,3)
attributes). Then, association rules which conflict with configuration
restrictions are pruned. In Section 2 we discuss a machine learning
algorithm to calculate such association rules. In Section 3 we present
optimization models which aim to build a set of future configurations
by considering 1) configuration restriction and 2) attribute
association rules simultaneously. If we are able to find such a configuration
set which matches both of the input parameters, then the result can
be used for future production planning. In case of conflicts between
configuration restrictions and attribute association rules, further
analysis is required and perhaps only a limited set of consistent
association rules can be used to predict future configurations. In this case,
our focus is to find such a consistent set of attribute association rules
and use them to predict future configurations. Section 4 focuses on
the system implementation followed by initial computational results,
discussed in section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Mining attribute association rules</title>
      <p>
        A customizable product can be configured using different
combinations of attributes (features). In an automobile, attribute could be
body style, transmission type, sunroof or parking assistance.
Customer buying behaviour can be studied by analysing how product
attributes are associated with each other. Association rule mining has
wide application in data mining for analysing and predicting
customer behaviour [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In this section, we discuss a framework for
mining association rules among product attributes from a given set
of product configurations. As association rules are extracted from
known product configurations, we first take a look at the
characteristics of the configuration problem.
2.1
      </p>
    </sec>
    <sec id="sec-3">
      <title>Product configurations</title>
      <p>Let us define our product configuration problem as per [10,
Definition 1]: the configuration problem C can be expressed through a
triple (X; D; F ), where:</p>
      <p>X is a set of product attributes (configuration variables) lets say
fx1; :::xng. Where n is the total number of attributes.</p>
      <p>D is the set of attributes finite domains d1; d2; :::; dn.</p>
      <p>F = ff1; f2; :::; fmg is a set of propositional formulas (rules or
restrictions) over attribute set X.</p>
      <p>In this paper, we assume that the configuration variables xi 2 X
are boolean, hence domain di 2 f0; 1g; 8i 2 X. A configuration is
said to be feasible if an assignment for all attributes (i 2 X) is found
which fulfils each and every proposition in F . X = x1; :::xn is a
set and each di is a set. In this case, each di is a binary set. In other
words, fd1; :::; dng is a collection of sets, whereas fx1; :::; xng are
the elements of set X.</p>
      <sec id="sec-3-1">
        <title>Example 1</title>
        <p>Let us assume a car is configured using six attributes X =
f1; 2; :::; 6g f Automatic Gearbox, Cruise control, Reverse
camera, Sunroof, Keyless Go, Parktronic g, D 2 f0; 1g8X, and F =
ff1g where</p>
        <p>f1 = f2 ! 1g: Cruise control requires Automatic Gearbox.
For a given set of boolean variables (attributes) and propositional
formulas, finding a feasible configuration is a Boolean Satisfiability
problem where the aim is to get an assignment (true or false value)
of Boolean variables (X) which satisfies given configuration rules
(F ). Configurations from Table 1 can be treated as customer
configurations and in the next section we will derive associations between
different attributes from these. Table 1 contains a list of some
feasi</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Attribute association rules and configuration restrictions</title>
      <p>
        Association rule mining methodology is used to find the association
between variables in large transactions [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In our case, each
configuration is expressed over a subset of attributes, where attributes are
feature/variables used to configure the product. An association
between two disjoint sets of attributes p and q can be expressed using
two numbers:
      </p>
      <p>Support(p ) q): This is the proportion of configurations
that contain both attribute sets p and q. In Example1, Support
(Sunroof; ReverseCamera)= 4/10 = 0.4.</p>
      <p>Confidence (p ) q): Given set of configuration which
contains attributes set p, this is the proportion of configurations
where attribute set q is also selected. In Example1, Confidence
(Sunroof ) ReverseCamera) = 4/5 = 0.8. If support and
confidence are greater than user specified thresholds, then we call that
association rule “interesting”.</p>
      <p>After applying rule mining techniques, we get a large number of
relations which satisfy our parameter of interestingness, although
not all of them are customer driven. Because sales transactions do
not explicitly state only customer selectable attributes, it is then
our task to identify and remove attribute relations which are driven
by the technical nature of the product. For example, in Table 2
(rule # 2) the association between two attributes CruiseCtrl )
AutomaticGearBox is given by Support = 0.3 and confidence = 1.
The high confidence between Cruise control and Automatic Gearbox
is not really driven by customer buying behaviour, but this is the only
way a feasible configuration using attribute Cruise control can be
created. This information is stated in the configuration rule (F = ff1g)
of Example 1.</p>
      <p>In practical scenarios with hundreds of product attributes and
thousands of configuration rules, identifying which attribute association
rule is controlled by their technical dependencies is non-trivial. Also,
it is both error prone and time consuming to analyse and classify
a large set of attribute associations manually. As the configuration
problem is used to find feasible assignments of product attributes
under configuration rules, we use this to state some direct dependencies
among attributes. Any two attributes (let’s say p and q) can be
combined in a configuration based on the following relations:
Depending upon how many relations are satisfied from Table 3
any association rule can be classified in one of 24 possible cases. For
example, if we consider Cruise control and Automatic gearbox from
example 1, as attribute p and q, then with the given configuration
rule, we will not be able to create a configuration which satisfies 3rd
relation p ^ :q. If all the four relations are satisfied from Table 3
then we can say that the given attributes are independent of product’s
technical influence and any association derived from customer orders
actually reflects their buying behaviour.</p>
      <p>In the other case, let us assume that the product from Example 1
has been upgraded and new configuration restriction has been added
i.e. F = ff1; f2g where f2= Parktronic comes with Reverse
camera. Due to this new restriction configuration, O001, O003 and O010
from Table 1 will not be feasible for future product. Then,
associations between different product attributes need to be validated against
the new configuration rule. In the next section, we discuss a set of
optimization models for validating attribute association rules with
respect to configuration restrictions.
3</p>
    </sec>
    <sec id="sec-5">
      <title>Validation of attribute association rules</title>
      <p>In the task of validating attribute association rules for an upgraded
product; our aim is to find one instance of future demand where all
derived association rules are satisfied. The future demand estimate
can be given in terms of a configuration set where correlation
between attributes is controlled by predefined association rules.</p>
      <p>If products are defined over sets of boolean attributes, the
association rules can be expressed as boolean proposition formulas. For
example, support(p; q) can be modelled in a proposition formula to
capture the joint selection of the attribute sets p and q. The value of
support (p, q) indicates the fraction at which corresponding boolean
propositional formula (p ^ q) evaluates as true in the configurations
set. Thus, finding a consistent future demand estimate with respect to
association rules is equivalent to satisfying a set of propositional
formulas with some probability. For example, if support(p; q) = 0:2
then we want a clause (p ^ q) is true 20% of the time in final
configurations. The resultant set of propositional formulas can be divided
into two sets: 1) propositional formulas derived from the
configuration problem (i.e. BOM) which has to evaluate to ”true” for every
demand instance 2) propositional formulas generated from
association rules which are assigned a probability of being satisfied. If we
are able to find a probability distribution on the truth assignments of
the boolean variables corresponds to association rules that induces
the given probabilities, then we will have an instance of future
demand where all calculated association rules are satisfied.</p>
      <p>
        For a given set of boolean variables and set of boolean clauses,
determining whether it is possible to find a probability measure over
truth assignments of the boolean variables that induce the given
assessments is known as Probabilistic Satisfiability (PSAT) problem
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. After modelling association rules as boolean propositional
formulas and generating a solution instance where all association rules
and configuration restrictions are satisfied simultaneously, we can
say that derived association rules are consistent with the new
configuration restrictions for the product. Our aim is to construct a
configuration set such that it reflects the same support and confidence
values from association rules as derived from past data. Support and
confidence can be modelled as constraints in configuration problem
and the associated quantity is then used to select the configuration
set/ solution set to check the satisfiability [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
3.1
      </p>
    </sec>
    <sec id="sec-6">
      <title>The association rules verification model</title>
      <p>In this section, we present the optimization model for evaluating the
consistency among attributes association rules. Before formulating
the mathematical model, let us discuss a small example to
understand the underlying problem:
Example 2: Let us assume we have discovered a customer
behaviour from Table 1 that three different attributes (Reverse
Camera (RC), Keyless Go (KG), Parktronic (PA)) are individually
selected 60% of the time in prior demand. Now, new configuration
restrictions (e.g. Upgraded product) specify that at least two of
the attributes (out of three) have to be present in every feasible
configuration. Now, is it feasible to assume that the attributes will be
selected at the same rate as before?</p>
      <p>From given configuration rule in Example 2, at least two attributes
have to be present in a feasible configuration, i.e. the following
boolean clause has to be true: (RC _ KG), (KG _ PA) and (RC _
PA). If we are able to get a set of configurations where the above
rules are satisfied and each attribute is selected 60% of the time in the
configuration set, then we can say that derived attribute association
rules and configuration restrictions are consistent with the upgraded
product.</p>
      <p>Before solving the problem of Example 2 let us formulate a
general mathematical model to detect consistency among the association
rules. The problem of validating association rules with respect to a
new configuration rule can be defined as follows:
x1 ^ x2.</p>
      <p>Let the index i refer to a logical association rule statement
(Support or Confidence) defined over n Boolean variables x1; x2; :::xn
using Boolean propositional formulas. As an Example from Table
2, x1= fCCg, x2= fSRg, the new variable 1= Support(x1,x2) =</p>
      <p>Let the index j refer to a configuration in the set J , the total
configuration set (typically of very large size).</p>
      <sec id="sec-6-1">
        <title>Data</title>
        <p>i is the probability of ith statement (attributes Support or
Confidence) to be true. As an Example from Table 2, 3=0.4
1 if ith statement is true in jth configuration
Ai;j = 0 otherwise</p>
      </sec>
      <sec id="sec-6-2">
        <title>Decision variables</title>
        <p>Xj = Fraction representing the proportion of j in the total
configuration set, a real number between 0 and 1;
Zi+ = Positive deviation from target probability i, a real number
between 0 and 1
Zi = Negative deviation from target probability i, a real number
between 0 and 1</p>
      </sec>
      <sec id="sec-6-3">
        <title>Objective Function Subject to</title>
        <p>where p^q is equal to support (p ) q). Ap^q;j will take value one
if both p and q are present in configuration j, otherwise zero.
3.1.2</p>
        <sec id="sec-6-3-1">
          <title>Confidence</title>
          <p>Confidence value from association rule mining can be controlled
through conditional probability of given attributes. Confidence (p )
q) = support(p ) q)=support(q) = pjq.</p>
          <p>X(Ap^q;j
j
pjqAq;j )Xj + Zp+jq</p>
          <p>Zpjq = 0
(6)
Above equation controls the confidence (p ) q) by controlling the
joint selection of p and q and individual selection of attribute q in the
configuration.</p>
          <p>Decision variables Zi+; Zi are used to control the absolute
deviation for each association rule. The matrix A lists the set of all feasible
configurations which we use to match association rule quantity i. At
this point let us say that A contains all feasible orders. From model
OP T1 if Zi+; Zi are zero 8i then we can say the association rules
are consistent among each other and also with configuration rules as
we are only considering feasible configurations in the matrix A.</p>
          <p>In Example 2, let us assume that x1 = RC, x2 = KG, x3 = PA.
Then the configuration constraint can be written as follows:
x1 + x2 = 1, x1 + x3 = 1 and x2 + x3 = 1.</p>
          <p>any combination of x1, x2, x3 which satisfies the above constraint
will be a possible configuration to use by model OP T1 i.e. as a
column of A-matrix. In this case, only four possible solutions are
available so we can solve this example by explicitly enumerating all
possible configurations.</p>
          <p>OP TExample2 : Minimize
01</p>
          <p>By solving the optimization model OP TExample2, at optimality
we get objective function value 0.2 (6= 0). There are multiple optimal
solutions and one is X = 0:4; 0:2; 0:4; 0 which means configuration
1, 2 and 3 are used 40%, 20% and 40% of the time respectively
and configuration 4 is not used in the final solution. As the objective
function value of OP TExample2 model is not equal to zero, we can
say that attribute association and configuration rules are not
consistent with each other. However, one drawback of the model OP T1 is
that it does not explicitly specify how many association rules are
satisfied. More specifically, we would like to be able to build a model
which satisfies the maximum number of association rules in case of
conflicting inputs as presented in Example2. In the next subsection,
we discuss one such model.
Complex products such as automobile undergo enormous changes
through their life cycle. Thus, it is quite likely that some of the
association rules derived from past orders may not be consistent with new
configurations rules as discussed in our Example2. A relevant
question is whether we can maximize the coverage of association rules
which can be fulfilled by an upgraded product. The OP T1 model
discussed in section 3.1 can only detect if all the association rules are
satisfiable or not. If there are conflicts, we need to ideally find the
minimum number of association rules, so that if we remove those,
then all the remaining association rules become consistent.</p>
          <p>With the same definitions of variables as in the OP T1 model, let
us formulate the problem as follows:</p>
        </sec>
      </sec>
      <sec id="sec-6-4">
        <title>Decision variables:</title>
        <p>yi =</p>
        <p>OP T2 = Minimize</p>
        <p>X yi
yi is a binary 0-1 decision variable associated with each
association rule (confidence/ support). The variable yi will take value 1
if there is some deviation between selection of attribute association
P Aij Xj and the given rate i. For any association rule at a time
j
only one variable Zi+ or Zi will have a non zero value.
Accordingly, yi will take value 0 or 1 from constraint 14. If all association
rules are consistent, yi must be zero for all i.</p>
        <p>In Example2 the OP T2 model will give objective function value
1 i.e. if we ignore one association rule then we can satisfy the
remaining ones in the new product configuration. For example if we
take only 2; 3 = 0:6 then we can build a set of feasible
configurations which can satisfy both the association rules.
3.3</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Solution procedure</title>
      <p>Model formulation (OP T1) and (OP T2) are designed to express all
possible configurations (X). This runs into the hundreds of millions!
There are still two different problems with the optimization model
(OP T1) and (OP T2):
1. How to consider all possible solutions? Very large number of
decision variables.
2. How to build Ai;j matrix?
– Do we have to explicitly write all the columns of A?
– Can we work with a small set of configurations and add more
when needed?</p>
      <p>
        The key for success here is that Aij needs not to be stored or built
explicitly. Based on the need, configurations can be added to Aij to
minimize the objective function. A solution for such a large scale
optimization can be found using column generation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We can start
with a possible set of Xj variables. Solve OP T1 or OP T2 to decide
which of those Xj ’s are included in the solution, and then try to
generate a new configuration so as to improve the objective function
value.
      </p>
      <p>As discussed in figure 2, the overall problem is divided into two
optimization problems. The first problem is to make a selection over
known configurations (stored in Aij M atrix) such that attribute
association rules can be matched as per objective function. In the next
step, we want to know whether there is any feasible configuration
(w.r.t. configuration rules ) which improves the master problem
objective function value. Let us assume that we have an ’Oracle’
(submodel) which will give us such a configuration each time we ask the
question. If no such configuration is found, we conclude that there
is no feasible configuration which can improve our current objective
function value. The aim of the master problem in both model OP T1
and OP T2 is to find the optimal solution over known configurations
(given columns of the Aij -matrix) and the task of the sub model is
to add new columns to the Aij -matrix. We will repeat this procedure
until no configuration is found that is worth considering. In the next
section, we will discuss the formulation of sub model w.r.t. master
problem OP T1.
In linear programming problems, in each iteration of the simplex
algorithm we compute reduced costs to check if any non-basic
variable can enter as part of the solution. To do so in model OP T1,
we have to evaluate if P wi [xi]j &lt; 0 for any configuration j.
Where wi is dual variable and [xi]j is the new jth configuration.
As the value of wi will be known from solving model OP T1, if
we know the coefficient of jth order [xi]j we can tell whether the
given order will improve our objective function or not. Another way
to look at this problem is to build the new jth configuration so that
P wi [xi]j can be maximized.</p>
      <sec id="sec-7-1">
        <title>The Sub-Problem:</title>
        <p>Data: wi= Dual variable from the model OP T1, associated with
constraints 2
B= Set of constraints derived from configuration rules
Decision Variable
[xi]j = new configuration for jth column of configuration
ma(18)
(19)
(i.e. x is a feasible configuration)</p>
        <p>
          In this formulation, we assume that configuration restrictions are
modelled as a set of linear constraints as per Eq. 17 [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The
subproblem will generate a possible new configuration j. If this new
configuration j satisfies Eq. 19 the configuration j enter the pool. This
will be one column of Aij matrix in OP T1 model. Each solution of
OP T 1Sub model will give a feasible configuration after satisfying
all configuration rules from constraint 17. Configuration rules can be
presented as propositional formulas and then transformed to sets of
linear constraints [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>X wi
Dual costs are recomputed by solving the model OP T1 and the
process terminates when no more configurations are found to be worth
taking in. We use IBM ILOG Cplex engine to solve the sub-problem.
The master (OP T1) and the subproblem (OP T 1Sub) may have to
be solved multiple times before the terminating criteria is satisfied.
The procedures discussed in section 3.1 and 3.4 works together to
find a set of consistent association rules. Model OP T1 works with a
predefined set of configurations and optimizes the current deviation
with given association rules target. Model OP T 1Sub is used to find a
new configuration so that Model OP T1 objective function value
improves. Implementing the column generation approach in association
rule verification problem is done in the following way:
1 Solve the OP T1 model with current columns of Aij matrix. In the
first iteration, a feasible configuration can be used to initialize the
A matrix. This iteration is used to get the dual variables which will
be used in the new configuration generation model OP T 1Sub.
2 Get dual variable wi from Eq. 2 of the OP T1 Model
3 Set up a sub problem as per Section 3.4
4 Get new column (order as 0-1 vector [x] from solution of the sub
problem discussed in section 3.4)
5 This generates a possible new configuration j with dual variable
wi
6 If configuration j satisfies P wi xi 0 (pricing inequality) then
i
configuration j enters as jth column of Aij
7 Dual costs are re-computed and the process terminates when no
more configurations satisfy the pricing inequality.
4</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Implementation</title>
      <p>
        One of our goals is to provide a software system which can 1)
extract association rules from given configurations and is 2) able to use
new configuration rules (upgraded product) to validate attribute
association rules. Figure 3 shows the implementation flow of arriving
customer driven attribute associations for predicting future
configurations. We use Apriori algorithm through R-arules package to find a
list of interesting (by support and confidence threshold) association
among product attributes [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. All derived association rules are then
used in the optimization model which is implemented using IBM
ILOG Cplex 12.5 and c# .net environment. At the end, a list of all
consistent association rules is available with the corresponding set of
configurations.
We use Apriori algorithm implemented in ”arules” package of R to
derive a list of association rules. Number of attributes present in all
customer orders are in the range of 500- 1,000. Total number of
order is in the range of 10K to 1 Million. Even for very high cut off of
support and confidence value ( 80%) number of generated
association rules ranges in tens of thousands. One way to reduce the number
of association rules is by limiting the attribute association level. We
usually limit the association between 2 or 3 three attributes. Figure
4 shows a screen shot of actual system for association rule mining.
The user can select different computational parameters such as
minimum support and confidence, rule size, limiting antecedent
(lefthand-side) and consequent attributes to build the desired association
rules. Association rule which are according to the user specified
parameters are computed from given configuration set. These
association rules are used as the target to predict future product
configurations.
4.2
      </p>
    </sec>
    <sec id="sec-9">
      <title>Predicting configuration set</title>
      <p>As a next step after computing attribute associations (support and
confidence), we build the optimization model as per section 3 to
compute configurations as per target input characteristics. Two
optimization models are used:
1
2</p>
      <p>Master model as per section 3.1 (OP T1) which models selection
of configuration such that sum of absolute deviation from target
association rules can be minimized.</p>
      <p>Sub model as per section 3.4 which models all configuration rules
as linear inequalities.</p>
      <p>Both the optimization model receives input from each other in every
iteration of column generation procedure described in section 3.5.
Optimization models run iteratively until stopping criteria (no
improvement to the current solution) is met. At any iteration of column
generation procedure, sub model gives a single configuration which
is used as new decision variable to the master problem. We have
implemented both the optimization model using cplex 12.5. As a result
of the optimization procedure, a configuration set is build adhering
given association rule targets. In the next section, we will discuss our
first computation result with developed models.
5</p>
    </sec>
    <sec id="sec-10">
      <title>Computational Results</title>
      <p>In this section, we discuss typical computational parameters and
associated numbers with input data and decision variables. We have
tested our methods and models mainly on automotive data. The
historical configurations are analysed at specific granularity
(productline/body style/market/engine type) to reflect current sales planning.
Generally, about 500-1000 unique attributes are to be specified in a
configuration set. However, not all attributes are available for
customers choice as some of them are related to production. In our
analysis, we have considered between 100 and 200 attributes which are
available to customers. Three vehicle segments are used to test the
methodology that has been developed. Table 4 shows various
parameters of the data segments that we have selected. The number of
orders is the number of prior configurations used to find the attribute
associations (support and confidence). For this experiment, the
maximum number of attributes in an association rule is limited to two i.e.
association among two arbitrary attributes are computed.</p>
      <p>Experiment
#
# of
attributes
Segment1
Segment2
Segment3</p>
      <p>Starting from a set of configurations and attributes, we use
additional parameters such as minimum support and minimum
confidence to compute attribute association rules. In this experiment, our
aim is to find association rules which are significant (e.g. above
minimum support and confidence support). After applying data mining
methods, we get a large number of attribute association rules which
are then filtered as per their direct dependencies/conflict with
configuration rules as explain in section 2.2. By doing so, we see a
significant reduction in the number of association rules. These rules are
now ready to be validated with respect to the upgraded product.</p>
      <p>Now we apply optimization model discussed in section 3.1 to build
a set of configurations so that association and configuration rules are
met together. In most of the cases, not all computed association rules
are applicable to the upgraded product. Therefore, it is important to
use only consistent rules to predict the set of future configurations.
We applied the optimization model discussed in section 3.1 to build
such a configuration set.</p>
      <p>An important use of the set of predicted future configurations is to
find part demand estimates for future production. In order to see the
influence of consistent customer buying behaviour in parts demand,
we computed parts frequency associated with order sets, where 1)
only consistent attribute associations are used to predict the order set
and 2) all attribute associations available after pruning w.r.t.
configuration rules are used to predict the order set. The above association
rules are also supplemented with a few sales forecasts (at single
attribute level) to include estimates of new attributes which are not
present in past orders.</p>
      <p>Order set built with inconsistent association rules</p>
      <p>Order set built with consistent association rules
]
%
[
n
i
y
c
a
r
u
c
c
a
t
s
a
c
e
r
o
f
s
t
r
a
P
80
60
40
20
0</p>
      <p>Segment1</p>
      <p>Segment2</p>
      <p>Segment3</p>
      <p>Figure 5 shows the part forecast accuracy of the two scenarios
discussed above. The order sets are compared with real customer
orders to find the match with respect to estimated part number. About
10,000 part forecasts are compared and we used part demand
matching parameter 10% i.e. if the estimated value of part demand is
within 10% of actual demand then this forecast is considered good.
With this measurement, we have compared two order set computed
with consistent and non-consistent attribute association. In figure 5,
for all the 3 cases we see significant improvement in forecast
accuracy when consistent sets of input information are used.
6</p>
    </sec>
    <sec id="sec-11">
      <title>Related work</title>
      <p>
        Data mining techniques in manufacturing system are widely used
to provide detailed insights regarding processes and products, such
as customer segmentation, production control and quality controls
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In mass customization, the uncovering of aggregated level of
customer buying information becomes crucial due to high product
variety [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Data mining techniques such as association rule
mining have been used in many applications such as predicting a
subassembly selection, and lead to significant improvement in order
fulfilment process [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The main challenge in association rule
mining technique is how to find useful association from a large set of
possible attribute choices [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. As association rules are derived from
historical demands, another challenge is to validate association rules
with respect to engineering changes to the product. Configuration
models which capture configuration restrictions can be used to
validate the list of association rules. It turns out that validating product
attribute association rules against configuration rules can be
formulated as Probabilistic Satisfiability Problem (PSAT) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Optimization
techniques such as column generation can be used to find a solution
of PSAT problem [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Another way of building reasoning between product attributes
from known configurations is through feature models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The
basic idea is to deduce rules/ constraints from existing product variants
to support reverse engineering [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Feature models, combined with
configuration rules, can represent hierarchical relations among
different product attributes, modelling a complete set of configurations
implicitly [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, our aim is to build a small set of explicit
configurations which can be used for production planning. The product
comparison matrix is another intuitive way to highlight the
differences between two products [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, building such a matrix for
different customer buying behaviour is a challenging task.
      </p>
      <p>In our work, we have formulated configuration problem as an
optimization model to give an integrated solution within the column
generation framework of validating set of association rules. Our model
takes support and confidence value to attribute associations to build a
set of configurations adhering given input targets. In case of
conflicting association rules, the model that has been developed attempts to
find the maximum number of association rules which can be satisfied
after considering product configuration changes.
7</p>
    </sec>
    <sec id="sec-12">
      <title>Future work</title>
      <p>In this paper, we have discussed a framework for learning customer
buying behaviour through data mining and optimization-based
techniques. In mass customization, due to frequent changes in products,
we are required to validate product attribute associations learnt from
customer prior demand. The association rule mining technique when
combined with the configuration problem gives the required
framework for calculating consistent and feasible attribute associations.
These associations among attributes can be used as inputs for
predicting configurations for future production planning. The proposed
framework uses data mining libraries from R to find association
rules. The integrated framework with optimization models provides
the ability to perform tests on many scenarios before using any
association discovered from past data to future product planning.</p>
      <p>One application of discovering attribute associations is to use them
for predicting the set of future configurations. As per our initial
computational results, such a configuration set results in considerable
improvement in part demand forecasts. Currently, we only consider
attribute associations which are frequent (e.g. above minimum support
or confidence). In the next step, the association rule mining algorithm
can be enhanced to look for other relations. Also, in current
implementation we simply remove attribute association which are having
the conflict with each other or with product configuration rules. As a
next step, we will try to develop approaches which can readjust
attribute association in case of conflicts. For example, we can have the
same selection rate for attributes if they are selected together.
Further computational tests are required to validate and improve our
assumptions on attribute associations which can improve the selection
of future configurations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Imielinski</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Swami</surname>
          </string-name>
          , '
          <article-title>Mining association rules between sets of items in large databases'</article-title>
          ,
          <source>in Proc. 1993 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD-93)</source>
          , Washington DC, pp.
          <fpage>207</fpage>
          -
          <lpage>216</lpage>
          , (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>KimAllan</given-names>
            <surname>Andersen and Daniele Pretolani</surname>
          </string-name>
          , '
          <article-title>Easy cases of probabilistic satisfiability'</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ),
          <fpage>69</fpage>
          -
          <lpage>91</lpage>
          , (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Yves</given-names>
            <surname>Bastide</surname>
          </string-name>
          , Nicolas Pasquier, Rafik Taouil, Gerd Stumme, and Lotfi Lakhal, '
          <article-title>Mining minimal non-redundant association rules using frequent closed itemsets'</article-title>
          ,
          <source>in Computational Logic CL</source>
          <year>2000</year>
          , eds., John Lloyd, Veronica Dahl, Ulrich Furbach, Manfred Kerber,
          <string-name>
            <surname>Kung-Kiu</surname>
            <given-names>Lau</given-names>
          </string-name>
          , Catuscia Palamidessi, LusMoniz Pereira, Yehoshua Sagiv, and PeterJ. Stuckey, volume
          <volume>1861</volume>
          <source>of Lecture Notes in Computer Science</source>
          ,
          <volume>972</volume>
          -
          <fpage>986</fpage>
          , Springer Berlin Heidelberg, (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Be</surname>
          </string-name>
          ´can, Razieh Behjati, Arnaud Gotlieb, and Mathieu Acher, '
          <article-title>Synthesis of attributed feature models from product descriptions: Foundations'</article-title>
          , Rapport de Recherche RR-
          <volume>8680</volume>
          ,
          <string-name>
            <surname>Inria</surname>
            <given-names>Rennes</given-names>
          </string-name>
          , (feb
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Be</surname>
          </string-name>
          ´can, Nicolas Sannier, Mathieu Acher, Olivier Barais, Arnaud Blouin, and Benoit Baudry, '
          <article-title>Automating the formalization of product comparison matrices'</article-title>
          ,
          <source>in Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE '14</source>
          , pp.
          <fpage>433</fpage>
          -
          <lpage>444</lpage>
          , New York, NY, USA, (
          <year>2014</year>
          ). ACM.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Bcan</surname>
          </string-name>
          , Mathieu Acher, Benoit Baudry, and SanaBen Nasr, '
          <article-title>Breathing ontological knowledge into feature model synthesis: an empirical study'</article-title>
          ,
          <source>Empirical Software Engineering</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>48</lpage>
          , (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Choudhary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.A.</given-names>
            <surname>Harding</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.K.</given-names>
            <surname>Tiwari</surname>
          </string-name>
          , '
          <article-title>Data mining in manufacturing: a review based on the kind of knowledge'</article-title>
          ,
          <source>Journal of Intelligent Manufacturing</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ),
          <fpage>501</fpage>
          -
          <lpage>521</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Gerard</given-names>
            <surname>Cornuejols</surname>
          </string-name>
          , Milind Dawande, Michel Gamache, Francois Soumis, Gerald Marquis, and Jacques Desrosiers, '
          <article-title>A column generation approach for large-scale aircrew rostering problems'</article-title>
          ,
          <source>Oper. Res.</source>
          ,
          <volume>47</volume>
          ,
          <fpage>247</fpage>
          -
          <lpage>262</lpage>
          , (
          <year>February 1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Fabio</surname>
            <given-names>G.</given-names>
          </string-name>
          <article-title>Cozman and Lucas Fargoni di Ianni, 'Probabilistic satisfiability and coherence checking through integer programming'</article-title>
          ,
          <source>International Journal of Approximate Reasoning</source>
          ,
          <volume>58</volume>
          (
          <issue>0</issue>
          ),
          <fpage>57</fpage>
          -
          <lpage>70</lpage>
          , (
          <year>2015</year>
          ).
          <article-title>Special Issue of the Twelfth European Conference on Symbolic and Quantitative Approaches to Reasoning with Uncertainty (ECSQARU</article-title>
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hadzic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sathiamoorthy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. R.</given-names>
            <surname>Andersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Møller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Hulgaard</surname>
          </string-name>
          , '
          <article-title>Fast backtrack free product configuration using precompiled solution space representations'</article-title>
          ,
          <source>in Proceedings of the International Conference on Economic, Technical and Organisational aspects of Product Configuration Systems</source>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Hahsler</surname>
          </string-name>
          ,
          <article-title>Bettina Gru¨n, and Kurt Hornik, 'arules - a computational environment for mining association rules and frequent item sets'</article-title>
          ,
          <source>Journal of Statistical Software</source>
          ,
          <volume>14</volume>
          (
          <issue>15</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          , (9
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Roberto</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Lopez-Herrejon</surname>
          </string-name>
          ,
          <article-title>Lukas Linsbauer, Jos A. Galindo, Jos A</article-title>
          .
          <string-name>
            <surname>Parejo</surname>
            , David Benavides,
            <given-names>Sergio</given-names>
          </string-name>
          <string-name>
            <surname>Segura</surname>
          </string-name>
          , and Alexander Egyed, '
          <article-title>An assessment of search-based techniques for reverse engineering feature models'</article-title>
          ,
          <source>Journal of Systems and Software</source>
          ,
          <volume>103</volume>
          (
          <issue>0</issue>
          ),
          <fpage>353</fpage>
          -
          <lpage>369</lpage>
          , (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Efthimia</surname>
            <given-names>Mavridou</given-names>
          </string-name>
          , DionisisD. Kehagias, Dimitrios Tzovaras, and George Hassapis, '
          <article-title>Mining affective needs of automotive industry customers for building a mass-customization recommender system'</article-title>
          ,
          <source>Journal of Intelligent Manufacturing</source>
          ,
          <volume>24</volume>
          (
          <issue>2</issue>
          ),
          <fpage>251</fpage>
          -
          <lpage>265</lpage>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Rainer</surname>
            <given-names>Paffrath</given-names>
          </string-name>
          , '
          <article-title>Mining product configurator data', in Modern Concepts of the Theory of the Firm</article-title>
          , eds.,
          <string-name>
            <surname>Gnter</surname>
            <given-names>Fandel</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uschi</surname>
            <given-names>BackesGellner</given-names>
          </string-name>
          , Manfred Schlter, and JoergE. Staufenbiel,
          <volume>110</volume>
          -
          <fpage>121</fpage>
          , Springer Berlin Heidelberg, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Tilakraj</given-names>
            <surname>Singh</surname>
          </string-name>
          and
          <string-name>
            <given-names>Narayan</given-names>
            <surname>Rangaraj</surname>
          </string-name>
          , '
          <article-title>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>
          . CEUR Workshop Proceedings, (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sinz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          , and W. 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>
          , (JAN
          <year>2003</year>
          ).
          <article-title>Special issue on configuration</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Walley</surname>
          </string-name>
          , Renato Pelessoni, and Paolo Vicig, '
          <article-title>Direct algorithms for checking consistency and making inferences from conditional probability assessments'</article-title>
          ,
          <source>Journal of Statistical Planning and Inference</source>
          ,
          <volume>126</volume>
          (
          <issue>1</issue>
          ),
          <fpage>119</fpage>
          -
          <lpage>151</lpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>