timefold-solver icon indicating copy to clipboard operation
timefold-solver copied to clipboard

Feat: Support incremental operations with Declarative Shadow Variable

Open triceo opened this issue 7 months ago • 0 comments

For groups, we typically have to do things like Collections.max(). This requires us first to build a collection, and then to iterate over the collection to provide a result. Also, this happens for every variable individually, as opposed to once per group. The new design should:

  • Introduce an API similar to constraint collectors, which can perform arbitrary operations incrementally.
  • Introduce implementations of that API for common use cases, such as min/max.
  • Introduce some sort of a caching mechanism, so that each member of the group can get the precomputed result, as opposed to each computing it all over again.

triceo avatar Apr 16 '25 05:04 triceo