Logic-Based 0–1 Constraint Programming


Book Description

A logic view of 0-1 integer programming problems, providing new insights into the structure of problems that can lead the researcher to more effective solution techniques depending on the problem class. Operations research techniques are integrated into a logic programming environment. The first monographic treatment that begins to unify these two methodological approaches. Logic-based methods for modelling and solving combinatorial problems have recently started to play a significant role in both theory and practice. The application of logic to combinatorial problems has a dual aspect. On one hand, constraint logic programming allows one to declaratively model combinatorial problems over an appropriate constraint domain, the problems then being solved by a corresponding constraint solver. Besides being a high-level declarative interface to the constraint solver, the logic programming language allows one also to implement those subproblems that cannot be naturally expressed with constraints. On the other hand, logic-based methods can be used as a constraint solving technique within a constraint solver for combinatorial problems modelled as 0-1 integer programs.




Constraint Logic Programming using Eclipse


Book Description

Constraint logic programming lies at the intersection of logic programming, optimisation and artificial intelligence. It has proved a successful tool in many areas including production planning, transportation scheduling, numerical analysis and bioinformatics. Eclipse is one of the leading software systems that realise its underlying methodology. Eclipse is exploited commercially by Cisco, and is freely available and used for teaching and research in over 500 universities. This book has a two-fold purpose. It's an introduction to constraint programming, appropriate for one-semester courses for upper undergraduate or graduate students in computer science or for programmers wishing to master the practical aspects of constraint programming. By the end of the book, the reader will be able to understand and write constraint programs that solve complex problems. Second, it provides a systematic introduction to the Eclipse system through carefully-chosen examples that guide the reader through the language and illustrate its power, versatility and utility.




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 Satisfaction in Logic Programming


Book Description

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.




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 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.




Logic Programming


Book Description

Topics covered: Theoretical Foundations. Higher-Order Logics. Non-Monotonic Reasoning. Programming Methodology. Programming Environments. Extensions to Logic Programming. Constraint Satisfaction. Meta-Programming. Language Design and Constructs. Implementation of Logic Programming Languages. Compilation Techniques. Architectures. Parallelism. Reasoning about Programs. Deductive Databases. Applications. 13-16 June 1995, Tokyo, Japan ICLP, which is sponsored by the Association for Logic Programming, is one of two major annual international conferences reporting recent research results in logic programming. Logic programming originates from the discovery that a subset of predicate logic could be given a procedural interpretation which was first embodied in the programming language, Prolog. The unique features of logic programming make it appealing for numerous applications in artificial intelligence, computer-aided design and verification, databases, and operations research, and for exploring parallel and concurrent computing. The last two decades have witnessed substantial developments in this field from its foundation to implementation, applications, and the exploration of new language designs. Topics covered: Theoretical Foundations. Higher-Order Logics. Non-Monotonic Reasoning. Programming Methodology. Programming Environments. Extensions to Logic Programming. Constraint Satisfaction. Meta-Programming. Language Design and Constructs. Implementation of Logic Programming Languages. Compilation Techniques. Architectures. Parallelism. Reasoning about Programs. Deductive Databases. Applications. Logic Programming series, Research Reports and Notes




Logic-Based Methods for Optimization


Book Description

A pioneering look at the fundamental role of logic in optimizationand constraint satisfaction While recent efforts to combine optimization and constraintsatisfaction have received considerable attention, little has beensaid about using logic in optimization as the key to unifying thetwo fields. Logic-Based Methods for Optimization develops for thefirst time a comprehensive conceptual framework for integratingoptimization and constraint satisfaction, then goes a step furtherand shows how extending logical inference to optimization allowsfor more powerful as well as flexible modeling and solutiontechniques. Designed to be easily accessible to industryprofessionals and academics in both operations research andartificial intelligence, the book provides a wealth of examples aswell as elegant techniques and modeling frameworks ready forimplementation. Timely, original, and thought-provoking,Logic-Based Methods for Optimization: * Demonstrates the advantages of combining the techniques inproblem solving * Offers tutorials in constraint satisfaction/constraintprogramming and logical inference * Clearly explains such concepts as relaxation, cutting planes,nonserial dynamic programming, and Bender's decomposition * Reviews the necessary technologies for software developersseeking to combine the two techniques * Features extensive references to important computationalstudies * And much more




Advances in Computational and Stochastic Optimization, Logic Programming, and Heuristic Search


Book Description

Computer Science and Operations Research continue to have a synergistic relationship and this book - as a part of the Operations Research and Computer Science Interface Series - sits squarely in the center of the confluence of these two technical research communities. The research presented in the volume is evidence of the expanding frontiers of these two intersecting disciplines and provides researchers and practitioners with new work in the areas of logic programming, stochastic optimization, heuristic search and post-solution analysis for integer programs. The chapter topics span the spectrum of application level. Some of the chapters are highly applied and others represent work in which the application potential is only beginning. In addition, each chapter contains expository material and reviews of the literature designed to enhance the participation of the reader in this expanding interface.




Handbook on Modelling for Discrete Optimization


Book Description

This book aims to demonstrate and detail the pervasive nature of Discrete Optimization. The handbook couples the difficult, critical-thinking aspects of mathematical modeling with the hot area of discrete optimization. It is done with an academic treatment outlining the state-of-the-art for researchers across the domains of the Computer Science, Math Programming, Applied Mathematics, Engineering, and Operations Research. The book utilizes the tools of mathematical modeling, optimization, and integer programming to solve a broad range of modern problems.