new

improved

fixed

Timefold Platform

Employee Shift Scheduling

Field Service Routing

Task Scheduling

Pickup & Delivery Routing

Task Scheduling launches, batch recommendations for ESS, and smarter comparison tools

Today, we're announcing version v1.7 of the Timefold Platform and updates to the Timefold models.
This new version of the Timefold Platform comes with these platform improvements:
  • Constraint scores in run comparison
    : The comparison table now includes a "Constraint scores" group that shows the per-constraint score breakdown for each dataset. Scores are color-coded and sorted using the score analysis sort order. This is available when comparing single datasets; support for grouped dataset columns is planned for a future release. This is e.g. useful to see the impact on specific constraint score during goal alignment experiments See Comparing datasets for details.
Constraint score comparison
  • Sort constraints in score analysis
    : The constraint table in score analysis now supports sorting by name (useful to get started with a model), number of matches (useful to explore justifications), or constraint weight, in addition to the default sort by score. Each sort option orders constraints within their group first, then orders the groups themselves by the same criterion. See Score analysis for more details.
  • Power-tune the default smart termination
    : Solving on the platform stops automatically once score improvements diminish; this is the default termination strategy, and for most datasets the defaults work well out of the box and is the best balance between time, cost and solution quality. For specific datasets where you want more control, "Advanced configuration" in a configuration profile now exposes two parameters: sliding window duration and minimum improvement ratio. Use the Configuration Profiles UI to learn about the parameters and tweak them.
  • Several additional bug fixes, security fixes, and stability and UI improvements.
Next to that, this new version of the Timefold Platform comes with updates to these Timefold Models:
Field Service Routing (v1 | Stable)
  • Next working day date adjuster for visit dependencies
    : When a multi-day job is split across two visits, you can now specify that the follow-up visit must start on the next working day, without having to hardcode a specific weekday. Set
    minStartDateAdjuster
    or
    maxStartDateAdjuster
    to
    NEXT_WORKING_DAY
    on
    minDelayTo
    or
    maxDelayTo
    in the visit dependency, and the model will always push the second visit to the next business day, regardless of which day the first visit falls on. Working days default to Monday–Friday and can be customized via the new
    workingDays
    field in
    dateAdjusterConfiguration
    . See Visit dependencies for details.
  • Bulk visit recommendations now include infeasible results
    : Bulk visit recommendations now always return a result, even when no fully feasible assignment exists. Infeasible recommendations are ranked below feasible ones and include hard score violations, so you can see why an assignment doesn't work rather than receiving an empty response.
  • durationAddedForFirstVisitOnLocation now configurable in configuration profiles
    : This field is now available in the model configuration section of configuration profiles for FSR. This lets you set a default overhead duration added to the first visit at any location, eg. to account for parking or building access, without having to pass it in every API call. See this changelog update for more details.
  • Vehicles can travel during waiting time before a fixed break
    : When a vehicle shift defines multiple fixed breaks, the vehicle can utilize waiting time before a fixed break to travel to the next visit or the next location break, which will result in more efficient schedules. See upgrade to the latest version for more details.
  • Several additional bug fixes and performance improvements.
Employee Shift Scheduling (v1 | Stable)
  • Batch recommendations
    : When multiple shifts need to be filled at once, you can now get recommendations for all of them in a single API call. Two modes are available, each as its own endpoint:
    recommend-employees-batch-per-shift
    : returns a ranked list of recommended employees per shift. Use this to fill shifts independently, without making a separate API call for each one.
    recommend-employees-batch-global
    : returns a single ranked list across all shifts, answering "which shift should I assign next?". Use this when you want to fill shifts one by one in the optimal order. For more information see Batch recommendations.
  • Historic shift and shift group counts available in input metrics
    : Input metrics now report the number of historic shifts and shift groups (historicShifts, historicShiftGroups) in the input dataset. This makes it easy to verify the right amount of historical data is attached, especially when using rolling-window constraints. See Input metrics for details.
Pick-up and Delivery Routing (v1 | Stable)
  • maximumTimeBurden now configurable in configuration profiles
    : This field is now available in the model configuration section of configuration profiles for PDR. This lets you set the maximum extra time burden imposed on an ongoing job when a new job is added to the same vehicle, without having to pass it in every API call.
  • This release includes security fixes and stability improvements.
Task Scheduling (Preview)
Task Scheduling is now available on the Timefold Platform. It assigns jobs to machines and employees while increasing the number of jobs completed and minimizing makespan, and it supports job dependencies, time windows, resource transitions, machine availability, employee constraints, and pinning for real-time replanning.
Task Scheduling diagram
This model is in preview, so backward-incompatible changes may still be introduced. See the introduction to get started.
Please let us know if you have feedback.