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.
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:
git clone git://github.com/ggutierrez/mozart2-vm.git
git clone git://github.com/ggutierrez/mozart2-vm.git cd mozart2-vm git checkout css mkdir build && cd build cmake -DBUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/path/to/installation/dir .. make
This Mozart virtual machine depends on Gecode 3.7.3 in order to work. If you already have the Gecode library statically compilled, then you can avoid its compilation by adding the installation dir to cmake.
cmake -DBUILD_TYPE=Debug -DGECODE_INSTALL_DIR=/path/to/gecode/installation ..
You can find weekly reports in google-drive: Css Reports
Goal | Member | Todo | Status |
---|---|---|---|
Interface with gecode spaces (Gecode::space) | ggutierrez | … | done |
Interface ConstraintVars | ggutierrez | … | done |
Interface IntVarLike | ggutierrez | … | done |
Finite domain variable implementation FDB module (Gecode::IntVar) | ggutierrez | inf, sup, | in progress |
Finite domain propagator implementation FDP module | carealejo, ggfarhat, dmontenegro | watch.min, watch.max, watch.size, sum, sumC, sumCN, sumAC, sumACN, sumD, sumCD, distinct, distinctB, distinctD, distinctOffset, distinct2, atMost, atLeast, exactly, element, conj, disj, exor, nega, impl, equi, reified.int, reified.dom, reified.sum, reified.sumC, reified.sumCN, reified.sumAC, reified.sumACN, reified.distance, reified.card, plus, plusD, minus, minusD, times, timesD, power, divI, modI, divD, modD, max, min, distance, less, lesseq, greater, greatereq, disjoint, disjointC, tasksOverlap | in progress |
Garbage Collection implementation | anfelbar | … | in progress |
Finite domain distributor implementation | amautave | FD.distribute, FD.choose, FD.assign | in progress |
Search engine implementation | miavisa | … | in progress |
Explorer implementation (Gecode::Gist) | miavisa, … | … | wait |
Interface SetVarLike | null | … | wait |
Finite sets variable implementation FSB module (Gecode::SetVar) | null | … | wait |
Finite sets propagator implementation FSP module | null | … | wait |
Finite sets distributor implementation | null | … | wait |
Interface BoolVarLike | null | … | wait |
Boolean variable implementation BDB module (Gecode::BoolVar) | null | … | wait |
Boolean propagator implementation BDP module | null | … | wait |
Boolean distributor implementation | null | … | wait |