Programming Constraint Services

High-Level Programming of Standard and New Constraint Services

  • Christian Schulte

Part of the Lecture Notes in Computer Science book series (LNCS, volume 2302)

Also part of the Lecture Notes in Artificial Intelligence book sub series (LNAI, volume 2302)

Table of contents

  1. Front Matter
    Pages I-XII
  2. Pages 1-7
  3. Pages 15-27
  4. Pages 29-44
  5. Pages 45-54
  6. Pages 55-58
  7. Pages 59-67
  8. Pages 79-91
  9. Pages 93-104
  10. Pages 105-116
  11. Pages 117-120
  12. Pages 121-141
  13. Pages 153-156
  14. Back Matter
    Pages 157-176

About this book


Constraint Programming is an approach for modeling and solving combi- torial problems that has proven successful in many applications. It builds on techniques developed in Arti?cial Intelligence, Logic Programming, and - erations Research. Key techniques are constraint propagation and heuristic search. Constraint Programming is based on an abstraction that decomposes a problem solver into a reusable constraint engine and a declarative program modeling the problem. The constraint engine implements the required pr- agation and search algorithms. It can be realized as a library for a general purpose programming language (e.g. C++), as an extension of an existing language (e.g. Prolog), or as a system with its own dedicated language. The present book is concerned with the architecture and implementation of constraint engines. It presents a new, concurrent architecture that is far superior to the sequential architecture underlying Prolog. The new archit- ture is based on concurrent search with copying and recomputation rather than sequential search with trailing and backtracking. One advantage of the concurrent approach is that it accommodates any search strategy. Furth- more, it considerably simpli?es the implementation of constraint propagation algorithms since it eliminates the need to account for trailing and backtra- ing. The book investigates an expressive generalization of the concurrent - chitecture that accommodates propagation-preserving combinators (known as deep guard combinators) for negation, disjunction, implication, and re- cation of constraint propagators. Such combinators are beyond the scope of Prolog’s technology. In the concurrent approach they can be obtained with a re?ective encapsulation primitive.


AI Planning Combinatorial Optimization Constraint Combinators Constraint Logical Programming Constraint Technology Constraint-Based Modeling Constraints Constraitn Solving Heuristic Search Search Strategies constraint programming programming

Editors and affiliations

  • Christian Schulte
    • 1
  1. 1.Programming Systems LaboratorySaarland UniversitySaarbrückenGermany

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag Berlin Heidelberg 2002
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Springer Book Archive
  • Print ISBN 978-3-540-43371-2
  • Online ISBN 978-3-540-45945-3
  • Series Print ISSN 0302-9743
  • Buy this book on publisher's site
Industry Sectors
IT & Software