OW2con'25

Using UniTime to build optimized academic schedules
2025-06-18 , January Breakout Room

UniTime is a comprehensive open-source solution designed to meet academic institutions' various timetabling needs. Built on advanced optimization algorithms, it generates course and examination timetables and individual student and instructor schedules. This presentation will provide an overview of UniTime, its optimization techniques, and our experience transforming a research project into a successful solution used by numerous institutions around the world.


UniTime is a comprehensive software solution that addresses a wide array of academic timetabling and scheduling needs, such as course and examination timetabling, student and instructor scheduling, and event management. It effectively balances the often competing objectives of various stakeholders and is currently utilized by over 100 institutions globally, ranging from small colleges to large universities with over 50,000 students.

While UniTime doesn't employ AI in the conventional sense (machine learning and large language models), it leverages Constraint Programming techniques, a subfield of AI that focuses on problem-solving and complex decision-making. This approach offers flexibility and scalability in problem modeling and in the algorithms used to solve NP-hard problems, which are computationally challenging for all but the smallest instances.

UniTime is an open-source project born from joint research by multiple universities, successfully bridging the gap between research and practical application in educational timetabling. The UniTime solver won the international timetabling competition ITC 2007. Furthermore, the data collected by UniTime and its course timetabling problem were used to organize the ITC 2019 competition, contributing real-world benchmark datasets back to the timetabling research community.

Dr. Tomas Muller is a lead application developer at Purdue University and a founding partner at UniTime, s.r.o. His research interests include optimization, constraint programming, and constraint-based timetabling and scheduling. He is the technical lead and principal developer of the university timetabling system UniTime and wrote the local search-based solver used for course timetabling, examination timetabling, and student scheduling.