The invention provides a computer-implemented method for generating a
solution to a constraint satisfaction problem (CSP). The method operates
to implement various steps that include defining the CSP problem by a set
of variable having finite domains, and constraints defined over the
variables, solving the CSP by assigning values to said variables that are
consistent with the constraints and debugging the CSP solution. The
debugging of the CSP solution is carried out by iteratively executing a
propagator to reduce the variable domain. Augmenting the constraints is
carried out to supply an explanation for particular values assigned to
the variables, and constraints defined over the variable utilized in the
solution.