Timetabling

Timetabling is a very interesting, non-trivial and practical problem. In this topic you will solve a simplified (to certian extent) problem of timetabling university courses. In general, you have to specify when and in which rooms the courses should be taught, based on the information about which students registered for those courses, which rooms are available, etc.

Your task is to choose one of the timetabling competitions (or at least some problems from them), create your own algorithms and possibly compare them with the results known from those competitions. You can choose e.g. from the following competitions:

This task is not precisely specified. It is part of the task to create a specific description of the topic similar to the other semestral task and have it authorized by a teacher! You can take inspiration from the rules and criteria of individual contests.

For this topic, you will probably need to invest more time to understand the contest specifications and rules. We also expect more work required to implement helper functions to load individual problem instances and to compute the fitness of a solution!