Skip to content

v2.18.0

Choose a tag to compare

@rcrida rcrida released this 15 Jun 15:26
· 39 commits to main since this release

What's Changed

Added Propagatable propagation to three more n-ary constraints, each registered in both PropagationFixpointSolver.PROPAGATORS and LocalSolver.Factory.PREPROCESSORS:

  • GlobalCardinalityConstraint: definite/possible/impossible classification per tracked value, pruning domains once a value's cardinality is met or forcing remaining possibles once it can only just be reached.
  • LexConstraint: bounds propagation that prunes domains to enforce lexicographic ordering, handling strict/non-strict operators and forced-equal prefixes.
  • NaryTuplesConstraint: full table GAC (Generalized Arc Consistency) — a tuple is "live" if every value it assigns is still present in the corresponding domain; if no tuple remains live the constraint is infeasible, otherwise each domain is pruned to values used by at least one live tuple.

Full Changelog: v2.17.0...v2.18.0