A Tabu Search Algorithm For The Min-Max K-Chinese Postman Problem
A Tabu Search Algorithm For The Min-Max K-Chinese Postman Problem
A Tabu Search Algorithm For The Min-Max K-Chinese Postman Problem
www.elsevier.com/locate/cor
Abstract In this paper we present a tabu search algorithm for the minmax k-Chinese postman problem (MM k-CPP). Given an undirected edge-weighted graph and a distinguished depot node, the MM k-CPP consists of nding k > 1 tours (starting and ending at the depot node) such that each edge is traversed by at least one tour and the length of the longest tour is minimized. A special emphasis is put on investigating the trade-off between running time effort and solution quality when applying different improvement procedures in the course of the neighborhood construction. Furthermore, different neighborhoods are analyzed. Extensive computational results show that the tabu search algorithm outperforms all known heuristics and improvement procedures. Scope and purpose Given a road network, the Chinese postman problem (CPP) is to nd the shortest postman tour covering all the roads in the network. Applications of the CPP include road maintenance, garbage collection, mail delivery, etc. Since usually large road networks have to be serviced the work load must be distributed among k 2 vehicles. In contrast to the usual objective to minimize the total distance traveled by the k vehicles (k-CPP), for the minmax k-Chinese postman problem (MM k-CPP) the aim is to minimize the length of the longest of the k tours. This kind of objective is preferable when customers have to be served as early as possible. Furthermore, tours will be enforced to be more balanced resulting in a fair scheduling of tours. Although the CPP and the k-CPP are polynomially solvable, the MM k-CPP is NP-hard. Hence, we must rely on heuristics producing approximate solutions. The purpose of this paper is to present a tabu search algorithm for the MM k-CPP which outperforms all known heuristics. In many cases we obtained solutions which could be proved to be near-optimal or even optimal. 2005 Published by Elsevier Ltd.
Keywords: Arc routing; Chinese postman problem; Tabu search; Minmax optimization
Corresponding author.
E-mail address: gerhard.reinelt@informatik.uni-heidelberg.de (G. Reinelt). 0305-0548/$ - see front matter doi:10.1016/j.cor.2005.02.011 2005 Published by Elsevier Ltd.
3404
1. Introduction and related work 1.1. Problem denition and contributions For the minmax k-Chinese postman problem (MM k-CPP) we are given an undirected graph G = (V , E), weights w : E R+ for each edge (which we usually interpret as distances), a distinguished depot node v1 V and a xed number k > 1 of postmen. The aim is to nd k closed walks (tours) where each tour starts and ends at the depot node and each edge e E is covered by at least one tour. In contrast to the usual objective, i.e., minimizing the total distance traveled by the k postmen, for the MM k-CPP we want to minimize the length of the longest of the k tours. This kind of objective function is preferable when the aim is to serve each customer as early as possible. Furthermore, tours will be enforced to be more balanced resulting in a fair scheduling of tours. The MM k-CPP was introduced in [1] and shown to be NP-hard by a reduction from the k-partition problem. Heuristic algorithms for the MM k-CPP were developed in [1,2]. Implementations of these algorithms and computational results were reported in [2]. In this paper we present a tabu search approach for the MM k-CPP. It is based on a set of basic procedures featuring modication and improvement of single tours. Furthermore, different neighborhoods are considered. Initial solutions are taken from the heuristics implemented in the scope of [2]. We ran the tabu search algorithm on a variety of test instances from the literature as well as on random instances. We were able to improve the results obtained by the heuristics in [2] for almost all instances, sometimes considerably. The solution quality is assessed by lower bounds. Furthermore, we compared the behavior of the different neighborhoods and investigated the effect of the improvement procedures on the solution quality and computing time. The paper is organized as follows. In the remainder of this section we will discuss related work, i.e., existing tabu search approaches for other node and routing problems, and introduce required notation. In Section 2 we develop a set of procedures performing operations on tours which are used in the tabu search algorithm. In Section 3 the tabu search algorithm and the different neighborhoods are described in detail. In the subsequent section we report computational results which show that the tabu search algorithm achieves considerable improvements. Finally, in Section 5, we give conclusions and directions for future work. 1.2. Related work Tabu search is a meta-heuristic approach for solving combinatorial optimization problems. Basically, tabu search follows a local search scheme, i.e., it starts with a feasible solution, explores the neighborhood of this solution, moves towards a neighborhood solution according to different criteria and proceeds until a xed number of iterations has been performed. The specic feature of tabu search (compared to local search) is the use of a memory in order to guide the search process in an intelligent way. One aspect of the memory concerns the recency of a move between two adjacent solutions. In order to avoid cycling or sticking in one region of the solution space moves are declared tabu for a specied number of iterations thereby giving this method its name. The modern form of tabu search derives from Glover [3,4]. A good overview is given in [57]. In recent years tabu search has been applied successfully to many combinatorial optimization problems [8,9]. In order to embed our work in the scientic context we will give an overview of the line of research
3405
concerned with tabu search algorithms for routing problems with multiple vehicles. We will roughly distinguish between node routing and arc routing problems. 1.2.1. Node routing For the capacitated vehicle routing problem (CVRP) we are given an undirected graph G = (V , E), edge weights w(vi , vj ) R+ for all vi , vj V , node demands d(v) R+ for all v V , a distinguished 0 depot node v1 V and a vehicle capacity Q. The aim is to determine a set of cycles (also called tours) with minimum sum of edge weights, such that each cycle contains the depot node, each node v V \{v1 } is traversed exactly once by a cycle and the sum of demands of nodes traversed by each cycle does not exceed the vehicle capacity. The CVRP can be considered as the main target and testbed problem for developing and improving tabu search approaches in the area of routing problems. We briey review the most important results for the CVRP chronologically. A more comprehensive overview can also be found in [10]. An early approach is due to Willard [11].A given solution is transformed into a single tour by duplicating the depot node. Neighborhood solutions are dened by 2- or 3-opt [12] exchanges of the current solution. The next current solution is chosen to be the best non-tabu neighborhood solution. In contrast to the former approach the neighborhood solutions of the algorithm of Pureza and Frana [13] are obtained by moving nodes between tours while preserving feasibility. The best non-tabu move is selected at each iteration. Concerning the competitiveness with known algorithms at this time the former two approaches do not perform very well. The more sophisticated neighborhood determination in the algorithm of Osman [14] led to more successful results. A neighborhood solution is determined by selecting two tours and performing exchange or shifting of at least nodes, {0, 1, 2}, (a so-called -interchange). Since computing the whole neighborhood and choosing the best admissible solution can be very time consuming, a faster strategy, choosing the rst best admissible solution, has been used in addition. A rather involved approach, called Taburoute, comes from Gendreau et al. [15]. They applied several new features to improve their algorithm. At rst the neighborhood solution is again constructed by removing a node from one tour and inserting it into another, but the inserting procedure is guided by a sophisticated scheme (called GENI) originally developed for the traveling salesman problem (TSP) by the same authors [16]. A broader spectrum of neighborhood solutions is obtained by allowing infeasible solutions (according to capacity or maximum route length restrictions) and using an extended objective function which penalizes infeasibility in an appropriate way. Furthermore, nodes which have been moved frequently between routes are also penalized according to the frequency to achieve a better diversication. A randomly chosen tabu tenure is used for each move. Periodically during the search process, the route in which a node has just been inserted is re-optimized by a so-called unstringing and stringing method [16]. Finally, Taburoute starts with several initial solutions and performs a restricted search on them. Then the main tabu search is started with the most promising start solution found. The algorithm of Taillard [17] uses ideas from the former two approaches, namely the random tabu tenure and diversication strategy from [15] and the -interchange for constructing neighborhood solutions from [14]. Individual routes are re-optimized using an algorithm of Volgenant and Jonker [18]. In order to facilitate a parallel implementation, the main problem is decomposed into subproblems. Periodic exchanges of nodes between adjacent subproblems are performed. Tabu search approaches considered up to now apply rather classical concepts. The following two algorithms distinguish themselves from the former by including new innovative strategies.
3406
The rst new concept, called adaptive memory, was introduced by Rochat and Taillard [19] and successfully applied to the CVRP. The idea is to maintain a pool of good solutions that is dynamically updated throughout the search process. Parts of the solutions contained in the pool are combined in different ways to form new good solutions. This step is usually performed when there is no progress in the search process. A further new concept, called granular tabu search is due to Toth and Vigo [20]. Here the focus is on restricting the search space in order to speed up computation time. This is accomplished by excluding long edges from considerations since they are not expected to be part of an optimal solution. An implementation of this idea based on top of several features of the Taburoute algorithm yielded excellent solutions within short computing times. There have been also tabu search approaches for the CVRP with minmax objective (MM CVRP), i.e., the aim is to minimize the length of the longest cycle. In [21] Frana et al. describe a tabu search algorithm for the minmax m-TSP using insertion and post-optimization procedures from [16]. The mtraveling salesman problem (m-TSP) is a special case of the CVRP providing unlimited capacity for each vehicle, i.e., Q = . Furthermore, Golden et al. [22] devised tabu search procedures applying adaptive memory for the MM CVRP as well as for the same problem allowing multiple use of vehicles (abbreviated MM CVRPM). The approaches for both problems are essentially based on the algorithm of Taillard [17]. For the MM CVRP the minmax objective is enforced by integrating the length of the longest cycle as a distance constraint. In an initial step a pool of solutions consisting of s ?m cycles is computed (where m is the number of available vehicles). Then these solutions are broken down to solutions having m tours by distributing them according to a load balancing scheme. 1.2.2. Arc routing For problems from the area of arc routing substantially less research concerning local search and tabu search has been conducted. The main reason is probably that it is much more difcult to dene neighborhood solutions in this context. The counterpart of the CVRP in the area of arc routing is the capacitated arc routing problem (CARP). We are given an undirected graph G = (V , E), edge weights w(e) R+ for all e E, edge demands d(e) R+ for all e E, a distinguished depot node v1 and a vehicle capacity Q. The aim is to determine 0 a set of closed walks with minimum sum of edge weights, such that each closed walk contains the depot node, each edge e with positive edge demand is traversed at least once by a closed walk and the sum of demands of edges traversed by each closed walk does not exceed the vehicle capacity. A special case of the CARP is the capacitated Chinese postman problem (CCPP) where all edge demands are positive. Early tabu search resp. simulated annealing approaches for a road gritting problem and a multi-depot gritting problem with several side constraints are due to Li [23] and Eglese [24]. Greistorfer [25] developed a tabu search procedure for the CCPP. He used one kind of neighborhood structure and performs the selection of the neighborhood solution to proceed with according to best improvement and rst improvement rules. The rst of a series of successful, recently published meta-heuristics for the CARP is the tabu search algorithm Carpet which was developed by Hertz et al. [26]. The main ideas from the Taburoute algorithm [15] for the CVRP have been transferred into the CARP context. Furthermore, some improvement procedures originally developed for the rural postman problem [27] are integrated into this approach.
3407
Computational results demonstrated a clear dominance of Carpet over all known heuristics for the CARP at that time. Hertz and Mittaz [28] devised a variable neighborhood descent (VND) algorithm based on the idea of variable neighborhood search (VNS) [29]. The VND approach extends the descent local search method by considering different neighborhood structures in each iteration. The neighborhood structures used in [28] operate on up to K routes, where K is the number of available vehicles. For constructing new neighborhood solutions the same basic procedures as used for the Carpet algorithm [26] are utilized. Computational results showed that the VND approach is competitive and for large instance even superior (in terms of solution quality and speed) to Carpet. In [30,31] Lacomme et al. present the rst genetic algorithms for the CARP which are also capable of tackling extensions. At present these line of algorithms are the most successful and outperform all other heuristics for the CARP. A recent hybrid approach for the CCPP featuring a so-called scatter search comes from Greistorfer [32]. It is reported that this approach is competitive to Carpet. In [33] Beullens et al. come up with a new algorithm which combines the idea of their k-opt approach [34] (originally developed for the general routing problem (GRP)) with a guided local search scheme (GLS). The key feature of GLS is the usage of a penalizing mechanism in order to direct the search into promising regions of the solution space. Computational experiments demonstrated that the approach is as good as Carpet and could even improve some upper bounds obtained in [26]. Unfortunately, no comparisons to the genetic algorithms of Lacomme et al. [30,31] have been performed. 1.3. Terminology For the MM k-CPP we have the following input data: a connected undirected graph G=(V , E), weights for each edge w : E R+ , a distinguished depot node v1 V and a xed number k > 1 of postmen. A feasible solution, called k-postman tour, is a set C of k closed walks, C = {C1 , . . . , Ck }, such that each tour Ci contains the depot node v1 , all edges e E are covered by at least one tour Ci and each postman is involved. For an edge set or a walk F let |F | denote the cardinality of the edge set and the number of edges contained in the walk, respectively. p We extend the weight function w to walks F = (e1 , . . . , ep ) by dening w(F ) = i=1 w(ei ). Now, for a k-postman tour C, let us denote the maximum weight attained by a single tour Ci as wmax (C), i.e., wmax (C) = max w(Ci ).
i=1,...,k
The objective of the MM k-CPP is to nd a k-postman tour C which minimizes wmax among all feasible k-postman tours, i.e., wmax (C ) = min{wmax (C) | C is a k-postman tour}. Fig. 2 shows a 2-postman C = {C1 , C2 } tour on an example graph G depicted in Fig. 1. The weights of the tours are w(C1 ) = 107, w(C2 ) = 78 and hence wmax (C) = 107. Edges of C1 have dashed line style, edges of C2 have dotted line style. The example graph G will be used throughout the paper for illustrating algorithms. Note that the weight function does not fulll the triangle inequality, i.e., w({u, v})+ w({v, w}) w({u, w}) for {u, v}, {v, w}, {u, w} E does not hold in general.
3408
We denote by SP(vi , vj ) the set of edges on the shortest path between nodes vi , vj V . The distance of the shortest path between vi and vj is given by w(SP(vi , vj )). We will use Dijkstras algorithm [35] and the FloydWarshall [36] algorithm to compute single-pair and all pairs shortest paths, respectively, in our implementation. Usually the shortest path computation is performed only once and results are then provided as parameter to the single procedures. For an edge set F E we denote by V (F ) V the set of nodes being incident to some edge from F. For a node v V we denote by (v) the set of edges being incident to v.
2. Basic procedures In this section we want to develop a set of basic procedures which allow us to easily perform modications on feasible solutions for the MM k-CPP. These procedures will be used to construct neighborhood solutions in Section 3. Furthermore, we will present three different improvement procedures which can be applied after each modication. 2.1. Merging and separating edges The main operations needed for modifying single tours are addition and removal of edges. Of course we have to take care that when modifying a tour Ci by adding or removing edges this tour remains a closed walk. Furthermore, when removing edges we must ensure that the depot node is still contained in Ci afterward. This additional work is performed in the procedures MergeWalkWithTour and SeparateWalkFromTour. In the scope of our tabu search algorithm we only encounter the situation that single edges or edge sets representing walks have to be merged or separated. Let us now consider the procedure MergeWalkWithTour in detail. Algorithm: MERGEWALKWITHTOUR Input: The tour Ci and the walk H to be merged. Output: The tour Ci which represents a feasible tour formed from edges contained in Ci and H and possibly additional edges.
3409
(1) Remove those edges from the beginning and the end of H which also occur in Ci and let H be the result. (2) Let u and v be the endnodes of H . Determine the node t on Ci which minimizes w(SP(u, t)) + w(SP(v, t)). (3) Let Ci evolve from splicing SP(t, u), H , SP(v, t) into Ci at node t. Step (1) costs O(|H | + |Ci |). Step (2) needs O(|Ci |) (the shortest path information is given as input parameter). Step (3) requires traversing the walk SP(t, u), H, SP(v, t) which needs at most O(|E|). Hence, the overall required time is O(|E|). The procedure SeparateWalkFromTour is rather straightforward except that we have to take care that the depot node remains in the tour. Algorithm: SEPARATEWALKFROMTOUR Input: The tour Ci and the walk H to be separated. Output: The tour Ci which represents a feasible tour formed from edges of Ci remaining after removing edges from H and possibly additional edges needed to re-establish feasibility. (1) Let u and v be the endnodes of H (u = v is possible). Check whether the depot node v1 is an internal node of H. (2) Remove all edges of H from Ci and let Ci be the result. Check whether the depot node v1 is contained i. in C (3) We have to consider two cases when connecting u and v: If v1 is an internal node of H and v1 is not contained in Ci then let Ci evolve from Ci by connecting u and v with SP(u, v1 ), SP(v1 , v). Otherwise let Ci evolve from Ci by connecting u and v with SP(u, v). Step (1) costs O(|H |). Step (2) needs O(|Ci |). Step (3) needs at most O(|E|). Hence the overall time is O(|E|). Note, that when applying the procedures MergeWalkWithTour and Separate WalkFromTour one has to pay attention that the overall k-postman tour remains feasible. We will care about this issue when creating neighborhood solutions in Section 3.2. Let us illustrate the above procedures by performing modications of the 2-postman tour depicted in Fig. 2. Fig. 3 shows the 2-postman tour after applying the operation SeparateWalkFromTour on C1 (dashed edges) with H = {v4 , v6 }, {v6 , v8 }. The endnodes v4 and v8 have been connected by the shortest path edge {v4 , v8 }. The weight of the tour C1 has decreased by 14 and now amounts to w(C1 )=93, but the current 2-postman tour is not feasible since edge {v6 , v8 } is not serviced. Fig. 4 shows the tour depicted in Fig. 3 after applying the operation MergeWalkWithTour on C2 (dotted edges) with H = {v4 , v6 }, {v6 , v8 }. For example, the node t = v4 minimizes the sum of shortest path distances to the endnodes v4 and v8 . Hence again edge {v4 , v8 } has been added to C2 . Though the weight of tour C2 has increased by 16, we have improved the objective function value by 13 because now we have w(C1 ) = 93 and w(C2 ) = 94 and hence wmax (C) = 94. 2.2. Improving tours Solutions obtained by heuristics and in particular by modication of single tours often leave potential for further improvement. Such improvement procedures have been proven highly successful in
3410
Fig. 2. A 2-postman tour C = {C1 , C2 } on G. Edges of C1 have dashed line style, edges of C2 have dotted line style.
Fig. 3. The 2-postman tour shown in Fig. 2 after applying the operation SeparateWalkFromTour on C1 (dashed edges) with H = {v4 , v6 }, {v6 , v8 }.
producing better solutions. Hence it seems natural to apply improvement procedures after each modication of a single tour by MergeWalkWithTour and SeparateWalkFromTour. However, we have to be aware that, when computing neighborhood solutions, many modication steps will be performed and thus the improvement procedure will be executed quite often. Therefore the overall computing time for the tabu search algorithm will depend heavily on the effort spent in the improvement procedure. In order to investigate the trade-off between effort and solution quality we developed three improvement procedures of different complexity. But before presenting these procedures we have to introduce the notion of required edges edges which is essential for developing improvement procedures in our context. The main difculty in modifying the single tours Ci of a k-postman tour C lies in maintaining feasibility of C. Feasibility means that all tours remain closed walks containing the depot node and that each edge is traversed by at least one tour. For example, if we want to remove one or several edges from a tour Ci we have to ensure that Ci remains a closed walk (by eventually adding new edges) and moreover that those edges which have been deleted from Ci are traversed by some other tours. This task is much more
3411
Fig. 4. The 2-postman tour shown in Fig. 3 after applying the operation MergeWalkWithTour on C2 (dotted edges) with H = {v4 , v6 }, {v6 , v8 }.
intricate than modication of tours in the node routing context since for node routing problems we do not have to care about which edges are used to connect nodes (apart from favoring cheap edges). Distinguishing between required edges and non-required edges helps in performing admissible modications. For example, for the CARP this information is given explicitly, namely those edges with positive demand are required. For the MM k-CPP we do not have explicit information since all edges have to be served. Nevertheless, it is possible to classify edges to be required or not in our context. Given a k-postman tour C let us consider a single tour Ci . We say that an edge e, which is traversed by Ci but not traversed by any other tour Cj , j = i, is required for Ci . In order to make this classication we need to know how many times an edge is contained in C and in single tours Ci , respectively. More formally, let us denote by edge frequencies the information how often edges occur and let
i (e) denote the frequency of e occurring in Ci and
(e) = k
i (e) the frequency of e occurring in all tours. i=1 An edge e is called redundant for Ci if
i (e) 1 and
(e) >
i (e). On the contrary, an edge e is called required for Ci if
i (e) 1 and
(e) =
i (e). The time complexity for computing edge frequencies is O(k|E|). Now it is easy to state what exactly we expect from an improvement procedure, namely given a single tour Ci from a k-postman tour C try to decrease the tour length while keeping the required edges in Ci . But this is exactly the rural postman problem (RPP) which is NP-hard [37]. Since we want to apply our improvement procedures as a post-processing step for improving a neighborhood solution it is clear that we will focus on fast heuristic procedures. Let us now turn to the rst improvement procedure called RemoveReplicateEdgesKeepingParity which tries to remove superuous edges in a given tour Ci . It is based on the simple observation that for edges e occurring n 3 times in Ci we can remove n 2 times (n 1 times) e if n is even (odd) because we keep the parity of the incident nodes and also the connectivity of the tour. This procedure can be accomplished in O(|Ci |), however, in general the resulting set of edges Ci does not represent a closed walk anymore. Since reestablishing a closed walk can be accomplished in linear time too (which will be explained next), RemoveReplicateEdgesKeepingParity represents a simple and fast heuristic. The procedure ReorderToClosedWalk reorders the edges of a given edge set Ci to obtain a closed walk. Necessary and sufcient conditions for being able to do this are that all nodes from V (Ci ) have even
3412
Fig. 5. The 2-postman tour shown in Fig. 4 after applying the operation RemoveEvenRedundantEdges on C2 (dotted edges).
degree (according to Ci ) and the graph G[Ci ] induced by Ci is connected. The algorithm is based on the well-known end-pairing algorithm of Edmonds and Johnson [38] and basically constructs a series of closed walks which are successively spliced together. The second improvement procedure, called RemoveEvenRedundantEdges, basically works exactly like RemoveReplicateEdgesKeepingParity but it does a little bit more. In particular when considering a tour Ci and a redundant edge e, i.e.,
(e) >
i (e), with even frequency, i.e.,
i (e) 0 mod 2, e will be removed completely from Ci if the remaining Ci remains connected and still contains the depot node. The time complexity is O(|Ci |2 ) because for each edge e from Ci we have to check whether Ci without e remains connected and still contains the depot node which can be done in O(|Ci |) for each. Again ReorderToClosedWalk has to be applied afterward. Fig. 5 shows the 2-postman tour depicted in Fig. 4 after applying the operation RemoveEvenRedundantEdges on C2 (dotted edges). The edge {v4 , v8 } is even and redundant for C2 and can be removed since C2 remains connected. Now w(C2 ) = 92 and the objective function value decreased by 1 because now wmax (C) = 93. The last improvement procedure is based on the routine Shorten which was developed as an improvement procedure for the RPP [27] and used for the tabu search algorithm Carpet for the CARP [26]. The basic idea is to identify redundant walk segments P in the tour Ci and replace them by a shortest path connecting the end nodes of P. We will call this procedure ShortenRequiredEdgeConnections. Algorithm: SHORTENREQUIREDEDGECONNECTIONS Input: A single tour Ci from a k-postman tour C. Output: A possibly improved tour Ci . (1) Consider each possible starting edge and each of the two orientations of the tour Ci . (1.1) Compute edge frequencies. (1.2) Traverse Ci . (1.2.1) Construct the longest possible walk P (while traversing Ci ) consisting of redundant edges. Let vh be the origin and vj be the terminus of walk P.
3413
(1.2.2) Try to enlarge P. Traverse the tour Ci further onbuilding up walk Quntil a redundant edge (vl , vj ) entering vj is found. If such a walk Q = {vj , . . . , vl , vj } is found, reverse the orientation of Q in Ci and continue with step (1.2.1) starting again at vh . (1.2.3) Replace P by the shortest path SP(vh , vj ) if w(SP(vh , vj )) < w(P ). Continue with step (1.2) with the edge following the last edge of P. (2) If the depot node v1 is not contained in Ci anymore, choose the node vt on Ci which has minimum distance to v1 and merge two times SP(v1 , vt ) with Ci in order to connect the depot node with a closed walk to Ci . In step (1.1) we always have to recompute the edge frequencies because we modify them in step (1.2.1) to keep book of redundant and required edges. The loop of step (1) is executed O(2|Ci |) times. Step (1.1) costs O(k|E|). Step (1.2) is difcult to analyze. In the worst case it could happen that for each edge added to path P a required edge would follow but we could nd an appropriate walk Q and then we would start again at the beginning of P. Hence step (1.2) has worst case time of O(|Ci |2 ). Step (2) needs only O(|Ci |). Hence the worst case running time is O(|Ci |3 ). We refer the reader to [26,27] for illustrating examples of the procedure ShortenRequiredEdgeConnections.
3. The tabu search algorithm We will rst explain the generic tabu search procedure. Then we will present three different neighborhood structures. 3.1. The generic tabu search algorithm The generic tabu search algorithm for the MM k-CPP works as follows. In each iteration we consider a so-called currentSolution (which is initialized with an input solution C) and compute a set of neighborhood solutions N(currentSolution). A neighborhood solution is obtained by performing slight modications on the current solution (neighborhoods will be presented in the next section). When going from one solution Ci to a neighborhood solution Cj (which will be called move) we want to maximize the improvement of the objective function value wmax (Ci )wmax (Cj ) (which will be called move value). Hence the neighborhood solutions will be considered in decreasing order of their move value and the non-tabu neighbor solution with the best move value is chosen to be the next current solution. In the case that the neighborhood solution is tabu but better than the current best solution the tabu rule will be ignored. A solution is declared tabu according to a recency criterion, namely in the case when the move from the current solution to the neighbor solution has already appeared in the tabuTenure last iterations (the exact tabu criterion depends on the neighborhood and will be explained in the next section). The algorithm terminates if no improvement of the best solution has been achieved in the last maxNOfItsWithoutImprovement iterations. More formally the algorithm works as follows: Algorithm: MMKCPPGENERICTABUSEARCH Input: A k-postman tour C, the maximum number of iterations without improvement maxNOfItsWithoutImprovement, a tabu tenure tabuTenure and a ag improvementProcedure.
3414
Output: A possibly improved k-postman tour C. (1) Initialize. bestSolution = currentSolution = C bestSolutionValue = currentSolutionValue = wmax (C) nOfItsWithoutImprovement = 0 (2) while nOfItsWithoutImprovement < maxNOfItsWithoutImprovement. (2.1) Increment nOfItsWithoutImprovement. (2.2) Compute a list of neighborhood solutions N(currentSolution) (with parameter improvementProcedure) in decreasing order of their move value. (2.3) Let neighborSolution be the rst solution of the list which is either non-tabu or tabu but neighborSolutionValue < bestSolutionValue (if no such solution exists the algorithm terminates). Set currentSolution = neighborSolution and currentSolutionValue = neighborSolutionValue. If currentSolutionValue < bestSolutionValue then bestSolution=currentSolution, bestSolutionValue = currentSolutionValue and nOfItsWithoutImprovement = 0. 3.2. Neighborhoods Given a current solution C there is a huge number of possibilities to construct neighborhood solutions. It is clear that one has to consider specialized and promising neighborhoods with restricted size. As a rst restriction we will conne ourselves to neighborhood solutions where only two tours, namely the longest tour Ci and any other tour Cj , j = i, are modied. The three neighborhoods presented in the following mainly differ in the way they exchange edges between Ci and Cj . In the following when talking about merging and separating edges or walks we refer to the application of the procedures MergeWalkWithTour and SeparateWalkFromTour, respectively, introduced in Section 2.1. As already mentioned in Section 2.2 we will apply improvement procedures after merging and separating edges or walks. The TwoEdgeExchange neighborhood successively considers two consecutive edges e and f in the longest tour Ci . These edges are separated from Ci and merged with any other tour Cj , j = i. Hence we obtain (k 1)(|Ci | 1) neighborhood solutions. After separating e and f the selected improvement procedure is applied to Ci and after merging e and f with Cj , j = i, the improvement procedure is applied to Cj . For the tabu criterion, two moves from C to C1 resp. C2 obtained by separating e1 , f1 resp. e2 , f2 from Ci1 resp. Ci2 and merging them with Cj1 resp. Cj2 , are considered to be identical if i1 = i2 , e1 = e2 , f1 = f2 and j1 = j2 . An example for the construction of a TwoEdgeExchange neighborhood solution is also contained in the examples illustrating the operations SeparateWalkFromTour and MergeWalkWithTour (Figs. 24). If we consider the solution depicted in Fig. 2 to be the current solution C, a possible neighborhood solution C (for Ci = C1 , Cj = C2 , e = {v4 , v6 }, f = {v6 , v8 }) is given in Fig. 4. The RequiredEdgeWalkExchange neighborhood successively considers walks H = P1 , e, P2 in the longest tour Ci where e is required for Ci and P1 and P2 contain as many redundant edges for Ci preceding and following e, respectivelyas possible. The walk H is separated from Ci and e is merged with any other tour Cj , j = i. Hence we obtain at most (k 1)|Ci | neighborhood solutions in the case that all edges are required. Usually there will be much less neighborhood solutions. After separating H, the selected
3415
improvement procedure is applied to Ci and after merging e with Cj , j = i, the improvement procedure is applied to Cj . Greistorfer [25] used a similar neighborhood structure for the CCPP. For the tabu criterion, 1 1 2 2 two moves from C to C1 resp. C2 obtained by separating H1 = P1 , e1 , P2 resp. H2 = P1 , e2 , P2 from Ci1 resp. Ci2 and merging e1 resp. e2 with Cj1 resp. Cj2 , are considered to be identical if i1 = i2 , e1 = e2 and j1 = j2 . The SingleRequiredEdgeExchange neighborhood successively considers required edges e in the longest tour Ci . The edge e is separated from Ci and merged with any other tour Cj , j = i. Hence we obtain at most (k 1)|Ci | neighborhood solutions. After separating e from Ci and merging e with Cj , j = i, the improvement procedure is applied to Ci and afterward to Cj . Note, that without application of improvement procedures the longest tour Ci will not be improved for instances having all weights fullling the triangle inequality, since e will be reinserted as shortest connection between its endnodes by the routine SeparateWalkFromTour. For the tabu criterion, two moves from C to C1 resp. C2 obtained by merging e1 resp. e2 from Ci1 resp. Ci2 with Cj1 resp. Cj2 , are considered to be identical if i1 = i2 , e1 = e2 and j1 = j2 . The above neighborhood in connection with the improvement procedure ShortenRequiredEdgeConnections was used in the Carpet tabu search algorithm for the CARP [26].
4. Computational results For our computational experiments we used instances of related problems from the literature (after appropriate adaptions) as well as a set of 5 randomly generated instances which are partially also used in [2]. In particular the instance set from the literature consists of 24 RPP instances from [39], 2 RPP instances from [40], 8 GRP instances from [41], 10 CARP instances from [42], 23 CARP instances from [43] and 2 CARP instances from [44]. The largest graphs have sizes of |V | = 200 and |E| = 392. We used the heuristics presented in [2] to produce initial solutions to improve on. Furthermore, we always considered the range k =2, . . . , 10 for the number of postmen (except for instance sets which contain very small instances). All computations were performed on a SUN Ultra 80 with Ultra Sparc IIi processors at 450 MHz. In a preliminary experiment the goal was to nd an appropriate setting for the parameter tabuTenure. We performed computations (for each combination of initial heuristic, tabu search neighborhood and improvement procedure) on the 5 randomly generated instances while using the values {5, 10, 15, 20} for tabuTenure. We imposed a time limit of 600 s on each run. We found, that for some instances the tabu tenure did not have any impact on the solution, but for most instances the values 15 and 20 led to solutions of best quality. Therefore, we decided to x the parameter tabuTenure to 20. The parameter maxNOfIterationsWithoutImprovement is set to 100. In a second experiment we investigated the impact of the three different neighborhood structures on the solution quality. This was accomplished by comparing the results of the three neighborhoods for each of the four congurations of post-processing by improvement procedures (one conguration is without using an improvement procedure). Again we used the 5 randomly generated instances and also the 2 instances from [40]. The time limit was set to 600 s on each run. Roughly, we observed that the TwoEdgeExchange (TEE) neighborhood was superior to the RequiredEdgeWalkExchange (REWE) neighborhood for the cases of applying RemoveReplicateEdgesKeepingParity, RemoveEvenRedundantEdges and when no improvement procedure was used. The SingleRequiredEdgeExchange (SREE) neighborhood could not achieve any best solution in these three cases. In the case
3416
of using ShortenRequiredEdgeConnections the best solutions are almost equally distributed among the three neighborhoods. We now want to go into more detail and try to give reasons for the behavior we observed in the second experiment. As already mentioned, in general the TEE neighborhood is superior (in the rst three cases) but for an increasing number of postmen k we found that solutions obtained for the REWE neighborhood become better and then often outperform the solutions of the TEE neighborhood. This phenomenon can be explained by the following consideration. For k small it is less likely that single tours overlap and hence almost all edges of a single tour are required. For the REWE neighborhood this would result in H (the walk to be exchanged) consisting only of one required edge. An exchange of only one required edge (which is exactly the case of the SREE neighborhood) is not very effective which we have already observed for the SREE neighborhood. But with increasing k it is more likely that single tours serve the same edges and hence the number of redundant edges grows. This, in turn, leads to larger walks H to be exchanged in the REWE neighborhood and hence to probably more promising neighbor solutions. The TEE neighborhood has a xed exchange scheme and thus is independent of the value of k. This is probably the reason for the TEE neighborhood being superior in most cases. When using ShortenRequiredEdgeConnections as improvement procedure the best solutions are almost equally distributed among the three neighborhoods. The reason is that this improvement procedure performs substantial modications of a solution and it seems to be a matter of accident which solution is appropriate for achieving best improvements. So probably ShortenRequiredEdgeConnections can often turn bad solutions in better solutions than improving on a fairly good solution. The next experiment was concerned with investigating the effect of the improvement procedures. Recall that in the tabu search algorithm the selected improvement procedure will be applied each time a neighborhood solution is constructed (cf. Section 3.2). In order to put the running time in relation to the solution quality we imposed two different time limits on each run, namely 60 s for rather short runs and 600 s for rather long runs. Furthermore, runs have been performed for all three neighborhoods. Again we used the 5 randomly generated instances and also the 2 instances from [40]. These seven instances can be roughly divided into three small instances with |V | [20, 40] and |E| [32, 70] and four larger instances with |V | [90, 102] and |E| [144, 199]. For all three neighborhoods we observed the same effects of the improvement procedures. Namely, for the short runs the improvement procedure RemoveEvenRedundantEdges was superior for all instances except for the smallest instance with |V | = 20 and |E| = 32. For the long runs the improvement procedure ShortenRequiredEdgeConnections was superior for the three small instances but for the large instances again RemoveEvenRedundantEdges was better. In only a few cases RemoveReplicateEdgesKeepingParity yielded the best result. This experiment clearly shows that the improvement procedure ShortenRequiredEdgeConnections (with its high time complexity) is not favorable if we have time restriction or deal with large graphs. The procedure RemoveEvenRedundantEdges seems to make an excellent compromise between time complexity and quality and for large instances there is even no alternative in choosing this improvement procedure. The last experiment compared the results of the tabu search algorithm with the results of existing heuristics (including improvement procedures) and lower bounds from [2]. Computations were performed on the whole instance set. The time limit was set to 600 s on each run. Since listing results for each instance and each number of postmen k = 2, . . . , 10 would produce too extensive tables we restricted the information to average results over all postmen. For tables with explicit results please contact the authors.
D. Ahr, G. Reinelt / Computers & Operations Research 33 (2006) 3403 3422 Table 1 Random generated instances, k = 2, . . . , 10 Instance Random1 Random2 Random3 r2d4nb5 r1d5nb5 |V | 20 20 40 100 100 |E| 33 32 70 160 199 Average impr. (%) 3.68 7.15 13.23 5.65 5.48
3417
Table 2 RPP instances from [39], k = 2, . . . , 7 Instance P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 |V | 11 14 28 17 20 24 23 17 14 12 9 7 7 28 26 31 19 23 33 50 49 50 50 41 |E| 13 33 57 35 35 46 47 40 26 20 14 18 10 79 37 94 44 37 54 98 110 184 158 125 Average impr. (%) 0.00 13.21 6.73 8.59 10.36 10.26 16.76 16.07 6.73 11.55 4.46 15.16 4.41 9.15 6.16 8.11 12.08 8.39 6.23 8.14 5.72 2.30 6.18 4.47 Average gap (%) 0.31 2.78 8.00 4.02 7.26 7.76 1.70 5.07 8.83 3.83 0.00 3.32 2.87 4.75 5.31 3.42 3.11 2.56 2.35 5.08 4.98 1.65 3.67 5.71
Table 1 shows results for the randomly generated instances, Table 2 for instances from [39], Table 3 for instances from [40], Table 4 for instances from [41], Table 5 for instances from [42], Table 6 for instances from [43] and Table 7 for instances from [44]. The rst three columns of the tables contain the instance name, the number of nodes |V | and the number of edges |E| of the instance. The last two columns contain the average improvement of the tabu search algorithm over the existing heuristics and the average gap between the results of the tabu search algorithm and the lower bounds, respectively. The average is drawn over the range of postmen (usually
3418
Table 3 RPP instances from [40], k = 2, . . . , 10 Instance ALBAIDAA ALBAIDAB |V | 102 90 |E| 160 144 Average impr. (%) 4.93 5.45 Average gap (%) 9.64 5.85
Table 4 GRP instances from [41], k = 2, . . . , 10 Instance ALBA_3_1 MADR_3_1 GTSP1 GTSP2 GTSP3 GTSP4 GTSP5 GTSP6 |V | 116 196 150 150 152 195 200 200 |E| 174 316 297 296 296 348 392 386 Average impr. (%) 2.18 1.79 2.75 2.40 1.55 1.90 2.41 2.02 Average gap (%) 10.32 15.32 15.99 17.44 10.96 19.69 19.85 19.55
Table 5 CARP instances from [42], k = 2, . . . , 10 Instance 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A |V | 24 24 24 41 34 31 40 30 50 50 |E| 39 34 35 69 65 50 66 63 92 97 Average impr. (%) 7.72 4.22 2.75 8.82 11.06 8.36 8.74 11.32 8.32 6.41 Average gap (%) 1.43 3.53 1.70 4.31 7.55 3.51 8.20 5.27 9.65 13.42
k = 2, . . . , 10). In more detail the improvement for a xed k is determined as follows. Let x be the value of the best heuristic solution (including improvement procedures) from [2] and y be the best solution value obtained by the tabu search algorithm for all possible congurations of neighborhood structures and improvement procedures. Then the improvement is determined as (x y) 100/x (note that x y holds because the tabu search algorithm improves on the heuristic solutions). Similarly, for the gap let z be the best lower bound obtained by the lower bounds SPT-LB and CPP/k-LB presented in [2]. Then the gap is determined as (y z) 100/y. The solutions obtained by the heuristics could be improved by the tabu search algorithm in almost all cases. The improvement is often considerable, in many cases about 10% for some instance/postman congurations even about 2030%. A different behavior can be observed for the instance sets from [41] (Table 4) and [44] (Table 7) which contain the largest instances of the test set. Here the average
D. Ahr, G. Reinelt / Computers & Operations Research 33 (2006) 3403 3422 Table 6 CARP instances from [43], k = 2, . . . , 9 Instance gdb1 gdb2 gdb3 gdb4 gdb5 gdb6 gdb7 gdb8 gdb9 gdb10 gdb11 gdb12 gdb13 gdb14 gdb15 gdb16 gdb17 gdb18 gdb19 gdb20 gdb21 gdb22 gdb23 |V | 12 12 12 11 13 12 12 27 27 12 22 13 10 7 7 8 8 9 8 11 11 11 11 |E| 22 26 22 19 26 22 22 46 51 25 45 23 28 21 21 28 28 36 11 22 33 44 55 Average impr. (%) 11.56 16.51 12.71 10.27 11.09 10.30 13.88 10.80 14.41 16.50 13.53 9.81 4.65 19.85 14.18 15.70 12.92 14.22 3.78 9.19 13.04 9.12 8.18
3419
Average gap (%) 1.57 0.60 0.60 1.70 3.16 1.70 3.29 8.36 4.05 7.22 5.34 0.80 0.10 3.73 0.00 1.96 0.89 1.61 1.19 1.05 3.37 0.85 0.88
Table 7 CARP instances from [44], k = 2, . . . , 10 Instance egl-e4-A egl-s4-A |V | 77 140 |E| 98 190 Average impr. (%) 1.34 2.46 Average gap (%) 11.95 16.23
Table 8 CARP instances from [44], k = 2, . . . , 10, no time limit Instance egl-e4-A egl-s4-A |V | 77 140 |E| 98 190 Average impr. (%) 4.23 7.27 Average gap (%) 9.32 11.88
improvement of 1.9% and 2.1%, respectively, is rather low. This, however, can be explained by the limited amount of time (600 s) which does not allow to create as many neighborhood solutions as required for obtaining better solutions. This is conrmed by the results contained in Table 8 which show an average improvement of 5.75% for the instance set from [44] when the time limit is dropped.
3420
Although in many cases the improvement is about 10% we can also observe many instances/postman congurations with only low improvement on the rst sight. But if we have a closer look we discover that in most of these cases the heuristic solution is already very good, i.e., very close to the best lower bound. It is clear that a large improvement is not possible in those cases. In spite of this, the tabu search algorithm often determines a better solution which is even optimal in many cases. A nal comment concerns the lower bounds in order to explain the sometimes large gaps occurring. The CPP/k-LB is obtained by computing an optimum 1-postman tour (which is the Chinese postman problem and polynomial solvable [38]) and dividing its weight by k. In general it produces good results only for k = 2, 3 because the more postmen are in use the more overlappings will happen. However, these overlappings are not taken into account. The SPT-LB is the shortest tour length required to serve the edge farthest away from the depot node. It is independent of the number of postmen k and yields good results only for an appropriate ratio of k and the size (and structure) of the instance. For small and medium sized instances and k = 8, 9, 10 we observed that the value of SPT-LB often coincides with the optimum solution value. Hence the sometimes large gap values, in particular for k = 4, 5, 6, 7, are rather based on bad lower bounds than on bad solutions obtained by the tabu search algorithm. 5. Conclusion We have presented a tabu search algorithm for the MM k-CPP. Besides the usual features of a tabu search approach we focus on investigating the trade-off between running time effort and solution quality when applying improvement procedures of different complexity in the course of the neighborhood construction. We devised three different improvement procedures RemoveReplicateEdgesKeepingParity, RemoveEvenRedundantEdges and ShortenRequiredEdgeConnections of linear, quadratic and cubic running time and made the following observations. The improvement procedure ShortenRequiredEdgeConnections with its high time complexity yields very good results but is too time consuming for large instances or when time restrictions are imposed. An excellent compromise between running time and solution quality is made by RemoveEvenRedundantEdges and for larger instances there is no alternative for an effective improvement procedure. The fast but rather straightforward procedure RemoveReplicateEdgesKeepingParity could not compete in most cases. Furthermore, we analyzed three different neighborhoods TwoEdgeExchange (TEE), RequiredEdgeWalkExchange (REWE) and SingleRequiredEdgeExchange (SREE). We found that when applying the improvement procedure ShortenRequiredEdgeConnections the choice of the neighborhood structure did not matter because extensive modications of intermediate solutions are accomplished. For the remaining two improvement procedures we observed that the TEE neighborhood with its xed exchange scheme is superior in most cases. However, for an increasing number of postmen k the REWE neighborhood becomes better since the growing number of redundant edges leads to exchanges of larger walks and this, in turn, to promising neighbor solutions. We have compared the results of the tabu search algorithm with the results of existing heuristics (including improvement procedures) from [2] on a large set of instances from the literature and randomly generated instances. The tabu search algorithm could achieve improvements in almost all cases. The improvement is in many cases about 10% for some instance/postman congurations even about 2030%. By using lower bounds from [2] we were able to assess the quality of the solutions. In many cases the tabu search algorithm yielded near optimal or even optimal solutions. Our results and our set of benchmark instances can serve as testbed for further research on the MM k-CPP.
3421
Our future work will comprise further ne tuning and enhancements of the tabu search algorithm, e.g. by using a randomized tabu tenure and introducing a frequency criterion. Furthermore, we intend to investigate new neighborhoods, e.g. an m-edge exchange neighborhood, and develop new improvement procedures. In order to attack larger instances we plan to parallelize the tabu search algorithm. References
[1] Frederickson GN, Hecht MS, Kim CE. Approximation algorithms for some routing problems. SIAM Journal on Computing 1978;7(2):17893. [2] Ahr D, Reinelt G. New heuristics and lower bounds for the minmax k-Chinese postman problem. In: Mring R, Raman R, editors. AlgorithmsESA 2002, 10th Annual European Symposium, Rome, Italy, September 1721, 2002. Proceedings, Lecture notes in computer science, vol. 2461. Berlin: Springer; 2002. p. 6474. [3] Glover F. Heuristic for integer programming using surrogate constraints. Decision Science 1977;8:15666. [4] Glover F. Future paths for integer programming and links to articial intelligence. Computers & Operations Research 1986;13:53349. [5] Glover F. Tabu search, Part I. ORSA Journal on Computing 1990;1:190219. [6] Glover F. Tabu search, Part II. ORSA Journal on Computing 1991;2:432. [7] Glover F, Laguna M. Tabu search. In: Reeves C, editor. Modern heuristic techniques for combinatorial problems. Oxford: Blackwell Scientic Publications; 1993. p. 70150. [8] Reeves C, editor. Modern heuristic techniques for combinatorial problems. Oxford: Blackwell Scientic Publications; 1993. [9] Aarts E, Lenstra JK, editors. Local search in combinatorial optimization. New York: Wiley, 1997. [10] Gendreau M, Laporte G, Potvin J-Y. Metaheuristics for the capacitated VRP. In: Toth P, Vigo D, editors. The vehicle routing problem, SIAM monographs on discrete mathematics and applications. Philadelphia, PA: SIAM; 2002. p. 12954 [Chapter 6]. [11] Willard JAG. Vehicle routing using r-optimal tabu search. Masters thesis, The Management School, Imperial College, London, 1989. [12] Lin S. Computer solutions of the traveling salesman problem. Bell System Technical Journal 1965;44:224569. [13] Pureza VM, Frana PM. Vehicle routing problems via tabu search metaheuristic. Technical Report CRT-347, Centre for Research on Transportation, Montreal, Canada, 1991. [14] Osman IH. Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem. Annals of Operations Research 1993;41:42151. [15] Gendreau M, Hertz A, Laporte G. A tabu search heuristic for the vehicle routing problem. Management Science 1994;40:127690. [16] Gendreau M, Hertz A, Laporte G. New insertion and postoptimization procedures for the traveling salesman problem. Operations Research 1992;40:108694. [17] Taillard D. Parallel iterative search methods for vehicle routing problems. Networks 1993;23:66173 The CVRP with distance constraint is also considered. [18] Volgenant A, Jonker R. The symmetric traveling salesman problem and edge exchange in minimal 1-trees. European Journal of Operational Research 1983;12:394403. [19] Rochat Y, Taillard D. Probabilistic diversication and intensication in local search for vehicle routing. Journal of Heuristics 1995;1:14767. [20] Toth P, Vigo D. The granular tabu search (and its application to the vehicle routing problem). Technical Report OR/98/9, DEIS, Universit di Bologna, Italy, 1998. [21] Frana PM, Gendreau M, Laporte G, Mller FM. The m-traveling salesman problem with minmax objective. Transportation Science 1995;29(3):26775. [22] Golden BL, Laporte G, Taillard D. An adaptive memory heuristic for a class of vehicle routing problems with minmax objective. Computers & Operations Research 1997;24:44552. [23] Li LYO. Vehicle routeing for winter-gritting. PhD thesis, Department of Management Science, Lancaster University, 1992. [24] Eglese RW. Routeing winter gritting vehicles. Discrete Applied Mathematics 1994;48(3):23144.
3422
[25] Greistorfer P. Computational experiments with heuristics for a capacitated arc routing problem. In: Derigs U, Bachem A, Drexl A, editors. Operations Research Proceedings, 1994. Berlin: Springer; 1994. p. 18590. [26] Hertz A, Laporte G, Mittaz M. A tabu search heuristic for the capacitated arc routing problem. Operations Research 2000;48(1):12935. [27] Hertz A, Laporte G, Nanchen Hugo P. Improvement procedures for the undirected rural postman problem. INFORMS Journal on Computing 1999;11(1):5362. [28] Hertz A, Mittaz M. A variable neighborhood descent algorithm for the undirected capacitated arc routing problem. Transportation Science 2001;35(4):42534. [29] Mldadenovi N, Hansen P. Variable neighborhood search. Computers & Operations Research 1997;24(11):1097100. c [30] Lacomme P, Prins C, Ramdane-Chrif W. A genetic algorithm for the capacitated arc routing problem and its extensions. In: Boers EJW editor. Applications of evolutionary computing, Lecture notes in computer science, vol. 2037. Berlin: Springer; 2001. p. 47383. [31] Lacomme P, Prins C, Ramdane-Chrif W. Competitive memetic algorithms for arc routing problems. Research Report losi-2001-01, University of Technology of Troyes, France, 2001. Annals of Operations Research, to appear. [32] Greistorfer P. A tabu scatter search metaheuristic for the arc routing problem. Computers and Industrial Engineering 2003;44(2):24966. [33] Beullens P, Muyldermans L, Cattrysse D, Van Oudheusden D. A guided local search heuristic for the capacitated arc routing problem. European Journal of Operational Research 2003;147(3):62943. [34] Muyldermans L, Beullens P, Cattrysse D, Van Oudheusden D. The k-opt approach for the general routing problem. Technical Report, Center for Industrial Management, Katholieke Universiteit Leuven, 2001. Working Paper 01/18. [35] Dijkstra E. A note on two problems in connexion with graphs. Numerische Mathematik 1959;1:26971. [36] Floyd RW. Algorithm 97: shortest path. Communications of the ACM 1962;5(6):345. [37] Lenstra JK, Rinnooy-Kan AHG. On the general routing problem. Networks 1976;6:27380. [38] Edmonds J, Johnson EL. Matching, Euler tours and the Chinese postman. Mathematical Programming 1973;5:88124. [39] Christodes N, Campos V, Corbern A, Mota E. An algorithm for the rural postman problem. Technical Report I.C.O.R. 81.5, Imperial College, 1981. [40] Corbern A, Sanchis JM. A polyhedral approach to the rural postman problem. European Journal of Operational Research 1994;79:95114. [41] Corbern A, Letchford A, Sanchis JM. A cutting plane algorithm for the general routing problem. Mathematical Programming Series A 2001;90(2):291316. [42] Benavent E, Campos V, Corbern A, Mota E. The capacitated arc routing problem: lower bounds. Networks 1992;22: 66990. [43] Golden BL, DeArmon JS, Baker EK. Computational experiments with algorithms for a class of routing problems. Computers & Operations Research 1983;10(1):4759. [44] Li LYO, Eglese RW. An interactive algorithm for vehicle routeing for winter-gritting. Journal of the Operational Research Society 1996;47:21728.