timefold-solver
timefold-solver copied to clipboard
The open source Solver AI for Java, Python and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other plann...
Hey team, I'm using the following construct to get ranges with overlapping intervals. ``` constraintFactory.forEach(Interval.class) .groupBy(ConstraintCollectors.toConnectedTemporalRanges( shift -> interval.getStart().toInstant(), shift -> interval.getEnd().toInstant())) .flattenLast(ConnectedRangeChain::getConnectedRanges) .filter(range -> ... ``` It pretty much...
For a case like this: ``` @PEntity class Vehicle { @PListVariable List visits; ... } ``` with 50k visits, the Construction Heuristic runs very long. For Shift to Employee assignments,...
**Is your feature request related to a problem? Please describe.** I have a situation where i can only change one planningvariable in my entity which has more planningvariable. this situation...
To use the `FIRST_FIT_DECREASING` CH, the model developer has to implement a `DifficultyComparator`, providing an estimate how difficult the entity is to plan. That is easy when there is a...
Our docs have a full "advanced" CH config for a normal variable: ```` PHASE SORTED DECREASING_DIFFICULTY PHASE SORTED INCREASING_STRENGTH ```` https://docs.timefold.ai/timefold-solver/latest/optimization-algorithms/construction-heuristics#allocateEntityFromQueueConfiguration but it **lacks that for a list variable**. That...
Currently, a score is always calculated entirely (all-or-nothing). For example, when a move changes shift A to Beth, but Beth doesn't have the right skill for A, it will calculate...
Constraint Weight can be configured at runtime/dynamically using ConstraintWeightOverrides but it's a bit tedious to configure. Could it be possible to configure them dynamically/lazily using the constraintFactory ? Example: ```...
HGS is a rumored to be a interesting algorithm for CVRP. Let's compare it to our implementation and see how it deal with real-world VRP complexity. https://github.com/vidalt/HGS-CVRP (MIT license)
The introduction to the Solver documentation is somewhat unstructured. - Introduction already contains "Getting started" code examples. - "Using the Solver" once again has an overview. - Modelling and design...
**Is your feature request related to a problem? Please describe.** Finding the right termination config for time gradient based algorithms like simulated annealing is pretty hard especially for benchmarks. If...