Skip to main content
Tools

What actually is a SAT solver?

SAT solvers check whether a product configuration is valid — and much more. Here is how they work and why modern variant management tools depend on them.

Tools

The engine behind every smart configurator

Most users never see a SAT solver — but every time a product configurator instantly tells you which options are still compatible after your last selection, one is doing the heavy lifting in the background.

The many sides of variant management

Variant Management Variant Management (ˈver-ē-ənt ˈma-nij-mənt) n. Variant management: offering individual customers the best fitting solution with minimum internal complexity — a cross-sectional discipline, not a framework. is a complex field with a wide range of applications. When you start exploring the tools used in this area, one concept appears again and again: SAT solving SAT Solver (ˌes-ˌā-ˈtē ˈsäl-vər) n. A SAT solver determines whether a Boolean formula is satisfiable — used in variant management to validate configurations and navigate large variant spaces. .

If your background is not in computer science, SAT solvers might not be familiar territory. Still, they underpin many product configurators and other variant management solutions — alongside related approaches such as BDDs (Binary Decision Diagrams) Binary Decision Diagram (BDD) (ˌbē-ˌdē-ˈdē) n. A Binary Decision Diagram (BDD) represents all valid configurations of a product family as a compact graph — used in variant management for analysis and dead feature detection. and CSP solvers CSP Solver (ˌsē-ˌes-ˈpē ˈsäl-vər) n. A CSP solver finds variable assignments that satisfy all defined constraints — used when product rules involve numeric, set, or ordering conditions beyond Boolean logic. , which are also used depending on the tool and application.

The reason a dedicated solver is needed — rather than simply checking combinations one by one — is scale. A car with 20 configurable option categories, each offering just five choices, already yields more than 95 trillion theoretical combinations. Enumerating them is not an option. A SAT solver bypasses this entirely: it reasons directly about the rules and either finds a valid assignment or proves that none exists — in milliseconds, for the rule sets typical in product configuration.

In a nutshell, a SAT solver takes all the rules that define the possible variants of a product and processes them. For instance, you might have a rule that says convertibles cannot have a sunroof, or that the sports model of a car requires larger brake discs.

By analyzing these rules, the SAT solver can determine whether any valid (or “satisfyable”) product variants exist at all.

Unlocking Possibilities with SAT Solvers

SAT solvers are not just about checking if something is possible. They can also answer more advanced questions, provided you know how to frame your queries. For example, you might want to know whether it is possible to configure a convertible with leather upholstery. Even if there is no direct rule connecting “convertible” and “leather upholstery”, indirect rules might still apply.

Suppose one rule says leather upholstery is only available in four-seaters, while another specifies that convertibles are only made as two-seaters. In this scenario, the SAT solver would conclude that convertibles with leather upholstery are not possible (at which point you might want to discuss this limitation with the product manager).

In practice, this is exactly what a well-built product configurator does. When a customer’s selection would make the remaining configuration unsatisfiable, the tool does not wait for them to reach a dead end — it proactively greys out the options that have become unavailable, or highlights which rule is blocking a particular combination. The SAT solver runs continuously in the background, making that real-time guidance possible.

There are many SAT solvers available as libraries, making it easy to integrate them into your own projects. If you are interested in experimenting with SAT solvers without any programming, you might find this article at JUWY.de helpful: Understanding variant spaces - First steps with MiniZinc (in German, English version coming soon).

Frequently Asked Questions

What does SAT stand for in “SAT solver”?

SAT stands for “satisfiability” — specifically Boolean satisfiability. A SAT problem asks: given a set of logical rules expressed as Boolean (true/false) conditions, does there exist at least one assignment of values to variables that makes all rules true simultaneously? A SAT solver is the algorithm that finds such an assignment, or proves that none exists. In variant management, the variables are product options (such as VehicleType or Sunroof) and the rules are the constraints that define which combinations are valid.

How do SAT solvers work in product configurators?

A product configurator translates product rules — such as “convertibles cannot have a sunroof” — into Boolean logic. When a user makes a selection, the SAT solver checks whether at least one valid product configuration still exists under all remaining rules. It can also determine which further options remain available for selection, enabling guided selling in real time. This happens without the configurator having to enumerate every possible variant combination manually, which would be computationally infeasible for complex products with hundreds or thousands of interdependent options.

Can SAT solvers detect conflicts that no single rule explicitly forbids?

Yes — detecting indirect conflicts is one of the key strengths of SAT solving. If rule A says “leather upholstery requires a four-seater layout” and rule B says “convertibles are only built as two-seaters”, a SAT solver concludes that a convertible with leather upholstery is impossible, even though no single rule directly prohibits that combination. It reasons over entire chains of interdependent rules simultaneously, which simple lookup tables or checklist-style validation cannot do.

What is the difference between a SAT solver and a constraint solver?

SAT solvers work on problems expressed in pure Boolean (true/false) logic. Constraint solvers handle a broader class of problems, including numeric constraints (e.g. weight must not exceed a limit) and set-valued variables. Many modern tools marketed as “SAT solvers” include constraint programming extensions — these are called SMT solvers (Satisfiability Modulo Theories). For variant management purposes, the distinction matters less than whether the tool can efficiently represent and evaluate your specific product rules and constraint model.

Which SAT solvers are available for experimentation?

Several open-source SAT solvers are freely available, including MiniSAT, Glucose, CaDiCaL, and Kissat. For experimentation without writing low-level solver code, constraint modelling tools such as MiniZinc provide a more accessible starting point — you describe the rules in a readable language and the tool handles the underlying solver. Commercial configurator platforms used in automotive or industrial manufacturing typically bundle their own optimised SAT or constraint satisfaction engines.

Related article

CPQ Is Only Half the Battle

CPQ streamlines sales — but covers only one phase. Variant management spans the full lifecycle: requirements, engineering, production, and aftersales.