CP is often used for and deals well with combinatorial optimisation problems. In such problems, one aims at finding the best (optimal) solution from a set of solutions, maximising or minimising a given objective function. One can define a Constraint Optimisation Problem (COP) by extending the definition of CSP with an objective function obj : Sol → R where Sol is the set of all solutions of (X, D,C).