Applying Simulated Annealing and Tabu Search to the Intermittent
Transcription
Applying Simulated Annealing and Tabu Search to the Intermittent
Applying Simulated Annealing and Tabu Search to the Intermittent Travelling Salesman Problem Frederic Huysentruyt KU Leuven afdeling Kortrijk Patrick De Causmaecker April 27, 2015 Abstract visited nodes in a solution are both equal to the depot node. [1] Considering TSP instances are a subset of ITSP instances, they can be used to check the quality of the solutions given by the implemented algorithms. TSP instances with known optima are used to check the quality of the implemented algorithms. This paper also describes an ITSP instance generator. Instances obtained from this ITSP generator are used to compare simulated annealing with Tabu Search. In this paper the Intermittent Travelling Salesman Problem (ITSP) is studied. ITSP is a variant of the Travelling Salesman Problem with an added temporal aspect. A problem instance generator for ITSP is described and two optimization algorithms: simulated annealing(SA) and tabu search are applied to ITSP. These two algorithms are compared with each other on a range of ITSP instance sizes. 1 Introduction 2 The Intermittent Travelling Salesman Problem (ITSP) can be described by a graph G(V, E) in which each node n ∈ V has a number of visits visits(n) and a cool-down time cooldown(n). visits(n) stands for the number of times node n has to be visited while cooldown(n) is the minimum amount of time between visits to n. Associated with each edge (n1 , n2 ) ∈ E is a symmetric travelling time traveltime(n1 , n2 ) which stands for the time it takes to get from n1 to n2 or from n2 to n1 . There also exists a depot node n0 for which visits(n0 ) = 2. The first and last ITSP Model The model that will be used in this paper is based on a slightly simplified version of ITSP and on the model described in [1]. In this simplified version, there is only one cool-down time: cooldown. ∀n ∈ V : cooldown(n) = cooldown A node ni with visits(ni ) > 1, is expanded visits(ni ) into nodes n1i , n2i , ..., ni . The set of all ex0 panded nodes is V . The model used in this paper is described in Figure 1. A description of the rules of this model is given 1 min s(n20 ) (1) s.t. X j∈V ∀i ∈ V 0 (2) x(i, j) = 1 ∀j ∈ V 0 (3) 0 X i∈V x(i, j) = 1 0 s(n10 ) = 0 (4) x(n20 , n10 ) = 1 M ∗ (1 − x(i, j)) + s(j) ≥ s(i) + c(i, j) ∀i ∈ V s(nji ) − s(nki ) ≥ bound (5) 0, j 0 ∈ V \ {i} ∀j > k (6) (7) Figure 1: ITSP (Mixed Integer Linear Programming) model s(nji ) with ni ∈ V , stands for the time at which ni is visited for the j th time. (1) The goal is to minimize the time at which the n0 is the depot node and has to be the first depot node is visited for the second time. and last visited node. (which is equal to the time it takes to trax(i, j) = 1 ⇐⇒ i and j are connected verse the solution) below. (2) There is only one edge leaving any node i ∈ V0 3 ITSP instance generator Because ITSP isn’t that well-known, there aren’t (3) There is only one edge entering any node many existing problem instances which we can j ∈V0 use to compare algorithms on. This brings need for an instance generator. The instance genera(4) The first visited node is the depot node. tor used in this paper generates ITSP instances (5) There is an edge from n20 to n10 to complete from TSPLIB instances. The positions of the the tour (this also forces the depot node to nodes in the TSPLIB instances are used to generate the ITSP instances. [3] be the last visited node). (6) If there is an edge from node i to node j then 3.1 Generating instances from the visit time s(j) has to be at least s(i) plus TSPLIB instances the travel time c(i, j). (M is a large number) When generating instances from TSPLIB in(7) Visits to the same node need to be at least stances, the first node is used as the depot node bound time apart. n0 and has visits(n0 ) = 2. 2 4.3 To ensure that the total number of visits is equal to T otalN rV isits, every other node nj will at first have visits(nj ) = M inV isits. After which a node ni ∈ V \ {n0 } with visits(ni ) < M axV isits is chosen. The number of visits visits(ni ) is increased by 1 and this process of increasing the visits of a randomly chosen node is repeated until the sum of the number of visits is equal to T otalN rN odes. The bound is generated by generating a uniformly random number in [bound − boundDelta, bound + boundDelta]. Exact ITSP solver Knowing the global optimum for ITSP instances is very useful in judging the quality of nonoptimal solutions. For this purpose we chose to create an exact solver using SCIP [7]. SCIP is a framework for Constraint Integer Programming but can simply be used as a mixed integer linear programming (MILP) solver. To let SCIP run on ITSP instances, the instances first have to be described in a format which SCIP understands. For this, the ZIMPL [6] format is used which is created by the same people who created SCIP. This ZIMPL format is used to describe the mathematical model of the ITSP instance. 4 Description of algorithms Although this solver can find the optimal solution, it can only practically be used on smaller 4.1 Simulated annealing ITSP instances. This is due to the exponential The simulated annealing algorithm used in this growth in possible solutions as the number of paper, is based on SA applied to TSP described nodes is increased. in [4]. The cooling strategy is the commonly used exponential cooling scheme. 5 temperaturen+1 = temperaturen ∗ α (8) With α = 0.8 4.2 Comparing simulated annealing with Tabu Search on TSP The algorithms used in this comparison are Tabu Search and simulated annealing as described above. The exact MILP solver for ITSP is used as well. Due to the rapid increase of solutions as the number of nodes increases, this exact solver is only fit for ITSP instances with a small number of nodes (< 12). Even though this limitation exists, it can still be used to check the quality of the solutions produced by simulated annealing and Tabu Search on ITSP instances with fewer nodes. Because TSP instances can be considered ITSP instances with {bound = 0, M axV isits = 1}, they can be used to check the quality of solutions found by SA and Tabu. The TSP instances Tabu Search The Tabu Search algorithm used, is based on an application of Tabu Search on TSP [5]. The initial tour is a randomly generated tour and neighboring solutions are found by applying 2-edge exchanges. When a candidate solution is chosen (by being the best tabu admissable candidate), the tabu list is updated with the edges that were deleted when making the 2-edge exchange which lead to this solution. A 2-edge exchange is considered tabu when the added edges are on the tabu list. 3 6.1 that will be used are from TSPLIB [3] (the shortest tour for these TSP instances is known). An experiment is run in which simulated annealing is compared with Tabu Search on TSP instances. In this experiment the stop criterium for both algorithms is to have found a tour with a cost lower than 1.05 ∗ (the known optimum). The average of 100 runs is taken. During each run, every time a better tour is found, the current iteration, runtime and cost of the tour is noted. This lead to α = 0.8 for SA and a tabu list length of 100 for Tabu Search. Some of the results of this experiment can be found in Figure 2. 5.1 Conclusion The results are very similar to those found in the experiment on TSP instances. Remarkable is that once again there is a significant difference in convergence speed between SA and Tabu Search when the problem size is small such as in Figure 3a. For larger problem sizes, it is simulated annealing who converges the fastest. On top of converging faster it’s also able to find a better global optimum. Eventhough in Figure 3a, Tabu Search converges faster than SA, it is SA who is able to find better solutions in the end. Conclusion Simulated annealing converges faster than Tabu References Search for TSP instances with a larger amount of nodes such as those in Figure 2b, Figure 2c [1] P. De Causmaecker, S. Pham, and N. Thi Thanh Dang, “The intermittent traveling and Figure 2d. sales person problem.” 2014. For smaller instances (such bays29 in Figure 2a), it is Tabu Search who converges faster. [2] P. De Causmaecker, “Intermittent tsp,” This same dramatic difference in convergence 2014. speed was found on other TSPLIB instances with less than 22 nodes. [3] G. Reinelt, “Tsplib.” http://www.iwr. uni-heidelberg.de/groups/comopt/ software/TSPLIB95/. 6 Comparing simulated anneal- ing with Tabu Search on ITSP [4] M. Malek, M. Guruswamy, M. Pandya, and H. Owens, “Serial and parallel simulated annealing and tabu search algorithms for the In this comparison we chose to generate ITSP traveling salesman problem,” Annals of Opinstances from TSPLIB instances. To cover a erations Research, vol. 21, no. 1, pp. 59–84, wide range of problem sizes, problem sizes of 30, 1989. 50, 70 and 90 are chosen. The cool down for each ITSP instance is equal to the average distance [5] J. Knox, “Tabu search performance on the symmetric traveling salesman problem,” between the nodes. The minimum number of Comput. Oper. Res., vol. 21, pp. 867–876, visits is set to 1 and the maximum number of Oct. 1994. visits to 3. The results can be found in Figure 3. 4 SA vs Tabu: TSP 22 nodes (ulysses22.tsp) SA vs Tabu: TSP 52 nodes (berlin52.tsp) Tour cost 20000 25000 tabu search simulated annealing 80 10000 15000 120 100 Tour cost 140 160 tabu search simulated annealing 0 10000 20000 30000 40000 0 5000 Iteration (a) ulysses22 15000 (b) berlin52 SA vs Tabu: TSP 96 nodes (gr96.tsp) tabu search simulated annealing 500 500 1000 1500 Tour cost 2000 tabu search simulated annealing 1000 1500 2000 2500 3000 SA vs Tabu: TSP 76 nodes (eil76.tsp) Tour cost 10000 Iteration 0 10000 20000 30000 40000 50000 0 10000 20000 Iteration Iteration (c) eil76 (d) gr96 30000 40000 Figure 2: plots of convergence of simulated annealing and tabu search on TSPLIB instances 5 SA vs Tabu: ITSP 30 nodes (burma14.tsp) SA vs Tabu: ITSP 50 nodes (bayg29.tsp) 40000 30000 Tour cost 25000 160 140 80 15000 100 20000 120 Tour cost tabu search simulated annealing 35000 180 200 tabu search simulated annealing 0e+00 2e+04 4e+04 6e+04 8e+04 1e+05 0 2000 4000 Iteration 6000 8000 10000 12000 Iteration (a) burma14 with 30 visits (b) bayg29 with 50 visits SA vs Tabu: ITSP 70 nodes (att48.tsp) SA vs Tabu: ITSP 90 nodes (att48.tsp) tabu search simulated annealing Tour cost 150000 50000 50000 100000 100000 Tour cost 150000 200000 250000 200000 tabu search simulated annealing 0 10000 20000 30000 40000 0 10000 Iteration 30000 40000 50000 (c) att47 with 70 visits (d) att48 with 90 visits SA vs Tabu: ITSP 70 nodes (eil51.tsp) SA vs Tabu: ITSP 90 nodes (eil51.tsp) tabu search simulated annealing tabu search simulated annealing 2000 2500 2000 60000 Iteration 1000 1000 1500 Tour cost 1500 Tour cost 20000 6 0 10000 20000 30000 40000 Iteration (e) eil51 with 70 visits 50000 0e+00 2e+04 4e+04 6e+04 8e+04 1e+05 Iteration (f) eil51 with 90 visits Figure 3: plots of convergence of simulated annealing and tabu search on TSPLIB instances [6] T. Koch, Rapid Mathematical Prototyping. PhD thesis, Technische Universit¨ at Berlin, 2004. [7] T. Achterberg, “Scip: Solving constraint integer programs,” Mathematical Programming Computation, vol. 1, no. 1, pp. 1–41, 2009. http://mpc.zib.de/index.php/MPC/ article/view/4. 7