Skip to content

v2.22.0

Latest

Choose a tag to compare

@rcrida rcrida released this 22 Jun 15:47
· 2 commits to main since this release

What's new

New constraints

AbsoluteDifferenceConstraint

Binary constraint enforcing |left - right| op bound over numeric variables, with full IntervalDomain support via symmetric interval-arithmetic bounds narrowing.

csp.absoluteDifferenceConstraint(x, y, Operator.LEQ, 2.0)  // |x - y| <= 2
csp.absoluteDifferenceConstraint(x, y, Operator.EQ,  3.0)  // |x - y| == 3

MaxConstraint

N-ary constraint enforcing max(v1, v2, ..., vn) op bound, with full IntervalDomain support.

csp.maxConstraint(Set.of(x, y, z), Operator.LEQ, 10.0)  // max(x,y,z) <= 10
csp.maxConstraint(Set.of(x, y, z), Operator.EQ,  5.0)   // max(x,y,z) == 5
csp.maxConstraint(Set.of(x, y, z), Operator.GEQ, 3.0)   // max(x,y,z) >= 3

IntervalDomain propagation extended

  • LexConstraint — bounds propagation now handles IntervalDomain variables, clipping bounds via withBounds instead of value deletion.
  • CumulativeConstraint — timetabling propagation now supports Variable<Double> start variables backed by IntervalDomain for continuous scheduling.

Dependency updates

slf4j-api 2.0.17 → 2.0.18, maven-javadoc-plugin, maven-gpg-plugin, jacoco-maven-plugin, maven-source-plugin, actions/checkout.