Abstract
We consider two related problems: the multiple-depot vehicle routing problem (MDVRP) and the Multiple traveling salesman problem (mTSP). In both of them, given is the complete graph on n vertices \(G = (V,E)\) with nonnegative edge lengths that form a metric on V. Also given is a positive integer k. In typical applications, V represents locations of customers and k represents the number of available vehicles. In MDVPR, we are also given a set of k depots \(\{O_1,\ldots ,O_k\} \subseteq V\), and the goal is to find a minimum-length cycle cover of G of size k, that is, a collection of k (possibly empty) cycles such that each \(v \in V\) is in exactly one cycle, and each cycle in the cover contains exactly one depot. In mTSP, no depots are given, so the goal is to find (any) minimum-length cycle cover of G of size k. We present local search algorithms for both problems, and we prove that their approximation ratio is 2.





Similar content being viewed by others
References
Aarts E, Lenstra JK (eds) (2003) Local Search in Combinatorial Optimization. Princeton University Press, Princeton
Adamaszek A, Czumaj A, Lingas A (2010) PTAS for k-Tour Cover Problem on the Plane for Moderately Large Values of k. Int J Found Comput Sci 2010:893–904
Alimonti P (1996) New local search approximation techniques for maximum generalized satisfiability problems. Inf Process Lett 57(3):151–158
Angel E (2006) A survey of approximation results for local search algorithms, efficient approximation and online algorithms. LNCS 3484:30–73
Bektas T (2006) The multiple traveling salesman problem: an overview of formulations and solution procedures. Omega Int J Manag Sci 34(3):209–219
Cardon S, Dommers S, Eksin C, Sitters R, Stougie A, Stougie L (2008) A PTAS for the multiple depot vehicle routing problem. SPOR Report No. 2009–03, Eindhoven University of Technology
Christofides N (1976) Worst-case analysis of a new heuristic for the traveling salesman problem. Technical report, Graduate School of Industrial Administration, Carnegie-Mellon University, Pittsburgh
Das A, Mathieu C (2010) A quasi-polynomial time approximation scheme for Euclidean capacitated vehicle routing. SODA 2010:390–403
Funke B, Grünert T, Irnich S (2005) Local search for vehicle routing and scheduling problems: review and conceptual integration. J Heuristics 11(4):267–306
Gendreau M, Laporte G, Potvin J-Y (1997) Local search in combinatorial optimization. In: Aarts EHL, Lenstra JK (eds) Vehcile routing: modern heuristics. Wiley, New York, pp 311–337
Golden BL, Raghavan S, Wassil EA (eds) (2008) The vehicle routing problem: latest advances and new challenges. Springer, Heidelberg
Gutin G, Punnen AP (eds) (2007) The traveling salesman problem and its variations. Springer, Heidelberg
Harks T, König FG, Matuschke J “Approximation Algorithms for Capacitated Location Routing”. Transportation Science: Advances in Vehicle Routing, to appear
Khanna S, Motwani R, Sudan M, Vazirani UV (1998) On syntactic versus computational views of approximability. SIAM J Comput 28:164–191
Li CL, Simchi-Levi D (1990) Worst-case analysis of heuristics for multidepot capacitated vehicle routing problems. ORSA J Comput 2:64–73
Malik W, Rathinam S, Darbha S (2007) An approximation algorithm for a symmetric generalized multiple depot, multiple travelling salesman problem. Oper Res Lett 35(6):747–753
Michiels W, Aarts E, Korst J (2007) Theoretical aspects of local search. Springer, Heidelberg
Orlin JB, Punnen AP, Schulz AS (2004) Approximate local search in combinatorial optimization. SIAM J Comput 33:1201–1214
Rathinam S, Sengupta R (2010) 3/2-approximation algorithm for two variants of a 2-depot Hamiltonian path problem. Oper Res Lett 38(1):63–68
Rathinam S, Sengupta R, Darbha S (2006) A resource allocation algorithm for multi-vehicle systems with non holonomic constraints. IEEE Trans Autom Sci Eng 4(1):98–104
Rosenkrantz DJ, Stearns RE, Lewis PM (1977) An analysis of several heuristics for the traveling salesman problem. SIAM J Comput 6:563–581
Toth, Vigo (eds) (2001) The vehicle routing problem. SIAM, Philadelphia
Vazirani V (2001) Approximation Algorithms. Springer, Heidelberg
Williamson DP, Shmoys DB (2011) The design and analysis of approximation algorithms. Cambridge University Press, Cambridge
Xu Z, Xu L, Rodrigues B (2011) An analysis of the extended Christofides heuristic for the k-depot TSP. Oper Res Lett 39(3):218–223
Author information
Authors and Affiliations
Corresponding author
Justification of Assumption 4.1
Justification of Assumption 4.1
-
(i)
Assume that we know how to obtain a good packing for instances that satisfy Assumption 4.1(i). Given any instance \(\langle G,\mathcal{V } \rangle \) that does not satisfy it, for each pair \((C,i)\) such that \(C \subseteq E\) is a cycle with \(V[C] \subseteq V_i\), contract C and identify it with a new vertex \(v_i^C\) in \(V_i\). This way, we obtain a new instance \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \) that satisfies Assumption 4.1(i). Let \(\{H^{\prime }_i : i \in [k]\}\) be a good packing for \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \). For each pair \((C,i)\) defined above, add to \(H_i^{\prime }\) all the edges of C except for one (arbitrarily); the edges that account for the vertices of C are the newly added \(|C|-1\) edges and the edge that accounts for \(v_i^C\) in \(H^{\prime }_i\). Thus, it is easily verified that the resulting subset family is a good packing for \(\langle G,\mathcal{V } \rangle \).
-
(ii)
For convenience, call a block \(V_i \in \mathcal{V }\) “mixed” if it contains both an isolated vertex and a non-isolated vertex. Assume that we know how to obtain a good packing for instances that satisfy Assumption 4.1(ii), namely, with no mixed blocks. Given any instance \(\langle G,\mathcal{V } \rangle \) with mixed blocks, we will show how to eliminate a cycle that traverses a mixed block. The justification of the assumption then follows by induction on the number of such cycles. Thus, let \(C\) be a cycle that traverses a mixed block \(V_1\), say. Construct a new instance \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \) where \(G^{\prime } := (V^{\prime },E^{\prime })\) and \(\mathcal{V^{\prime } } := \{ V^{\prime }_i : i \in [k] \}\) are as follows. The edge set is \(E^{\prime } := E \setminus C\). As for the vertices, define \(V^{\prime }_1 := (V_1 \setminus V[C]) + v_C\) where \(v_C\) is a new isolated vertex, and for all \(i=2,\ldots ,k\) define \(V^{\prime }_i := V_i \setminus V[C]\). Note that if \(V_i \subseteq V[C]\) (i.e., all the vertices of \(V_i\) are covered by \(C\)), then \(V^{\prime }_i = \emptyset \); this is the reason for allowing empty blocks in the definition of a good packing.
By this construction, \(G^{\prime }\) consists of k (disjoint) cycles, one of them is the empty cycle \((v_C)\) which ‘replaces’ C from \(\langle G,\mathcal{V } \rangle \). The number of cycles that traverse mixed blocks in \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \) is one less than that in \(\langle G,\mathcal{V } \rangle \), so let \(\{ H^{\prime }_i : i \in [k] \}\) be a good packing for \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \). Note that \(H^{\prime }_i = \emptyset \) if \(V_i \subseteq V[C]\).
Let \(cont^{\prime (i)}\) denote the operation \(cont^{(i)}\) with respect to \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \). Note that since \(E^{\prime } \subseteq E\) and \(V^{\prime } \setminus V\) consists of the single new isolated vertex \(v_C\), it follows that for every subset \(H^{\prime } \subseteq E^{\prime }\) and \(i \in [k], cont^{\prime (i)}(H^{\prime })\) is also a subset of \(E^{(i)}\) – the edges of \(C[G,\mathcal{V }]^{(i)}\). It follows that \(cont^{(i)}(H^{\prime }) = cont^{\prime (i)}(H^{\prime })\) (we emphasize that \(H^{\prime } \subseteq E^{\prime } \equiv E \setminus C\)). Therefore, the packing \(\{ H^{\prime }_i : i \in [k] \}\), which is good for \(\langle G^{\prime },\mathcal{V^{\prime } } \rangle \), satisfies:
Observation 6.1
For each \(i \in [k], H^{\prime }_i\) is a forest in G, and \(cont^{(i)}(H^{\prime }_i)\) is a forest in \(C[G,\mathcal{V }]^{(i)}\).
We will use \(\{H^{\prime }_i : i \in [k]\}\) to construct a packing \(\{H_i : i \in [k]\}\) which is good for \(\langle G,\mathcal{V } \rangle \), by the following procedure:

