## Programming with Constraints: An IntroductionThe job of the constraint programmer is to use mathematical constraints to model real world constraints and objects. In this book, Kim Marriott and Peter Stuckey provide the first comprehensive introduction to the discipline of constraint programming and, in particular, constraint logic programming. The book covers the necessary background material from artificial intelligence, logic programming, operations research, and mathematical programming. Topics discussed range from constraint-solving techniques to programming methodologies for constraint programming languages. Because there is not yet a universally used syntax for constraint logic programming languages, the authors present the programs in a way that is independent of any existing programming language. Practical exercises cover how to use the book with a number of existing constraint languages. Related course material in Powerpoint format (Win95) Programs from the book in ASCII format |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

Introduction | 1 |

Constraints | 11 |

Simplification Optimization | 51 |

Finite Constraint Domains | 85 |

Constraint Logic Programs | 133 |

Simple Modelling | 167 |

Using Data Structures | 185 |

Controlling Search | 213 |

Modelling with Finite Domain Constraints | 251 |

Advanced Programming Techniques | 293 |

CLP Systems | 349 |

Constraint Databases | 391 |

Other Constraint Programming Languages | 425 |

449 | |

459 | |

### Common terms and phrases

algorithm answer arc consistency argument arithmetic constraints association list backtracking basic feasible solved behaviour binary binary tree Boolean constraints bottom-up evaluation bounds consistency branch and bound built-in Chapter choicepoint CLP languages CLP program CLP system CLP(R complex compute consider constraint domain Constraint handling rules constraint logic programming constraint programming constraint solver data structures defined definition delay condition determine dynamic scheduling efficient eliminate endif equation equivalent example execution fac(N facts finitely fails fixed gives goal hyper-arc consistency if-then-else implementation incremental inequalities integer iteration Joblist labelling linear arithmetic member(X minimize mode of usage node objective function optimal solution optimization problem predicate primitive constraints propagation rules query real numbers recursive redundant constraints represent return false returns true rewriting satisfiable search space shown in Figure SICStus Prolog simple simplex simplex algorithm simplified derivation tree straints strut sum(N term tree constraints unsatisfiable user-defined constraint valuation domain variables