Constraint programming is an approach to modeling and solving combinatorial problems that has proven succesful in many applications. Building on techniques developed in AI, logic programming and operations research, constraint programming is based on an abstraction that decomposes the problem solver into a reusable constraint engine and a declarative program modeling the problem.
This book is concerned with the architecture and implementation of constraint engines. The author’s main contribution is that constraint services, such as search and combinators, are made programmable; this is achieved by devising computation spaces as simple abstraction for programming constraint services at a high level. State-of-the-art and novel search strategies, such as visual interactive search and parallel search are covered.
The book is indispensible reading for anyone seriously interested in constraint technology.