ICT 219 Intelligent Systems

ICT 219 Intelligent Systems
Laboratory 10
The program we will study today solves the traveling salesman problem, as described in
Topic 11, using a genetic algorithm.
First, install the executable code on your machine by downloading the zip file
TSPApp_exe.zip from the ICT219 website. Unzip the file to a convenient directory and
run the file TSPApp.exe. A window will appear with File, GA and Help menus at the top,
some controls down the right hand side of the screen and a 2-dimensional map with a
circle of 100 cities indicated as red dots.
The system is in the default configuration; if you press the Start button at the right, you
will see the default parameters at the right operating with the GA to find an optimal path
in blue within a few generations (for a circle, simply a circumference around the circle).
Explored paths are indicated in white during processing. Displayed from left to right at
the bottom of the screen is the number of points (cities), then the best path length and the
generation in which it was found, then the current generation, and finally a clock. An
optimal path will quickly be found, but the algorithm will continue to run until you press
the Stop button.
It's important to understand the adjustable parameter fields down the right hand side of
the window. Begin your experiments by setting these to reasonable values (described
below), then try systematically varying them from there.
Co-evolution: a number of parallel populations (separate threads) from 1 till 16.
We want to keep things simple at this stage, so set this to 1 (a single population).
Population: a size of population (N), between 10 and 1000, depending on your
experiment. 100 is a reasonably computable figure for our purposes.
Elite: An elite GA always maintains the best e members in the population. Can
range from 0 to N. Initially, set to 10.
Migration: a size of migrated genes, from 0 to N. A refinement to improve
performance, but an extra complication at present. Set to 0 and ignore it.
Heuristics: a size of best genes improved via heuristics method in every epoch.
Another complicated refinement, set to 0 and ignore.
Crossover: probability of crossover, as a percentage. Choose about 70% for good
Mutation: probability of a mutation. Should usually be kept low, about 1%.
Selection combo: selection method (roulette rank, roulette cost and tournament)
Remove Twins checkbox: set using a natural selection algorithm. It eliminates
identical genes which helps avoid premature convergence. Leave ticked.
You can set up a tour of 30 cities like the one described in this week's lecture by selecting
File | New | Random from the drop down menu at the top of the window. Enter 30 points
in the New Map box. You will see a map with 30 randomly distributed points. With the
parameters set to the above recommendations, try a few runs by pressing the Start and
Stop buttons and recording the optimal path length and number of generations the GA
took to converge. Try different selection methods on the same settings. Then try it with a
larger number of cities, say 200. Always record your settings and the results you obtained
in your lab notebook, so that you can compare results.
1. With the parameters set as above and a map of 100 random cities, make 20 runs and
record the number of generations it took to converge on an optimal solution. What is the
maximum, minimum and average of these data? How do you account for such a wide
range of run lengths in solving the same problem with the same settings?
2. Dramatically increase the mutation rate by setting it to 30%, and perform another run.
What happens? Explain this in terms of your knowledge of the mutation operator.
3. Generate random city sets of 500, 600, 700, 800, 900 and 1000 points, and record the
time to calculate a single generation (you might do this by having another person count
off seconds while you monitor the generation counter). Plot this with set size on the
horizontal axis and time on the vertical axis. Make plots for each of the three selection
methods: roulette rank, roulette cost and tournament. Is there any difference in
4. Princeton University's Traveling Salesman Problem Webpage shows, among other
amazing things, an optimal path for a tour of 666 of the world's most interesting spots
(see http://www.math.princeton.edu/tsp/gallery/igraphics/gr666.html).
Using the computer in front of you, would it be feasible to do this with 6,666 interesting
spots? With your best methods, try to estimate the best, worse and average times you
might expect to converge on a solution.