Advantages and disadvantages with different configurator solutions

There are different types of configurators and all have their advantages and disadvantages. This will give you a good introduction to configurators and how they work. The descriptions are somewhat simplified and configurators are generally a mix of different solutions. This, however, is an introduction how to address different typs of configurator problems.

Different types of configurator solutions explained:

Sequential configurator

The Sequential configurator is the most common type of the simple configurators. Mostly because this is the configurator type most programmers would start by creating.

A sequential configurator is mostly made in a programming language, such as Java, an consist in its most simple form of if-statements.

Advantages

  • Easy to create - intuitive
  • Does not need the purchase of external software
Disadvantages
  • The user have to respond to the users in a specific order
  • The user typically needs to respond to all questions
  • Hard to create a conflict resolution to the user
  • Updates in the data typically forces changes in the configuration programming code. Changes that needs to be performed by a programmer
  • Very hard to maintain the configuration logic

Relation based configurator

The Relation based configurator is another type of simple configurator. It is very intuitive to create and easy to understand. It, sometimes, demands a specific type of software but can also be created in i.e. MS Excel.

A relation based database is created simply by setting up a table with all compatible and incompatible combinations. One component on the X-axis and the other on the Y-axis. In the intersection of the two axis, information about their compatibility is submitted.

 Machine AMachine BMachine CMachine D
Component X-OKOKOK
Component Y---OK
Component Z-OK-OK
Component WOK-OKOK

Advantages

  • Easy to create - does not demand programming knowledge in the most simple setup
  • Intuitive connections
Disadvantages
  • The table is growing exponentially for every component added to the configuration
  • Maintenance will become a nightmare when the the database grows larger
  • If the circumstances for the compability between certain components are changes, then the configurator basically has to be re-created. "Compatible / Not compatible" does not really tell you anything about what it actually is making the components compatible.

Excel configurator

Most of the home-made configuratos are made in MS Excel by experienced Excel-gurus. These configurators are often a mix between the different configurator solutions mentioned above. You can use relations, programming code (through macros) and relatively powerful functions such as VLOOKUP.

Advantages

  • No extra software needs to be purchased, typically
  • Knowledge often exists in-house
  • The Excel environment is well known by most users
Disadvantages
  • Often difficult to maintain
  • Often difficult to understand and use for the user
  • Is not (easily) connected to the web

Database based configurator

The database based configurator is another common solution to configuration problems. You can use powerful databases such as MySQL or Oracle and make advanced database searches. In this type of configurator solution, you specify every solution and which components that are compatible within this specific solution.

 MonitorProcessorMemory
Solution #114", 15"1.3 GHz, 1.4 GHz256 MB, 512 MB
Solution #115"1.5 GHz1024 MB
Solution #214", 17"1.3 Ghz, 1,5 Ghz512 MB, 1024 MB

Advantages

  • Relatively powerful
  • The user can answer questions in any order
Disadvantages
  • You can end up in a situation where the configurator cannot find a solution (after already making dozens of selections)
  • Hard to maintain
  • Gets slower the more data there is in the database

Attribut och constraint-baserad konfigurator

The most powerful configurator solution is based on constraints and attributes. To put it simple, you extract the very core reason to why certain components are compatible and add a constraint matching those attributes. Basically, the configurator constraints will answer the question why certain components match, not only if they are compatible.

An example of an attribute based constraint is:
Inner pipe (diameter) <= Outer pipe (diamater)

Advantages

  • Very powerful and often very fast
  • The user can answer questions in the order he or she prefers
  • Easy to maintain
  • Can be extended to a web user interface
  • Intuitive for the user
  • Makes detailed conflict resolution possible
  • A basic knowledge is typically enough to create and maintain the configuration
Disadvantages
  • Has to be bought - virtually impossible to create in-house
  • Is typically not profitable for minor configuration problems with few combinations
  • Expensive when puchases (but often cheaper in the long run)