Characteristic based product configurator

Last updated

A characteristic-based product configurator is a product configurator extension which uses a set of discrete variables, called characteristics (or features), to define all possible product variations.

Contents

Characteristics

There are two characteristic types:

Example of a characteristic registry: the MET, TR and ST characteristics are binary and their values determine whether the product is metallic, transparent or deformable; while the COL and SH characteristics tell the specific value of color and shape. FeaturesRegistry.png
Example of a characteristic registry: the MET, TR and ST characteristics are binary and their values determine whether the product is metallic, transparent or deformable; while the COL and SH characteristics tell the specific value of color and shape.

Constraints

The range of characteristic-value combinations is reduced by a variety of constraints that define which combinations can, cannot, and must occur alongside each other. These constraints can be reflective of technological or commercial constraints in the real world. The constraints can represent:

Mutual exclusion property of concurrency control, which is instituted for the purpose of preventing race conditions

In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enters its critical section at the same time that another concurrent thread of execution enters its own critical section.

Examples of constraints: on top, an incompatibility between the MET and TR features (the product can only be MET or TR but not MET and TR) and below, an implication between the ST and COL features (if the product is deformable then it must be red or green). Constraints.png
Examples of constraints: on top, an incompatibility between the MET and TR features (the product can only be MET or TR but not MET and TR) and below, an implication between the ST and COL features (if the product is deformable then it must be red or green).

Characteristic filters

The use of characteristics permits the user to abstract the finished product by describing filter conditions, which describe subsets of product variations using boolean functions on the characteristics:

In mathematics and logic, a (finitary) Boolean function is a function of the form ƒ : Bk → B, where B = {0, 1} is a Boolean domain and k is a non-negative integer called the arity of the function. In the case where k = 0, the "function" is essentially a constant element of B.


Example of a form that can be shown to a user of a characteristic based product configurator, and the related logical function obtained by the compilation of itself.
In each mask the characteristic set are grouped together with logical AND to create subfunctions. These are then joined together with logical OR obtaining the ending result. ConfigurationExample.png
Example of a form that can be shown to a user of a characteristic based product configurator, and the related logical function obtained by the compilation of itself.
In each mask the characteristic set are grouped together with logical AND to create subfunctions. These are then joined together with logical OR obtaining the ending result.

Closed or open configuration

Using a characteristic-based configurator, it is possible to define a product variation in two ways:

  1. Open configuration: the user will simply valuate all the characteristics complying with the technological and commercial constraints, without having a set of base values to work from;
  2. Closed configuration: it starts from a pre-selected base-preparation (representing a sub-class of product variations) which fixates a subset of characteristics, to which the user will optionally add other information valuating the (still not fixed) characteristic-values, complying with the technological and commercial constraints. It can be useful to specify that a requested characteristic-value can replace another characteristic-value that is incompatible with the requested one present in the base-preparation

Applications

Some examples of applications where using a characteristics-based product configurator may be advantageous are:

Bill of materials

A bill of materials or product structure is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end product. A BOM may be used for communication between manufacturing partners or confined to a single manufacturing plant. A bill of materials is often tied to a production order whose issuance may generate reservations for components in the bill of materials that are in stock and requisitions for components that are not in stock.

Manufacturing process management (MPM) is a collection of technologies and methods used to define how products are to be manufactured. MPM differs from ERP/MRP which is used to plan the ordering of materials and other resources, set manufacturing schedules, and compile cost data.

Examples

pCon.planner from EasternGraphics is an OFML-based complex product configurator used for interior design.

Related Research Articles

Boolean algebra (structure) complemented distributive lattice

In abstract algebra, a Boolean algebra or Boolean lattice is a complemented distributive lattice. This type of algebraic structure captures essential properties of both set operations and logic operations. A Boolean algebra can be seen as a generalization of a power set algebra or a field of sets, or its elements can be viewed as generalized truth values. It is also a special case of a De Morgan algebra and a Kleene algebra.

A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system (RDBMS). Virtually all relational database systems use SQL for querying and maintaining the database.

Relational model database model

The relational model (RM) for database management is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is a relational database.

Data type classification of data in computer science

