Constraint Programming Research Group:
Constraint programming enables the solution of different problems by simply stating the constraints. It is able to model and solve different combinatorial problems such as scheduling and optimization problems.The different existing constraint solvers are able to generate and use constraints in order to prune domains until a solution is found.In order to eliminate the black box approach when it comes to constraint solvers, Constraint Handling Rules (CHR) was proposed. It allows its users to state their own rules. Although of its initial purpose to write constraint solvers, CHR has developed into a general purpose language over the past two decades.