Skip to content

Deprecate CVRP clustering heuristics? #267

@jcoupey

Description

@jcoupey

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions