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:
- 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.
- 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]
The utils.functional.extract_random_route method looks for a random route then remove it and return the removed random route.
Now if a
Depothas only one route, after calling this method, the route will be removed and theDepotwill no longer have anyCustomers in it to construct a route, actually, theDepotwill be an empty object.What is the instruction to deal with this situation?
Possible behaviours:
Depotitself, it means we are not using one of the providedDepots 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 newDepotwould be a new challenge for assigning new routes to a non-existanceDepot.Depotwon't cost us anything in term of number of routes (vehicles) or the maximum capacity restriction. By the way, adding new routes to theDepotwould be much easier so I think this option is much better to be considered. [PREFERED]