About this talk
This talk provides an overview of the UniTime project, part of the Aperio Foundation, which addresses the challenges of educational timetabling at universities. The speaker explains that timetabling involves assigning classes and exams to specific times and locations, presenting complex optimization problems that have historically lacked practical applications. UniTime offers a comprehensive academic scheduling solution that utilizes advanced optimization algorithms to improve scheduling efficiency and resource management. Additionally, the system enables the analysis of various scenarios, enhancing its adaptability to changes, such as increased student enrollment or infrastructural modifications. With its open-source framework, UniTime supports global usage and collaboration within the academic community to further refine timetabling practices.
Full transcript
So, hello. My name is Tomáš Müller and this is an overview of the UniTime project part of the Aperio Foundation which we heard about this morning. And since this is a this is open community track for research, yeah, this title this this speaker's title from research to practice because that's the journey we we have made. So, first of all, let me talk about a little bit about
the problem kind of problems we want to solve. So, this is we call it educational timetabling. So, it's essentially any any timetabling processes that happen at a university. Typically, yeah, you have some events like classes or exams that need to be assigned in time and space. These are typically very hard optimization problems. They have been researched since like the '80s, but a lot of the research, if
you look at it, it's simplified is departmental problems. They solve them. They produce some solver or something, but it's almost never there is a practical application. So, that's where UniTime comes in place and also, I would like to talk about why this is needed. For us, the biggest driver is the ability for the students to get the courses they need and be able to graduate on time.
We also need to manage the resources like rooms more effectively and they preferably not to need to build more rooms as needed. Uh yeah, the the the tools like UniTime can make the process easier to manage because we can don't just just don't we do not capture just the timetable, but also all the information that comes to to building it. Also, yeah, we want to present produce
timetables that that are good in sorts criteria that are fair. We want to deal with what if scenarios like what will happen if there will be 5,000 more students in 5 years in the university. What will happen if you start renovating a building? So, it will be offline next semester. What will happen if there are some some different curricular changes? And also, when the timetable is built,
they're like what will happen or yeah, it needs to be robust. It needs to be able to adapt to it to changes. So, like if yeah, there is a building offline or like an event like COVID or happens or things like that. So, we started as a research project back in 2001. It was a cooperation between Purdue University in the States and Masaryk University in Czechia. The
original goal was just the large lecture room problem at Purdue University. So, that's about like 600, 700 la- largest classes that have been timetabled centrally in rooms that have like 100 or more seats. And even that was like it was getting to the point and it was why why why we started where it was impossible to solve by hand. And we become an open source in 2007
and joined the Apereo Foundation in 2015. And over the years, we've kept on adding. So, there is a lot of additional stuff that we we can do these days. So, we call UniTime a comprehensive academic scheduling solution. Meaning that we can tackle different sorts of timetabling problems. Here are the the main components we have. We do course timetabling. So, we built we we help build schedule of
classes. We let the allow students to just when they request courses, provide alternatives, set their preferences. Then we help them build individual schedules. Similarly, we can assign instructors to classes. This is usually used for TAs because uh the professors are usually known in advance and can be used for for building the course timetabling, examination schedules, and also to be able to book additional space in the in
in classrooms. For instance, if a professor needs a uh help session, they can use UniTime to figure out like what would be the good time, also book the room, but also what would be the good time for the students where they don't have any other classes, so they can actually attend the help session. UniTime B has been is is open source, it's web-based, it's completely written in
Java. And it allows it is it has multiple roles and allows for the I both distributed data entry and or timetabling. Typically, smaller schools have just each department enter their own data, but the timetabling happens centrally. Whereas at large institutions, each department can build their own timetable, perhaps with a few sub problems being done at the at the central level, like the large lecture rooms that for
you have mentioned. Yeah, we use state-of-the-art optimization algorithms and based on our voluntary registration, UniTime's being used more than 100 institutions around the world. here is just one of the problems that we want to tackle, and I've picked the examination timetabling because it's usually the easiest to to describe. It has fewer variations, even though yeah, I've I covered quite a bit. So, the main problem is we
have exams that have students, and we need to place them in in periods and and in rooms. So, for instance, for final exam, there is an examination week, five periods a day, five or six days a week. And yeah, we there are many many constraints. We need to make sure that the the the exams are placed in rooms that is big space enough for them. If there
are any requirements, like this exams cannot be on Friday or this exams needs a room with certain equipment, we that that's satisfied. That there are no two exams in the same room, same time. And of course, there could be unavailabilities of the rooms, instructors, and students. And there are many objectives. Primarily, we care about student conflicts, so we want to either prohibit or minimize the number of
direct conflict. This is the cases when a student has two exams at the same time or we want to minimize the number of conflict students that have three or more exams a day or back-to-back exams. So, two exams in consecutive periods and there are other objectives as well for instructors, for period preferences on periods, on rooms, some relations between individual exams. In some cases, we can have
large exams that need to be split into multiple rooms. In some cases, there could be exams that could be that can share a room under certain conditions. We may need to care about distances between rooms. Sometimes, large exams need to be earlier in the week. And interestingly enough, if I take everything out and just leave the ability to assign exams in period without student conflicts, this is
already an NP-hard problem. This can be easily mapped to a direct coloring and that's that's that's that's hard optimization problem. So, adding other stuff doesn't make it any easier. So, this is where the UniTime solver comes in place. It's based on the constraint satisfaction and optimization problem modeling. So, essentially, we can abstract the the the stuff we solve into like variables, values, domains, constraints. So, we can
apply similar algorithms to the same to to different problems. It's again open source, It's essentially based on local search based techniques or neighborhood search techniques using various algorithms and heuristics. There is we call it conflict statistics that used to essentially track if there are any conflicts and this can also that can both help the to escape some local optimals, but also can be used to provide users
with with problems like why the problem why the solver is not able to find a complete solution. So, it's not a black box. We can also educate the users like what are the constraints that need to be relaxed or avoided in order to to be able to like place all exams in the schedule. It works very well with large instances, but it's stochastic, so we cannot prove
optimality. And as I mentioned, UniTime started as a research project like more than 25 years ago. We've published a number of research papers over the years. For us, the PATAT conference is very important as the practice and theory of automated timetabling that happens every 2 years. Last, I don't know, decade or so it has been mostly in Europe. The next one is in Groningen in August 2026.
And I also want to mention the international timetabling competition that we co-organized in 2019 because for us also one way of being able to contribute back to the research community because this is this is this has been a confer uh a competition where the researchers can provide write their own solvers to compete over the the problem, the data that we have collected from from UniTime. So, we
have 30 instances from 10 institutions that are are real world real world instances, so there are no no made up data. It's it's real real And these are available. So, even so the competition has been like 6 7 years ago, this is still a a vibrant problem because we we this is a benchmark data set anyone can use. There is a website that provides validation and also
repository of the best known solution. So, anyone can look at that and and and try to their solver, their ideas. There have been a number of solvers that been open source. So, besides of UniTime, there are two others because part of the competition was we had the Apereo Foundation sponsored are open source prize. So, there are two two of the uh finally finalists web solvers that were
in that are open source as well. So, yeah, it's sort of yeah, the ability to to provide better data because we want the research to concentrate or be able to compare to each other. If you use departmental problems, each and each institution is different. It's hard to compare any any any solutions. So, I also have a slide on how to contribute. I have some ideas since we
are in an open source conference and we're always looking for yeah, cooperating with with others. So, yeah, for anyone interested in timetabling research, the competition is is a is a great start or any similar There have been other competitions in the past. It's like happening every uh 4 or 5 The one in 2007 was related to course timetabling then there was high schools. They have no nurse
rostering competitions as well. Uh we also helped lead or helped with a bunch of student projects. Usually they we get a student from somewhere trying to use UniTime at or some timetabling solution at their institutions or trying to develop some special constraints. Localization is also a big thing. This is We do have uh voluntary registration in UniTime. So, based on that we've collected This is the This
This This chart on the left side is the countries that that registered UniTime through that voluntary registration. That's about 700 registrations. So, you can see they are all over the places. They have a lot of users in in in Asia, some in Africa. The The Arabic countries are actually quite quite often looking at that, too. So, yeah, we yeah, any any help with the localization is is
useful and also like yeah as I said every institution is is is different. I think we have done a fairly good job in making sure we have a solution that that fits fits most of them but usually there is a constraint or some integration. Like even our country Czech Republic it's it's a small country we still have like seven different student information systems. So any integration is
is a challenge in in in that environment and as far as like open Apereo has been great for many high higher education projects that up to my knowledge there is no open source student information system. So that's that's one thing that yeah would I think could could be improved for the future. So yeah that has been for my presentation. If there are any questions. Thank you. Uh
do we have some questions? No? Okay. We can always reach you. Just one curiosity why you reach so late the Apereo Foundation because you find out in that year or Well we joined we we become open source 2007. Yes. I think this this became because we were involved in creating some standards between SIS SIS system and timetabling and I think someone from PeopleSoft in one of those
mentioned open Apereo Foundation so we were we went to to the open Apereo in 2014. And yeah decided to join so we become So it was quite fast actually. Okay. Thank