Solving Configuration Problems with LogicNG
This white paper gives an overview of the open source software library LogicNG developed by BooleWorks and its applications to configuration problems. A PDF version of this paper can be downloaded here.
LogicNG is a Java library for creating, manipulating and solving Boolean and pseudo-Boolean formulas, containing many algorithms and solver engines for efficiently working with large rule sets arising in product configuration. It is used by many companies around the globe to solve their configuration problems, most notably some German premium car manufacturers. The library is open source under the Apache 2 license and published at GitHub.
BooleWorks is a Munich-based company specialized in the application of mathematical logic. The team at BooleWorks is developing algorithms and methods for variant and complexity management. With a strong focus on open source software, "own-your-code", and transparency, all code developed by BooleWorks is either open source or customer-specific. BooleWorks is a tier 1 software supplier for some of the German premium car manufacturers.
BooleWorks is a member of the SofDCar project which is part of a research program sponsored by the Federal Ministry for Economic Affairs and Climate Action of Germany (Bundesministerium der Wirtschaft und Klimaschutz, BMWK). All project partners of the SofDCar Alliance are focusing their research on the challenges of future electric/electronic (E/E) & software architecture in vehicles. Within the SofDCar project, BooleWorks is working both on LogicNG itself and an extension of its use cases to the software world. The library will be rewritten in Rust, enabling its application within the vehicle and as the base of small, memory-efficient containerized services.