A Tabu Search Heuristic for the Generalized Traveling Salesman Problem Jacques Renaud 1,2 Frédéric Semet 3,4 1. Université Laval 2. Centre de Recherche sur les Technologies de l Organisation Réseau 3. Laboratoire d Automatique et de Mécanique Industrielles et Humaines, Université de Valenciennes 4. Centre de Recherche sur les Transports, Université de Montréal Presentation Outline 1. Definition 2. Literature review 3. The proposed tabu search heuristic 4. Computational results 5. Conclusions ASAC 2004, Québec
Problem definition The Generalized Traveling Salesman Problem (GTSP) In the GTSP, the traveling salesman must pass through a number of predefined subsets of customers, visiting at least one customer in each subset, while minimizing the subtour traveling cost. Two decision levels: 1) In which order the subsets should be visited, 2) Which customer(s) to visit in each subset. ASAC 2004, Québec
Problem definition The Symmetric GTSP Let G =(V, A) be a graph, where V = {v 1,..., v n } is the vertex set, and A = {(v i, v j ): i < j, v i, v j V} is the edge set. A cost or distance matrix C =(c ij ) is defined on A. We also consider the case where the set V is partitioned into m mutually exclusive and exhaustive clusters V 1,..., V m. The objective is to determine the least cost Hamiltonian cycle containing exactly one vertex from each cluster.
Problem definition The Symmetric GTSP The GTSP is clearly NP-hard since it reduces to the standard Traveling Salesman Problem (TSP) when m = n, i.e. V h =1 h. Selected readings about the TSP can be found in Laporte and Osman (1995) and in Laporte (1992).
Literature Review Srivastava et al (1969) Henry-Labordere (1969) Saksena (1970) Laporte and Nobert (1983) Laporte et al (1987) Noon (1988) Noon and Bean (1991) Sepehri (1991) Noon and Bean (1993) Fischetti et al (1997) Dymanic programming (SGTSP) Dymanic programming (AGTSP) Dynamic programming Branch and bound (SGTSP) Branch and bound (AGTSP) Thesis, transformations, exact and heuristic algorithms Branch and bound (AGTSP) Thesis, SGTSP Transformation of the AGTSP into a Clustered TSP Transformation of the GTSP into an asymmetrical TSP (optimal solution) Branch and cut, benchmark problems up to 442 nodes Renaud and Boctor (1998) Composite heuristic GI 3. In average at 1% above the optimal solution.
Literature Review Applications Henry-Labordere (1969) First industrial application of a GTSP for the optimal sequencing of computer files. Noon (1988) - Warehouse order picking - Airport selection and routing for courier planes Saksena (1970) Application in the field of scheduling Laporte et al (1995) - location-routing problems, - material flow system design, - post-box collection, - stochastic vehicle routing and arc routing.
A small example ASAC 2004, Québec
An observation If the visit order of the cluster is fixed, the optimal selection of nodes to be visited is easily solved by some shortest path sub problems where links are only defined between the nodes of two consecutive clusters. This suggest that it may be interesting to work only with clusters.
The Tabu Search Algorithm Components of the tabu search algorithm: - Division of the clusters into subgroups, - Initial Solution procedure, - Neighborhood structure, - Evaluation of candidate moves, -Tabustatus, - Intensification phase, - The global tabu search algorithm. ASAC 2004, Québec
The Tabu Search Algorithm Division of the clusters into subgroups Each cluster V h is divided into a number of mutually exclusive and exhaustive subgroups W hk, k=1,, p h where p h is the number of subgroups within cluster V h. Let w hk, be the representative vertex of subgroup W hk. The tabu search algorithm works with the representative vertices.
The Tabu Search Algorithm Division of the clusters into subgroups Define the dispersion index of subgroup W hk as : 1 cij if Whk > 1 Γ( W ) W ( W ) hk = hk hk 1 vi, vj Vhk 0 if Whk = 1 Let the proximity measure between two non empty subgroup W hk and W hk of V h be : 2 ( Whk, Whl ) = cij Γ( Whk ) Γ( Whl ) W W hk hl v v i j W W hk hl
The Tabu Search Algorithm Division of the clusters into subgroups First, we consider each vertex v 1, v 2, v 3,..., v k V h as an individual subgroup. Then, at each iteration, the two subgroups W hk and W hl, for which (W hk, W hl ) is minimum, are merged together to form a larger subgroup; let W hk be that new subgroup. This process is repeated as long as: Γ( W hk ) γ Γ( V ) h where is a specified used parameter set to 0.75 in this study. ASAC 2004, Québec
The Tabu Search Algorithm Division of the clusters into subgroups The representative vertex w hk of subgroup W hk within cluster V h is selected as the nearest vertex to the center of gravity of subgroup W hk. We construct also a circular list in which the subgroup vertices are sorted in increasing distance from the center of gravity (in such a list, the first vertex is considering following the last one).
The Tabu Search Algorithm Division of the clusters into subgroups Cluster 1 In this example, the information of a 40 vertices problem can be summarized within 7 representing vertices. Cluster 3 Cluster 2 Vertex Representing vertex Subgroup ASAC 2004, Québec
The Tabu Search Algorithm Initial Solution procedure Phase 1 : Nearest node heuristic Starting with a given representative vertex, the next representative vertex to be added is the nearest representative vertex, among those belonging to non-visited clusters, to the last representative vertex. Phase 2 : TSP : GENIUS based improvement procedure This solution is improved by using the GENIUS TSP algorithm (Gendreau, Hertz and Laporte, 1992). GENIUS is applied on the set of vertices which are in the current solution. For each cluster order, the optimal tour is found by solving the related shortest paths. ASAC 2004, Québec
Neighborhood structure The Tabu Search Algorithm Let T = {v 1,..., v q } be a tour which can be either feasible or unfeasible. T is unfeasible if some clusters are not visited and/or if some clusters are visited more than once. Let L(T) be the length of T. The neighbors of T are other solutions T obtained either by i) removing a vertex which is currently on the tour, or by ii) adding a representative vertex into the current tour. ASAC 2004, Québec
The Tabu Search Algorithm Evaluation of candidate moves DELETION of a vertex v i which is currently on the tour If the cluster of v i is visited at least twice then f(v i )= L(T\{v i })-L(T) -α. If v i is the only vertex visited in its cluster then f(v i )=L(T\{v i })-L(T) +α. α is a penalty parameter which helps to maintain the feasibility of the solution. Initially, α is set to 0.09 L(Tinit) where Tinit is the initial solution. ASAC 2004, Québec
The Tabu Search Algorithm Evaluation of candidate moves ADDING a representative vertex v j into the current tour If the cluster of v j is visited at least once then g(v j )=(L(T {v j })-L(T)+α) β j. If the cluster of v j has not yet been visited then g(v j )=(L(T {v j })-L(T) -α) β j. The parameter β j is a diversification parameter which penalizes repetitive insertion of the representative vertex v j into the solution. The best move is : Min Min( f ( vi ), Min( g( v j ) i j ASAC 2004, Québec
The Tabu Search Algorithm Tabu status We define as tabu the reinsertion in the solution of all vertices that have been removed from the tour at the end of the previous iteration. The number of iterations for which a vertex is declared tabu is randomly selected in : [ n, 2 n] Such long tabu restrictions enabled the algorithm to explore new solution spaces and helped to avoid cycling.
The Tabu Search Algorithm Intensification phase This phase works on a restricted problem composed of the vertices of the subgroups currently visited. At each iteration, 1) moves are evaluated as before and 2) the GENIUS-based improvement procedure is used after each insertion. These steps are repeated for 30 iterations. Finally, during the intensification phase, the tabu restrictions are randomly selected between [2, 4].
The Tabu Search Algorithm Detailed description of the algorithm Step 1. Initial solution, initialization and representative vertices determination Set α := 0.09 L(T) and the iteration counter t := 1. Set n α, the adjusting frequency of α, as n α := m and the diversification frequency as D := 1 500 iterations. Step 2. Best move determination Let T be the new solution. All removed vertices (T \ T ) are declared tabu. Set T :=T. Step 3. Best solution update If L(T) L(T*) and T is a feasible solution, then T* :=T, t*:=t and apply the intensification phase. Step 4. Diversification phase If the best solution has not been improved over the last D iterations, diversify the search by changing the representative vertices. Step 5. Penalty update If the last n α solutions have been feasible, set α := α/µ otherwise set α := αµ where µ is randomly selected in [1.5, 2]. Step 6. Stopping criterion Set t := t+1. If t = t* + 6 000 stop, otherwise go to Step 2.
Test problems Results We use the 36 Fischetti, Gonzalez and Toth (1997) benchmark problems for which the optimal solutions are known. The tabu search is compared with the GI 3 construction algorithm (Renaud and Boctor 1998). The tabu search algorithm has been calibrated carefully (results not presented).
Results % above the optimum Problems GI 3 Proposed Tabu Search Method Initial Solution Average Best Seconds EIL51 ST70 EIL76 PR76 RAT99 KROA100 KROB100 KROC100 KROD100 KROE100 RD100 EIL101 LIN105 PR107 PR124 BIER127 PR136 PR144 1.0009 1.0008 1.0040 1.0043 1.0555 1.0128 1.0363 1.0182 1.0159 1.0002 1.0121 1.0033 1.0132 1.0058 1.0120 1.0038 1.0045 1.0125 1.0477 1.0025 1.0032 1.0013 1.0016 1.0051 1.0024 1.0001 1.0004 1.0001 17 26 28 27 65 42 45 39 39 39 61 64 35 58 81 56 152 105
Results % above the optimum Problems GI 3 Proposed Tabu Search Method Initial Solution Average Best Seconds KROA150 KROB150 PR152 U159 RAT195 D198 KROA200 KROB200 TS225 PR226 GIL262 PR264 PR299 LIN318 RD400 FL417 PR439 PCB442 1.0047 1.0260 1.0060 1.0061 1.0503 1.0036 1.0223 1.0459 1.0123 1.0048 1.0352 1.0591 1.0343 1.0314 1.0002 1.0144 1.0410 1.0168 1.0254 1.0433 1.0109 1.0052 1.0385 1.0056 1.0176 1.0335 1.0640 1.0048 1.0169 1.0602 1.0001 1.0042 1.0049 1.0105 1.0062 1.0073 1.0059 1.0034 1.0035 1.0194 1.0034 1.0088 1.0010 1.0186 1.0048 1.0148 1.0111 1.0012 1.0049 1.0072 1.0035 1.0009 1.0128 1.0015 1.0035 1.0010 1.0105 1.0048 1.0107 1.0075 179 107 85 93 194 143 157 226 364 142 319 323 638 301 1533 461 867 1167 Average 1.0099 1.0181 1.0039 1.0020 230 Nb. of optimum 18 4 13 21
Results Summary of main results GI 3 (Renaud and Boctor) is at 0,99% above the optimum. The average deviation over 3 runs of the tabu search is 0,39%. If we took the best solution over the three runs, the average deviation of 0,20%.
Conclusion This tabu search algorithm that takes advantage of the problem configuration to guide the search and reduce the solutions space. The algorithm has been shown to be quite robust and improves over the best algorithm available. It obtains solutions which are, on average, within 0.4% of the optimum.