To Home page

Genetic Algorithms and Genetic Programming

Course Objectives

Genetic Algorithms and Genetic Programming methods are a family of computational models which solve hard combinatorial problems by means of a mechanism inspired by biological evolution. Given a hard problem to solve, the system makes a number of initial guesses at the solution, ranks this population of guesses according to fitness at solving the problem in hand, then combines and mutates the fittest solutions to produce the next generation of solutions. The process continues until a perfect solution is found, or no further improvement is possible.

These algorithms have found to be very good at solving hard real-world combinatorial optimisation problems. Just a few examples are timetabling (including the exam timetabling software used at the University of Edinburgh and various school timetabling systems), optimisation of manufacturing schedules, design of channel routing networks in VLSI design, applications in bioinformatics (protein and RNA folding), and many more. The field of Genetic Programming is relatively new, but the technique has already been used to evolve programs that are better than the best programs written by people to solve a number of difficult engineering problems. Genetic Programming can also be applied to the design of circuits and a number of new designs created by evolutionary means have already been patented.

The techniques taught on this course are very robust and have wide applicability. This course will enable delegates to apply these methods to hard search, optimisation and machine learning problems.

Content The course consists of 10 lectures, 5 tutorial sessions and 5 practical sessions. The following topics will be covered:
  • The Components of a Genetic Algorithm
  • Applying a Genetic Algorithm to a Problem
  • Designing a Genetic Algorithm
  • Applications I: Scheduling and Timetabling
  • Introduction to Genetic Programming
  • Varieties of Genetic Programming
  • Designing a Genetic Programming System
  • Applications II: Finding Rules in Data
  • Introduction to Ant Colony Optimisation
  • Applications III: Optimal Vehicle Routing

5 days.

Target Audience

The course is intended for senior software engineers and other technical specialists who are interested in a methodological approach for designing systems using evolutionary computation, or who are searching for technologies which can solve hard optimisation problems. The course should also be of direct interest to project managers who need to have a strong technical awareness of what kind of problems these techniques can solve.


Some programming experience (in any language).


The course is no longer available. Contact the School of Informatics for study opportunities.

to top
Site Map
Updated: Tue Sep 2 09:24:56 2014
To the Edinburgh University website