v2.16.0
What's new
SumConstraint bounds propagation
For each variable in a sumConstraint, tightens its domain to the values that could still participate in a satisfying sum given the current bounds of the other variables. Supports EQ, LEQ, and GEQ operators. Applied in both the preprocessing fixpoint and the MAC inference during backtracking.
MagicSquare: 3.9 s / 29 781 nodes → 0.16 s / 10 nodes (24× faster)
Propagation fixpoint extended
PropagationFixpoint now includes SumConstraint bounds propagation alongside AC3 and AllDiff GAC. All three propagators run in a combined loop until none makes further progress.
Refactoring: Propagatable interface + ConsistencyFixpoint utility
The identical fixpoint loop shared by AllDiffConsistency, SumConsistency, and CumulativeConsistency has been extracted into a ConsistencyFixpoint utility class. Each constraint type now implements the Propagatable interface and owns its own propagation algorithm. The three consistency classes are reduced to a filter + one-line delegate.