timefold-solver icon indicating copy to clipboard operation
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...

Results 150 timefold-solver issues
Sort by recently updated
recently updated
newest added

The syntax for shadow sources allows for facts to be referenced, to allow for reaching variables transitively. However, it also allows for the expression to _resolve_ to a fact. This...

I am using the benchmark aggregator and running multiple different problems from xml files. However when i try to aggregate them together i get this error. Caused by: java.lang.NullPointerException: Cannot...

process/needs triage

Get "Declarative Shadow Variables" from a "Preview feature" status to a regular feature. Before that can happen: - The feature needs to have a stable API. - All behaviors and...

We have seen some cases where the performance of DSV was widely inadequate. We need to analyze those cases and see what we can do to improve the performance there.

Requires moving current preview APIs to public namespace.

The current design pattern for non-disruptive replanning is for the user to remember the original value of a variable, and to penalize every difference. This is a lot of boilerplate,...

The objective is to reintroduce the images related to load balancing and update them, if necessary, to reflect the new logic. The old images can be found at `docs/src/modules/ROOT/images/constraints-and-score/performance`.

process/needs triage

Currently it only shows the top 3 or so. For debugging purposes (User Experience), it's often handy to be able to show them all, or the top 20. Not all...

process/needs triage

Connected Ranges have been implemented in Java, but not in Python. This has lead to confusion where our documentation stated that it did exist, while it did not yet. **Describe...

language/python

This pattern is common: ``` f.forEach(MyEntity) .groupBy(MyEntity::myGrouping, count()) .join(MinMaxRule, ... same myGrouping ...) ``` It's also **buggy**. If nothing is assigned to the grouping, the MinMaxRule isn't checked. This is...

process/needs triage