Evolutionary Computation Student Centred Learning Package

By Ben Paechter

This package was originally written for the EvoNet Summer School 1998 and draws on material from the EvoNet Flying Circus


Welcome to Napier University's Evolutionary Computation Student Centred Learning Package pages. Following these pages will take you on a tour of demonstration programs starting with movies which you can simply watch to see the power of evolutionary computation, and gradually increasing your interaction with the demonstrations until you can drive your own evolutionary algorithm.

These pages are based on the EvoNet Flying Circus. We are very grateful to all those who contributed to the Flying Circus and whose work has been included here also. After completing this package, you can continue your studies by visiting the EvoNet Flying Circus.

Some of the demonstrations will run in the browser window, others run separately and need to be downloaded. Remember to keep this window open so that you can follow the instructions.


We'll start with a classic demonstration of the ability of evolutionary methods to make novel engineering designs. This movie shows the evolution of a nozzle using an evolution strategy. You can see the nozzle evolving to a "strange" but very efficient shape.

The next movie allows us to see how good evolutionary methods are at following moving optima when the search space is changing.


Now you can try changing the search space yourself in another problem. The program "tatties.exe" is a real application that successfully timetables classes for academic institutions. To run it you need three files. You can download them zipped, or if you are at Napier University School of Computing, you can find them at r:\DEPTDATA\Sch_Comp\eccourse\tatties. Move the three files to a new temporary directory.

Run tatties.exe now and you will get something like this:

You can load the test data by using FILE|OPEN and after agreeing to the conditions selecting the file small.tat. Answer "no" to the two questions that follow and you are ready to run the evolutionary algorithm. The guages in the middle of the screen show statistics for the best timetable evolved so far. For each of the measured values we want them to be as low as possible. At the start no timetable has been produced, so the only statistic is 99 unplaced events. Pressing the lightning bolt (or selecting EVOLUTION|START) starts the evolution and we can see the events get placed and then the other statistics gradually reduce.

We can change the search space by moving the Targets and Weights sliders. For each statistic the target is the value that we want it to meet. After meeting the target, the evolutionary algortihm does not try to reduce the value further. The weight of for each statistic shows how important it is to reduce that statistic compared with the other ones. You can try changing the sliders as the evolution is taking place, and will see that the algorithm follows the changes in the search space, attempting to keep up with the changing environment.

You can also see another advantage of the evolutionary approach with this program. Stop the evolution by pressing the red circle (or selecting EVOLUTION|STOP). Now you can continue to move the sliders with the evolution switched off. You will probably notice that the values of the statistic continue to change. This is because although evolution is halted, there is still a population of 100 chromosomes to chose from. When you change the sliders, the program continues to pick the most fitting chromosome from the population. The evolution of a number of solutions in parallel can be a great advantage of evolutionary methods.

Evolution Strategies

Finally, we are going to look at a couple of java demos, provided by C. Jacobs and H. Hadler, which show problems being solved by evolution strategies. The first problem to solve is the design of a lens. The second problem is to solve a magic square. For each of the two problems begin by pressing the start button to see the evolution happen. You can read more about Evolution Strategy theory by following the link.

Use the link to the interface help to find out how to change the parameters. Try changing some parameters and seeing the effect that it has on the evolution. Can you predict the effect before you try it out?