-
Notifications
You must be signed in to change notification settings - Fork 408
Description
In Input::set_extra_compatibility we add additional filtering for vehicle to job compatibility, basically by building an empty route for a vehicle then testing validity for adding a single job/shipment. The underlying assumption is that if a job/shipment can't be handled on its own in a dedicated route, then it's never doable anyway since adding other tasks around can only result in more constraints, especially time-wise.
Turns out this assumption is wrong in some edge cases involving same-location jobs, tight TW and setup time. Let's take jobs
The implications are: such jobs/shipments would never end up assigned to the matching vehicles even if it may be possible in a "more complex" route. Also vehicle steps providing such a route would trigger an error based on assumed incompatibility while the route may be actually feasible.