Research Article
Developing Programming Tools to Handle Traveling Salesman Problem by the Three Object-Oriented Languages
1 Create population of random tours; | //First storey is GA and increases tours’ quality. It uses IGX as its crossover [5]. | 2 Use steady-state GA by heuristic crossover to improve population; | 3 Sort population according to cost in ascendant order; | 4 Tour best-so-far population0; | //Second storey is HGA and uses GSX as its crossover, Double-Bridge as its mutation and LK | as its LS. | 5 for (i = 1; i <= gen-size; i++) | 6 { | 7 Tour child; | 8 int index; | 9 if(rand_01() < crossover-rate) | 10 { | 11 index = linear selection from population; | 12 father population[index]; | 13 index = linear selection from population; | 14 mother population[index]; | 15 crossover(father, mother, child); | 16 Improve child by lk; | 17 } | 18 else | 19 { | 20 child linear selection from population; | 21 mutate child by double-bridge; | 22 Improve child by lk; | 23 } | 24 Sort population according to cost in ascendant order; | 25 if (i % period == 0) | 26 update candidate set according to edges density in population; | (27) if(best-so-far cost > population0 cost) | (28) best-so-far cost population0; | (29) } | (30) Report best-so-far; |
|