Build compact CSP models with bounds and relations. Solve scenarios, compare pruning, and export findings. Understand consistency checks through examples, tables, and interactive charts.
Use comma-separated variables, optional custom domains, and one relation per line.
This sample shows a compact model with a small search space and one feasible assignment family.
| Variable | Domain | Role | Example Restriction |
|---|---|---|---|
| A | {1, 2, 3} | Start value | A < B |
| B | {2, 3, 4} | Middle value | B != C |
| C | {1, 3, 4} | Upper value | C > D |
| D | {1, 2, 4} | Lower bound helper | D != 2 |
A constraint satisfaction problem searches for assignments that satisfy every rule simultaneously. This page uses these core measures:
The solver performs depth-first backtracking. Each candidate value is tested against all relevant unary and binary constraints before deeper recursion.
It solves small integer-based constraint satisfaction models. You define variables, domains, and rules, then the page searches for assignments that satisfy every condition together.
You can use equality, inequality, ordering, constant comparisons, and all-different groups. Relations may compare a variable with another variable or an integer constant.
MRV means minimum remaining values. The solver picks the next variable with the smallest active domain, which often reduces branching and speeds up backtracking.
Forward checking prunes future domain values after each assignment. If a future variable loses every allowed value, the branch fails immediately instead of wasting more search steps.
A model becomes infeasible when domains, fixed values, or relations conflict. Tight rules can eliminate every legal assignment, leaving the problem with no consistent solution.
That appears when the enumeration limit is reached. The page stops after the selected maximum number of solutions, so the true total may be larger.
It is best for educational, planning, and moderate-size experiments. Very large CSP instances may require specialized propagation, heuristics, and dedicated optimization engines.
The chart compares effective domain sizes after filtering. When a feasible assignment exists, it also overlays the first returned value for each variable.
Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.