Programming with Constraints: an Introduction
Kim Marriott and Peter J. Stuckey
Course Material
The programs defined in the book as well as the goals discussed are
included here, chapter by chapter. They are related by a one
line comment to the book. The set of programs should expand slowly.
CLP(R) Programs
These are the closest to the programs appearing in the book. CLP(R)
does not support finite domains so Chapter 8 is ommitted and parts of
Chapter 9 do not function.
ECLiPSe Programs
ECLiPSE has a well developed finite domain solver and a rational
solver without simplifier.
The programs in Chapter 8 of the book are closest to ECliPSe.
The rational minimization cant handle non-linear constraints. The lack of
simplifier is a bit painful too!
SICStus Programs
SICStus 3.5 has a finite domain solver library
and rational and floating point solver library (with simplifier).
I have had problems with the rational and floating point solver libraries
and quite a few queries dont run. This is usually a "non_normalized" error.
The examples use the rational solver which for me caused less
"non_normalized" errors. For some reason the cumulative constraint
examples in Chapter 8 dont run (they used to!) and
there seems some other strange behaviour by the finite domain solver.
These problems seem to mostly disappear with version 3.6
The programs execute as explained in the book for the closest version,
this is CLP(R) for real constraints and ECLiPSe for finite domain
constraints.
There were a few errors that slipped by, see the files
themselves for details.
If you have any comments or fixes for the files feel free
to email me at
pstuckey@unimelb.edu.au.
Also available:
Powerpoint course material for the book