Skip to content

ValueRangeProvider on Entity not working in Mixed Model #2071

@TomCools

Description

@TomCools

Describe the bug
I got a mixed model, where I have both a @PlanningVariable Facility and a @PlanningListVariable List<Visit> in a Vehicle class. When I have the rangeprovider for the Visits in the Solution, it works fine. When i tried to filter the search space by setting up a rangeprovider on the Vehicle entity, the solver crashes.

Expected behavior
I expect I can succesfully use a filtered rangeprovider on the entity, even in mixed models

Actual behavior

I tried both with and without Range Provider Ids.

Without Range Provider: Build failure

: Build failure: Build failed due to errors
        [error]: Build step ai.timefold.solver.quarkus.deployment.TimefoldProcessor#recordAndRegisterBuildTimeBeans threw an exception: java.lang.IllegalArgumentException: The entityClass (Vehicle) has a @PlanningVariable annotated property (visits) that has no valueRangeProviderRefs ([]) and no matching anonymous value range providers were found.

With Range Provider: Fails on starting a run

2026-02-03 14:44:10,677 ERROR [io.quarkus.vertx.http.runtime.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /route-plans/solve-dataset/vh_1.json failed, error id: e4239caa-db06-46a1-9a89-f393c636436a-1: java.lang.IllegalArgumentException: The config (ValueSelectorConfig(null)) has no configured variableName for entityClass (class ai.timefold.tetra.routing.solver.domain.Vehicle) and because there are multiple variableNames ([facilityStopAfter, visits]), it cannot be deduced automatically.

To Reproduce

Link to repo, check bug/valuerange branches

Environment

Timefold Solver Version or Git ref: 1.30.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions