Fix break ordering after shipment delivery - #1350
william-xue wants to merge 1 commit into
Conversation
|
Closing this for now — not because the fix is invalid, but because there is no review signal on it. Summary of what is on the branch: it restores feasible pickup → delivery → break ordering in a one-vehicle PDPTW when the delivery and break windows are disjoint. Regression on the bundled instance: before 0 routes / 2 unassigned, after 1 route / 0 unassigned, objective cost/duration 5,400, with precedence, time-window and vehicle-horizon invariants satisfied. Both Sonar checks pass; the Actions workflow stays in The branch remains at william-xue:vroom (fix/break-ordering-shipment) with the regression test, so it is a one-command revive. I am happy to reopen, rebase and adjust to whatever direction you prefer as soon as there is interest — I just do not want to keep it sitting in the queue looking like an active proposal. |
Issue
Fixes #1345.
Root cause
When evaluating a pickup while a break is pending,
TWRoute::order_choicereturned early as soon aspickup -> break -> deliverymissed the delivery deadline. That skipped the pickup-specific fallback which also evaluatespickup -> delivery -> break, so a feasible shipment was rejected.Tasks
Validation
make -j2 USE_ROUTING=falsedocs/example_2.jsonoutput matchesdocs/example_2_sol.jsongit diff --check