Just like the planet lately, we're turning up the heat! In this release, we improve solver performance across the board - Constraint Streams, Value Ranges, Shadow Variables, everything gets a speed bump.
But most importantly, we have significantly improved our underlying metaheuristics so that in those few cases where the solver would previously get stuck, it no longer does. Not only are you going to get your solutions faster, they will also be even better in quality.
Finally, we have significantly refactored our documentation, in preparation for the rollout of the Timefold service. Stay tuned for more information!
(And forgive the rudimentary release notes we publish this time around. The release automation stumbled a bit, but it'll be back next time.)
Notable changes
- perf: avoid calling Object.hashCode() by @triceo in #2382
- fix: Remove logging config for solver.service category by @diogodanielsoaresferreira in #2390
- perf: further improve performance of ElementAwareArrayList by @triceo in #2373
- fix: reset late list when upper levels of score changed by @zepfred in #2407
- fix: seperate move and solver RandomGenerator usage by @Christopher-Chianelli in #2356
- docs: Introduce initial docs for service module (Preview) by @TomCools in #2350
- perf: avoid boxing in externalized list var cases by @triceo in #2420
- perf: simplify how value ranges are built by @triceo in #2425
- perf: improve consecutive sequences collector by @triceo in #2430
- perf(constraint-streams): improve joins by removing list entries by @triceo in #2442
- fix: R&R allows for value to be kept unassigned by @zepfred in #2448
- perf: improve comparison indexer by @triceo in #2454
New Contributors
- @cristianonicolai made their first contribution in #2345
- @mvanhorn made their first contribution in #2405
Full Changelog: v2.2.0...v2.3.0