-
Notifications
You must be signed in to change notification settings - Fork 378
Description
While working with shipments on #274, I came across a situation where a whole route in the solution could be performed in the same order and at a cheaper cost by another vehicle. Yet the atomic moves available during local search are unable to reach this transformation.
This can only happen in a situation with heterogeneous fleet (think many different start and end points) and in the above case is related with a very specific way to model the problem. Nevertheless it's a fact that this may happen as a result of an heuristic bias (e.g. vehicle ordering for initial route construction) and we have no simple way to mend the solution if the local search fails to fix it.
We should have a simple "route exchange" operator to apply to pairs of vehicles during local search. Couple notes off the top of my head:
- potential gain / validity computations are pretty straightforward
- no fancy choice on ranks in routes like other operators, so low complexity and probably small overhead
- only apply this operator for instances with heterogeneous fleet