-
Notifications
You must be signed in to change notification settings - Fork 378
Description
The current clustering heuristics build job clusters for each vehicle, then run a single TSP per vehicle to get an initial set of routes. Because there is no notion of TW validity in the clustering process (that would be #139), it only applies to CVRP so far.
When used in a delivery-only context, this is all fine, but in the light of #262 this approach does not hold out-of-the-box anymore. Indeed we can come up with clusters that look globally fine as seen from the delivery/pickup sum point of view, but then we have no guarantee that the TSP solution will be OK wrt step-by-step capacity violations (think a situation where all pickups are done at the beginning of a route then all deliveries at the end).
So the question is to know whether we need to update the existing heuristics, or deprecate them altogether. I'd rather go with the second option because:
- having a CVRP-specific heuristic is a long-term burden for maintenance
- we already have a lot of parameter tuning options with the other heuristics, we can probably reach similar (or acceptable) quality/computing times on CVRP instances by just adjusting those while ruling out clustering approaches
This last point requires some investigation for a sound decision.