-
Enhancement
-
Resolution: Done
-
Major
-
7.25.0.Final
-
None
-
2020 Week 22-24 (from May 25)
-
3
-
NEW
-
NEW
"here are basically these ways to deal with nullable=true in combination with real-time planning (= addProblemFactChange()): A) Do nothing - just let the CH try all unassigned vars again after every addPFC. If the addPFC rate is low enough, or the CH executes quickly (either there are few unassigned vars, or it's just fast always) - then this approach works well. I've only seen this approach in practice. B) Use a reinitializeVariableEntityFilter() but I haven't seen anyone do this yet (despite it being explicitly designed for this purpose! This is a red flag.). Indeed, each entity would need a "boolean alreadyPlanned" that is set to true for all entities after a solve() or bestSolutionEvent, and the reinitialize filter would need to filter those out. Warning: a solver can terminate before a CH finishes, causing a bestSolutionEvent. In that case, you shouldn't put alreadyPlanned to true on the entities that the CH didn't get around to trying, but you can't distinguish it... I am now considering to potentially deprecate reinitializeVariableEntityFilter because it doesn't work well. C) Replace nullable=true with a dummy approach: put a dummy value in the value range that is dealt with in all constraints. In this case, all unassignable entities will be assigned to the dummy. All not-yet-assigned entities (including if the CH was terminated before it could finish) will be null."
Reqs:
- Deprecate that property
- Remove it from docs
- Add nullable=true with Real-time problems approach in docs. Either dummy (= step forward of reinitializeVariableEntityFilter because it is not bugged) or really support nullable=true (= perfect solution).
- is incorporated by
-
PLANNER-750 8.0 backwards incompatible changes for next major version
- Resolved