Book description
Constraint programming is a powerful paradigm for solving combinatorial search problems that draws on a wide range of techniques from artificial intelligence, computer science, databases, programming languages, and operations research. Constraint programming is currently applied with success to many domains, such as scheduling, planning, vehicle routing, configuration, networks, and bioinformatics.The aim of this handbook is to capture the full breadth and depth of the constraint programming field and to be encyclopedic in its scope and coverage. While there are several excellent books on constraint programming, such books necessarily focus on the main notions and techniques and cannot cover also extensions, applications, and languages. The handbook gives a reasonably complete coverage of all these lines of work, based on constraint programming, so that a reader can have a rather precise idea of the whole field and its potential. Of course each line of work is dealt with in a survey-like style, where some details may be neglected in favor of coverage. However, the extensive bibliography of each chapter will help the interested readers to find suitable sources for the missing details. Each chapter of the handbook is intended to be a self-contained survey of a topic, and is written by one or more authors who are leading researchers in the area.The intended audience of the handbook is researchers, graduate students, higher-year undergraduates and practitioners who wish to learn about the state-of-the-art in constraint programming. No prior knowledge about the field is necessary to be able to read the chapters and gather useful knowledge. Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.The handbook is organized in two parts. The first part covers the basic foundations of constraint programming, including the history, the notion of constraint propagation, basic search methods, global constraints, tractability and computational complexity, and important issues in modeling a problem as a constraint problem. The second part covers constraint languages and solver, several useful extensions to the basic framework (such as interval constraints, structured domains, and distributed CSPs), and successful application areas for constraint programming.- Covers the whole field of constraint programming- Survey-style chapters- Five chapters on applications
Table of contents
- Cover image
- Title page
- Table of Contents
- Foundations of Artificial Intelligence
- Front Matter
- Copyright page
- Foreword
- Editors
- Contributors
- Chapter 1: Introduction
- Chapter 2: Constraint Satisfaction: An Emerging Paradigm
- Chapter 3: Constraint Propagation
- Chapter 4: Backtracking Search Algorithms
- Chapter 5: Local Search Methods
- Chapter 6: Global Constraints
- Chapter 7: Tractable Structures for Constraint Satisfaction Problems
- Chapter 8: The Complexity of Constraint Languages
- Chapter 9: Soft Constraints
-
Chapter 10: Symmetry in Constraint Programming
- 10.1 Symmetries and Group Theory
- 10.2 Definitions
- 10.3 Reformulation
- 10.4 Adding Constraints Before Search
- 10.5 Dynamic Symmetry Breaking Methods
- 10.6 Combinations of Symmetry Breaking Methods
- 10.7 Successful Applications
- 10.8 Symmetry Expression and Detection
- 10.9 Further Research Themes
- 10.10 Conclusions
- Acknowledgments
-
Chapter 11: Modelling
- 11.1 Preliminaries
- 11.2 Representing a Problem
- 11.3 Propagation and Search
- 11.4 Viewpoints
- 11.5 Expressing the Constraints
- 11.6 Auxiliary Variables
- 11.7 Implied Constraints
- 11.8 Reformulations of CSPs
- 11.9 Combining Viewpoints
- 11.10 Symmetry and Modelling
- 11.11 Optimization Problems
- 11.12 Supporting Modelling and Reformulation
- Acknowledgements
- Chapter 12: Constraint Logic Programming
- Chapter 13: Constraints in Procedural and Concurrent Languages
- Chapter 14: Finite Domain Constraint Programming Systems
-
Chapter 15: Operations Research Methods in Constraint Programming
- 15.1 Schemes for Incorporating OR into CP
- 15.2 Plan of the Chapter
- 15.3 Linear Programming
- 15.4 Mixed Integer/Linear Modeling
- 15.5 Cutting Planes
- 15.6 Relaxation of Global Constraints
- 15.7 Relaxation of Piecewise Linear and Disjunctive Constraints
- 15.8 Lagrangean Relaxation
- 15.9 Dynamic Programming
- 15.10 Branch-and-Price Methods
- 15.11 Benders Decomposition
- 15.12 Toward Integration of CP and OR
- Chapter 16: Continuous and Interval Constraints
-
Chapter 17: Constraints over Structured Domains
- 17.1 History and Applications
- 17.2 Constraints over Regular and Constructed Sets
- 17.3 Constraints over Finite Set Intervals
- 17.4 Influential Extensions to Subset Bound Solvers
- 17.5 Constraints over Maps, Relations and Graphs
- 17.6 Constraints over Lattices and Hierarchical Trees
- 17.7 Implementation Aspects
- 17.8 Applications
- 17.9 Further Topics
- Acknowledgements
- Chapter 18: Randomness and Structure
- Chapter 19: Temporal CSPs
- Chapter 20: Distributed Constraint Programming
- Chapter 21: Uncertainty and Change
- Chapter 22: Constraint-Based Scheduling and Planning
- Chapter 23: Vehicle Routing
- Chapter 24: Configuration
- Chapter 25: Constraint Applications in Networks
- Chapter 26: Bioinformatics and Constraints
- Index
Product information
- Title: Handbook of Constraint Programming
- Author(s):
- Release date: August 2006
- Publisher(s): Elsevier Science
- ISBN: 9780080463803
You might also like
book
Handbook of Data Structures and Applications, 2nd Edition
This book provides a comprehensive survey of data structures of various types. The second edition has …
book
Model Building in Mathematical Programming, 5th Edition
The 5th edition of Model Building in Mathematical Programming discusses the general principles of model building …
book
Programming Embedded Systems, 2nd Edition
If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded …
book
Essential Algorithms, 2nd Edition
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and …