
Articles Twenty-Five Years of Successful Application of Constraint Technologies at Siemens Andreas Falkner, Gerhard Friedrich, Alois Haselböck, Gottfried Schenner, Herwig Schreiner n The development of problem solvers n the 1960s and 1970s, predictions that AI technologies for configuration tasks is one of the would solve many problems, such as automated reason - most successful and mature application Iing, machine learning, vision, natural language under - areas of artificial intelligence. The pro - standing, robotics, or planning, within the next few decades vision of tailored products, services, and were quite optimistic. To cite just one of the main propo - systems requires efficient engineering nents of those years, Marvin Minsky (1967) wrote that and design processes where configura - tors play a crucial role. Because one of “Within a generation […] the problem of creating ‘artificial the core competencies of Siemens is to intelligence‘ will substantially be solved. Although this gen - provide such highly engineered and cus - eral goal still needs to be fulfilled, certain areas of AI have tomized systems, ranging from solu - reached a mature application status.” tions for medium-sized and small busi - One of the AI technologies that successfully found its way nesses up to huge industrial plants, the into industrial applications is constraint satisfaction (Rossi, efficient implementation and mainte - van Beek, and Walsh 2006). Constraint satisfaction is a form nance of configurators are important of automated reasoning where the problem is modeled by a goals for the success of many depart - ments. For more than 25 years the set of variables and constraints. A solution is a variable application of constraint-based meth - assignment — each variable gets a value from its associated ods has proven to be a key technology in domain — where all constraints are satisfied. Constraints are order to realize configurators at logical or relational expressions restricting the values that Siemens. This article summarizes the may be assigned to the variables. Due to the strict and simple main aspects and insights we have definition of constraint-satisfaction problems (CSPs), many gained looking back over this period. In highly efficient and robust constraint reasoning techniques, particular, we highlight the main tech - for example, constraint propagation (Bessiere 2006), com - nology factors regarding knowledge rep - resentation, reasoning, and integration plete search (van Beek 2006), and local search heuristics that were important for our achieve - (Hoos and Tsang 2006), have been developed. ment. Finally we describe selected key Configuration of technical and commercial products and application areas where the business success vitally depends on the high pro - ductivity of configuration processes. Copyright © 2016, Association for the Advancement of Artificial Intelligence. All rights reserved. ISSN 0738-4602 WINTER 2016 67 Articles int : multimedia = 1; int : scientic = 2; int : internet = 3; var 1 .. 3: usage ; var 1 .. 16: number_cpus ; constraint (usage == multimedia) –> (number_cpus >= 4); Listing 1. MiniZinc Example. services is one of the fields where constraint satisfac - isfaction technology and that are or were in produc - tion evolved to become the main representation and tive use at Siemens. Finally, the Summary concludes reasoning technique (Faltings and Freuder 1998). this article. Simply speaking, configuration is the selection and combination of parts from a component catalog, together with setting parameters of these parts such Knowledge Representation that all physical, technical, commercial, and strate - Constraint technologies have become the main gic constraints are fulfilled. approach used to model and solve configuration Siemens AG, a German-based multinational elec - problems. There are many different kinds of configu - tronics and electrical engineering company, has used ration problems, but one simple aspect to categorize constraint-satisfaction technologies in productive them is whether a problem is static or dynamic. configuration systems successfully for about 25 years. In a static configuration problem the task is to In this article, we describe how constraint techniques select and combine components from a predefined can be embedded and used in industrial configura - and relatively small set of parts (for example, hun - tors, and how the complex structure and require - dreds of pieces). For each part it has to be decided ments of large-scale technical systems made it neces - whether it shall be used in a concrete configuration sary to extend the standard theory of constraint without violating any predefined restrictions con - satisfaction both in modeling expressiveness and rea - cerning the combination of parts. Examples of such soning capabilities. We describe examples of config - problems are web-based shops for consumer products urators, based on constraint satisfaction, that have (like bicycles, computers, cars), feature models (Kang been successfully put to productive use for many et al. 1990), or product line engineering systems years. (Clements and Northrop 2001). Those systems can be A configurator, as is the case for most engineering and industrial software systems, has three different very elegantly modeled by standard constraint-satis - aspects: (1) Knowledge representation to provide a faction techniques. language to describe the domain of interest, along An example of a constraint-satisfaction language is with data persistence and maintenance capabilities MiniZinc, which is a powerful language for specify - (see the section on Knowledge Representation). (2) ing static problems in a very concise way (Nethercote Reasoning methods to provide functions for auto - et al. 2007). The code clip in listing 1 shows an exam - matic problem solving and user assistance functions, ple from a PC configuration: if the usage type of a for example, by filtering invalid options in the cur - computer is multimedia, the PC must be at least a rent situation (see the section on Reasoning). (3) An quad-core. infrastructure to integrate those modeling and rea - From the knowledge representation point of view, soning components into a software application. languages like MiniZinc are well suited for represent - Important aspects of integration are user interface, ing combinatorial problems of manageable scales. If input/output interfaces, connectors to enterprise the problem gets large and structurally complex, software (product lifecycle management, enterprise object-oriented formalisms are a better way of repre - resource planning, customer relationship manage - senting the product taxonomy and dependencies in ment), a web environment, and so on (see the sec - a natural way. Another aspect is the static versus the tion on Integration). dynamic property of a problem. Consider the follow - In the Applications section, we briefly describe ing realistic extensions to our PC example problem: some applications whose backbone is constraint-sat - An order contains not only a single PC but a whole 68 AI MAGAZINE Articles set of PCs, each with individual properties, and for domains are therefore sets of configuration objects. each CPU of each PC, not only the number of CPUs Furthermore, domain values previously found to be but several properties (such as manufacturer, per - consistent/inconsistent may change their consisten - formance) may be specified. Additionally, global con - cy state because of variable insertion. Analogous cas - straints refer to the whole set of PCs, for example, a es apply to object deletions. A dependency network suitable LAN router must be configured depending induced by the set of constraints identifies those vari - on the number of Internet and multimedia PCs. The able domains whose values must be reevaluated due formulation of such dynamic problems using static to variable insertion/deletion. constraint languages imposes the representation of The GCSP code for our small PC configuration all largest possible problem instances based on a fixed example is shown in listing 2. It is a straightforward set of variables and constraints resulting in excessive implementation of the UML diagram shown in fig - memory consumption. Moreover, the language con - ure 1. A configuration consists of a set of PCs and structs require a nontrivial transformation of the each PC consists of 1 to 16 CPUs. The task of config - conceptual model into a CSP representation. This uration is to create the necessary amount of PC mapping is difficult to comprehend for software engi - instances along with their CPU instances and deter - neers who are trained to specify problems by object- mine their properties. oriented means. In particular, arrays and matrices of An instance of class Configuration consists of an variables are used, which do not reflect the structur - arbitrary number of PC instances, each of which is al aspects of the problem. connected to several (min. 1, max. 16) CPU In a dynamic configuration problem the set of dif - instances. The constraint code for requiring at least 4 ferent parts to be combined in a solution is not CPUs for a multimedia PC looks very similar to the known beforehand. Static problems are mainly of MiniZinc code above, with the main difference that combinatorial nature, while dynamic problems must the constraint is defined on the class level. Each time additionally decide on creating new configuration a PC is instantiated, a new constraint instance is cre - objects and adding them
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages14 Page
-
File Size-