<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multi-Configuration Problems: A Performance Analysis with Choco Solver</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Benjamin Ritz</string-name>
          <email>ritz@student.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
          <email>alexander.felfernig@ist.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viet-Man Le</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Lubos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Knowledge-based Configuration, Multi-Configuration, Performance Analysis</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ConfWS'23: 25th International Workshop on Configuration</institution>
          ,
          <addr-line>Sep 6-7</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Graz University of Technology</institution>
          ,
          <addr-line>Infeldgasse 16b, 8010 Graz</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>In this paper, we show how the problem of multi-exam</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Workshop Proce dings</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In many scenarios, configurators support the configuration of a solution that satisfies the preferences of a single user. The concept of multi-configuration is based on the idea of configuring a set of configurations. Such a functionality is relevant in scenarios such as the configuration of personalized exams, the configuration of project teams, and the configuration of diferent trips for individual members of a tourist group (e.g., when visiting a specific city). In this paper, we exemplify the application of multi-configuration for generating individualized exams. We also provide a constraint solver performance analysis which helps to gain some insights into corresponding performance issues.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Configuration is the process of assembling basic
components into a complex product while taking into account a
set of constraints [1, 2, 3, 4]. Most existing configurators
are based on the assumption that a solution
(configugroup-based configuration [ 5, 6] focuses on the
configuration of a solution for a group of users. Such a
configuration must satisfy the preferences of each individual
user as much as possible [7, 8]. Group-based
configuration can be further extended to allow the configuration
of a set of solutions based on the preferences of one or
multiple users. Such a multi-configuration problem
[9]
includes a set of constraints specifying restrictions with
regard to (1) the combination of multiple solutions and (2)
properties of a specific solution. Scenarios including such
configuration sets may benefit from multi-configuration.
Related example scenarios are the following.
ifgured for each student, where related constraints are
specified by instructors and possibly also students. A
configurator can support instructors during the exam
nEvelop-O
LGOBE
(S. Lubos)
https://www.tugraz.at/ (S. Lubos)</p>
      <p>0009-0000-7774-6693 (B. Ritz); 0000-0003-0108-3146
(A. Felfernig); 0000-0001-5778-975X (V. Le); 0000-0002-5024-3786
© 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License
tion problem (CSP) [14]. We exemplify diferent types of
constraints supported by our configurator and also show</p>
      <sec id="sec-1-1">
        <title>1https://choco-solver.org/</title>
        <p>Multi-exam configuration . individual exams are con- configuration settings [ 13] also due to the fact that it is
preparation phase and helps in the prevention of cheat- between configuration parameters.
how the preferences of students can (potentially) be taken
into account. In order to analyze constraint solver
performance, we evaluate the runtime performance of an
open source constraint solver (Choco) on the basis of a
typical real-world exam configuration scenario.</p>
        <p>The remainder of this paper is organized as follows.</p>
        <p>In Section 2, we introduce a definition of a
multiconfiguration task and provide an example from the
domain of multi-exam configuration. In this context, we
also introduce and exemplify diferent constraint types.</p>
        <p>Thereafter, in Section 3, we evaluate the performance
of Choco when solving multi-exam configuration tasks
also including a performance analysis when solving a
real-world configuration task. Threats to validity are
discussed in Section 4. The paper is concluded with a
discussion of open research issues in Section 5.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Working Example</title>
      <p>We now give a basic definition of a multi-configuration
task (see Definition 1) (see [ 9]) and show how multi-exam
configuration tasks can be introduced correspondingly.</p>
      <p>Definition 1. A multi-configuration task can be defined
as a tuple ( , , ) with  = ⋃{  } is a set of finite
domain variables (  is variable  of configuration instance
 ),  = ⋃{(  )}a set of corresponding domain
definitions, and  = { 1,  2, ...,   } a set of constraints.</p>
      <p>In the following, we will use this definition to introduce
the task for multi-exam configuration and outline what
constraint types are supported by our configurator. In
this context, the set of constraints  can be defined by
users represented by instructors and also students (where
this is intended).</p>
      <sec id="sec-2-1">
        <title>2.1. Multi-exam configuration</title>
        <p>Following Definition 1, a multi-exam configuration task
can be defined as follows.</p>
        <p>•</p>
        <p>= { 11..  ,  11. 1.. 11.  , ..,   . 1..  .  }
where   is question  of the exam of student  ,  is Instructor constraints (defined by instructors) in 
rethe number of exams (students),  is the number strict the set of questions that may or may not appear
of questions per exam,   .  denotes the value of in exams. Each exam must fulfil all of these constraints.
the k-th question property of question   , and  We distinguish between two types of related constraints:
represents the number of question properties per intra-exam and inter-exam constraints.
question (in our case,  = 6 ). Our configurator
supports the following question properties: 2.2.1. Intra-exam constraints</p>
        <sec id="sec-2-1-1">
          <title>1. topic - topic of the question</title>
          <p>2. level - dificulty level of the question
3. min-duration - minimum estimated time</p>
          <p>needed to answer the question
4. max-duration - maximum estimated time
needed to answer the question
Intra-exam constraints restrict which questions are
eligible for being part of an exam. Such constraints refer to
each individual exam. A simple form of intra-exam
constraints is to directly define a specific question property.
For example, let us assume that up to now a course has
covered only one (the first) topic (  ). As a consequence,
5. type - type of the question (e.g.
single/multiple choice, assignment task, etc.)
6. points - maximum number of points
rewarded for correct answers
•  = {( 11)..(  ), ( 11. 1)..( 11. 6),
.., (  . 1)..(  . 6)} where (  ) =
{1..Ω}, with Ω being the total number of questions
in the question pool, and (  .  )is a question
property domain (one out of the following):
1. dom(topic) = {1..} where  is the number</p>
          <p>of defined question topics
2. dom(level) = {1..} where  is the number</p>
          <p>of defined question complexity levels
3. dom(min-duration) = {1.. } with 
indicating the maximum specifiable value
4. dom(max-duration) = {1..} with 
indicating the maximum specifiable value
5. dom(type) = {1..} where  is the number</p>
          <p>of defined question types
6. dom(points) = {1..} where  is the
maximum amount of points
•  = { 1..  } where   is the constraint identifier
and  is the number of constraints</p>
          <p>Importantly, depending on the question 1..Ω assigned
to a question variable   , a set of corresponding question
properties must hold, for example, if question  11 = 1,
corresponding restrictions such as  11 = 1 →  11. =
 indicate the relevant question properties. In Subsection
3.2, we explain in which way we support this aspect in
our configuration library. Furthermore, for each
studentspecific exam  , we need to include an alldiferent ( 1 ..  )
constraint to avoid situations where a questions is
assigned to the same exam twice. In our implementation,
this aspect is taken into account on the basis of set
variables (see also Subsection 3.2).</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Instructor constraints</title>
        <p>the instructor requires that only questions belonging to
Instructors may also specify constraint scopes using
topic  are part of the first exam (see Formula 1).</p>
        <p>Intra-exam constraints allow instructors to arbitrarily
plication, see the examples in Formulas 8–10.
percentages in order to describe which amount of
questions per exam must satisfy the question property
con(1) straint. For example, only between 10 and 20 percent of
questions per exam should be solvable in less than five
minutes (see Formula 7).
5 and 10 questions of each exam should be easy to solve,
which is indicated by complexity level 1 (see Formula 6).
2. Example (average): The average complexity level
of each exam is between 2 and 3. (see Formula 9).</p>
        <p>(#)
⋀
=1

=1
(∑   . = 100</p>
        <p>)
(#)
⋀
=1
(2 ≤
∑
=1   . 

≤ 3)</p>
        <p>Intra-exam constraints also support aggregations. In
the context of our evaluation settings, we support the
functions sum, average, and distinct count. For their
ap1. Example (sum): The total amount of points per
exam is 100 (see Formula 8).
3. Example (distinct count): Each exam consists of
at least 3 diferent question topics (Formula
10).
(#)
⋀
=1
(|{  .}| ≥ 3
)
(10)
2.2.2. Inter-exam constraints
Similar to intra-exam constraints, inter-exam constraints
restrict which questions may be part of exams. However,
they constrain how often certain question or question
properties may or may not appear in the entire exam
conifguration. Therefore, inter-exam constraints depend on
all exams combined, instead of every exam individually.
Such constraints count, for example, how many exams
have at least one question that fulfills a given constraint.
This sum can be lower and/or upper bounded. For
example, we assume that a specific question  is part of at least</p>
        <sec id="sec-2-2-1">
          <title>5 exams but at most 10 (see Formula 11).</title>
          <p>
            5 ≤ |{  ∈  ∶   =  }| ≤ 10
(
            <xref ref-type="bibr" rid="ref6">11</xref>
            )
          </p>
          <p>As a special case of inter-exam constraints, instructors
can restrict the degree of question overlap across exams,
i.e., the number of questions that exams have in
common. This is especially useful to prevent the generation
of identical or very similar exams. The degree of overlap
can be lower and upper bounded in order to restrict the
minimum and maximum amount of questions that pairs
of exams may share. For example (see Formula 12), the
upper bound denotes that no pair of exams exists which
shares more than 5 questions, whereas the lower bound
states that every pair of exams must share at least 2
questions. This might be useful to create a sense of fairness
among students but might lead to cheating.   represents
a set of questions comprising all questions of exam  .
Student constraints in  can be specified by each student
individually. They constrain only the student’s exam, no
other exams are afected. Student constraints can only
further narrow down instructor constraints.</p>
          <p>Example: The instructor specifies a constraint such
that between 20% and 50% of the questions of each exam
must belong to topic  (see Formula 14).</p>
          <p>(#)
⋀
=1
(0.20 ≤
|{  ∈  ∶   . = )}|</p>
          <p>Student  decides to restrict this constraint even further
so that only a maximum of 25% of questions of their exam
belong to topic  (see Formula 15).</p>
          <p>|{  ∈  ∶   . = )}|</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Evaluation</title>
      <p>configuration setting. 2
We now present a performance analysis of our
multi</p>
      <sec id="sec-3-1">
        <title>3.1. Real world example</title>
        <p>We assume that (1) 450 students participate in an exam
and (2) a question pool of 45 questions individually
associated with one out of four diferent topic areas (topics) is
available. Each exam should consist of  = 10</p>
        <p>questions.</p>
        <p>We define the following constraints (  ):
1. Each exam should include questions related to at
least 2 diferent topics.</p>
        <p>≤ 0.50)
(14)
(15)
(#)
⋀
=1
(|{  .}| ≥ 2</p>
        <p>)
2. There is at most one multiple choice question.3</p>
        <p>(|{  ∈  ∶   .  = 3}| ≤ 1)
neighbors requiring 8 constraints to be added.
provided in the final paper version.
3Question type 3 was assumed to be multiple choice.
lighted seat 34 (dark gray) and its neighbors (light gray) 2A link to the source code of our configuration approach will be
suming a hall  with 22 rows and 21 seats/row).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Dealing with flexible upper bounds</title>
        <p>Instead of relying on a constant number of questions per
student exam, it is also possible to support flexible lower
and upper bounds. We support this aspect by utilizing
Choco set variables. Every student exam includes a set
of questions. The domain of a set variable is (implicitly)
defined by lower and upper bound sets. The lower bound
is a set of questions that each exam must include, whereas
the upper bound defines the maximum possible question
set. In our case, the lower bound is empty and the upper
bound equals the question pool.</p>
        <p>A varying number of questions per exam could trigger
the need for further instructor constraints, for example, to
restrict the allowed number of questions. Let us assume
a defined question pool with</p>
        <p>Ω = 3 questions ({1, 2, 3})
variables (model is a Choco model object).
and  = 2 exams ( 1 and  2) represented as Choco set
e 1 = m o d e l . s e t V a r ( l b : { } , u b : { 1 , 2 , 3 } )
e 2 = m o d e l . s e t V a r ( l b : { } , u b : { 1 , 2 , 3 } )</p>
        <p>Now, we want to specify that each exam   (of student  )
needs to include at least two and at most three questions.</p>
        <p>
          In Choco, this constraint would be defined as follows.
e 1 . s e t C a r d ( m o d e l . i n t V a r (
          <xref ref-type="bibr" rid="ref8">2 , 3</xref>
          ) )
e 1 . s e t C a r d ( m o d e l . i n t V a r (
          <xref ref-type="bibr" rid="ref8">2 , 3</xref>
          ) )
        </p>
        <p>In this simplified setting, the possible solution sets for
both,  1 and  2 are: {1, 2}, {1, 3}, {2, 3}, and {1, 2, 3}.</p>
        <p>If we also want to define restrictions on allowed
question properties, the solver needs to know the question
properties of each individual question. For scalability
reasons, we avoid to define question/property
relationships on the basis of constraints. Instead, we support a
key-value data structure that allows the identification
of question properties on the basis of the corresponding
question   ∈ {1..Ω} . Given such a structure, we are now
able to define constraints referring to question properties,
for example: in each exam, the number of questions of
topic  is exactly 2.</p>
        <p>In Choco, no related built-in constraints exist. We
have defined a custom constraint by extending the
Propagator class and implemented the two required methods
eration of the solving process. It tries to find solutions by
4A GitHub source code reference will be included in the final paper.</p>
        <p>5. Neighboring exams share at most 2 questions (as- counting the number of questions that belong to the
specpropagate and isEntailed.4 The former is called in each it- a useful approach in scenarios requiring solution set
conified topic. If the current branch of the solving process
cannot satisfy the constraint, a contradiction is indicated.</p>
        <p>When taking into account this constraint, the possible
solutions for  1 and  2 are {1, 2, 3} and {1, 3}.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Evaluation with synthesized data</title>
        <p>We have also evaluated the solver performance with
synthesized multi-exam configuration tasks along the
dimensions of number of questions and number of exams. Each
task utilizes the same 5 constraints as discussed in
Subsection 3.1. We choose the lecture hall size depending on the
amount of exams  , using the formula ⌈√⌉ , since this is a
fairly simple way to assure that all students will fit in the
lecture hall and to keep a good ratio between rows and
seats per row. The results of this performance evaluation
are summarized in Table 1 showing acceptable runtime
performances in the context of typical exam settings as
well as extreme cases of around 1000 questions and up
to 1000 students inducing solver runtimes up to nearly
3 minutes. Notice that a smaller question pool size does
not always result in faster runtime.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Threats to Validity</title>
      <p>In the context of the reported evaluation, we have
applied the standard settings of the used constraint solver.
A major topic of further work is to further improve
runtime performance on the basis of diferent approaches
supporting the learning of solver search heuristics (see,
e.g., [15]). Fairness is a crucial aspect to be taken into
account when it comes to the automated generation of
exams. In this work, we have taken this aspect into
account a.o. on the basis exam-specific criteria regarding
the percentage of to-be-included questions that are
related to a specific complexity level. For future work, we
plan to further refine this aspect, for example, on the
basis of optimization functions that help to balance the
complexity of individual exams on a more fine-grained
level. Finally, in real-world settings, we often have to deal
with situations where a given set of constraints is
inconsistent, i.e., no solution could be identified. In our future
work, we will integrate corresponding repair concepts
which will help users to find ways out from the so-called
no solution could be found dilemma. Such approaches can
be based o.a. on model-based diagnosis [16].</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>In this paper, we have introduced multi-configuration as
ifguration, for example, exam configuration and project</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>team configuration. In the context of multi-exam config- Intl. Systems and Software Product Line Conferuration, we have shown a corresponding configuration ence</article-title>
          , ACM, New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>178</fpage>
          -
          <lpage>182</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>task representation as a constraint satisfaction problem</article-title>
          . [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          , G. Ninaus,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jeran</surname>
          </string-name>
          ,
          <article-title>We have evaluated the performance of the proposed ap- S.</article-title>
          <string-name>
            <surname>Reiterer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Falkner</surname>
            , G. Leitner,
            <given-names>J. Tiihonen,</given-names>
          </string-name>
          <article-title>Toproach on the basis of an example real-world configura- wards open configuration</article-title>
          ,
          <source>in: Conf WS'14</source>
          ,
          <article-title>Novi tion task as well as a collection of synthesized configura-</article-title>
          <string-name>
            <surname>Sad</surname>
          </string-name>
          , Serbia,
          <year>2014</year>
          , pp.
          <fpage>89</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>tion tasks (difering in terms of the number of pre-defined [8</article-title>
          ]
          <string-name>
            <given-names>M.</given-names>
            <surname>Atas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Polat-Erdeniz</surname>
          </string-name>
          ,
          <article-title>A. Popescu, questions and the number of ”to be generated” exams)</article-title>
          .
          <source>T. Tran</source>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Uta</surname>
          </string-name>
          ,
          <article-title>Towards psychology-aware Our future work will include the integration of further preference construction in recommender systems: concepts supporting solver performance optimization. Overview and research issues</article-title>
          ,
          <source>J. Intell. Inf. Syst. 57 Furthermore</source>
          ,
          <article-title>we will include features, for example</article-title>
          , in (
          <year>2021</year>
          )
          <fpage>467</fpage>
          -
          <lpage>489</lpage>
          .
          <source>doi:1 0 . 1 0 0 7 / s 1 0</source>
          <volume>8 4 4 - 0 2 1 - 0 0 6 7 4 - 5</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>terms of optimization functions, that help to take into ac-</article-title>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Popescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Uta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Le</surname>
          </string-name>
          , S. Erdeniz,
          <article-title>count aspects such as fairness in a more explicit fashion</article-title>
          . M.
          <string-name>
            <surname>Stettinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Atas</surname>
          </string-name>
          , T. Tran,
          <article-title>Configuring mulFinally, we plan to include concepts that will allow us tiple instances with multi-configuration, in: Conto take into account historical data, for example</article-title>
          ,
          <source>when f WS'21</source>
          , Vienna, Austria,
          <year>2021</year>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>generating a set of ”new” exams, the frequency of ques-</article-title>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Weißl</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Felfernig, tions already ”used” in previous exams should be taken M. Atas</article-title>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Erdeniz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Popescu</surname>
          </string-name>
          ,
          <article-title>Counteracting into account in order to avoid situations where specific exam cheating by leveraging configuration and recquestions are posed too often. ommendation techniques</article-title>
          ,
          <source>in: Conf WS'21</source>
          , Vienna, Austria,
          <year>2021</year>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>80</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gotlieb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Botella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rueher</surname>
          </string-name>
          ,
          <article-title>Automatic References test data generation using constraint solving techniques</article-title>
          ,
          <source>in: ACM SIGSOFT Intl. Symp. on Software</source>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          ,
          <article-title>An overview of knowledge‐based Testing and Analysis, Florida</article-title>
          , USA,
          <year>1998</year>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          configuration, AICom
          <volume>10</volume>
          (
          <year>1997</year>
          )
          <fpage>111</fpage>
          -
          <lpage>125</lpage>
          . [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Jameson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Baldes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kleinbauer</surname>
          </string-name>
          , Two methods [2]
          <string-name>
            <given-names>U.</given-names>
            <surname>Junker</surname>
          </string-name>
          , Configuration, in: F. Rossi, P. van Beek,
          <article-title>for enhancing mutual awareness in a group recomT</article-title>
          .
          <source>Walsh (Eds.)</source>
          ,
          <article-title>Handbook of Constraint Program- mender system</article-title>
          ,
          <source>in: Working Conf. on Advanced ming, Elsevier</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>837</fpage>
          -
          <lpage>873</lpage>
          . Visual Interfaces, Gallipoli, Italy,
          <year>2004</year>
          , pp.
          <fpage>447</fpage>
          -
          <lpage>449</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Hvam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mortensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Riis</surname>
          </string-name>
          , Product Customiza- [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Acher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jézéquel</surname>
          </string-name>
          , G. Bottion, Springer,
          <year>2008</year>
          . terweck, A. Ventresque, Learning software con[4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bagley</surname>
          </string-name>
          , J. Tiihonen,
          <article-title>ifguration spaces: A systematic literature review</article-title>
          ,
          <source>Knowledge-based Configuration - From Research Journal of Systems and Software</source>
          <volume>182</volume>
          (
          <year>2021</year>
          )
          <fpage>111044</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>to Business</surname>
            <given-names>Cases</given-names>
          </string-name>
          , Elsevier,
          <year>2014</year>
          . [14]
          <string-name>
            <given-names>F.</given-names>
            <surname>Rossi</surname>
          </string-name>
          , P. van Beek,
          <string-name>
            <given-names>T.</given-names>
            <surname>Walsh</surname>
          </string-name>
          , Handbook of Con[5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Atas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          , To- straint
          <string-name>
            <surname>Programming</surname>
          </string-name>
          , Elsevier,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>wards group-based configuration</article-title>
          , in: Conf WS'
          <volume>16</volume>
          , [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Uta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Helic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Le</surname>
          </string-name>
          , Accuracy- and Toulouse, France,
          <year>2016</year>
          , pp.
          <fpage>69</fpage>
          -
          <lpage>72</lpage>
          . Consistency-Aware Recommendation of Configu[6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <article-title>Consistency-based inte- rations</article-title>
          , in: SPLC'
          <year>2022</year>
          , ACM,
          <year>2022</year>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>84</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <article-title>gration of multi-stakeholder recommender systems</article-title>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Reiter</surname>
          </string-name>
          ,
          <article-title>A theory of diagnosis from first principles, with feature model configuration</article-title>
          ,
          <source>in: 26th ACM Artificial Intelligence</source>
          <volume>32</volume>
          (
          <year>1987</year>
          )
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>