Gecode is a highly-efficient constraint solver, which is being developed under the lead of Prof. Christian Schulte.

This engine was first made available in SAP in summer 2017 for advanced variant configuration. At the core of the configuration engine, SAP has chosen to leverage the open source library Gecode.

The reasons why SAP chose Gecode are manifold. For one, constraint solving captures the essence of a product configuration engine. A constraint model consists of model variables with their domains (these are the product’s characteristics) and constraints describing the admissible combinations of values for the variables (these capture valid product configurations). Such constraints could be given, for example, by tables, arithmetic formulas, string expressions, or expressions over sets. A constraint solver detects and removes values which cannot possibly appear in a solution to the system of constraints. In terms of product configuration this means identifying those characteristic values, which can still be added by the user to the current partial configuration without causing an inconsistency. To guide the customer to a consistent configuration, a product configurator repeats this step of computing the remaining set of possible characteristic values after every customer choice. Due to this obvious suitability, constraint solving applied to product configuration is one of the big success stories of applied artificial intelligence research. SAP sees multiple advantages in making Gecode the constraint solver of choice.


Full article on the SAP’s blog: