F LEX D IAG : AnyTime Diagnosis for Reconfiguration Alexander Felfernig1 and Rouven Walter2 and Stefan Reiterer1 Abstract. Anytime diagnosis is able to determine solutions within Anytime diagnosis algorithms are useful in scenarios where diag- predefined time limits. This is especially useful in realtime scenar- noses have to be provided in real-time, i.e., within given time limits. ios such as production scheduling, robot control, and communication If diagnosis is applied in interactive configuration, for example, to networks management where diagnosis and corresponding reconfig- determine repairs for inconsistent customer requirements, response uration capabilities play a major role. Anytime diagnosis in many times should be below one second [2]. Efficient diagnosis and recon- cases comes along with a tradeoff between diagnosis quality and the figuration of communication networks is crucial to retain the qual- efficiency of diagnostic reasoning. In this paper we introduce and ity of service [18, 25]. In today’s production scenarios which are analyze F LEX D IAG which is an anytime variant of existing direct characterized by small batch sizes and high product variability, it is diagnosis approaches. We evaluate the algorithm with regard to per- increasingly important to develop algorithms that support the effi- formance and diagnosis quality using a configuration benchmark. cient reconfiguration of schedules. Such functionalities support the paradigm of smart production, i.e., the flexible and efficient produc- Keywords: Anytime Diagnosis, Reconfiguration. tion of highly variant products. Further applications are the diagnosis and repair of robot control software [23], the reconfiguration of cars [29], and the reconfiguration of buildings [12]. 1 Introduction Algorithmic approaches to provide efficient solutions for diagno- sis problems are manyfold. Some approaches focus on improvements Knowledge-based configuration is one of the most successful appli- of Reiter’s original hitting set directed acyclic graph (HSDAG) [19] cations of Artificial Intelligence [7, 24]. There are many different in terms of a personalized computation of leading diagnoses [3] or applications of configuration technologies ranging from telecommu- other extensions that make the basic approach [19] more efficient nication infrastructures [11], railway interlocking systems [5], the [31]. Wang et al. [30] introduce an approach to derive binary decision automotive domain [22, 26, 28] to the configuration of services [27]. diagrams (BDDs) on the basis of a pre-determined set of conflicts – Configuration technologies must be able to deal with inconsistencies diagnoses can then be determined by solving the BDD. A pre-defined which can occur in different contexts. First, a configuration knowl- set of conflicts can also be compiled into a corresponding linear opti- edge base can be inconsistent, i.e., no solution can be determined. In mization problem [10]; diagnoses can then be determined by solving this context, the task of knowledge engineers is to figure out which the given problem. In knowledge-based recommendation scenarios, constraints are responsible for the unintended behavior of the knowl- diagnoses for user requirements can be pre-compiled in such a way edge base. Bakker et al. [1] show the application of model-based di- that for a given set of customer requirements, the diagnosis search agnosis [19] to determine minimal sets of constraints in a knowledge task can be reduced to querying a relational table (see, for example, base that are responsible for a given inconsistency. A variant thereof [14, 20]). All of the mentioned approaches either extend the approach is documented in Felfernig et al. [6] where an approach to the auto- of Reiter [19] or improve efficiency by exploiting pre-generated in- mated debugging of knowledge bases with test cases is introduced. formation about conflicts or diagnoses. Felfernig et al. [6] also show how to diagnose customer requirements An alternative to conflict-directed diagnosis [19] are direct diag- that are inconsistent with a configuration knowledge base. The un- nosis algorithms that determine minimal diagnoses without the need derlying assumption is that the configuration knowledge base itself of pre-determing minimal conflict sets [9, 17, 21]. The FAST D IAG is consistent but combined with a set of requirements is inconsistent. algorithm [9] is a divide-and-conquer based algorithm that supports All diagnosis approaches mentioned so far are based on conflict- the determination of diagnoses without a preceding conflict detec- directed hitting set determination [15, 19]. These approaches typ- tion. In this paper we show how this algorithm can be converted into ically determine diagnoses in a breadth-first search manner which an anytime diagnosis algorithm (F LEX D IAG) that is able to improve allows the identification of minimal cardinality diagnoses. The ma- performance by disregarding the aspect of minimality, i.e., the algo- jor disadvantage of applying these approaches is the need of pre- rithm allows for tradeoffs between diagnosis quality (e.g., minimal- determining minimal conflicts which is inefficient especially in cases ity) and performance of diagnostic search. In this paper we focus on where only the leading diagnoses (the most relevant ones) are sought. reconfiguration scenarios, i.e., we show how F LEX D IAG can be ap- plied in situations where a given configuration (solution) has to be 1 Applied Software Engineering Group, Institute for Software adapted conform to a changed set of customer requirements. Technology, TU Graz, Austria, email: {alexander.felfernig, ste- Our contributions in this paper are the following. First, we show fan.reiterer}@ist.tugraz.at how to solve reconfiguration tasks with direct diagnosis. Second, we 2 Symbolic Computation Group, WSI Informatics, Universität Tübingen, make direct diagnosis anytime-aware by including a parametrization Germany, email: rouven.walter@uni-tuebingen.de 105 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria that helps to systematically reduce the number of consistency checks. ments. Examples thereof are changing requirements that have to be Finally, we report the results of a F LEX D IAG-related evaluation con- taken into account in production schedules, failing components or ducted on the basis of a configuration benchmark. overloaded network infrastructures in a mobile phone network, and The remainder of this paper is organized as follows. In Section changes in the internal model of the environment of a robot. In the 2 we introduce an example configuration knowledge base from the following we assume that the palette of paper should be reassigned domain of resource allocation. This knowledge base will serve as a to container 3 and the personal computer and games palettes should working example throughout the paper. Thereafter (Section 3) we in- be assigned to the same container. Formally, the set of new require- troduce a definition of a reconfiguration task. In Section 4 we discuss ments is represented by Rρ : {r10 : pc = games, r20 : paper = 3}. basic principles of direct diagnosis on the basis of F LEX D IAG and In order to determine reconfigurations, we have to calculate a corre- show how this algorithm can be applied in reconfiguration scenar- sponding diagnosis ∆ (see Definition 2). ios. In Section 5 we present the results of a performance analysis. A Definition 2 (Diagnosis). A diagnosis ∆ (correction subset) is a simple example of the application of F LEX D IAG in production envi- subset of S = {s1 : v1 = a1 , s2 : v2 = a2 , ..., sn : vn = an } such ronments is given in Section 6. In Section 7 we discuss major issues that S − ∆ ∪ C ∪ Rρ is consistent. ∆ is minimal if there does not for future work. With Section 8 we conclude the paper. exist a diagnosis ∆0 with ∆0 ⊂ ∆. On the basis of the definition of a minimal diagnosis, we can in- 2 Example Configuration Knowledge Base troduce a formal definition of a reconfiguration task. Definition 3 (Reconfiguration Task and Reconfiguration). A recon- A configuration system determines configurations (solutions) on the figuration task can be defined as a CSP (V, D, C, S, Rρ ) where V basis of a given set of customer requirements [13]. In many cases, is a set of variables, D represents variable domain definitions, C constraint satisfaction problem (CSP) representations [16] are used is a set of constraints, S represents an existing configuration, and for the definition of a configuration task. A configuration task and a Rρ = {r10 , r20 , ..., rk0 } (Rρ consistent with C) represents a set of corresponding configuration (solution) can be defined as follows. reconfiguration requirements. A reconfiguration is a variable assign- Definition 1 (Configuration Task and Configuration). A con- ment S∆ = {s1 : v1 = a01 , s2 : v2 = a02 , ..., sl : vl = a0l } where figuration task can be defined as a CSP (V, D, C) where V = si ∈ ∆, a0i 6= ai , and S − ∆ ∪ S∆ ∪ C ∪ Rρ is consistent. {v1 , v2 , ..., vn } is a set of variables, D = ∪dom(vi ) represents do- If Rρ is inconsistent with C, the new requirements have to be an- main definitions, and C = {c1 , c2 , ..., cm } is a set of constraints. Ad- alyzed and changed before a corresponding reconfiguration task can ditionally, user requirements are represented by a set of constraints be triggered [4, 8]. An example of a reconfiguration task in the con- R = {r1 , r2 , ..., rk }. A configuration (solution) for a configuration text of our configuration knowledge base is the following. task is a set of assignments (constraints) S = {s1 : v1 = a1 , s2 : Example (Reconfiguration Task). In the resource allocation prob- v2 = a2 , ..., sn : vn = an )} where ai ∈ dom(vi ) which is consis- lem, the original customer requirements R are substituted by the re- tent with C ∪ R. quirements Rρ = {r10 : pc = games, r20 : paper = 3}. The result- An example of a configuration task represented as a constraint sat- ing reconfiguration task instance is the following. isfaction problem is the following. Example (Configuration Task). In this resource allocation problem • V = {f uel, paper, f ireworks, pc, games, oil, roof, pipes} example, items (a barrel of fuel, a stack of paper, a pallet of fire- • dom(f uel) = dom(paper) = dom(f ireworks) = works, a pallet of personal computers, a pallet of computer games, a dom(pc) = dom(games) = dom(oil) = dom(roof ) = barrel of oil, a palette of roof tiles, and a palette of rain pipes) have to dom(pipes) = {1, 2, 3} be assigned to three different containers. There are a couple of con- • C = {c1 : f ireworks 6= f uel, c2 : f ireworks 6= paper, c3 : straints (ci ) to be taken into account, for example, fireworks must not f ireworks 6= oil, c4 : pipes = roof, c5 : paper 6= f uel} be combined with fuel (c1 ). Furthermore, there is one requirement • S = {s1 : pc = 3, s2 : games = 1, s3 : paper = 2, s4 : (r1 ) which indicates that the palette of fireworks has to be assigned f uel = 3, s5 : f ireworks = 1, s6 : oil = 2, s7 : roof = to container 1. On the basis of this configuration task definition, a 1, s8 : pipes = 1} configurator can determine a configuration S. • Rρ = {r10 : pc = games, r20 : paper = 3} • V = {f uel, paper, f ireworks, pc, games, oil, roof, pipes} To solve a reconfiguration task (see Definition 3), conflict-directed • dom(f uel) = dom(paper) = dom(f ireworks) = diagnosis approaches [19] would determine a set of minimal conflicts dom(pc) = dom(games) = dom(oil) = dom(roof ) = and then determine a hitting set that resolves each of the identified dom(pipes) = {1, 2, 3} conflicts. In this context, a minimal conflict set CS ⊆ S is a min- • C = {c1 : f ireworks 6= f uel, c2 : f ireworks 6= paper, c3 : imal set of variable assignments that trigger an inconsistency with f ireworks 6= oil, c4 : pipes = roof, c5 : paper 6= f uel} C ∪ Rρ , i.e., CS ∪ C ∪ Rρ is inconsistent and there does not exist a • R = {r1 : f ireworks = 1} conflict set CS 0 with CS 0 ⊂ CS. In our working example, the min- • S = {s1 : pc = 3, s2 : games = 1, s3 : paper = 2, s4 : imal conflict sets are CS1 : {s1 : pc = 3, s2 : games = 1}, f uel = 3, s5 : f ireworks = 1, s6 : oil = 2, s7 : roof = CS2 : {s3 : paper = 2}, and CS3 : {s4 : f uel = 3}. 1, s8 : pipes = 1} The corresponding minimal diagnoses are ∆1 : {s1 , s3 , s4 } and ∆2 : {s2 , s3 , s4 }. The elements in a diagnosis indicate which vari- On the basis of the given definition of a configuration task, we now able assignments have to be adapted such that a reconfiguration introduce the concept of reconfiguration (see also [12, 18, 25, 28]). can be determined that takes into account the new requirements in Rρ . If we choose ∆1 , the reconfigurations (reassignments) for the variable assignments in ∆1 can be determined by a CSP solver 3 Reconfiguration Task call C ∪ Rρ ∪ (S − ∆1 ). The resulting configuration S 0 can be It can be the case that an existing configuration S has to be adapted {s1 : pc = 1, s2 : games = 1, s3 : paper = 3, s4 : f uel = 2, s5 : due to a change or extension of the given set of customer require- f ireworks = 1, s6 : oil = 2, s7 : roof = 1, s8 : pipes = 1}. For Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 106 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria a detailed discussion of conflict-based diagnosis we refer to Reiter If m > 1, the number of needed consistency checks can be sys- [19]. In the following we introduce an approach to the determination tematically reduced if we accept the tradeoff of possibly loosing the of minimal reconfigurations which is based on a direct diagnosis al- property of diagnosis minimality (see Definition 2). If we allow set- gorithm, i.e., diagnoses are determined without the need of determin- tings with m > 1, we can reduce the upper bound of the number 2n ing related minimal conflict sets. of consistency checks to 2δ × log2 ( δ×m ) in the worst case. These upper bounds regarding the number of needed consistency checks al- low to estimate the worst case runtime performance of the diagnosis 4 Reconfiguration with F LEX D IAG algorithm which is extremely important for realtime scenarios. Con- sequently, if we are able to estimate the upper limit of the runtime In the following discussions, the set AC = C ∪ Rρ ∪ S represents needed for completing one consistency check (e.g., on the basis of the union of all constraints that restrict the set of possible solutions simulations with an underlying constraint solver), we are also able for a given reconfiguration task. Furthermore, S represents a set of to figure out lower bounds for m that must be chosen in order to constraints that are considered as candidates for being included in a guarantee a F LEX D IAG runtime within predefined time limits. diagnosis ∆. The idea of F LEX D IAG (Algorithm 1) is to systemati- Table 1 depicts an overview of consistency checks needed depend- cally filter out the constraints that become part of a minimal diagnosis ing on the setting of the parameter m and the diagnosis size δ for using a divide-and-conquer based approach. |S| = 16. For example, if m = 2 and the size of a minimal diagnosis is δ = 4, then the upper bound for the number of needed consistency checks is 16. If the size of δ increases further, the number of cor- Algorithm 1 − F LEX D IAG. responding consistency checks does not increase anymore. Figures 1 and 2 depict F LEX D IAG search trees depending on the setting of 1 func F LEX D IAG(S, AC = C ∪ Rρ ∪ S) : ∆ 2 if isEmpty(S) or inconsistent(AC − S) return ∅ granularity parameter m. 3 else return F LEX D(∅, S, AC); 4 func F LEX D(D, S = {s1 ..sq }, AC) : ∆ δ m=1 m=2 m=4 m=8 5 if D 6= 0 and consistent(AC) return ∅; 1 10 8 6 4 6 if size(S) ≤ m return S; 2 16 12 8 4 q 4 24 16 8 4 7 k= ; 2 8 32 16 16 16 8 S1 = {s1 ..sk }; S2 = {sk+1 ..sq }; 9 D1 = F LEX D(S1 , S2 , AC − S1 ); 10 D2 = F LEX D(D1 , S1 , AC − D1 ); Table 1. Worst-case estimates for the number of needed consistency 11 return(D1 ∪ D2 ); checks depending on the granularity parameter m and the diagnosis size δ for |S| = 16. In our example reconfiguration task, the original configuration F LEX D IAG determines one diagnosis at a time which indicates S = {s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 } and the new set of customer re- variable assignments of the original configuration that have to be quirements is Rρ = {r10 , r20 }. Since S ∪ Rρ ∪ C is inconsistent, we changed such that a reconfiguration conform to the new requirements are in the need of a minimal diagnosis ∆ and a reconfiguration S∆ (Rρ ) is possible. The algorithm supports the determination of lead- such that S −∆∪S∆ ∪Rρ ∪C is consistent. In the following we will ing diagnoses, i.e., diagnoses that are preferred with regard to given show how the F LEX D IAG (Algorithm 1) can be applied to determine user preferences [9]. F LEX D IAG is based on a strict lexicographi- a minimal diagnosis ∆. cal ordering of the constraints in S: the lower the importance of a The F LEX D IAG algorithm is assumed to be activated under the constraint si ∈ S the lower the index of the constraint in S. For assumption that AC is inconsistent, i.e., the consistency of AC is example, s1 : pc = 3 has the lowest ranking. The lower the rank- not checked by the algorithm. If AC is inconsistent but AC − S is ing, the higher the probability that the constraint will be part of a also inconsistent, F LEX D IAG will not be able to identify a diagnosis reconfiguration S∆ . Since s1 has the lowest priority and it is part of in S; therefore ∅ is returned. Otherwise, a recursive function F LEX D a conflict, it is element of the diagnosis returned by F LEX D IAG. For is activated which is in charge of determining one minimal diagnosis a discussion of the properties of lexicographical orderings we refer ∆. In each recursive step, the constraints in S are divided into two to [9, 15]. different subsets (S1 and S2 ) in order to figure out if already one of these subsets includes a diagnosis. If this is the case, the second set must not be inspected for diagnosis elements anymore. 5 Evaluation F LEX D IAG is based on the concepts of FAST D IAG [9], i.e., it re- turns one diagnosis (∆) at a time and is complete in the sense that In order to evaluate F LEX D IAG, we analyzed the two major aspects if a diagnosis is contained in S, then the algorithm will find it. A of (1) algorithm performance and (2) diagnosis quality in terms of corresponding reconfiguration can be determined by a solver call minimality and accuracy. We analyzed both aspects by varying the C ∪ Rρ ∪ (S − ∆). The determination of multiple diagnoses at a value of parameter m. Our hypothesis in this context was that the time can be realized on the basis of the construction of a HSDAG higher the value of m, the lower the number of needed consistency [19]. If m = 1 (see Algorithm 1), the number of consistency checks checks (the higher the efficiency of diagnosis search) and the lower needed for determining one minimal diagnosis is 2δ × log2 ( nδ ) + 2δ diagnosis quality in terms of the share of diagnosis-relevant con- in the worst case [9]. In this context, δ represents the set size of the straints returned by F LEX D IAG. Diagnosis quality can, for example, minimal diagnosis ∆ and n represents the number of constraints in be measured by the degree of minimality of the constraints contained solution S. in a diagnosis ∆ returned by F LEX D IAG (see Formula 1). 107 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria Figure 1. F LEX D IAG: determining one minimal diagnosis with m = 1 (∆ = {s1 , s3 , s4 }). Figure 2. F LEX D IAG: determining a minimal diagnosis with m = 2 (∆ = {s1 , s2 , s3 , s4 }). Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 108 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria id |V | |C| |Rρ | |∆min | avg. runtime (ms) minimality (accuracy) m=1 m=2 m=4 m=6 m=10 m=1 m=2 m=4 m=6 m=10 1 47 285 5 4 772 647 561 429 350 1.0(1.0) 0.56(1.0) 0.45(1.0) 0.21(1.0) 0.15(1.0) 2 55 73 10 7 359 273 203 180 85 1.0(1.0) 0.55(0.91) 0.31(0.91) 0.30(0.83) 0.41(0.58) 3 73 150 10 5 733 593 343 304 195 1.0(1.0) 0.64(0.91) 0.83(0.55) 0.83(0.55) 1.07(0.30) 4 158 242 20 24 2176 1864 1451 1419 819 1.0(1.0) 0.66(0.89) 0.43(0.82) 0.41(0.67) 0.33(0.65) Table 2. Avg. runtime and minimality of F LEX D IAG evaluated with feature models from www.splot-research.org (calculation of the first diagnosis: 1: Dell laptops, 2: Smarthomes, 3: Cars, 4: Xerox printers). |Rρ | is the number of changed requirements and |∆min | the average cardinality of minimal diagnoses. |∆min | this example setting we do not take into account configurable pro- minimality(∆) = (1) duction equipment (configurable machines) and limit the reconfigu- |∆| ration to the assignment of orders to corresponding machines. The assignment of an order oi to a certain machine mj is represented by If m > 1, there is no guarantee that the diagnosis ∆ determined the corresponding variable oi mj . The domain of each such variable for S is a superset of the diagnosis ∆min determined for S in the case represents the different possible slots in which an order can be pro- m = 1. Besides minimality, we introduce accuracy as an additional cessed, for example, o1 m1 = 1 denotes the fact that the processing quality indicator (see Formula 2). The higher the share of elements of of order o1 on machine m1 is performed during and finished after ∆min in ∆, the higher the corresponding accuracy (the algorithm is time slot 1. able to reproduce the elements of the minimal diagnosis for m = 1). Further constraints restrict the way in which orders are allowed to be assigned to machines, for example, o1 m1 < o1 m2 denotes |∆ ∩ ∆min | the fact that order o1 must be completed on machine m1 before a accuracy(∆) = (2) further processing is started on machine m2 . Furthermore, no two |∆min | orders must be assigned to the same machine during the same time In order to evaluate F LEX D IAG with regard to both aspects we ap- slot, for example, o1 m1 6= o2 m1 denotes the fact that order o1 and plied the algorithm to the configuration benchmark from www.splot- o2 must not be processed on the same machine in the same time slot research.org - the configuration models are feature models which in- (slots 1..3). Finally, the definition of our reconfiguration task is com- clude requirement constraints, compatibility constraints, and differ- pleted with an already determined schedule S and a corresponding ent types of structural constraints such as mandatory relationships reconfiguration request represented by the reconfiguration require- and alternatives. The feature models were represented as CSP on the ment Rρ = {r10 : o3 m3 < 5}, i.e., order o3 should be completed basis of the Java-based Choco library.3 For each setting (see Table within less than 5 time units. 2) in the benchmark, we randomly generated |Rρ | new requirements that were inconsistent with an already determined configuration (10 • V = {o1 m1 , o1 m2 , o1 m3 , o2 m1 , o2 m2 , o2 m3 , o3 m1 , iterations per setting). The average cardinality of a minimal diagno- o3 m2 , o3 m3 } sis for m = 1 is |∆min |. Related average runtimes (in milliseconds)4 • dom(o1 m1 ) = dom(o2 m1 ) = dom(o3 m1 ) = {1, 2, 3}. and degrees of minimality and accuracy (see Formula 1) are depicted dom(o1 m2 ) = dom(o2 m2 ) = dom(o3 m2 ) = {2, 3, 4}. in Table 2. As can be seen in Table 2, increasing the value of m leads dom(o1 m3 ) = dom(o2 m3 ) = dom(o3 m3 ) = {3, 4, 5}. to an improved runtime performance in our example cases. Mini- • C = {c1 : o1 m1 < o1 m2 , c2 : o1 m2 < o1 m3 , mality and accuracy depend on the configuration domain and are not c3 : o2 m1 < o2 m2 , c4 : o2 m2 < o2 m3 , c5 : o3 m1 < o3 m2 , necessarily monotonous. For example, since a diagnosis determined c6 : o3 m2 < o3 m3 , c7 : o1 m1 6= o2 m1 , by F LEX D IAG is not necessarily a superset of a diagnosis determined c8 : o1 m1 6= o3 m1 , c9 : o2 m1 6= o3 m1 , with m = 1, it can be the case that the minimality of a diagnosis de- c10 : o1 m2 6= o2 m2 , c11 : o1 m2 6= o3 m2 , termined with m > 1 is greater than 1 (if F LEX D IAG determines c12 : o2 m2 6= o3 m2 , c13 : o1 m3 6= o2 m3 , a diagnosis with lower cardinality than the minimal diagnosis deter- c14 : o1 m3 6= o3 m3 , c15 : o2 m3 6= o3 m3 } mined with m = 1). • S = {s1 : o1 m1 = 1, s2 : o1 m2 = 2, s3 : o1 m3 = 3, Note that in this paper we did not compare F LEX D IAG with more s4 : o2 m1 = 2, s5 : o2 m2 = 3, s6 : o2 m3 = 4, traditional diagnosis approaches – for related evaluations we refer s7 : o3 m1 = 3, s8 : o3 m2 = 4, s9 : o3 m3 = 5} the reader to [9] were detailed related analyses can be found. The • Rρ = {r10 : o3 m3 < 5} outcome of these analyses is that direct diagnosis approaches such as F LEX D IAG clearly outperform standard diagnosis approaches based This reconfiguration task can be solved using F LEX D IAG. If we on the resolution of minimal conflicts [19]. keep the ordering of the constraints as defined in S, F LEX D IAG (with m = 1) returns the diagnosis ∆ : {s4 , s5 , s6 , s7 , s8 } which can be used to determine the new solution S = {s1 : o1 m1 = 1, s2 : 6 Reconfiguration in Production o1 m2 = 2, s3 : o1 m3 = 3, s4 : o2 m1 = 3, s5 : o2 m2 = 4, s6 : o2 m3 = 5, s7 : o3 m1 = 2, s8 : o3 m2 = 3, s9 : o3 m3 = 4}. Pos- The following simplified reconfiguration task is related to scheduling sible ordering criteria for constraints in such rescheduling scenarios in production where it is often the case that, for example, schedules can be, for example, customer value (changes related to orders of and corresponding production equipment has to be reconfigured. In important customers should occur with a lower probability) and the 3 choco-solver.org. importance of individual orders. If some orders in a schedule should 4 Test platform: Windows 7 Professional 64 Bit, Intel(R) Core(TM) i5-2320 not be changed, this can be achieved by simply defining such re- 3.00 GHz CPU with 8.00 GB of memory. quests as requirements (Rρ ), i.e., change requests as well as stability 109 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria requests can be included as constraints ri0 in Rρ . [11] Gerhard Fleischanderl, Gerhard E. Friedrich, Alois Haselböck, Herwig Schreiner, and Markus Stumptner, ‘Configuring large systems using generative constraint satisfaction’, IEEE Intelligent Systems, 13(4), 59– 7 Ongoing And Future Work 68, (1998). We are currently evaluating F LEX D IAG with a more complex (indus- [12] G. Friedrich, A. Ryabokon, A. Falkner, A. Haselböck, G. Schenner, and H. Schreiner, ‘ (Re)configuration using Answer Set Programming’, in trial) benchmark from three different German car manufacturers on IJCAI 2011 Workshop on Configuration, pp. 17–24, (2011). the level of type series. In this context we include further evaluation [13] L. Hotz, A. Felfernig, M. Stumptner, A. Ryabokon, C. Bagley, and metrics that help to better estimate the quality of diagnoses (reconfig- K. Wolter, ‘Configuration Knowledge Representation & Reasoning’, in urations) – for example, the currently applied accuracy metric does Knowledge-based Configuration – From Research to Business Cases, not take into account the importance of the different constraints con- eds., A. Felfernig, L. Hotz, C. Bagley, and J. Tiihonen, chapter 6, 59– tained in a diagnosis. Furthermore, we will extend the F LEX D IAG 96, Morgan Kaufmann Publishers, (2013). algorithm in order to make it applicable in scenarios where knowl- [14] D. Jannach, ‘Finding preferred query relaxations in content-based rec- ommenders’, in 3rd Intl. IEEE Conference on Intelligent Systems, pp. edge bases are tested [6]. Our goal in this context is to improve the 355–360, London, UK, (2006). performance of existing automated debugging approaches and to in- [15] Ulrich Junker, ‘QUICKXPLAIN: preferred explanations and relax- vestigate to which extent diagnoses resulting from m > 1 are con- ations for over-constrained problems’, in 19th Intl. Conference on Artif- sidered as relevant by knowledge engineers. Finally, we will compare ical Intelligence (AAAI’04), eds., Deborah L. McGuinness and George F LEX D IAG with local search approaches such as genetic algorithms. Ferguson, pp. 167–172. AAAI Press, (2004). [16] A. Mackworth, ‘Consistency in Networks of Relations’, Artificial Intel- ligence, 8(1), 99–118, (1977). 8 Conclusions [17] J. Marques-Silva, F. Heras, M. Janota, A. Previti, and A. Belov, ‘On Efficient reconfiguration functionalities are needed in various scenar- computing minimal correction subsets’, in IJCAI 2013, pp. 615–622, ios such as the reconfiguration of production schedules, the reconfig- Peking, China, (2013). [18] I. Nica, F. Wotawa, R. Ochenbauer, C. Schober, H. Hofbauer, and uration of the settings in mobile phone networks, and the reconfig- S. Boltek, ‘Kapsch: Reconfiguration of Mobile Phone Networks’, in uration of robot context information. We analyzed the F LEX D IAG Knowledge-based Configuration – From Research to Business Cases, algorithm with regard to potentials of improving existing direct di- eds., A. Felfernig, L. Hotz, C. Bagley, and J. Tiihonen, chapter 19, 287– agnosis algorithms. When using F LEX D IAG, there is a clear tradeoff 300, Morgan Kaufmann Publishers, (2013). between performance of diagnosis calculation and diagnosis quality [19] R. Reiter, ‘A theory of diagnosis from first principles’, Artificial Intel- (measured, for example, in terms of minimality and accuracy). ligence, 32(1), 57–95, (1987). [20] M. Schubert and A. Felfernig, ‘BFX: Diagnosing Conflicting Require- ments in Constraint-based Recommendation’, International Journal on REFERENCES Artificial Intelligence Tools, 20(2), 297–312, (2011). [1] R. Bakker, F. Dikker, F. Tempelman, and P. Wogmim, ‘Diagnosing and [21] I. Shah, ‘Direct algorithms for finding minimal unsatisfiable subsets in solving over-determined constraint satisfaction problems’, in 13th In- over-constrained csps’, International Journal on Artificial Intelligence ternational Joint Conference on Artificial Intelligence, pp. 276–281, Tools, 20(1), 53–91, (2011). Chambery, France, (1993). [22] Carsten Sinz, Andreas Kaiser, and Wolfgang Küchlin, ‘Formal meth- [2] S.K. Card, G.G. Robertson, and J.D. Mackinlay, ‘The information vi- ods for the validation of automotive product configuration data’, Artifi- sualizer, an information workspace’, in CHI ’91 Proceedings of the cial Intelligence for Engineering Design, Analysis and Manufacturing, SIGCHI Conference on Human Factors in Computing Systems, pp. 17(1), 75–97, (2003). 181–188, New Orleans, Louisiana, USA, (1991). ACM. [23] G. Steinbauer, M. Mörth, and F. Wotawa, ‘Real-Time Diagnosis and [3] J. DeKleer, ‘Using crude probability estimates to guide diagnosis’, AI Repair of Faults of Robot Control Software’, in RoboCup 2005, LNAI, Journal, 45(3), 381–391, (1990). pp. 13–23. Springer, (2005). [4] A. Falkner, A. Felfernig, and A. Haag, ‘Recommendation Technologies [24] M. Stumptner, ‘An Overview of Knowledge-based Configuration’, AI for Configurable Products’, AI Magazine, 32(3), 99–108, (2011). Communications, 10(2), 111–126, (1997). [5] A. Falkner and H. Schreiner, ‘SIEMENS: Configuration and Recon- [25] M. Stumptner and F. Wotawa, ‘Reconfiguration using model-based di- figuration in Industry’, in Knowledge-based Configuration – From Re- agnosis’, in 10th International Workshop on Principles of Diagnosis search to Business Cases, eds., A. Felfernig, L. Hotz, C. Bagley, (DX-99), pp. 266–271, (1999). and J. Tiihonen, chapter 16, 251–264, Morgan Kaufmann Publishers, [26] J. Tiihonen and A. Anderson, ‘VariSales’, in Knowledge-based Config- (2013). uration – From Research to Business Cases, eds., A. Felfernig, L. Hotz, [6] A. Felfernig, G. Friedrich, D. Jannach, and M. Stumptner, C. Bagley, and J. Tiihonen, chapter 26, 377–388, Morgan Kaufmann ‘Consistency-based diagnosis of configuration knowledge bases’, Ar- Publishers, (2013). tificial Intelligence, 152(2), 213–234, (2004). [27] J. Tiihonen, W. Mayer, M. Stumptner, and M. Heiskala, ‘Configuring [7] A. Felfernig, L. Hotz, C. Bagley, and J. Tiihonen, Knowledge-based Services and Processes’, in Knowledge-based Configuration – From Configuration: From Research to Business Cases, Elsevier/Morgan Research to Business Cases, eds., A. Felfernig, L. Hotz, C. Bagley, Kaufmann Publishers, 1st edn., 2014. and J. Tiihonen, chapter 21, 313–324, Morgan Kaufmann Publishers, [8] A. Felfernig, M. Schubert, G. Friedrich, M. Mandl, M. Mairitsch, and (2013). E. Teppan, ‘Plausible repairs for inconsistent requirements’, in 21st In- [28] R. Walter and W. Küchlin, ‘ReMax - A MaxSAT aided Product (Re-) ternational Joint Conference on Artificial Intelligence (IJCAI’09), pp. Configurator’, in Workshop on Configuration 2014, pp. 55–66, (2014). 791–796, Pasadena, CA, USA, (2009). [29] R. Walter, C. Zengler, and W. Küchlin, ‘Applications of maxsat in auto- [9] A. Felfernig, M. Schubert, and C. Zehentner, ‘An efficient diagnosis al- motive configuration’, in Workshop on Configuration 2013, pp. 21–28, gorithm for inconsistent constraint sets’, Artificial Intelligence for En- (2013). gineering Design, Analysis and Manufacturing (AI EDAM), 26(1), 53– [30] K. Wang, Z. Li, Y. Ai, and Y. Zhang, ‘Computing Minimal Diagnosis 62, (2012). with Binary Decision Diagrams Algorithm’, in 6th International Con- [10] A. Fijany and F. Vatan, ‘New approaches for efficient solution of hit- ference on Fuzzy Systems and Knowledge Discovery (FSKD’2009), pp. ting set problem’, in Winter International Symposium on Information 145–149, (2009). and Communication Technologies, pp. 1–6, Cancun, Mexico, (2004). [31] F. Wotawa, ‘A variant of reiter’s hitting-set algorithm’, Information Trinity College Dublin. Processing Letters, 79(1), 45–51, (2001). Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 110 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria