290 likes | 465 Views
Hybrid Metaheuristics for the Prize Collecting Traveling Salesman Problem. Antonio Augusto Chaves - Luiz Antonio Nogueira Lorena National Institute for Space Research - INPE São José dos Campos, Brazil chaves;lorena@lac.inpe.br
E N D
Hybrid Metaheuristics for the Prize Collecting Traveling Salesman Problem Antonio Augusto Chaves - Luiz Antonio Nogueira Lorena National Institute for Space Research - INPE São José dos Campos, Brazil chaves;lorena@lac.inpe.br EvoCOP 2008 - Eighth European Conference on Evolutionary Computation in Combinatorial Optimization
Introduction • Objective: Solve the Prize Collecting Traveling Salesman Problem (PCTSP) using a new hybrid metaheuristic, known as Clustering Search (CS). • The CS consists of detecting promising areas of the search space using an algorithm that generates solutions to be clustered. These promising areas may then be explored through local search as soon as they are discovered. • The commercial solver CPLEX has been used to solve a formulation of the PCTSP in order to validate the computational results of CS algorithm. • The optimal solution for the PCTSP is hard to find due the large number of possible solutions: • It is classified as NP-hard
PCTSP cij • The PCTSP is a generalization of the Traveling Salesman Problem (TSP), where a salesman collects a prize piin each city visited and pays a penalty i for each city not visited, considering travel costs cijbetween the cities. • The problemis to minimize the sum of the costs of the tour and penalties paid, while including in the tour enough cities to collect a minimum prize pmin, defined a priori. In this tour, each city visited at most once. Example of a solution with 10 nodes i pi Balas, E.:The prize collecting traveling salesman problem. Networks 19 (1989) 621–636
Mathematical Model • The PCTSP can be formulated as an integer linear programming problem as follows: (1) (2) (3) (4)
Mathematical Model (5) (6) (7) (8) (9) (10) (11)
Mathematical Model • CPLEX 10.0 was used to solve the PCTSP. • CPLEX solved PCTSP small instances in a reasonable execution time. • For the test problems with 80 nodes, the CPLEX took several hours execution to find the optimal solution, • For test problems with 100 nodes the CPLEX failed in close the gap between lower and upper bounds in 100,000 seconds. • The CPLEX failed in finding a feasible solution for test problems with n200 in 100,000 seconds. • Due to the limitation of the CPLEX, the study of heuristic techniques for solving this problem become interesting.
Clustering Search Metaheuristic • Clustering Search (Oliveira and Lorena, 2004) Oliveira, A.C.M., Lorena, L.A.N.: Detecting promising areas by evolutionary clustering search. Advances in Artificial Intelligence. Springer Lecture Notes in Artificial Intelligence Series 3171 (2004) 385–394 • The CS employs clustering for detecting promising areas of the search space. A clustering process is executed simultaneously to a metaheuristic, identifying groups of solutions that deserve special interest. • These promising areas should be explored through local search methods as soon as they are discovered. • The idea of the CS is to avoid applying a local search heuristic to all solutions generated by a metaheuristic. • To detect promising regionsbecomes an interesting alternative preventing the indiscriminate application of local search heuristics.
Clustering Search • Iterative clustering behavior
Diagram for the CS algorithm center of clusters Begin Clustering Process LS Create Clusters yes promising cluster? SM no IC AM Stop criterion? Legend: yes CS flow Clusters update flow End Clustering process flow
Search Metaheuristic (SM) • The search metaheuristic (SM) component works as a full-time solution generator. The algorithm is executed independently of the remaining components and must be able to provide a continuous generation of solutions to the clustering process. Clusters are simultaneously maintained to represent these solutions.
CS for the PCTSP – SM The GRASP/VNS metaheuristic • The GRASP is basically composed of two phases: • a construction phase, in which a feasible solution is generated, and • alocal search phase, in which the constructed solution is improved. • Construction phase: The greedy evaluation function for adding a node k between the nodes i and j is g(k) = cij + k – cik – ckj • Local Search Phase: uses the VNS, which is a metaheuristic going on a systematic change of the neighborhood within a local search algorithm.
CS for the PCTSP – SM procedure GRASP/VNS for (number of iterations is not satisfied) do s = while (solution not built) do compute candidate list (C) RCL = C * e = select at random a value of RCL s = s {e} end while kmax = number of neighborhoods while (stop condition is not satisfied) do k 1 while (kkmax) generate at random s‘Nk(s) s” = apply VND with s’ if ( f (s”) < f (s)) then ss” k 1 else kk + 1 end while end while end for end GRASP/VNS Construction Phase Local Search Phase (VNS)
CS for the PCTSP – SM procedure GRASP/VNS for (number of iterations is not satisfied) do s = while (solution not built) do compute candidate list (C) RCL = C * e = select at random a value of RCL s = s {e} end while kmax = number of neighborhoods while (stop condition is not satisfied) do k 1 while (kkmax) generate at random s‘Nk(s) s” = apply VND with s’ if ( f (s”) < f (s)) then ss” k 1 else kk + 1 end while end while end for end GRASP/VNS Construction Phase Neighborhood structures of VNS • Add one node (AD) • Drop one node (DR) • Swap two nodes (SW) • (AD)2 • (DR)2 • (SW)2 • (AD)3 • (DR)3 • (SW)3 Local Search Phase (VNS)
CS for the PCTSP – SM procedure GRASP/VNS for (number of iterations is not satisfied) do s = while (solution not built) do compute candidate list (C) RCL = C * e = select at random a value of RCL s = s {e} end while kmax = number of neighborhoods while (stop condition is not satisfied) do k 1 while (kkmax) generate at random s‘Nk(s) s” = apply VND with s’ if ( f (s”) < f (s)) then ss” k 1 else kk + 1 end while end while end for end GRASP/VNS Construction Phase Neighborhood structures of VND • SeqAdd • AddDrop • SeqDrop Local Search Phase (VNS) * At each step of VND, the neighborhood Nt(s’) of s’ is explored completely.
Iterative Clustering (IC) • The iterative clustering (IC) component aims to gather similar solutions into groups, identifying a representative cluster center for them.The clustering is progressively fed by solutions generated in each iteration of SM. A distance metricmust be defined, a priori, allowing a similarity measure for the clustering process.
CS for the PCTSP – IC 0 -4 1 3 -2 0 -4 2 3 1 -4 -1 0 3 -2 -4 -1 2 3 0 1 -4 0 3 -2 0 1 2 3 -4 0 -1 2 3 -4 1 -4 2 3 0 (initial) (guide) 1 0 2 3 -4 0 -1 2 3 -4 1 -2 0 3 -4 • The metric distanceis the number of different edges between the GRASP/VNS and the center of the cluster solutions. A large number of different edges between them increases the dissimilarity. • The assimilationprocess uses the path-relinking method.
Analyzer Module (AM) • The analyzer module (AM) provides an analysis of each cluster, indicating a probable promising cluster. A cluster density is a measure that indicates the activity level inside the cluster. Whenever the densityreaches a certain threshold, that information cluster must be better investigated to accelerate the convergence process on it.
CS for the PCTSP – AM NS ³ PD . Clus • The AM component is executed whenever a solution is assigned to a cluster, verifying if the cluster can be considered promising. • A cluster becomes promising when reaches a certain density, where, NS is the number of solutions generated in the interval of analysis of the clusters, |Clus| is the number of clusters, and PD is the desirable cluster density beyond the normal density, obtained if NS was equally divided to all clusters. – number of solutions generated at each analysis of the clusters NS = 200; – maximum number of clusters NC = 20; – density pressure PD = 2.5; The center of a promising cluster is improved through the LS component.
Local Searcher (LS) • The local search (LS) component is a local search module that provides the exploitationof a supposed promising search area framed by the cluster. This process is executed each time AM finds a promising cluster and the local search is applied on the center of the cluster.
CS for the PCTSP – LS 1 2 3 4 5 6 1 2 5 4 3 6 1 1 2 6 2 6 3 3 5 5 4 4 • The LS component was implemented by the 2-Opt heuristic. • The 2-Opt consists in 2-changes over a tour, deleting two arcs and replacing them by two other arcs to form a new tour. This method continues while there is improvement in the tour through this movement.
Computational Resultshttp://www.lac.inpe.br/~lorena/instancias.html • The CS was coded in C++ and it was run on a 3 GHz Pentium 4. • There are no available test problems for the PCTSP in the literature. In this paper, test problems were randomly generated as in Dell’Amico et al.: • n = (20, 40, 60, 80, 100, 200, 300, 400, 500) vertices • travel costs cij [1, M] with M {1000, 10000} • prizes pi [1, 100] • penalties i [1, N] with N {100, 1000, 10000}. • The value of minimum prize (pmin) has been generated as with {0.2, 0.5, 0.8}.
Conclusions • The Clustering Search (CS) uses the concept of hybrid algorithms, combining metaheuristics with a clustering process. • The idea of the CS is to avoid applying a local search heuristic to all solutions generated by a metaheuristic. • The CS detects the promising regions in the search space during the solution generation process and applies the local search heuristics only in these regions. • CS algorithm got better results than GRASP/VNS without clustering process and it founds good values comparing to CPLEX. • CS has two advantages over CPLEX: execution time, and the cost of a commercial solver. • These results validate the CS application to the PCTSP.
References • Oliveira, A.C.M., Lorena, L.A.N.: Detecting promising areas by evolutionary clustering search. Advances in Artificial Intelligence. Springer Lecture Notes in Artificial Intelligence Series 3171 (2004) 385–394 • Oliveira, A.C.M., Lorena, L.A.N.: Hybrid evolutionary algorithms and clustering search. In Grosan, C., Abraham, A., Ishibuchi, H., eds.: Hybrid Evolutionary Systems - Studies in Computational Intelligence. Springer SCI Series (2007) 81–102 • Dell’Amico, M., Mafioli, F., Sciomanchen, A.: A lagrangian heuristic for the prize collecting traveling salesman problem. Annals of Operations Research 81 (1998) 289–305 • Feo, T., Resende, M.: Greedy randomized adaptive search procedures. Journal of Global Optimization 6 (1995) 109–133 • Mladenovic, N., Hansen, P.: Variable neighborhood search. Computers and Operations Research 24 (1997) 1097–1100 • Balas, E.: The prize collecting traveling salesman problem. Networks 19 (1989) 621–636