Timefold Solver 1.17.0
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
- Add Diversified Late Acceptance approach (#1253), closes #1253
- Add method to
SolverConfig
for setting unimproved termination limit
🐛 Fixes
- Ensure the sort manner is applied to the default CH config (#1258), closes #1258
- Off-by-one error when choosing element locations
- Use a stable recipe order for
NullableRecipe.getRecipeList()
- Recurse through @DeepPlanningCloned classes to discover all @DeepPlanningCloned classes (#1237), closes #1208 #1237
🧰 Tasks
- Improve ConstraintAnalysis toString
- Unify the handling of list variable shadows (#1228), closes #1228
📝 Documentation
- Restucture multi-threaded section (#1269), closes #1269
- Simplify Vehicle Routing Quickstart (#1229), closes #1229
- 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.