6.4.13 Multidepot VRP

The existence of multiple depots (or multiple origins in unconstrained,
traveling-salesman-type problems) poses the additional requirement of assigning
demand points to specific depots. This new "degree of freedom" further increases
the computational complexity of the problem.

The approach to multidepot VRP problems so far has been based entirely on
heuristic algorithms, of which the most common are of the "cluster first, route
second" variety: first, demand points are assigned to depots; then, single depot
VRP's are solved for each depot.

The best known of these approaches [GILL 74a] assigns demand points to depots
in the following way: For each demand point i, we compute the quantity

where d'(i) and d''(i) are the distances from i to the nearest and second
nearest of its depots. A threshold value such that 0 <
< 1 is specified
next and compared to each r(i). if r(i) , then the
demand point i is
immediately assigned to its nearest depot. however, if r(i) >
, then the demand
point is reserved for more careful consideration. After all points i such that
r(i)
have been assigned to depots, and therefore clusters have been formed
around the depots, points with r(i) >
are processed again: if two points j
and k have already been assigned to a given depot, say depot Ds, then
inserting point i between nodes j and k on a route originating (and terminating)
at Ds, increases the length of that route by
djk(i) = d(j, i) + d(i, k) - d(j, k).
Point i is then assigned to the depot associated with the minimum of the
quantities djk(i), for all pairs of points (j, k) already assigned
to a depot. When all demand points have been assigned to a depot in this manner,
a single-depot VRP algorithm can be used to design the vehicle routes.

An extension of the savings algorithm to multidepot VRP's that avoids the
early partitioning of the demand points into clusters around depots has also
been developed [TILL 72]. The latter algorithm has been recently combined with
the cluster-forming approach outlined above into an efficient algorithm capable
of handling large-scale problems [GOLD 76].