In computer science and computer programming, a data type or simply type is an attribute of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support common data types of real, integer and boolean. A data type constrains the values that an expression, such as a variable or a function, might take. This data type defines the operations that can be done on the data, the meaning of the data, and the way values of that type can be stored. A type of value from which an expression may take its value.

Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite constraints over variables, which is solved by constraint satisfaction methods. CSPs are the subject of intense research in both artificial intelligence and operations research, since the regularity in their formulation provides a common basis to analyze and solve problems of many seemingly unrelated families. CSPs often exhibit high complexity, requiring a combination of heuristics and combinatorial search methods to be solved in a reasonable time. The Boolean satisfiability problem (SAT), the satisfiability modulo theories (SMT) and answer set programming (ASP) can be roughly thought of as certain forms of the constraint satisfaction problem.

Backtracking is a general algorithm for finding all solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds candidates to the solutions, and abandons a candidate ("backtracks") as soon as it determines that the candidate cannot possibly be completed to a valid solution.

Solid modeling modeling of three-dimensional solids

Solid modeling is a consistent set of principles for mathematical and computer modeling of three-dimensional solids. Solid modeling is distinguished from related areas of geometric modeling and computer graphics by its emphasis on physical fidelity. Together, the principles of geometric and solid modeling form the foundation of 3D-computer-aided design and in general support the creation, exchange, visualization, animation, interrogation, and annotation of digital models of physical objects.

A virtual finite state machine (VFSM) is a finite state machine (FSM) defined in a Virtual Environment. The VFSM concept provides a software specification method to describe the behaviour of a control system using assigned names of input control properties and of output actions.

In machine learning and pattern recognition, a feature is an individual measurable property or characteristic of a phenomenon being observed. Choosing informative, discriminating and independent features is a crucial step for effective algorithms in pattern recognition, classification and regression. Features are usually numeric, but structural features such as strings and graphs are used in syntactic pattern recognition. The concept of "feature" is related to that of explanatory variable used in statistical techniques such as linear regression.

In mathematical logic, a Boolean-valued model is a generalization of the ordinary Tarskian notion of structure from model theory. In a Boolean-valued model, the truth values of propositions are not limited to "true" and "false", but instead take values in some fixed complete Boolean algebra.

Configurators, also known as choice boards, design systems, toolkits, or co-design platforms, are responsible for guiding the user through the configuration process. Different variations are represented, visualized, assessed and priced which starts a learning-by-doing process for the user. While the term “configurator” or “configuration system” is quoted rather often in literature, it is used for the most part in a technical sense addressing a software tool. The success of such an interaction system is, however, not only defined by its technological capabilities, but also by its integration in the whole sale environment, its ability to allow for learning by doing, to provide experience and process satisfaction, and its integration into the brand concept.

EXPRESS (data modeling language)

EXPRESS is a standard data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP, and standardized as ISO 10303-11.

XYplorer A Windows File Manager and Explorer Replacement

XYplorer is a file manager for Windows XP, Vista, 7, 8, and 10. XYplorer is a hybrid file manager that combines features found in navigational and orthodox file managers. In addition to dual folder panes it features a file tree and a tabbed interface supporting drag-and-drop between tabs and panes. The program is available in a fully featured trialware version as well as a feature-limited freeware version.

In software development, a feature model is a compact representation of all the products of the Software Product Line (SPL) in terms of "features". Feature models are visually represented by means of feature diagrams. Feature models are widely used during the whole product line development process and are commonly used as input to produce other assets such as documents, architecture definition, or pieces of code.

Knowledge-based configuration, or 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.

OptimJ is an extension of the Java with language support for writing optimization models and abstractions for bulk data processing. The extensions and the proprietary product implementing the extensions were developed by Ateji which went out of business in September 2011. OptimJ aims at providing a clear and concise algebraic notation for optimization modeling, removing compatibility barriers between optimization modeling and application programming tools, and bringing software engineering techniques such as object-orientation and modern IDE support to optimization experts.

JSON-WSP is a web-service protocol that uses JSON for service description, requests and responses. It is inspired from JSON-RPC, but the lack of a service description specification with documentation in JSON-RPC sparked the design of JSON-WSP.

Bill of material based on characteristics

The composition of a product can be represented using a directed acyclic graph, called real structure, in which every node is an aggregation of its children nodes:

In mathematics and mathematical logic, Boolean algebra is the branch of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0 respectively. Instead of elementary algebra where the values of the variables are numbers, and the prime operations are addition and multiplication, the main operations of Boolean algebra are the conjunction and denoted as ∧, the disjunction or denoted as ∨, and the negation not denoted as ¬. It is thus a formalism for describing logical relations in the same way that elementary algebra describes numeric relations.