In this, the last release of 2024, we are bringing mostly small fixes and improvements. But we are also...
Introducing Preview Features!
Preview features are developed to the same standard of quality as the rest of Timefold Solver. They are fully specced out, implemented and documented. However, their APIs and behavior are not yet considered stable - we can change them in the future, and we may even remove them if they don't prove themselves. And to make that decision, we need your feedback!
Diversified Late Acceptance Search (DLAS)
We're kicking off the previous features with an improvement to our local search implementation! Diversified Late Acceptance Search is a tweak to the standard Late Acceptance Hill Climbing and if we're right about it, it will get you better solutions to your optimization problems, and it will get there faster.
Please try it out and let us know what your experience is - did your solver reach better solutions than before? How much better? Have you suffered any issues after switching to DLAS? We want to know!
Changelog
🚀 Features
- c6c30e9 Add Diversified Late Acceptance approach (#1253), closes #1253
- 9c6f7b4 Add method to
SolverConfig
for setting unimproved termination limit
🐛 Fixes
- 3a1ef62 Ensure the sort manner is applied to the default CH config (#1258), closes #1258
- 9d7a502 Off-by-one error when choosing element locations
- 07cc41d Use a stable recipe order for
NullableRecipe.getRecipeList()
- 28201ef Recurse through @DeepPlanningCloned classes to discover all @DeepPlanningCloned classes (#1237), closes #1208 #1237
🧰 Tasks
- ab27eef Improve ConstraintAnalysis toString
- ee760ca Unify the handling of list variable shadows (#1228), closes #1228
📝 Documentation
- d55c510 Restucture multi-threaded section (#1269), closes #1269
- 8c769f7 Simplify Vehicle Routing Quickstart (#1229), closes #1229
- 05ebcd4 Add FAQ section
Contributors
We'd like to thank the following people for their contributions:
- Lars Beckmann (@larsbeck )
- Tim te Beek (@timtebeek )
- Lee Carlon (@lee-carlon )
- Christopher Chianelli (@Christopher-Chianelli )
- Tom Cools (@TomCools )
- Frederico Gonçalves (@zepfred )
- Lukáš Petrovický (@triceo )
- Geoffrey De Smet (@ge0ffrey )
Timefold Solver Community Edition is an open source project, and you are more than welcome to contribute as well!
For more, see Contributing.
Should your business need to scale to truly massive data sets or require enterprise-grade support,
check out Timefold Solver Enterprise Edition.
How to use Timefold Solver
To see Timefold Solver in action, check out the quickstarts.
With Maven or Gradle, add the ai.timefold.solver : timefold-solver-core : 1.17.0
dependency in your pom.xml
to get started.
You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 1.17.0
)
to avoid duplicating version numbers when adding other Timefold Solver dependencies later on.
Additional notes
The changelog and the list of contributors above are automatically generated.
It excludes contributions to certain areas of the repository, such as CI and build automation.
This is done for the sake of brevity and to make the user-facing changes stand out more.