In 2015, the SAP Variant Configuration development team and the Fraunhofer Institute for Industrial Mathematics (ITWM, https://www.itwm.fraunhofer.de/en.html) in Kaiserslautern embarked on a common journey. The goal of this journey is to develop a new state-of-the art configuration engine for SAP S/4HANA for advanced variant configuration.
The core competence of the ITWM is industrial mathematics: developing and implementing highly efficient mathematical models and algorithms for topics such as combinatorial optimization, stochastics, and simulation. Since its foundation in 1995, the ITWM has shown great success in building mathematical bridges between applied sciences and concrete applications.
At the core of the Advanced Variant Configuration engine lies the open source constraint solving library Gecode (http://www.gecode.org/). ITWM and SAP together are developing modular extensions to the library to cover the full functional scope of the Advanced Variant Configuration. This collaboration covers a whole number of areas.
Variant tables in Variant Configuration are a key modeling tool for configuration models. They contain the allowed combinations of characteristic values (positive case) or the disallowed combinations in negative variant tables, which have been newly introduced by Advanced Variant Configuration. Both table types can also be used in conditions in object dependencies, for example in the IF part of a constraint restriction. Variant tables can freely mix the different characteristic types of the Advanced Variant Configuration, such as integers, floats, and strings. ITWM has developed cutting-edge algorithms for handling all the mentioned cases. In real-life configuration models, the extensive usage of variant tables, enables performance improvements for table processing of up to two orders of magnitude.
ITWM has developed a whole new library for constraint solving over floating point variables using decimal floating-point arithmetic, instead of the binary floating-point arithmetic which is used by Gecode’s floating point library. A key advantage of this is that master data and user entered values can always be represented exactly. In binary floating points, of the decimal numbers from 0.00 – 0.99, only 0.00, 0.25, 0.5, and 0.75 can be represented exactly. Another key difference to Gecode’s floating point library is that in Advanced Variant Configuration domains for floating point variables both can be discrete (for example, the set “0.1, 0.3, 0.5”), continuous (e.g. the set “0.7 – 0.9”), or a mixture thereof. The floating-point library developed by ITWM supports such generalized variable domains. It also employs advanced algorithms for keeping rounding errors under control, like the ones being used in Gecode. A further key feature developed by ITWM is the possibility to seamlessly mix floating point and integer variables in expressions. For example, one can write “X < Y + 2”, where X is an integer variable and Y is a floating-point variable.
In Advanced Variant Configuration object dependencies can use characteristics of type string. However, Gecode comes with no support for such variables. ITWM has implemented a library for constraint solving over string variables, making use of a dictionary which is mapping string literals to integer keys, similar to the approach within SAP’s HANA database. The key insight here is that computation times can often greatly be reduced, as key syntax elements like “(not) equal”-comparisons or table statements can be evaluated directly on the much more compact integer representation without invoking the more expensive string operations.
After almost 4 years of collaboration, we are convinced that partnering with the ITWM was the best thing SAP could do to streamline the development process of SAP S/4HANA for advanced variant configuration. The Fraunhofer colleagues are the perfect fit – they have the know-how required for developing state-of-the-art algorithms for challenging topics and for providing the highly efficient implementations. They also show excellent software craftmanship, ensuring highest software quality by following a test-driven approach, fuzzy testing, nearly complete code coverage, etc.
As Dr. Petra Meyer, the Area Product Owner of S/4HANA for advanced variant configuration, says
„Working together with the experts of the Fraunhofer Institute Kaiserslautern on new solutions for variant configuration was a great experience!”
Dr. Franz-Josef Pfreundt, says:
“The development of an extended constraint solver engine has been a challenging project with its algorithmic and software engineering requirements. The professional SAP team and our Fraunhofer expert team worked really seamlessly together to create innovative, professional solutions.
As Fraunhofer we are proud to be part of this team and its achievements.”
Dr. Franz-Josef Pfreundt is the head of the ITWM department “High Performance Computing” in Kaiserslautern, Germany (https://www.itwm.fraunhofer.de/en/departments/hpc.html).
High Performance Computing is indispensable for research and economic competitiveness. Basic research in the fields of energy, the material and life sciences, or even climate research is unthinkable today without detailed simulations. This is also true for key areas of the German economy: Whether electronic devices, cars, airplanes, modern medicines, or innovative operational processes – they all have their basis in simulations. High Performance Computing opens the way for new applications in the simulation of complex social phenomena or more demanding tasks in logistics. In close cooperation with industrial and academic partners, the Competence Center for High Performance Computing develops solutions of how the increasingly complex processors and parallel computers can be used efficiently.
For a blog post describing how SAP leverages Gecode in Advanced Variant Configuration, see here (LINK).
For further information on S/4HANA for advanced variant configuration, please go to the following articles:
For further information, please contact us at firstname.lastname@example.org