The need for creating timetables is ever present in everyday life, especially in educational institutions: people have to be coordinated in such a way that it is the most efficient for everyone involved, and of course every task has to be completed. With a good timetable, the available resources can be used more efficiently, thus reducing the costs associated with them.
Creating a timetable is not a simple task; it is easy to see that it is a computationally hard problem. Examining every possible solution is not a possibility, as it would take an almost infinitely long time to complete. Thus more complex algorithms are needed to create timetables automatically.
Today timetabling is a research area, and the International Timetabling Competition was created to encourage research on the subject. The International Timetabling Competition specifies an exact format which can be used to describe timetabling problems. Researchers are provided some problems to work on.
In this paper, I describe a possible approach to timetabling: the genetic algorithm. Genetic algorithms are based on the theory of evolution, randomly generated solution candidates evolve continuously, and the algorithm selects the best of these to keep and evolve further. The International Timetabling Competition specifies the criteria which serve as a basis for evaluating possible timetables.
I will describe the process of creating an object model based on the specification of the competition and the evaluation of timetables based on the criteria provided by the problem. The application was being optimized gradually; I will show the steps of this process throughout the paper.
The application is able to produce a good solution to the smaller problems available from the webpage of the International Timetabling Competition, I will show the results at the end of the paper. We will also see the advantages and disadvantages of using genetic algorithms for timetabling.