Constraint programming
Abstract
There has been lot of interest lately from people solving constrained optimization
problems for Constraint Programming (CP). Constraint programming cannot be described
as a technique by itself but perhaps better as a class of computer languages tailored to the expression and resolution of problems which are non-deterministic in nature, with a
fast program developmentand efficient runtime performances. Constraint programming derives from logic programming, operational research and artificial intelligence. Logic programming offers the general non-deterministic host language which accomodates dedicated constraint solvers from OR and AI suchas linear programming or constraint satisfaction techniques. In this paper, we first review how pure logic programming languages evolved into Constraint Logic Programming (CLP) languages, bringing to light the interface between logic programming and constraint solvers. Some extra attention is given to a specific class of constraint solving techniques which have been developed in the Constraint Satisfaction Problem framework and which are currently used in most CLP languages to solve constrained problems in finite domains. Wefinally conclude by an overview of some existing CP languages, with some examples taken from scheduling.
