-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving global constraints #303
Conversation
I changed the pull request to be more general changes to global constraints and pushed some optimizations in decompositions as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GCC is fine and can be fast-tracked in a separate merge if needed.
The changes to the existing decompositions are not improvements imho
As no comments remain here, I assume it can be merged as is? |
Based on the discussion in #256, changed the global cardinality constraint (GlobalCardinalityCount()) to make it more general.
Specifically, in the previous version the user had to define the exact amount of times all values appear, and could not define it only for a subset of them.
The new GlobalCardinalityCount() of this PR is in align with http://sofdem.github.io/gccat/gccat/Cglobal_cardinality.html and also with what minizinc has https://www.minizinc.org/doc-2.5.5/en/lib-globals.html. In addition, the new version complies with hakan's description in http://www.hakank.org/bprolog/global_cardinality.pl
I also checked in all the examples, if we used anywhere the GlobalCardinalityCount constraint, in order to change to the new syntax, but did not find any case.