250 likes | 554 Views
The Course Timetabling Problem. Presented by Ben Paechter Napier University. Introduction. In order to produce the timetable for a University, we have to place the classes into: Timeslots (e.g. Wednesday 3.00-4.00pm) Rooms (e.g. Room 115)
E N D
The Course Timetabling Problem Presented by Ben Paechter Napier University
Introduction In order to produce the timetable for a University, we have to place the classes into: • Timeslots (e.g. Wednesday 3.00-4.00pm) • Rooms (e.g. Room 115) Let’s assume people (students , lecturers) are already assigned. Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 2
Goal We want to produce: • Feasible Timetables • Good Timetables Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 3
Feasible Timetables • Every person can attend every class. • Not at two classes at once • Travel time OK • Time for lunch, etc • Each class is assigned a suitable room • Big enough • Right equipment • Disabled access, etc Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 4
Good Timetables People and the institution like the timetable. • Efficient use of rooms • Minimal movement • Not too many classes in a row • Lecturers have days with no teaching • No large gaps in a day • Unpopular times avoided Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 5
Size of the Problem A typical institution (Napier University) has • 2000 classes • 200 rooms • 45 timeslots Number of different timetables is (200*45)2000 – about 108000 The vast majority of these are infeasible. Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 6
Summer School Problem • Scaled down (but still big) • You must find a good feasible timetable in a short amount of time. • Feasible means • Students don’t have any clashes • Rooms are big enough and of the right type • Best means: • Minimum occurrences of three classes in a row • Minimum occurrences of a single class in a day Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 7
Ways you might solve it:Direct Representation • Each event has a timeslot and room encoded in the chromosome • Might have problems with the large number of infeasible timetables Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 8
Ways you might solve it:Indirect Representation • The chromosome tells us something about how to build the timetable. • There is a separate timetable builder parameterised by the chromosome. Parameters might be: • A suggested time (and room?) for each class • The heuristics to use at various stages of the build • The order of considering the classes Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 9
Other ways you might solve it: Decreasing Universe • Assume an infinite number of rooms and events • Many more timetables are feasible • Gradually reduce the size of the universe Graph Theory • E.g. find sets of things that can happen at the same time Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 10
Ways you might solve it:Something Else It doesn’t matter so long as it works! Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 11
You will be given • A windows program to produce (text based) problem file instances of varying hardness. Each instance has at least one perfect solution. • A windows program to check each (text based) problem solution. • More detailed instructions about the problem. Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 12
You will produce • A program (Windows or Linux) that takes the text input file and produces the text output file • Comments on what your program seems to be good at, and what it seems not so good at • Ideas for further research Course Timetabling by Ben Paechter, Napier University, for the EvoNet Summer School 2001 13