-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
Several users on the user mailing list have run into this, especially for task assignment use cases.
Example use case:
@PlanningEntity TaskAssignment assigns a Task to a @PlanningVariable Employee
There are so many Tasks, that's better to not assign some Tasks for now.
Current workaround:
Make a Employee representing NONE,
which is the only Employee instance that returns true on employee.isNone()
and the score rules are written to deal with that.
Technical difficulty to fix:
The @PlanningVariable(s) of a @PlanningEntity with planning value null are considered to be "uninitialized".
Partial uninitialized solution detection is fundamental for repeated planning (including real-time planning),
because the construction heuristics need to detect which parts of the solution to intialize, but not everything because that takes too long.
- blocks
-
PLANNER-226 Chained=true should support nullable=true too, for example for overconstrained vehicle routing
- Open
-
PLANNER-12 NPE during benchmark when no solution found so far
- Resolved
- is blocked by
-
PLANNER-46 getBestSolution() should be able to return partially initialized Solution (or even a completely uninitialized solution) if the CH haven't finished (or started) yet
- Resolved
- is related to
-
PLANNER-160 Support for declarative value ranges
- Resolved
-
PLANNER-206 Clearly define strict and non-strict initialized
- Resolved