Constraint Processing


Book Description

Constraint reasoning has matured over the last three decades with contributions from a diverse community of researchers in artificial intelligence, databases and programming languages, operations research, management science, and applied mathematics. In Constraint Processing, Rina Dechter synthesizes these contributions, as well as her own significant work, to provide the first comprehensive examination of the theory that underlies constraint processing algorithms.




Principles of Constraint Programming


Book Description

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.




Handbook of Constraint Programming


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




Constraint Processing


Book Description

Constraint satisfaction is a simple but powerful tool. Constraints identify the impossible and reduce the realm of possibilities to effectively focus on the possible, allowing for a natural declarative formulation of what must be satisfied, without expressing how. The field of constraint reasoning has matured over the last three decades with contributions from a diverse community of researchers in artificial intelligence, databases and programming languages, operations research, management science, and applied mathematics. Today, constraint problems are used to model cognitive tasks in vision, language comprehension, default reasoning, diagnosis, scheduling, temporal and spatial reasoning. In Constraint Processing, Rina Dechter, synthesizes these contributions, along with her own significant work, to provide the first comprehensive examination of the theory that underlies constraint processing algorithms. Throughout, she focuses on fundamental tools and principles, emphasizing the representation and analysis of algorithms. - Examines the basic practical aspects of each topic and then tackles more advanced issues, including current research challenges - Builds the reader's understanding with definitions, examples, theory, algorithms and complexity analysis - Synthesizes three decades of researchers work on constraint processing in AI, databases and programming languages, operations research, management science, and applied mathematics




Constraint Processing


Book Description

This volume contains 15 thoroughly refereed full research papers selected from the presentations given during two workshops on constraint processing; these workshops were held in conjunction with the International Congress on Computer Systems and Applied Mathematics (St. Petersburg, Russia, July 1993) and the European Conference on Artificial Intelligence (Amsterdam, The Netherlands, August 1994). This volume essentially contributes to integrating the different approaches to the young and very active field of constraint processing by offering papers from logic programming, knowledge representation, expert systems, theoretical computer science, operations research, and other fields. Among contributions are two surveys, by Podelski and van Roy and by Freuder.




Constraint-Based Scheduling


Book Description

Constraint Programming is a problem-solving paradigm that establishes a clear distinction between two pivotal aspects of a problem: (1) a precise definition of the constraints that define the problem to be solved and (2) the algorithms and heuristics enabling the selection of decisions to solve the problem. It is because of these capabilities that Constraint Programming is increasingly being employed as a problem-solving tool to solve scheduling problems. Hence the development of Constraint-Based Scheduling as a field of study. The aim of this book is to provide an overview of the most widely used Constraint-Based Scheduling techniques. Following the principles of Constraint Programming, the book consists of three distinct parts: The first chapter introduces the basic principles of Constraint Programming and provides a model of the constraints that are the most often encountered in scheduling problems. Chapters 2, 3, 4, and 5 are focused on the propagation of resource constraints, which usually are responsible for the "hardness" of the scheduling problem. Chapters 6, 7, and 8 are dedicated to the resolution of several scheduling problems. These examples illustrate the use and the practical efficiency of the constraint propagation methods of the previous chapters. They also show that besides constraint propagation, the exploration of the search space must be carefully designed, taking into account specific properties of the considered problem (e.g., dominance relations, symmetries, possible use of decomposition rules). Chapter 9 mentions various extensions of the model and presents promising research directions.




Constraint Solving and Planning with Picat


Book Description

This book introduces a new logic-based multi-paradigm programming language that integrates logic programming, functional programming, dynamic programming with tabling, and scripting, for use in solving combinatorial search problems, including CP, SAT, and MIP (mixed integer programming) based solver modules, and a module for planning that is implemented using tabling. The book is useful for undergraduate and graduate students, researchers, and practitioners.




Principles and Practice of Constraint Programming


Book Description

This book constitutes the refereed conference proceedings of the 23nd International Conference on Principles and Practice of Constraint Programming, CP 2017, held in Melbourne, Australia from August 28, 2017 until September 1, 2017. The conference is colocated with the 20th International Conference on Theory and Applications of Satisfiability Testing (SAT 2017) and the 33rd International Conference on Logic Programming. The 46 revised full papers presented were carefully reviewed and selected from 115 submissions. The scope of the contributions includes all aspects of computing with constraints, including theory, algorithms, environments, languages, models, systems, and applications such as decision making, resource al location, scheduling, configuration, and planning. The papers are grouped into the following tracks: technical track; application track; machine learning & CP track; operations research & CP track; satisfiability & CP track, test and verification & CP track; journal & sister conference track.




Constraint Processing


Book Description

This volume contains 15 thoroughly refereed full research papers selected from the presentations given during two workshops on constraint processing; these workshops were held in conjunction with the International Congress on Computer Systems and Applied Mathematics (St. Petersburg, Russia, July 1993) and the European Conference on Artificial Intelligence (Amsterdam, The Netherlands, August 1994). This volume essentially contributes to integrating the different approaches to the young and very active field of constraint processing by offering papers from logic programming, knowledge representation, expert systems, theoretical computer science, operations research, and other fields. Among contributions are two surveys, by Podelski and van Roy and by Freuder.




Principles and Practice of Constraint Programming


Book Description

This book constitutes the proceedings of the 26th International Conference on Principles and Practice of Constraint Programming, CP 2020, held in Louvain-la-Neuve, Belgium, in September 2020. The conference was held virtually due to the COVID-19 pandemic. The 55 full papers presented in this volume were carefully reviewed and selected from 122 submissions. They deal with all aspects of computing with constraints including theory, algorithms, environments, languages, models, systems, and applications such as decision making, resource allocation, scheduling, configuration, and planning. The papers were organized according to the following topics/tracks: technical track; application track; and CP and data science and machine learning.