v2.18.0
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