About: Constraint logic programming is a research topic. Over the lifetime, 4550 publications have been published within this topic receiving 116954 citations.
TL;DR: The primary aim is to provide an accessible, unified framework, within which to present the algorithms including a new path consistency algorithm, to discuss their relationships and the may applications, both realized and potential of network consistency algorithms.
TL;DR: 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.
Abstract: 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
Foreword (Ugo Montanari)
Part I : Foundations
Chapter 1. Introduction (Francesca Rossi, Peter van Beek, Toby Walsh)
Chapter 2. Constraint Satisfaction: An Emerging Paradigm (Eugene C. Freuder, Alan K. Mackworth)
Chapter 3. Constraint Propagation (Christian Bessiere)
Chapter 4. Backtracking Search Algorithms (Peter van Beek)
Chapter 5. Local Search Methods (Holger H. Hoos, Edward Tsang)
Chapter 6. Global Constraints (Willem-Jan van Hoeve, Irit Katriel)
Chapter 7. Tractable Structures for CSPs (Rina Dechter)
Chapter 8. The Complexity of Constraint Languages
(David Cohen, Peter Jeavons)
Chapter 9. Soft Constraints (Pedro Meseguer, Francesca Rossi, Thomas Schiex)
Chapter 10. Symmetry in Constraint Programming
(Ian P. Gent, Karen E. Petrie, Jean-Francois Puget)
Chapter 11. Modelling (Barbara M. Smith)
Part II : Extensions, Languages, and Applications
Chapter 12. Constraint Logic Programming (Kim Marriott, Peter J. Stuckey, Mark Wallace)
Chapter 13. Constraints in Procedural and Concurrent Languages (Thom Fruehwirth, Laurent Michel, Christian Schulte)
Chapter 14. Finite Domain Constraint Programming Systems (Christian Schulte, Mats Carlsson)
Chapter 15. Operations Research Methods in Constraint Programming (John Hooker)
Chapter 16. Continuous and Interval Constraints(Frederic Benhamou, Laurent Granvilliers)
Chapter 17. Constraints over Structured Domains
(Carmen Gervet)
Chapter 18. Randomness and Structure (Carla Gomes, Toby Walsh)
Chapter 19. Temporal CSPs (Manolis Koubarakis)
Chapter 20. Distributed Constraint Programming
(Boi Faltings)
Chapter 21. Uncertainty and Change (Kenneth N. Brown, Ian Miguel)
Chapter 22. Constraint-Based Scheduling and Planning
(Philippe Baptiste, Philippe Laborie, Claude Le Pape, Wim Nuijten)
Chapter 23. Vehicle Routing (Philip Kilby, Paul Shaw)
Chapter 24. Configuration (Ulrich Junker)
Chapter 25. Constraint Applications in Networks
(Helmut Simonis)
Chapter 26. Bioinformatics and Constraints (Rolf Backofen, David Gilbert)
TL;DR: In this article, a class of logic programming languages, called CLP languages, are defined, all of which share the same essential semantic properties and are based on a unified formal semantics.
Abstract: We address the problem of designing programming systems to reason with and about constraints. Taking a logic programming approach, we define a class of programming languages, the CLP languages, all of which share the same essential semantic properties. From a conceptual point of view, CLP programs are highly declarative and are soundly based within a unified framework of formal semantics. This framework not only subsumes that of logic programming, but satisfies the core properties of logic programs more naturally. From a user's point of view, CLP programs have great expressive power due to the constraints which they naturally manipulate. Intuition in the reasoning about programs is enhanced as a result of working directly in the intended domain of discourse. This contrasts with working in the Herbrand Universe wherein every semantic object has to be explicitly coded into a Herbrand term; this enforces reasoning at a primitive level. Finally, from an implementor's point of view, CLP systems can be efficient because of the exploitation of constraint solving techniques over specific domains.
TL;DR: This survey of CLP is to give a systematic description of the major trends in terms of common fundamental concepts and the three main parts cover the theory, implementation issues, and programming for applications.
Abstract: Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. The three main parts cover the theory, implementation issues, and programming for applications.
TL;DR: Van Hentenryck as mentioned in this paper proposes a new approach to solving discrete combinatorial problems using consistency techniques. But this approach is not suitable for many real-world problems, such as disjunctive scheduling, warehouse location, cutting stock car sequencing, and microcode labeling.
Abstract: This book tackles classic problems from operations research and circuit design using a logic programming language embedding consistency techniques, a paradigm emerging from artificial intelligence research. Van Hentenryck proposes a new approach to solving discrete combinatorial problems using these techniques.Logic programming serves as a convenient language for stating combinatorial problems, but its "generate and test" paradigm leads to inefficient programs. Van Hentenryck's approach preserves one of the most useful features of logic programming - the duality of its semantics - yet allows a short development time for the programs while preserving most of the efficiency of special purpose programs written in a procedural language.Embedding consistency techniques in logic programming allows for ease and flexibility of programming and short development time because constraint propagation and tree-search programming are abstracted away from the user. It also enables logic programs to be executed efficiently as consistency techniques permit an active use of constraints to remove combinations of values that cannot appear in a solution Van Hentenryck presents a comprehensive overview of this new approach from its theoretical foundations to its design and implementation, including applications to real life combinatorial problems.The ideas introduced in "Constraint Satisfaction in Logic Programming "have been used successfully to solve more than a dozen practical problems in operations research and circuit design, including disjunctive scheduling, warehouse location, cutting stock car sequencing, and microcode labeling problems.Pascal Van Hentenryck is a member of the research staff at the European Computer Industry Research Centre. "Constraint Satisfaction in Logic Programming" is based on research for the Centre's CHIP project. As an outgrowth of this project, a new language (CHIP) that will include consistency techniques has been developed for commercial use. The book is included in the Logic Programming series edited by Ehud Shapiro.