Solving Combined Configuration Problems: A Heuristic Approach1 Martin Gebser2 and Anna Ryabokon3 and Gottfried Schenner4 Abstract. This paper describes an abstract problem derived from classical computer science problems for which there already exist a combination of Siemens product configuration problems encoun- some well-known heuristics and algorithms that can be applied to tered in practice. Often isolated parts of configuration problems can speed up computations and/or improve the quality of solutions. be solved by mapping them to well-studied problems for which ef- As the main contribution, we present a novel approach on how ficient heuristics exist (graph coloring, bin-packing, etc.). Unfortu- heuristics generated by a greedy solver can be incorporated in an nately, these heuristics may fail to work when applied to a problem ASP program to improve computation time (and obtain better so- that combines two or more subproblems. In the paper we show how lutions). The application of domain-specific knowledge formulated to formulate a combined configuration problem in Answer Set Pro- succinctly in an ASP heuristic language [8] allows for better solu- gramming (ASP) and to solve it using heuristics à la hclasp. The tions within a shorter solving time, but it strongly deteriorates the latter stands for heuristic clasp that is nowadays integrated in clasp search process when some additional requirements (conflicting with and enables the declaration of domain-specific heuristics in ASP. In the formulated heuristics) are included. On the other hand, the for- addition, we present a novel method for heuristic generation based mulation of complex heuristics might be cumbersome using greedy on a combination of greedy search with ASP that allows to improve methods. Therefore, we exploit a combination of greedy methods the performance of clasp. with ASP for the generation of heuristics and integrate them to ac- celerate an ASP solver. We evaluate the method on a set of instances derived from configuration scenarios encountered by us in practice 1 Introduction and in general. Our evaluation shows that for three different sets of Researchers in academia and industry have tried different approaches instances solutions can be computed an order of magnitude faster to configuration knowledge representation and reasoning, including than compared to a plain ASP encoding. production rules, constraints languages, heuristic search, description The remainder of this paper is structured as follows. Section 2 in- logics, etc.; see [16, 14, 9] for surveys. Although constraint-based troduces a combined configuration problem (CCP) which is exempli- methods remain de facto standard, Answer Set Programming (ASP) fied in Section 3. Section 4 discusses heuristics for solving the CCP. has gained much attention over the last years because of its expres- We present our evaluation results in Section 5. Finally, in Section 6 sive high-level representation abilities. we conclude and discuss future work. As evaluation shows ASP is a compact and expressive method to capture configuration problems [15, 18, 9], i.e. it can represent con- 2 Combined Configuration Problem figuration knowledge consisting of component types, associations, attributes, and additional constraints. The declarative semantics of The Combined Configuration Problem (CCP) is an abstract prob- ASP programs allows a knowledge engineer to choose the order in lem derived from a combination of several problems encountered in which rules are written in a program, i.e. the knowledge about types, Siemens practice (railway interlocking systems, automation systems, attributes, etc. can be easily grouped in one place and modularized. etc.). A CCP instance is defined by a directed acyclic graph, called Sound and complete solving algorithms allow to check a configu- just graph later on in this paper for simplicity. Each vertex of the ration model and support evolution tasks such as reconfiguration. graph has a type and each type of the vertices has a particular size. Generally, the results prove that ASP has limitations when applied In addition, each instance comprises two sets of vertices specifying to large-scale product (re)configuration instances [1, 5]. The best re- two vertex-disjoint paths in the graph. Furthermore, an instance con- sults in terms of runtime and solution quality were achieved when tains a set of areas, sets of vertices defining possible border elements domain-specific heuristics were applied [17, 12]. of each area and a maximal number of border elements per area. Fi- In this paper we introduce a combined configuration problem nally, a number of available colors as well as a number of available that reflects typical requirements frequently occurring in practice at bins and their capacity are given. Siemens. The parts of this problem correspond (to some extent) to Given a CCP instance, the goal is to find a solution that satisfies a set of requirements. All system requirements are separated into 1 This work was funded by COIN and AoF under grant 251170 as well as the corresponding subproblems which must be solved together or in by FFG under grant 840242. An extended version of this paper is to appear combinations: in the proceedings of the 13th International Conference on Logic Program- ming and Non-monotonic Reasoning. 2 Aalto University, HIIT, Finland and University of Potsdam, Germany, • P1 Coloring Every vertex must have exactly one color. email: martin.gebser@aalto.fi • P2 Bin-Packing For every color a Bin-Packing problem must be 3 Alpen-Adria-Universität Klagenfurt, Austria, email: anna.ryabokon@aau.at solved. For every color the same number of bins are available. 4 Siemens AG Österreich, Austria, email: gottfried.schenner@siemens.com Every vertex must be assigned to exactly one bin of its color and 55 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria for every bin it holds that the sum of sizes must be smaller or equal Paths constraint (P3) is active. Consequently, in this case the to the bin capacity. solution shown in Figure 2 violates this constraint and must be • P3 Disjoint Paths Vertices of different paths cannot be colored in modified as given in Figure 4 where the vertices of different paths the same color. are colored with different colors (path1 with dark grey and grey, and • P4 Matching Each border element must be assigned to exactly path2 with white and light grey). one area such that the number of selected border elements of an area does not exceed the maximal number of border elements and b5 e1 b6 all selected border elements of an area have the same color. • P5 Connectedness Two vertices with the same color must be con- b1 s1 p1 b2 p2 b3 p3 s2 b4 nected via a path that contains only vertices of that color. b7 s3 p4 b8 p5 b9 p6 s4 b10 Origin In the railway domain the given graph represents a track lay- out of a railway line. A coloring P1 can then be thought as an assign- b11 e2 b12 ment of resources (e.g. computers) to the elements of the railway line. In real-world scenarios different infrastructure elements may require Figure 2: Used colors in a solution of the Coloring and Bin-Packing different amounts of a resource that is summarized in P2. This may problems (P1-P2) be hardware requirements (e.g. a signal requiring a certain number of hardware parts) or software requirements (e.g. an infrastructural element requiring a specific processing time). The requirements of b9 P1 and P2 are frequently used in configuration problems during an e2 s4 b8 s2 p5 assignment of entities of one type to entities of another type [11, 5]. b3 p2 p6 p3 s3 p4 p1 e1 The constraint of P3 increases availability, i.e. in case one resource b5 b11 s1 b7 b4 b10 b1 b2 b12 b6 fails it should still be possible to get from a source vertex (no in- coming edges) of the graph to a target vertex (no outgoing edges) of Figure 3: Used bins in a solution of the Coloring and Bin-Packing the graph. In the general version of this problem one has to find n problems (P1-P2) paths that maximize availability. The CCP uses the simplified prob- lem where 2 vertex-disjoint paths are given. P4 stems from detecting which elements of the graph are occu- pied. The border elements function as detectors for an object leaving b5 e1 b6 or entering an area. The Partner Units Problem [2, 1] is a more elab- b1 s1 p1 b2 p2 b3 p3 s2 b4 orate version of this problem. P5 arises in different scenarios, e.g. if communication between elements controlled by different resources is more costly, then neighboring elements should be assigned to the b7 s3 p4 b8 p5 b9 p6 s4 b10 same resource whenever possible. b11 e2 b12 3 Example Figure 4: Solution of the Coloring, Bin-Packing and Disjoint Paths problems (P1-P3) Figure 1 shows a sample input CCP graph. In this section we illus- trate how particular requirements can influence a solution. Namely, Figure 5 shows an example of Matching (P4). In this example we add the constraints of each subproblem one by one. If only P1 there are seven areas in the matching input graph, each correspond- is active, any graph corresponds to a trivial solution of P1 where all ing to a subgraph surrounded with border elements (Figure 1). For in- vertices are colored white. stance, area a1 represents the subgraph {b1, s1, p1, b2, b5} and area a2 the subgraph {b5, e1, b6}. The corresponding border elements, b5 e1 b6 {b1, b2, b5} and {b5, b6}, are displayed in Figure 5. Assume that an area can have at most 2 border elements assigned b1 s1 p1 b2 p2 b3 p3 s2 b4 to it. In the resulting matching (Figure 5) b1, b2 are assigned to a1, whereas b5, b6 are assigned to a2. Note that the sample selected b7 s3 p4 b8 p5 b9 p6 s4 b10 matching shown in Figure 5 is not valid with the coloring presented b11 e2 b12 previously, because, for example, b5 and b6 are assigned to the same area a2 although they are colored differently. Figure 1: Input CCP graph and a trivial solution of Coloring (P1) In addition, the coloring solution shown in Figure 4 violates the Connectedness constraint (P5). Therefore, the previous solutions must be updated to take the new requirements into account. Figure 6 Let us consider the input graph as a Bin-Packing problem instance shows a valid coloring of the given graph that satisfies all problem with four colors and three bins per color of a capacity equal to five. requirements (P1-P5). The vertices of type b, e, s and p have the sizes 1, 2, 3 and 4, respec- tively. A solution of Coloring and Bin-Packing (P1-P2) is presented 4 Combining Heuristics for Configuration in Figures 2 and 3. Problems Moreover, two vertex-disjoint paths are declared by path1 = {b1, s1, p1, b2, p2, b3, p3, s2, b4} as well as We formulated the CCP using ASP and the corresponding encod- path2 = {b7, s3, p4, b8, p5, b9, p6, s4, b10}, and the Disjoint ing can be found at http://isbi.aau.at/hint/problems. Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 56 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria tion algorithms (construction heuristics) that allow efficient computa- a1 a2 a3 a4 a5 a6 a7 tion of good approximations of a solution [6], e.g. Best/First/Next-Fit heuristics. They can, of course, be used as heuristics for the CCP. Let the Bin-Packing problem instance be encoded using a set of b1 b2 b5 b6 b4 b3 b8 b9 b7 b11 b10 b12 predicates among which nrofbins/1 and order /2 denote a number of bins in the instance and an ordered set of input vertices, respec- Figure 5: A sample input and solution graphs for P4. The selected tively. The predicate vertex bin/2 is used to encode a solution and edges of the input graph are highlighted with solid lines. denotes an assignment of a vertex to a bin. As shown in Listing 2, given a (decreasing) order of vertices, we can force the solver to b5 e1 b6 place vertex Vi into the lowest-indexed bin for which the size of al- ready placed vertices does not exceed the capacity, i.e. in a first-fit b1 s1 p1 b2 p2 b3 p3 s2 b4 bin. The heuristic never uses a new bin until all the non-empty bins are full and it can be expressed by rules that generate always a higher b7 s3 p4 b8 p5 b9 p6 s4 b10 level for the bins with smaller number: b11 e2 b12 1 binDomain(1..NB) :- nrofbins(NB). 2 offset(NB+1) :- nrofbins(NB). Figure 6: A valid solution for P1-P5 3 _heuristic(vertex_bin(V,B),true,M+O*NB-B) :- binDomain(B), nrofbins(NB), order(V,O), offset(M). To formulate a heuristic within ASP we use the declarative heuris- tic framework developed by Gebser et al. [8]. In this formalism the heuristics are expressed using atoms heuristic(a, m, v, p), where Listing 2: First-Fit heuristic for an assignment of vertices to bins a denotes an atom for which a heuristic value is defined, m is one of four modifiers (init, factor, level and sign), and v, p are integers de- It is also possible (with an intense effort) to express other heuristics noting a value and a priority, respectively, of the definition. A num- for P1-P5 that guide the search appropriately and allow to speed up ber of shortcuts are available, e.g. heuristic(a, v, l), where a is an the computation of solutions if we solve these problems separately. atom, v is its truth value and l is a level. The heuristic atoms modify However, as our experiments show, the inclusion of heuristics for the behavior of the VSIDS heuristic [10]. Thus, if a heuristic atom different problems at the same time might drastically deteriorate the is true in some interpretation, then the corresponding atom a might performance for real-world CCP instances. be preferred by the ASP solver at the next decision point. There are different ways to incorporate heuristic atoms in a pro- 4.2 Greedy Search gram. The standard approach [8] requires an implementation of a heuristic at hand using a pure ASP encoding, whereas the idea of our From our observations in the context of product configuration, it is method is to delegate the (expensive) generation of a heuristic to an relatively easy to devise a greedy algorithm to solve a part of a config- external tool and then to extend the program with generated heuristic uration problem. This is often the case in practice, because products atoms to accelerate the ASP search. Below we will exemplify how are typically designed to be easily configurable. The hard configu- both approaches can be applied. ration instances usually occur when new constraints arise due to the combination of existing products and technologies. The same can be said for the CCP. Whereas it is easy to develop 4.1 Standard generation of heuristics in ASP greedy search algorithms for the individual subproblems, it becomes Several heuristics can be used for the problems that compose the increasingly difficult to come up with an algorithm that solves the CCP. For instance, for the coloring of vertices (P1) we seek to use as combined problem. For instance, a greedy algorithm for the Match- few colors as possible by the following rule: ing problem of the CCP (P4) can be formulated as follows: For every vertex v find a related area a with the fewest assigned vertices so 1 _heuristic(vertex_color(V,C),true,MC-C) :- far and match v with a. The algorithm assumes that all border ele- vertex(V), color(C), nrofcolors(MC). ments are colored with one color, as it trivially satisfies the coloring requirement of the matching problem. A greedy algorithm for solv- ing the CCP wrt. Coloring, Bin-Packing and Connectedness (P1, P2 Listing 1: Heuristic for an assignment of colors to vertices and P5) can be described as follows: Roughly speaking, this rule means that the assignment of 1. Select the first available color c and add the first vertex not as- colors to vertices must be done in an ascending order of signed to any bin to a queue Q; colors. Given a vertex (b1) and two colors nrofcolors(2) 2. Get and remove from Q the first element v, label it with c and try encoded as color (1) and color (2), the solver can derive to assign it to a bin using some Bin-Packing heuristic, e.g. First-Fit two heuristic atoms heuristic(vertex color (b1, 1), true, 1) and or Best-Fit [6]; heuristic(vertex color (b1, 2), true, 0). These atoms indicate the 3. If v is assigned to some bin, add neighbors of v to Q; solver that the atom vertex color (b1, 1) must be assigned the truth 4. If Q 6= ∅, then goto 2; value true first since the atom with the higher level is preferred. 5. Otherwise, if there are unassigned vertices, then make the color c Additionally, we can apply the well-known Bin-Packing heuris- unavailable and goto 1. tics for the placement of colored vertices into the bins of specified capacity (P2). The Bin-Packing problem is known to be an NP-hard Suppose one wants to combine these two algorithms. One strategy combinatorial problem. However, there are a number of approxima- would be to run greedy Matching and then solve the Bin-Packing 57 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria idea of combining local search with a complete solver is also found Algorithm 1: Greedy & ASP in large neighborhood search [4]. Input: A problem P , an ASP program Π solving the problem P Output: A solution S 1 GreedySolution ← solveGreedy(P ); 5 Experimental results 2 H ← generateHeuristic(GreedySolution); Experiment1 In our evaluation we compared a plain ASP en- 3 return solveWithASP(Π, H); coding of the CCP with an ASP encoding extended with domain- specific knowledge. The Bin-Packing problem (P2) of the CCP cor- problem taking matchings into account. Namely, the combined algo- responds to the classic Bin-Packing problem and the same heuristics rithm preforms the following steps: can be applied. We implemented several Bin-Packing heuristics such as First/Best/Next-Fit (Decreasing) heuristics using ASP as shown in 1. Call the matching greedy algorithm and get a set of matchings Section 4.1. For the evaluation we took 37 publicly available Bin- M = {(v1 , a1 ), . . . , (vn , am )}; Packing problem instances5 , for which the optimal number of bins 2. For each vertex vi of the input graph G do: optnrofbins is known, and translated them to CCP instances. The (a) Assign a new color to vi , if vi has no assigned color; biggest instance of the set includes 500 vertices and 736 bins of the capacity 100. In the experiment, the maximal number of colors was (b) Put vi into a bin, as in the greedy Bin-Packing (steps 2-3); set to 1 and the maximal number of bins was set to 2 · optnrofbins. (c) If vi is a border element, then retrieve an area aj that matches All instances were solved by both approaches6 . For a plain ASP vi in M and color all vertices of this area in the same color as encoding the solver required at most 27 seconds to find a solution vi . whereas for the heuristic ASP program solving took at most 6 sec- onds, which is 4.5 times faster. The best results for the heuristic ap- The combined algorithm might violate Connectedness, because it proach were obtained using the First-Fit heuristic with the decreasing colors all border vertices assigned to an area with the same color. order of vertices. Corresponding solutions utilized less bins then the However, these vertices are not necessarily connected. That is, there ones obtained with the plain ASP program. Moreover, using First-Fit might be a solution with a different matching, but the greedy algo- heuristic, for 23 from 37 instances a solution with optimal number of rithm tests only one of all possible matchings. Moreover, there is no bins was found and for 13 other instances at most 4 bins more were obvious way how to create an algorithm solving all three problems required. The plain ASP encoding resulted in solutions that used on efficiently. This is a clear disadvantage of using ad-hoc algorithms in average 4 bins more than corresponding solutions of the heuristic contrast to the usage of a logic-based formalism like ASP, where the approach. addition of constraints is just a matter of adding some rules to an en- coding. On the other hand, domain-specific algorithms are typically Experiment2 In the next experiment we tested the same Bin- faster and scale better than ASP-based or SAT-based approaches that Packing heuristics implemented in ASP for the combined CCP, i.e. cannot be used for large instances. For instance, the memory demand when all subproblems P1-P5 are active, on 100 real-world test in- of the greedy Bin-Packing algorithm is polynomial in graph size. stances of moderate size (maximally 500 vertices in an input). The instances in this experiment were derived from a number of indus- 4.3 Combining Greedy Search and ASP trial configuration tasks. Neither the plain program nor the heuristic program were able to improve runtime/quality of solutions. More- One way to let a complete ASP solver and a greedy search algo- over, our greedy method described in Section 4.2 also failed to find a rithm benefit from each other is to use the greedy algorithm to com- connected solution, i.e. when P5 is active. For this reason, we inves- pute upper bounds for the problem to solve. The tighter upper bound tigated the combined approach (Greedy & ASP) described in Sec- usually means smaller grounding size and shorter solving time, be- tion 4.3. This approach uses the greedy method to generate a partial cause the greedy solver being domain-specific usually outperforms solution ignoring the Connectedness constraint and provides this so- ASP for the relaxed version of the problem. For instance, running the lution as heuristic atoms to the ASP solver. Our experiments show greedy algorithm for the Bin-Packing problem and Matching prob- (see Figure 7a) that the combined approach can solve all 100 bench- lem gives upper bounds for the maximal number of colors, i.e. num- marks from the mentioned set, whereas the plain encoding solves ber of different Bin-Packing problems to solve. The same applies to only 54 instances (the time frame was set to 900 seconds in this the Matching problem. This kind of application of greedy algorithms and the next experiment). Moreover, for those instances which were has a long tradition in branch and bound search algorithms, where solved using both approaches, the quality of solutions measured in greedy algorithms are used to compute the upper bound of a problem. terms of used bins and colors was the same. However, the runtime of For an example see [19], where a greedy coloring algorithm is used the combined approach was 18 times faster on average and required to find an upper bound for the clique size in a graph for the computa- at most 24 seconds instead of 848 seconds needed for the plain ASP tion of maximum cliques. In this paper we investigate a novel way to encoding. combine greedy algorithms and ASP (Algortihm 1). Consequently, in our approach we, first, use a greedy algorithm to find a solution of Experiment3 In addition, we tested more complex real-world in- a relaxed version of the problem. Next, this solution is converted into stances (maximally 1004 vertices in an input)7 which we have also a heuristic for an ASP solver which assigns the atoms of the greedy submitted to the ASP competition 2015. Similarly to Experiment2 solution a higher heuristic value. 5 http://www.wiwi.uni-jena.de/Entscheidung/binpp/index.htm As an example for solving the complete CCP problem, we can, 6 The evaluation was performed using clingo version 4.3.0 from the Potassco first, find an unconnected solution for the combination of Coloring, ASP collection [7] on a system with Intel i7-3030K CPU (3.20 GHz) and Bin-Packing, Disjoint paths and Matching problems (P1-P4), and 64 GB of RAM, running Ubuntu 11.10. 7 The instances are available at: http://isbi.aau.at/hint/problems then, use the ASP solver to fix the Connectedness property (P5). The Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 58 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria 1000 1000 100 100 10 10 TIME, SEC TIME, SEC 1 1 0,1 0,1 0,01 0,01 0,001 0,001 g01 g06 g11 g16 g21 g26 g31 g36 g41 g46 g51 g56 g61 g66 g71 g76 g81 g86 g91 g96 Plain ASP Greedy & ASP Plain ASP Greedy & ASP (a) Experiment2 (b) Experiment3 Figure 7: Evaluation results using Plain ASP and Greedy & ASP we compared the plain ASP encoding to the combined approach REFERENCES from Section 4.3. Again, regarding the quality of solutions, both ap- [1] M. Aschinger, C. Drescher, G. Friedrich, G. Gottlob, P. Jeavons, proaches are comparable, i.e. they use on average the same number A. Ryabokon, and E. Thorstensen, ‘Optimization Methods for the Part- of colors and bins, with the combined approach having a slight edge. ner Units Problem’, in Proceedings of CPAIOR, pp. 4–19, (2011). Generally, from 48 instances considered in this experiment, 36/38 in- [2] M. Aschinger, C. Drescher, G. Gottlob, P. Jeavons, and E. Thorstensen, stances were solved using the plain/combined encoding, respectively. ‘Tackling the Partner Units Configuration Problem’, in Proceedings of IJCAI, pp. 497–503, (2011). On average/maximally the plain encoding needed 69/887 seconds to [3] M. Balduccini, ‘Learning and using domain-specific heuristics in ASP find a solution whereas the combined method took 14/196 seconds, solvers’, AI Communications, 24(2), 147–164, (2011). respectively, which is about 5 times faster. Figure 7b shows the in- [4] Raffaele Cipriano, Luca Di Gaspero, and Agostino Dovier, ‘A hybrid fluence of heuristics on the performance for the instances from Ex- solver for large neighborhood search: Mixing gecode and easylocal++’, in Hybrid metaheuristics, 141–155, Springer, (2009). periment3 that were solved by both approaches within 900 seconds. [5] G. Friedrich, A. Ryabokon, A. A. Falkner, A. Haselböck, G. Schenner, Although the grounding time is not presented for both experiments, and H. Schreiner, ‘(Re) configuration based on model generation’, in we note that it requires about 10 seconds using both approaches for Proceedings of LoCoCo, pp. 26–35, (2011). the biggest instance when all subproblems P1-P5 are active. [6] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979. [7] M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set 6 Discussion Solving in Practice, Morgan & Claypool Publishers, 2012. [8] M. Gebser, B. Kaufmann, J. Romero, R. Otero, T. Schaub, and Choosing the right domain-specific heuristics for simple backtrack- P. Wanko, ‘Domain-Specific Heuristics in Answer Set Programming’, based solvers is essential for finding a solution at all, especially for in Proceedings of AAAI, (2013). large and/or complex problems. The role of domain-specific heuris- [9] L. Hotz, A. Felfernig, M. Stumptner, A. Ryabokon, C. Bagley, and K. Wolter, ‘Configuration Knowledge Representation and Reasoning’, tics in a conflict-driven nogood learning ASP solver seems to be less Knowledge-Based Configuration: From Research to Business Cases, important when it comes to solving time. Here the size of the ground- 41–72, (2014). ing and finding the right encoding is often the limiting factor. Never- [10] C.F. Madigan, S. Malik, M.W. Moskewicz, L. Zhang, and Y. Zhao, theless, domain-specific heuristics are very important to control the ‘Chaff: Engineering an efficient SAT solver’, in Proceedings of DAC, order in which answer sets are found and are an alternative to opti- (2001). [11] W. Mayer, M. Bettex, M. Stumptner, and A. Falkner, ‘On solving com- mization statements. As we have shown, domain-specific heuristics plex rack configuration problems using CSP methods’, in Proceedings also provide a mechanism to combine greedy algorithms with ASP of the IJCAI Workshop on Configuration, (2009). solvers, which opens up the possibility to use ASP in a meta-heuristic [12] A. Ryabokon, G. Friedrich, and A. A. Falkner, ‘Conflict-Based Pro- setting. However, the possible applications go beyond this. The same gram Rewriting for Solving Configuration Problems’, in Proceedings of LPNMR, pp. 465–478, (2013). approach could be used to repair an infeasible assignment using an [13] T. Schrijvers, G. Tack, P. Wuille, H. Samulowitz, and P. J. Stuckey, ASP solver. This is currently a field of active research for us and has ‘Search combinators’, Constraints, 18(2), 269–305, (2013). applications in the context of product reconfiguration. Reconfigura- [14] C. Sinz and A. Haag, ‘Configuration’, IEEE Intelligent Systems, 22(1), tion occurs when a configuration problem is not solved from scratch, 78–90, (2007). but some parts of an existing configuration have to be taken into ac- [15] T. Soininen, I. Niemelä, J. Tiihonen, and R. Sulonen, ‘Representing configuration knowledge with weight constraint rules’, in Proceedings count. of the Workshop on ASP, pp. 195–201, (2001). An open question is how to combine heuristics for different sub- [16] M. Stumptner, ‘An overview of knowledge-based configuration’, AI problems in a modular manner without the adaptation of every Communications, 10(2), 111–125, (1997). domain-specific heuristic. Here approaches like search combinators [17] E. C. Teppan, G. Friedrich, and A. A. Falkner, ‘QuickPup: A Heuristic Backtracking Algorithm for the Partner Units Configuration Problem’, [13] from the constraint programming community might be useful. in Proceedings of IAAI, pp. 2329–2334, (2012). Another interesting topic for future research would be how to learn [18] J. Tiihonen, M. Heiskala, A. Anderson, and T. Soininen, ‘WeCoTin - heuristics from an ASP solver, i.e. to investigate the variable/value A practical logic-based sales configurator’, AI Communications, 26(1), order chosen by an ASP solver for medium size problem instances 99–131, (2013). and use heuristics in a backtrack solver for larger instances that are [19] Etsuji Tomita and Toshikatsu Kameda, ‘An efficient branch-and-bound algorithm for finding a maximum clique with computational experi- out of scope of an ASP solver due to the grounding size. Some as- ments’, Journal of Global Optimization, 37(1), 95–111, (2007). pects of this topic were discussed in [3]. 59 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria