Constraint programming is a mathematical programming paradigm that exploits constraint satisfaction techniques. It is nowadays a mature and effective technology for tackling combinatorial optimization problems. Its basic features are: (i) declarative problem modeling, (ii) propagation of the effects of decisions taken during search and (iii) efficient search for feasible solutions. Recently, constraint programming has been proven very effective for attacking real-world problems especially if combined with operations research techniques such as branch and bound and metaheuristics. This tutorial aims at introducing the fundamental concepts of constraint programming and providing a brief overview of its main characteristics as a solving technology, trying to underline its possible links and integrations with approximate techniques.
Constraint satisfaction problems, Constrained optimization, Search, Constraint programming
Michela Milano (ed.). (2004)
Constraint and integer programming. Kluwer Academic Publisher.