We claim that \(\{ H_i : i \in [k] \}\) is a good packing for \(\langle G,\mathcal{V } \rangle \). Fix \(i \in [k]\). We first show that \(H_i\) is a forest in G and \(cont^{(i)}(H_i)\) is a forest in \(C[G,\mathcal{V }]^{(i)}\), and \(|H_i| = |cont^{(i)}(H_i)|\). The key observation is the following property of \(C_i\), which is an immediate consequence of its construction:
Observation 6.2
If \(C_i \ne \emptyset \), then \(C_i\) is a collection of (vertex-)disjoint paths; each such path can be written as \((u_1,\ldots ,u_l)\), where:
-
\(u_1 \notin V_i, u_2,\ldots ,u_l \in V_i\),
-
The degree of \(u_l\) both in the graph \((V,H_i)\) and in \(C[G,\mathcal{V }]^{(i)}\) is 1.
Now, by Observation 6.1, \(H^{\prime }_i\) is a forest in G, and \(cont^{(i)}(H^{\prime }_i)\) is a forest in \(C[G,\mathcal{V }]^{(i)}\). Therefore, Observation 6.2 implies that \(H_i\), which is \(H^{\prime }_i \cup C_i\), is a forest in G and \(cont^{(i)}(H_i)\) is a forest in \(C[G,\mathcal{V }]^{(i)}\); note that \(V[H^{\prime }_i] \cap V[C_i] = \emptyset \), and that \(V[cont^{(i)}(H^{\prime }_i)] \cap V[cont^{(i)}(C_i)]\) need not be empty: \(x_j \in V[cont^{(i)}(H^{\prime }_i)] \cap V[cont^{(i)}(C_i)]\) if and only if \(u_1 \in V_j\) where \(u_1\) is an end-vertex of one of \(C_i\)’s paths in the representation of Observation 6.2. Observation 6.2 also implies that \(H_i\) satisfies conditions (i)–(iii) of Observation 2.1, hence \(|H_i| = |cont^{(i)}(H_i)|\).
It remains to show that \(|H_i| = |V_i| - 1 = n_i - 1\). Recall that by assumption, \(|H^{\prime }_i| = |V^{\prime }_i| - 1\). Also note that after step 2.a., and hence at termination, \(|C_i| = |V_i \cap V[C]|\). We distinguish four cases.
-
C does not traverse \(V_i\): in this case, \(V^{\prime }_i = V_i\), so at termination of the Construction procedure, \(H_i = H^{\prime }_i\) and \(|H_i| = |H^{\prime }_i| = |V^{\prime }_i|-1 = |n_i| - 1\).
-
C traverses \(V_i\) and \(V_i \subseteq V[C]\): in this case, \(V^{\prime }_i = \emptyset \) and thus \(H^{\prime }_i = \emptyset \). Then after step 2.b., \(|H_i| = |C_i| = |V_i \cap V[C]| = |V_i|\), so after the edge deletion at 2.c., \(|H_i| = |V_i| - 1 = n_i - 1\).
-
C traverses \(V_i, i \ne 1\), and \(V_i\) contains vertices outside \(C\) (either isolated or not): in this case, step 2.c. is not executed, so \(|H_i| = |H^{\prime }_i| + |C_i| = |H^{\prime }_i| + |V_i \cap V[C]|\). But \(|H^{\prime }_i| = |V^{\prime }_i| - 1\) and \(|V^{\prime }_i| = |V_i| - |V_i \cap V[C]| = n_i - |V_i \cap V[C]|\). It follows that \(|H_i| = n_i - 1\).
-
\(i=1\): Since \(V^{\prime }_1 = (V_1 \setminus V[C]) + v_C, |V^{\prime }_1| = |V_1| - |V_1 \cap V[C]| + 1\), so \(|H^{\prime }_1| = |V^{\prime }_1|-1 = |V_1| - |V_1 \cap V[C]|\). Therefore, after step 2, \(|H_1| = |H^{\prime }_1| + |V_1 \cap V[C]| = |V_1| = n_1\), so the edge deletion at step 3 guarantees that \(|H_1| = n_1 - 1\) as required.
This completes the proof.
Rights and permissions
About this article
Cite this article
Levin, A., Yovel, U. Local search algorithms for multiple-depot vehicle routing and for multiple traveling salesman problems with proved performance guarantees. J Comb Optim 28, 726–747 (2014). https://doi.org/10.1007/s10878-012-9580-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-012-9580-x