constraintsolving
Constraint solving is a field in computer science focused on finding assignments to variables that satisfy a set of constraints. A constraint-satisfaction problem (CSP) consists of variables, each with a domain of possible values, and constraints that specify allowable combinations of values. A solution assigns to every variable a value from its domain such that all constraints hold. CSPs model a wide range of problems, including scheduling, timetabling, resource allocation, and configuration.
Solving techniques combine constraint propagation and search. Constraint propagation removes values from variable domains that cannot
Problems can be solved for existence of a solution, for a complete set of solutions, or for
Languages and tools in constraint solving include MiniZinc and Essence for modeling, and solvers such as Choco,