Timetable Scheduling with Constraint Solving
A timetabling system that takes rooms, staff availability, course enrolments and equipment requirements and produces a conflict-free schedule, explaining clearly why it failed when no schedule exists. Timetabling is genuinely hard and most departments still do it in a spreadsheet.
Advanced
Needs a team, real planning, and a supervisor who knows the area.1 semester, 2 to 3 students
5 to ship
3 optional extrasSuggested stack
What you should ship
- Data model for courses, sections, staff, rooms, equipment and time slots
- Constraint model separating hard constraints from soft preferences
- Solver integration producing a valid schedule for a realistic instance of at least 200 sections
- Infeasibility explanation naming the conflicting constraints when no solution exists
- Interface for entering constraints, viewing the timetable and locking assignments before re-solving
If you have time left
- Optimising soft preferences such as minimising staff gaps and student travel between buildings
- Incremental rescheduling that minimises disruption when one input changes late
- Student level conflict checking for optional module combinations
The problem
University timetabling is a genuinely hard combinatorial problem and it is still commonly solved by one person, a spreadsheet and several weeks. The result usually contains conflicts discovered in the first teaching week.
What you build
A constraint model over a proper data schema, solved with an established solver library, wrapped in an interface an administrator could actually use.
Why using a solver library is correct here
Writing your own solver would be a different and much harder project. The contribution here is modelling: expressing messy real world requirements as constraints, separating what is mandatory from what is preferred, and handling the case where the requirements cannot all be satisfied.
The feature that makes it usable
Explaining infeasibility. A solver returning no solution is useless to an administrator. Identifying the minimal set of conflicting constraints, and saying that these three requirements cannot hold together, is what turns this from an exercise into a tool.
How to evaluate it
Get real anonymised data from your own department if you can, or generate realistic instances at that scale. Report solve time against instance size, and how often a feasible schedule is found.
Scope warning
Locking is essential and easy to overlook. Administrators fix part of a timetable by hand and re-solve the rest, and a system that discards their manual work on every run will not be used.
Ideas and guidance, not finished projects
These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.
Not sure this one fits you?
I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Every session is free; a few slots open each week.
Follow along
New writing, resources and project ideas land here first.