GUEST EDITORIAL
Special Issue: Configuration
- TIMO SOININEN, MARKUS STUMPTNER
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 1-2
-
- Article
- Export citation
-
The configuration task is commonly defined as composing a complex product from a set of predefined component types while taking into account a set of well-defined restrictions on how components belonging to these types can be combined. Configuration, always a successful artificial intelligence (AI) application area ever since the R1/XCON system of the early 1980s, has recently attracted renewed research interest. This is also demonstrated by an annual series of workshops on configuration that have been held at the AAAI, ECAI, and IJCAI conferences since 1999. Important real-world industrial configuration tasks are encountered in marketing, manufacturing, and design. They usually involve physical products, such as telecommunication switches, computers, elevators, large diesel engines, automation systems, or vehicles (some of which appear as application domains in the articles in this issue), but can also pertain to financial or other services or software.
Research Article
The Goldilocks problem
- TUDOR HULUBEI, EUGENE C. FREUDER, RICHARD J. WALLACE
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 3-11
-
- Article
- Export citation
-
Constraint-based reasoning is often used to represent and find solutions to configuration problems. In the field of constraint satisfaction, the major focus has been on finding solutions to difficult problems. However, many real-life configuration problems, although not extremely complicated, have a huge number of solutions, few of which are acceptable from a practical standpoint. In this paper we present a value ordering heuristic for constraint solving that attempts to guide search toward solutions that are acceptable. More specifically, by considering weights that are assigned to values and sets of values, the heuristic can guide search toward solutions for which the total weight is within an acceptable interval. Experiments with random constraint satisfaction problems demonstrate that, when a problem has numerous solutions, the heuristic makes search extremely efficient even when there are relatively few solutions that fall within the interval of acceptable weights. In these cases, an algorithm that is very effective for finding a feasible solution to a given constraint satisfaction problem (the “maintained arc consistency” algorithm or MAC) does not find a solution in the same weight interval within a reasonable time when it is run without the heuristic.
Preference programming: Advanced problem solving for configuration
- ULRICH JUNKER, DANIEL MAILHARRO
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 13-29
-
- Article
- Export citation
-
Configuration problems often involve large product catalogs, and the given user requests can be met by many different kinds of parts from this catalog. Hence, configuration problems are often weakly constrained and have many solutions. However, many of those solutions may be discarded by the user as long as more interesting solutions are possible. The user often prefers certain choices to others (e.g., a red color for a car to a blue color) or prefers solutions that minimize or maximize certain criteria such as price and quality. In order to provide satisfactory solutions, a configurator needs to address user preferences and user wishes. Another important problem is to provide high-level features to control different reasoning tasks such as solution search, explanation, consistency checking, and reconfiguration. We address those problems by introducing a preference programming system that provides a new paradigm for expressing user preferences and user wishes and provides search strategies in a declarative and unified way, such that they can be embedded in a constraint and rule language. The preference programming approach is completely open and dynamic. In fact, preferences can be assembled from different sources such as business rules, databases, annotations of the object model, or user input. An advanced topic is to elicit preferences from user interactions, especially from explanations of why a user rejects proposed choices. Our preference programming system has successfully been used in different configuration domains such as loan configuration, service configuration, and other problems.
Configuration knowledge representations for Semantic Web applications
- ALEXANDER FELFERNIG, GERHARD FRIEDRICH, DIETMAR JANNACH, MARKUS STUMPTNER, MARKUS ZANKER
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 31-50
-
- Article
- Export citation
-
Today's economy exhibits a growing trend toward highly specialized solution providers cooperatively offering configurable products and services to their customers. This paradigm shift requires the extension of current standalone configuration technology with capabilities of knowledge sharing and distributed problem solving. In this context a standardized configuration knowledge representation language with formal semantics is needed in order to support knowledge interchange between different configuration environments. Languages such as Ontology Inference Layer (OIL) and DARPA Agent Markup Language (DAML+OIL) are based on such formal semantics (description logic) and are very popular for knowledge representation in the Semantic Web. In this paper we analyze the applicability of those languages with respect to configuration knowledge representation and discuss additional demands on expressivity. For joint configuration problem solving it is necessary to agree on a common problem definition. Therefore, we give a description logic based definition of a configuration problem and show its equivalence with existing consistency-based definitions, thus joining the two major streams in knowledge-based configuration (description logics and predicate logic/constraint based configuration).
Decomposition strategies for configuration problems
- DIEGO MAGRO, PIETRO TORASSO
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 51-73
-
- Article
- Export citation
-
The paper introduces and discusses the notion of decomposition of a configuration problem within the framework of a structured logical approach. The paper describes under which conditions a given configuration problem can be decomposed into a set of noninteracting subproblems and how to exploit such a decomposition, both for improving the performance of the configurator and for supporting interactive configuration. Different kinds of decomposition are considered, but all of them exploit, as much as possible, the explicit representation of the partonomic relations in the
language, a KL-One like representation formalism augmented with constraints for expressing complex interrole relations. The paper introduces a notion of boundness among constraints, which is used for formally specifying different types of decomposition. One decomposition strategy aims at singling out the components and subcomponents that are directly related to the constraints put by the user's requirements; the configurator exploits such decomposition by first configuring that portion of the product and then configuring the parts that are not related to the user's requirements. Another decomposition strategy verifies whether the set of constraints for the product to be configured can be split into a set of noninteracting problems. In such a case the configurator solves the configuration problem by splitting the whole search space into a set of smaller search spaces. Different combinations of these two decomposition techniques are considered, and the impact of the decomposition strategies on the performance of the configurator is evaluated via a set of experiments using the configuration of computer systems as a test bed. The results of the experiments show a significant reduction of the computational effort (both in terms of number of backtrackings and in CPU time) when decomposition strategies are used.
Formal methods for the validation of automotive product configuration data
- CARSTEN SINZ, ANDREAS KAISER, WOLFGANG KÜCHLIN
-
- Published online by Cambridge University Press:
- 07 August 2003, pp. 75-97
-
- Article
- Export citation
-
In the automotive industry, the compilation and maintenance of correct product configuration data is a complex task. Our work shows how formal methods can be applied to the validation of such business critical data. Our consistency support tool BIS works on an existing database of Boolean constraints expressing valid configurations and their transformation into manufacturable products. Using a specially modified satisfiability checker with an explanation component, BIS can detect inconsistencies in the constraints set and thus help increase the quality of the product data. BIS also supports manufacturing decisions by calculating the implications of product or production environment changes on the set of required parts. In this paper, we give a comprehensive account of BIS: the formalization of the business processes underlying its construction, the modifications of satisfiability-checking technology we found necessary in this context, and the software technology used to package the product as a client–server information system.