Knowledge-based configuration. Knowledge-based configuration, also referred to as product configuration or product customization, is an activity of customising a product to meet the needs of a particular customer. The product in question may consist of mechanical parts, services, and software. Knowledge-based configuration is a major application area for artificial intelligence (AI), and it is based on modelling of the configurations in a manner that allows the utilisation of AI techniques for searching for a valid configuration to meet the needs of a particular customer.

Background
Knowledge-based configuration (of complex products and services) has a long history as an artificial intelligence application area, see, e.g. Informally, configuration can be defined as a "special case of design activity, where the artifact being configured is assembled from instances of a fixed set of well-defined component types which can be composed conforming to a set of constraints". Such constraints represent technical restrictions, restrictions related to economic aspects, and conditions related to production processes. The result of a configuration process is a product configuration (concrete configuration), i.e., a list of instances and in some cases also connections between these instances. Examples of such configurations are computers to be delivered or financial service portfolio offers (e.g., a combination of loan and corresponding risk insurance).

Theory and complexity of configuration 
Numerous practical configuration problems can be analyzed by the theoretical framework of Najmann and Stein, an early axiomatic approach that does not presuppose any particular knowledge representation formalism. One important result of this methodology is that typical optimization problems (e.g. finding a cost-minimal configuration) are NP-complete. Thus they require (potentially) excessive computation time, making heuristic configuration algorithms the preferred choice for complex artifacts (products, services).

Configuration systems
Configuration systems, also referred to as configurators or mass customization toolkits, are one of the most successfully applied artificial intelligence technologies. Examples are the automotive industry, the telecommunication industry, the computer industry, and power electric transformers. Starting with rule-based approaches such as R1/XCON, model-based representations of knowledge (in contrast to rule-based representations) have been developed that strictly separate product domain knowledge from problem solving knowledge—examples thereof are the constraint satisfaction problem, the Boolean satisfiability problem, and different answer set programming (ASP) representations. There are two commonly cited conceptualizations of configuration knowledge. The most important concepts in these are components, ports, resources and functions.  This separation of product domain knowledge and problem solving knowledge increased the effectiveness of configuration application development and maintenance, since changes in the product domain knowledge do not affect search strategies and vice versa.

Configurators are also often considered as "open innovation toolkits", i.e., tools that support customers in the product identification phase. In this context customers are innovators who articulate their requirements leading to new innovative products.  "Mass Confusion"  – the overwhelming of customers by a large number of possible solution alternatives (choices) – is a phenomenon that often comes with the application of configuration technologies. This phenomenon motivated the creation of personalized configuration environments taking into account a customer's knowledge and preferences.

Configuration process
Core configuration, i.e., guiding the user and checking the consistency of user requirements with the knowledge base, solution presentation and translation of configuration results into bill of materials (BOM) are major tasks to be supported by a configurator. Configuration knowledge bases are often built using proprietary languages.
In most cases knowledge bases are developed by knowledge engineers who elicit product, marketing and sales knowledge from domain experts. Configuration knowledge bases are composed of a formal description of the structure of the product and further constraints restricting the possible feature and component combinations.

Configurators known as characteristic based product configurators use sets of discrete variables that are either binary or have one of several values, and these variables define every possible product variation.

Software and service configuration
Recently, knowledge-based configuration has been extended to service and software configuration. Modeling software configuration has been based on two main approaches: feature modeling, and component-connectors. Kumbang domain ontology combines the previous approaches building on the tradition of knowledge-based configuration.

See also
Characteristic based product configurator
Configurator
Configure price quote
Constraint satisfaction
Feature model
Mass customization
Open innovation
Product differentiation
Product family engineering
Software product line

References

Conference and journal papers

Books

External links
 20+ years of International Workshops on Configuration

Research prototypes
 1991 PLAKON / Project TeX-K
 1999 Konwerk / Project Prokon
  2002 ConIPF
 2003 WeCoTin
 2005 Kumbang tools
 2014 WeeVis (Wiki-based learning environment for simple problems)

Journal special issues on configuration
 AIEDAM 1998 Special Issue on Configuration Design
 IEEE Intelligent Systems Special Issue on Configuration 1998 (vol. 13, No. 4)
 AIEDAM 2003 Special Issue on Configuration
 IEEE Intelligent Systems Special Issue on Configuration 2007
 Special Issue on Configuration in the International Journal of Mass Customization 2006
 International Journal of Mass Customization Special Issue on Configuration 'Advances in Configuration Systems' 2010 (vol 3, No: 4).
 AIEDAM 2011 Special Issue on Configuration
 AI Communications 2013 Special Issue on Engineering techniques for knowledge bases

Artificial intelligence
Innovation