Constraint Programming is a problem-solving paradigm that establishes a clear distinction between two pivotal aspects of a problem: (1) a precise definition of the constraints that define the problem to be solved and (2) the algorithms and heuristics enabling the selection of decisions to solve the problem.
It is because of these capabilities that Constraint Programming is increasingly being employed as a problem-solving tool to solve scheduling...