Constraints are everywhere: most computational problems can be described in terms of restrictions imposed on the set of possible solutions, and constraint programming is a problem-solving technique that works by incorporating those restrictions in a programming environment. It draws on methods from combinatorial optimisation and artificial intelligence, and has been successfully applied in a number of fields from scheduling, computational biology, finance, electrical engineering and operations research through to numerical analysis. This textbook for upper-division students provides a thorough and structured account of the main aspects of constraint programming. The author provides many worked examples that illustrate the usefulness and versatility of this approach to programming, as well as many exercises throughout the book that illustrate techniques, test skills and extend the text. Pointers to current research, extensive historical and bibliographic notes, and a comprehensive list of references will also be valuable to professionals in computer science and artificial intelligence.
• A systematic introduction to the main aspects of constraint programming, with many examples showing the usefulness and versatility of this approach to programming • A uniform presentation of constraint solvers and local consistency notions by means of proof rules, and of constraint propagation algorithms by means of generic iteration algorithms • Summarises the main issues in constraint programming, and provides several pointers to the current literature
1. Introduction; 2. Constraint satisfaction problems: Examples; 3. Constraint programming in a nutshell; 4. Some complete constraint solvers; 5. Local consistency notions; 6. Some incomplete constraint solvers; 7. Constraint propagation algorithms; 8. Search; 9. General programming issues; Bibliography; Index.
Review of the hardback: '… a fundamental new way of looking at constraint programming … This book … is a great present to the constraint programming community, which will certainly advance scientifically because of its publication. We need good books to educate new people to Constraint Programming in the best way, and this book is a great way to do this.' Theory and Practice of Logic Programming
Review of the hardback: '… a fundamental new way of looking at constraint programming … done with the highest level of precision and formality, without however making the reading task too heavy, as it is typical of Apt's writing style … I really enjoyed reading Apt's book and am using it for my current course on constraint programming … it is extremely well written … the formal style never makes reading a heavy task … it provides a very original abstract view of the main concepts of constraint propagation and constraint programming, which can be very useful both for beginners who need to understand[ing] these concepts without getting lost, and also for experienced researchers … I have always been stunned by his exceptional ability to be formal and clear. This book is yet another witness for this ability … a great present to the constraint programming community, which will certainly advance scientifically because of its publication. Journal of TLP