Optimized-MDVRP icon indicating copy to clipboard operation
Optimized-MDVRP copied to clipboard

What should I do if after calling `extract_random_route`, a Depot gets empty?

Open Nikronic opened this issue 4 years ago • 1 comments

The utils.functional.extract_random_route method looks for a random route then remove it and return the removed random route.

Now if a Depot has only one route, after calling this method, the route will be removed and the Depot will no longer have any Customers in it to construct a route, actually, the Depot will be an empty object.

What is the instruction to deal with this situation?

Possible behaviours:

  1. If we remove Depot itself, it means we are not using one of the provided Depots in the dataset or problem itself which means we will use less routes (less vehicles). It seems good but does not mean efficient. Note that creating a new Depot would be a new challenge for assigning new routes to a non-existance Depot.
  2. Having a empty Depot won't cost us anything in term of number of routes (vehicles) or the maximum capacity restriction. By the way, adding new routes to the Depot would be much easier so I think this option is much better to be considered. [PREFERED]

Nikronic avatar Sep 25 '19 16:09 Nikronic