Description
The solver fails to assign a Pickup & Delivery job when the delivery window is tight, despite the solution being mathematically feasible and proven to work in runs with slightly broader windows.
Repro Steps
- Run
vrp-cli solve pragmatic pragmatic-unplanned.json --out-result unplanned-response.json --max-time 60 --heuristic dynamic --log.
- Observe that Job
2168 is unassigned with TIME_WINDOW_CONSTRAINT.
- Change the delivery window in
unplanned.json from 10:40 to 11:15 (as seen in pragmatic-planned.json).
- Run the solver again.
- Observation: Job
2168 is now assigned and actually arrives at 10:08 AM, which is well within the original 10:40 AM deadline.
Expected Behaviour
The solver should find the 10:08 AM arrival solution for the 10:40 AM deadline, as it is mathematically feasible and requires no changes to the route other than shifting the depot departure time.
Root Cause Hypothesis
The solver appears to be defaulting to a later depot departure (09:22 AM in the failed run) and then fails to find an insertion for the Pickup & Delivery job because it doesn't "shift" the whole schedule earlier to accommodate the 10:15 AM delivery window. It also has 2 vehicles, which he can use to plan, but it is still unplanned.
Attached Files
pragmatic-unplanned.json
unplanned-response.json
planned-response.json
pragmatic-planned.json
Description
The solver fails to assign a Pickup & Delivery job when the delivery window is tight, despite the solution being mathematically feasible and proven to work in runs with slightly broader windows.
Repro Steps
vrp-cli solve pragmatic pragmatic-unplanned.json --out-result unplanned-response.json --max-time 60 --heuristic dynamic --log.2168is unassigned withTIME_WINDOW_CONSTRAINT.unplanned.jsonfrom10:40to11:15(as seen inpragmatic-planned.json).2168is now assigned and actually arrives at 10:08 AM, which is well within the original 10:40 AM deadline.Expected Behaviour
The solver should find the 10:08 AM arrival solution for the 10:40 AM deadline, as it is mathematically feasible and requires no changes to the route other than shifting the depot departure time.
Root Cause Hypothesis
The solver appears to be defaulting to a later depot departure (09:22 AM in the failed run) and then fails to find an insertion for the Pickup & Delivery job because it doesn't "shift" the whole schedule earlier to accommodate the 10:15 AM delivery window. It also has 2 vehicles, which he can use to plan, but it is still unplanned.
Attached Files
pragmatic-unplanned.json
unplanned-response.json
planned-response.json
pragmatic-planned.json