The new teaching architecture TRAIL and the definition of new study programs imply challenges in optimizing the schedule for our campus. Different optimization perspectives should be taken into account: studiability (having consecutive lessons on as few days as possible), teachability (with constraints on how many lessons can be taught in one day or week), efficiency of room usage, etc. There exist some tools (e.g. https://www.timetabling.de/index_de.html) that allow solving this multi-perspective and multi-objective optimization under side constraints, but many of them might not fulfill our specificities. side constraints, etc. With the new scheduling tool, we also want to explore the optimization possibilities.
In this project, we want to learn how to formalize a complex optimization problem (often found in industrial scheduling challenges like workforce planning, project planning, etc.). We will analyze available tools and how they could be adapted to meet our needs (6 and 12 ECTS project). For the 12 ECTS projects, we will furthermore develop our own scheduling optimizer tailored to our campus and our scheduling system. Development will most likely take place in Python (see e.g. https://github.com/coin-or/pulp).
After completion of the project, students will have learned how to formalize an optimization problem and how to map it to possible optimization solvers (6 and 12 ECTS version). Furthermore, students of the 12 ECTS version will have learned how to develop a custom optimization method.
Participants need to be willing to make themselves familiar with mathematical optimization and formalization. Coding skills are highly welcome.