While finite domain constraints had an experimental status in Oz 1, Oz 2 now provides a rich set of propagators for the programmer. The performance of the system is consolidated and the functionality extended.
A first introduction to problem solving with finite domain constraints can be found in a draft section of An Oz Primer. The Oz programs are also available.
The finite domain module has been restructured. This leads to the renaming of many propagators in the module FD. The structure is as follows.
FD.reflect
)
FD.watch
)
FD.reified
)
FD.schedule
)
A variety of propagators and distribution strategies are dedicated to scheduling applications. These include techniques from Operations Research. Oz has been applied already to solve hard OR benchmarks in the area of job-shop scheduling as well as large problems coming from real-world applications. A workbench exists which allows to experiment with different scheduling strategies. More documentation on scheduling is in preparation.
Distribution strategies can be easily written using a generic mechanism.
Non-linear constraints are not delayed by default anymore.
The domain descriptions can contain a complement operator compl now.
Further information on the new finite domain module can be found in a chapter of the Oz Standard Modules.