1 / 12

APPENDIX A:

APPENDIX A:. TSP SOLVER USING GENETIC ALGORITHM. The outline of the GA for TSP. The algorithm consists of the following steps: Initialization : Generation of M individuals randomly. Natural Selection : Eliminate p 1 % individuals. The population decreases by M.p 1 /100.

aideen
Télécharger la présentation

APPENDIX A:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. APPENDIX A: TSP SOLVER USING GENETIC ALGORITHM

  2. The outline of the GA for TSP The algorithm consists of the following steps: • Initialization: Generation of M individuals randomly. • Natural Selection: Eliminate p1% individuals. The population decreases by M.p1/100. • Multiplication: Choose M.p1/100 pairs of individuals randomly and produce an offspring from each pair of individuals (by crossover). The population reverts to the initial population M. • Mutation by 2-opt: choose p2% of individuals randomly and improve them by the 2-opt method. The elite individual (the individual with the best fitness value in the population) is always chosen. If the individual is already improved, do nothing.

  3. Representation • We use the path representation for solution coding. • EX: the chromosome g = (D, H, B, A, C, F, G, E) means that the salesperson visits D, H, B, A,…E successively, and returns to town D.

  4. Mutation by 2-opt • The 2-opt is one of the most well-known local search operator (move operator) among TSP solving algorithms. • It improves the tour edge by edge and reverses the order of the subtour. • When we apply the 2-opt mutation to a solution, the solution may fall into a local mimimum.

  5. Crossover operator • Greedy Subtour Crossover (GSX). It acquires the longest possible sequence of parents’ subtours. • Using GSX, the solution can pop up from local minima effectively.

  6. Greedy Subtour Crossover Inputs: Chromosomes ga = (D, H, B, A, C, F, G, E) and gb = (B, C, D, G, H, F, E, A). Outputs: The offspring g = (H, B, A, C, D, G, F, E)

  7. Algorithm: Greedy Subtour Crossover Inputs: Chromosomes ga = (a0, a1, …, an-1) and gb = (b0, b1,…, bn-1). Outputs: The offspring chromosome g. procedure crossover(ga, gb){ fa  true fb  true choose town t randomly choose x, where ax = t choose y, where by = t g  t do { x  x -1 (mod n), y  y + 1 (mod n). if fa = true then { if ax  g then g  ax.g else fa  false } if fb = true then { if bx  g then g  g.by else fb  false } } while fa = true or fb = true if |g| < ga| then { add the rest of towns to g in the random order } return g }

  8. Example: • Suppose that parent chromosomes ga = (D, H, B, A, C, F, G, E) and gb = (B, C, D, G, H, F, E, A). • First, choose one town at random, say, town C is chosen. Then x = 4 and y =1. Now the child is (C). • Next, pick up towns from the parents alternately. Begin with a3 (A) and next is b2 (D). The child becomes g = (A, C, D). • In the same way, add a2 (B), b3 (G), a1 (H), and the child becomes g = (H,B,A,C,D,G). • Now the next town is b4 = H and H has already appeared in the child, so we can’t add any more towns from parent gb. • Now, we add towns from parent ga. The next town is a0 = D, but D has already used. Thus, we can’t add towns from parent ga, either. • Then we add the rest of the towns, i.e., E and F, to the child in the random order. Finally the child is g = (H,B,A,C,D,G,F,E).

  9. Survivor Selection • Eliminate R = M.p1/100. We eliminate similar individuals to maintain the diversity in order to avoid immature convergence. • First, sort the individuals in fitness-value order. Compare the fitness value of adjoining individuals. If the difference is less than , eliminate preceding individual while the number of eliminated individuals (r) is less than R. • Next, if r < R, eliminate R - r individuals in the order of lowest fitness value.

  10. Other parameters • Test data: TSPLIB • gr96.data (666 cities) • Population size: 200 • maximum number of generations: 300 • p1 = 30% • p2 = 20% • produces the minimum solution • Conclusion: The solver brings out good solution very fast since GA here utilizes heuristic search (2-opt) in genetic operators. It is a hybrid algorithm.

  11. Reference • H. Sengoku, I. Yoshihara, “A Fast TSP Solver Using GA on Java”, 1997.

More Related