Modeling and optimization of university timetabling - A case study in integer programming

Timetabling is a task that has to be resolved at any school or university. The fact that it is such a common problem and that it is often a large and complex issue makes it an interesting and suitable subject for mathematical optimization. This report presents a model for the problem of scheduling a number of courses given by the department of Mathematical Sciences of the University of Gothenburg and Chalmers University of Technology. It is modeled as an integer programming problem where the constraints take into account the requirements that are necessary for the timetable to be valid and the objective function is chosen in such a way that it reflects the preferences of students and teachers. The model is subsequently solved using AMPL with the solver CPLEX and the results are visualized so that they may provide guidance on areas where the current timetable may be improved. Sensitivity analysis is performed in order to investigate how the solution is affected when various conditions are changed. Sammanfattning Schemaläggning är en uppgift som m̊aste hanteras p̊a varje skola och universitet. Att det är ett s̊a vanligt problem och att det ofta är en stor och komplex fr̊aga gör det till ett intressant och lämpligt ämne för matematisk optimering. Denna rapport presenterar en modell för problemet att schemalägga ett antal kurser som ges av Institutionen för Matematiska vetenskaper vid Göteborgs Universitet och Chalmers tekniska högskola. Detta modelleras som ett heltalsoptimeringsproblem där bivillkoren tar hänsyn till de krav som är nödvändiga för att schemat ska vara praktiskt möjligt och m̊alfunktionen väljs p̊a ett s̊adant sätt att den återspelgar studenters och lärares preferenser. Modellen löses sedan i AMPL med lösaren CPLEX och resultaten visualiseras s̊a att de kan ge vägledning p̊a omr̊aden där det nuvarande schemat kan förbättras. Känslighetsanalys genomförs för att undersöka hur lösningen p̊averkas när diverse förutsättningar ändras. Preface This section presents how work and report writing have been divided within the group. In order to keep track of all group members’ contribution, a logbook and time log was kept during the project. These were used as base when writing this section. Working process To efficiently contribute to the project, a complete overview has been essential and hence there has been no division of responsibility within the group. There has been at least one group meeting every week. At these meetings, the current status of the project has been discussed as well as planning for upcoming weeks. All big decisions were taken on these meetings. Most of the work with the model and implementation in AMPL was performed in group, and most of the writing was made individually. The group has had constant contact via e-mail, and everything that was done was put into a shared folder on Google Drive so that every group member had access to everything at all times. Although everyone has been involved in all parts of the project, some members of the group were more involved in some parts. Jim was more responsible for the report and Mirjam, Alfred and Johan spent more time with the model and implementing in AMPL. The sensitivity analysis was made by Alfred and Jim, and extending the model to the second study period was done by Mirjam and Johan. Report Here the authors of the different sections of the report are presented. Although not referenced, every author has contributed with suggestions to all sections. Johan Hav̊as: Integer programming, Branch-and-bound, Conclusions. Alfred Olsson: Cutting-plane methods, AMPL and CPLEX, Discussion, Conclusions. Jim Persson: Introduction, Modeling and mathematical programming, Convexity, Linear programming, Results, Sensitivity analysis, Conclusions. Mirjam Sophia Schierscher: Problem description, Mathematical formulation, Results, Conclusions. Acknowledgements We would like to thank our supervisor Zuzana Šabartová for her support and encouragement during this project. We are also grateful to Jeanette Montell-Westerlin and Ulla Dinger for their help in collecting data and their advice on how to make a good timetable for as many as possible.