CSP solvers - overview
Constraint Satisfaction Problems (CSP) are problems in which the input is a set of variables with discrete domains (possible values) and a set of constraints which those variables values must satisfy. The constraints types are (almost) unlimited. The output is an assignment of a single value to each variable such that the values belong to the initial domains of the variables and that all constraints are satisfied. If no such assignment exists, the output will be an indication that the given problem is unsatisfiable.
Information regarding CSP solvers and applications can be found in IBM HRL CSP solvers group site.