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.
A SAT solver determines whether a Boolean formula is satisfiable — used in variant management to validate configurations and navigate large variant spaces.
A SAT solver is an algorithm that determines whether a given set of Boolean constraints can all be satisfied simultaneously — answering the question of whether a valid assignment exists for the variables in the formula. SAT stands for Boolean satisfiability problem. In variant management, SAT solvers are applied wherever the variant space Variant Space (ˈver-ē-ənt ˈspās) n. A variant space is the complete set of all valid product variants that can be derived from a product family, defined by its variation points and the constraints between them. is too large to analyze manually: verifying that valid configurations exist, detecting dead features, finding configurations that satisfy a set of requirements, and proving that constraint models are consistent.
A Boolean satisfiability problem is stated as: given a formula of Boolean variables and logical operators (AND, OR, NOT — see Boolean algebra Boolean Algebra (ˈbü-lē-ən ˈal-ji-brə) n. Boolean algebra provides the logical operators (AND, OR, NOT) used to define valid product configurations and constraints in variant management and CPQ. ), does a combination of true/false assignments to the variables exist that makes the entire formula true?
For small formulas, this can be checked by hand. For a product family with 50 configurable characteristics, each with several values, the number of possible combinations exceeds 10¹⁵ — manual enumeration is impossible. SAT solvers use sophisticated search algorithms (DPLL, CDCL) combined with constraint propagation and heuristics to determine satisfiability without examining every combination.
The constraint model of a product family — the rules that define which option combinations are valid — is a Boolean formula. SAT solvers enable several operations on this model that are otherwise intractable:
Configuration validation Given a partial or complete configuration (a set of selected options), is it valid? Does it violate any constraint? SAT solvers answer this in milliseconds for formulas that would take hours to check exhaustively.
Dead feature detection A feature or option is dead if no valid configuration exists in which it appears. Dead features often indicate errors in the constraint model: a rule was added that inadvertently makes a valid option unreachable. SAT solvers detect dead features automatically.
Void product line detection A configuration model is void if no valid configuration exists at all — every combination is ruled out by the constraints. This indicates a fundamental error in the constraint model. SAT solvers verify model satisfiability.
Variant space analysis How many valid configurations exist? What is the full set of valid configurations? What configurations satisfy a given set of requirements? These questions are answered by SAT solvers or closely related tools (BDD-based model counters, #SAT solvers).
Change impact analysis When a constraint rule changes (e.g., a new option is added, or a dependency between options is introduced), what configurations are affected? SAT solvers can determine which previously valid configurations become invalid, and which previously invalid ones become valid.
SAT solvers are integrated into product configurators, CPQ systems CPQ – Configure, Price, Quote (ˌsē-ˌpē-ˈkyü) n. abbr. CPQ stands for Configure, Price, Quote — software that automates sales quoting for configurable products by enforcing product rules, calculating pricing, and generating output. , and PLM tools to power real-time configuration validation. When a sales representative selects an option in a configurator, the system uses a SAT solver (or an equivalent constraint propagation mechanism) to instantly update which remaining options are available, which become mandatory, and which are excluded — without the user needing to understand the underlying constraint logic.
Standalone SAT solver libraries (MiniSat, Glucose, CryptoMiniSat) are embedded in commercial configuration tools. Research in formal product line analysis (as developed in the feature model community) relies heavily on SAT solving and BDD-based methods.