The main goal of this project is to integrate Gecode as the Mozart constraint services provider, namely, to replace the Mozart constraint layer with Gecode and take advantage of its advanced features like batch recomputation.
At this time we have a working version of Mozart that uses Gecode for constraint programming. The user can program a constraint problem solution in the usual Mozart way and use the built-in search engines to obtain a solution. This implementation is in an alpha state and much of the Mozart semantics are not yet supported. We are currently working on make it work with several guidelines in mind:
This version of Mozart is maintained as a branch of the Mozart repository. You can check it out the sources by doing:
svn checkout https://gforge.info.ucl.ac.be/svn/mozart/branches/mozart-gecode
svn checkout https://gforge.info.ucl.ac.be/svn/mozart/branches/mozart-gecode cd mozart-gecode/mozart ./configure --prefix=/usr --disable-contrib-micq make && make install
If Gecode was installed in a non-standard prefix you should do the following:
export LD_LIBRARY_PATH=path/to/your/gecode/installation/lib export PKG_CONFIG_PATH=path/to/your/gecode/installation/lib/pkgconfig
If you have another distribution of Mozart you can change the installation directories without no problem. Just remember to include the right Mozart version when using from the OPI. An example of a .emacs file should be:
(add-to-list 'load-path "/path/where/mozart-gecode/was/installed/share/elisp") (require 'oz)
There are some examples of classical problems in constraint programming in the mozart-gecode/mozart/share/examples/{gfd,gfs} directories. At this time we have tested this in Linux and Mac OS X.