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

Teach people how to define a customer `ListVariableListener`.

process/needs triage

Given a planning value, from all unassigned entities, find me the best entity to assign to it.

process/needs triage

**Describe the bug** I think I set the variable listener trigger order correctly, and defined a seemly correct constraint.but it told me I have a variable listener corruption. **To Reproduce**...

process/needs triage

**Describe the bug** Using a sorted `entitySelector` with `cacheType` `STEP` causes a null pointer exception. ``` Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because "this.cachedEntityList" is null at ai.timefold.solver.core.impl.heuristic.selector.entity.decorator.SortingEntitySelector.iterator(SortingEntitySelector.java:41)...

sourced from https://github.com/TimefoldAI/timefold-solver/discussions/266#discussioncomment-6986430 I said: Reading through the design patterns at https://timefold.ai/docs/timefold-solver/latest/design-patterns/design-patterns.html I noticed that using Shift or Employee as a PlanningEntity is not advised ![267516355-8952fe2b-d7ef-4f32-9284-20180cc03049](https://github.com/TimefoldAI/timefold-solver/assets/68482/5961440e-b32e-4b80-9e33-68747d2cc25d) The quickstart still seems...

component/docs

Gizmo should not be needed as a runtime dependency if the quarkus generated the anti-reflection code at build time. So this fail fast is failing too much: ``` java -jar...

Presume you have the following ConstraintProviders: - AnimalConstraintProvider with 40 constraints. - CatConstraintProvider with 200 declared constraints, extends AnimalConstraintProvider for 240 effective constraints. - DogConstraintProvider with 300 declared constraints, extends...

process/needs triage

``` forEach(MyRule) .join(Lesson, equal(MyRule.teacher, Lesson.teacher)) .filter(lesson.room == myRule.room) .penalize((myRule, lesson) -> myRule.isHard() ? Score.ofHard(1) : Score.ofSoft(1)) ```

process/needs triage

The `SolverManager` requires a user to provide a `problemId` to start solving. Quickstarts meanwhile move to a `jobId` - a unique identifier generated by the solver process. This inconsistency should...

Spring and Quarkus are far more important for getting started users than half of the top level TOC items. Finding the application.properties right now is challenging. They are deeply hidden...

component/docs