Skip to main content
Log in

Local search algorithms for multiple-depot vehicle routing and for multiple traveling salesman problems with proved performance guarantees

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  • Aarts E, Lenstra JK (eds) (2003) Local Search in Combinatorial Optimization. Princeton University Press, Princeton

    MATH  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Alimonti P (1996) New local search approximation techniques for maximum generalized satisfiability problems. Inf Process Lett 57(3):151–158

    Article  MathSciNet  MATH  Google Scholar 

  • Angel E (2006) A survey of approximation results for local search algorithms, efficient approximation and online algorithms. LNCS 3484:30–73

    MathSciNet  Google Scholar 

  • Bektas T (2006) The multiple traveling salesman problem: an overview of formulations and solution procedures. Omega Int J Manag Sci 34(3):209–219

    Article  Google Scholar 

  • 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

    MathSciNet  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Google Scholar 

  • Golden BL, Raghavan S, Wassil EA (eds) (2008) The vehicle routing problem: latest advances and new challenges. Springer, Heidelberg

    Google Scholar 

  • Gutin G, Punnen AP (eds) (2007) The traveling salesman problem and its variations. Springer, Heidelberg

    MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • Li CL, Simchi-Levi D (1990) Worst-case analysis of heuristics for multidepot capacitated vehicle routing problems. ORSA J Comput 2:64–73

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • Michiels W, Aarts E, Korst J (2007) Theoretical aspects of local search. Springer, Heidelberg

    MATH  Google Scholar 

  • Orlin JB, Punnen AP, Schulz AS (2004) Approximate local search in combinatorial optimization. SIAM J Comput 33:1201–1214

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Rosenkrantz DJ, Stearns RE, Lewis PM (1977) An analysis of several heuristics for the traveling salesman problem. SIAM J Comput 6:563–581

    Article  MathSciNet  MATH  Google Scholar 

  • Toth, Vigo (eds) (2001) The vehicle routing problem. SIAM, Philadelphia

    Google Scholar 

  • Vazirani V (2001) Approximation Algorithms. Springer, Heidelberg

    Google Scholar 

  • Williamson DP, Shmoys DB (2011) The design and analysis of approximation algorithms. Cambridge University Press, Cambridge

    Book  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Asaf Levin.

Justification of Assumption 4.1

Justification of Assumption 4.1

  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 \).

  2. (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:

figure a4

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-012-9580-x

Keywords

Navigation