This is a textbook for beginners to the area of constraint programming. This area belongs to the less known software technologies but it rapidly evolves and brings a significant commercial interest.
Constraint programming is an emergent software technology for declarative description and effective solving of large, particularly combinatorial, problems especially in areas of planning and scheduling.
Constraint programming has been successfully applied in numerous domains. Recent applications include computer graphics (to express geometric coherence in the case of scene analysis), natural language processing (construction of efficient parsers), database systems (to ensure and/or restore consistency of the data), operations research problems (like optimization problems), molecular biology (DNA sequencing), business applications (option trading), electrical engineering (to locate faults), circuit design (to compute layouts), etc.
Table of Contents
- Constraint Satisfaction
- Binarization of Constraints
- Systematic Search Algorithms
- Consistency Techniques
- Constraint Propagation
- Variable and Value Ordering
- Reducing Search
- Heuristics and Stochastic Algorithms
- Benchmarking and Algorithm Analysis
- Over-Constrained Problems
- Extending CSP
- Partial Constraint Satisfaction Problems
- Constraint Hierarchies
- Algorithms for Solving Constraint Hierarchies
- Alternative and Generalized Approaches
- Modeling and Solving Real-Life Problems
Link: Read online.