Fan Yang 6.338 Final Project Professor Edelman
Outline 2 Introduction I. The Traveling Salesman Problem A. Simulated Annealing B. Genetic Algorithm C. II. Methods III. Results Running Time A. Parallel Speedup B. Optimization C. Rate of Convergence D. IV. Conclusion
3
Traveling Salesman Problem 4 Find the shortest route that goes through a set of nodes (cities). Figure 1: An example of the traveling salesman problem.
Simulated Annealing 5 1. Start with a state with some initial energy 2. Reduce the energy at each iteration via state transitions (neighbor functions & acceptance function) 3. Terminate after some iteration count or low energy threshold achieved
Serial Simulated Annealing Algorithm 6 Initialization: Generate a random candidate route and calculate energy for the route. Repeat following steps: Neighbor function: Generate a neighbor route by exchanging a pair of cities. Acceptance function: Evaluate the neighbor route for acceptance - if accepted, replace current route with neighbor route
Parallel Simulated Annealing Algorithm 7 1. On each thread: Initialization: Generate a random candidate route and calculate energy for the route. Repeat following steps: if ITERATION_COUNT != CONVERGING_COUNT Neighbor function: Generate a neighbor route by exchanging a pair of cities. Acceptance function: Evaluate the neighbor route for acceptance - if accepted, replace current route with neighbor route Else MPI_BARRIER: share the best result among threads by sending all the results to root and have root broadcast the best result 2. MPI_BARRIER: return the best result among all the threads
Genetic Algorithm 8 1. Start with a population of routes 2. At each iteration, replace the worst routes with the children of the best routes 3. Terminate after some iteration count
Serial Genetic Algorithm 9 Initialization: Generate N random candidate routes and calculate fitness value for each route. Repeat following steps: Selection: Select two best candidate routes. Reproduction: Reproduce two routes from the best routes. Generate new population: Replace the two worst routes with the new routes.
Parallel Genetic Algorithm 10 1. On each thread: Initialization: Generate N random candidate routes and calculate fitness value for each route. Repeat following steps: if ITERATION_COUNT != CONVERGING_COUNT Selection: Select two best candidate routes. Reproduction: Reproduce two routes from the best routes. Generate new population: Replace the two worst routes with the new routes. Else MPI_BARRIER: share the best result among threads by sending all the results to root and have root broadcast the best result 2. MPI_BARRIER – return the best result among all the thread
11
Methods CITIES COORDINATES (X, Y) a (110, 54) b (236, 110) 12 c (153, 151) C with MPI on Beowulf cluster d (227, 49) (using 1 to 8 nodes) e (307, 176) Genetic Algorithm: f (220, 211) Iterations: 100,000 g (341, 90) population count: 1000 h (149, 91) Simulated Annealing i (335, 40) Iterations: 1,000,000 j (371, 150) Start temperature: 10.0 k (218, 161) Cooling constant: 0.9999 l (334, 239) For each condition, we conducted a m (148, 227) total of 10 trials. n (49, 128) Distances were computed as o (183, 39) Euclidean distances.
13
Running time results 14 Figure 2: Simulated annealing algorithm running time. The running time decreases as the number of processors increases .
Running time results 15 Figure 3: Genetic algorithm running time. The running time decreases as the number of processors increases .
Parallel speedup results 16 Figure 4: Simulated annealing algorithm parallel speedup. There is a near- linear parallel speedup. The curve approximates an ideal linear line at all points.
Parallel speedup results 17 Figure 5: Genetic algorithm parallel speedup. There is a near-linear parallel speedup. The scalability deteriorates slightly at 7-8 processors.
Optimization results 18 Figure 6: Simulated annealing algorithm distance results. The distance of the shortest route decreases as the number of processors increases . The anomaly at processor #5 is most likely due to an outlier in the raw data points, which is also indicated by the large standard deviation.
Optimization results 19 Figure 7: Genetic algorithm distance results. The distance of the shortest route decreases as the number of processors increases .
Rate of convergence: running time results 20 Figure 8: Simulated annealing algorithm convergence running time. There is a gradual increase in running time as the rate of convergence increases. The running time exceeds the serial implementation at a convergence rate of 35%.
Rate of convergence: running time results 21 Figure 9: Genetic algorithm convergence running time. There is a gradual increase in running time as the rate of convergence increases. The running time exceeds the serial implementation at a convergence rate of 15%.
Rate of convergence: optimization results 22 Figure 10: Simulated annealing convergence distance results. The distance of the shortest route decreases as we increase the rate of convergence. The shortest distance plateaus beginning at a 10% rate of convergence.
Rate of convergence: optimization results 23 Figure 11: Genetic algorithm convergence distance results. The distance of the shortest route decreases as we increase the convergence rate. The shortest distance plateaus beginning at a 5% rate of convergence.
24 Good parallel speedup in both algorithms Genetic algorithm achieves slightly better results More mutations in each iteration is better o Higher rate of convergence improves route optimization results but also increases the running time.
25
Recommend
More recommend