π§© Constraint Solving POTD:Product Configuration β Constraint Satisfaction at the Point of Sale #25088
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Constraint Solving β Problem of the Day. A newer discussion is available at Discussion #25299. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Category: Configuration | Date: 2026-04-07
Problem Statement
A product configurator presents a user with choices across several feature variables, each with a finite domain of options. Compatibility rules eliminate forbidden combinations. The task is to ensure every partial selection the user makes can be extended to a complete valid configuration β and ideally to find the one that maximises some objective (e.g., performance-per-dollar).
Concrete Instance
Configure a desktop PC from five feature groups:
cpui5,i7,r5,r9ram8GB,16GB,32GB,64GBgpuintegrated,gtx3060,rtx4090storagessd256,ssd512,ssd1tbpsu450w,650w,850wCompatibility constraints (a sample):
Trade-offs: Handles objectives and budgets cleanly. LP relaxation gives good bounds. But one-hot explosion grows the model for large catalogues (millions of SKUs). Propagation is weaker than CP at the combinatorial level.
Approach 3 β Knowledge Compilation (BDD / d-DNNF)
For interactive configurators where sub-millisecond response is critical, the entire constraint network can be compiled offline into a Binary Decision Diagram (BDD) or a decomposable negation normal form (d-DNNF). At query time, inference is linear in the compiled structure size.
Trade-offs: Extremely fast online phase; offline compilation can be expensive and the compiled form may be exponentially large in the worst case. Best suited when the catalogue is fixed and queries are frequent (e.g., a web shop serving millions of sessions).
Example Model β MiniZinc (CP approach)
Key Techniques
1. Arc Consistency (AC-3 / AC-4) for Propagation
The interactive use-case demands that when a user picks an option, all now-impossible options are immediately removed from other features. Arc consistency enforces that for every remaining value
vof variableX, there exists at least one support in every neighbouring variable's current domain. AC-3 runs inO(edΒ³)foreedges and domain sizedβ fast enough for real-time UI updates.2. Implication Graphs & Unit Propagation
When constraints are expressed as implications (
a β b,a β Β¬c), they form an implication graph. Selecting an option triggers a cascade of forced deductions β exactly unit propagation from SAT. Many commercial configurators compile rules into Horn clauses and use dedicated unit propagation engines for this reason.3. Symmetry Breaking & Canonicalisation
Large catalogues often contain nearly-identical products (e.g., different RAM modules with the same capacity but different brands). Grouping equivalent options and breaking symmetry reduces the search space significantly. In the MIP model, symmetry between identical options can be broken by lexicographic ordering constraints on their indicator variables.
4. Consistency Maintenance during Interactive Configuration
A key property beyond satisfiability is backtrack-free guarantee: every option still shown to the user must be completable to a full valid configuration. This requires full lookahead (enforcing arc consistency after each selection), not just filtering the locally infeasible options. This is sometimes called the complete configuration property.
Challenge Corner
References
AddBoolOr,AddImplication, andAddAllowedAssignmentsprimitives map directly to configuration constraints.Beta Was this translation helpful? Give feedback.
All reactions