astra-uu-se / atlantis

CBLS solver
2 stars 1 forks source link

Feature/constraints #65

Closed maartenflippo closed 2 years ago

maartenflippo commented 2 years ago

This pull request tracks the implementation and identification of all the integer flatzinc constraints listed here: https://www.minizinc.org/doc-2.5.5/en/lib-flatzinc.html#ch-lib-flatzinc (except for set_in).

maartenflippo commented 2 years ago

The constraints from the list are now implemented, but has resulted in increased build times (almost double). I kept to the convention of 1 class per file, but perhaps for some nodes it makes sense to merge their implementations into single cpp files. That should cut down on compilation times at least a bit. Let me know if that is a good idea, if that needs to happen on this branch or if we can live with this for now.

maartenflippo commented 2 years ago

Running a couple of models I have identified I don't register variables with their imposed domains in the propagation engine. This breaks the AllDifferent implementation. I'll post another comment here when that is fixed (and try to figure out how to test that well).

maartenflippo commented 2 years ago

All seems good now.