Last updated: 2 June 2026

Why can't a school timetable be built?

Not every set of rules produces a valid timetable. Here are the most common bottlenecks — and how Atlas catches them before it even starts.

A timetable is a school's most constrained puzzle. Sometimes the rules conflict so sharply that no placement can satisfy them all at once; this is called an 'infeasible' case. A good system notices this before it builds, and explains why.

Teacher load exceeds capacity

If a teacher's weekly lessons exceed the number of slots they are available for, the timetable cannot be built. A teacher who must teach 30 hours but is available for only 25 leaves 5 hours that can never be placed. Atlas catches this in the precheck and shows exactly who is over, and by how much.

Not enough rooms or labs

If, at the same time, the number of lessons needing a room of a category (say a science lab) exceeds the rooms in that category, a clash is unavoidable. Atlas checks capacity per category and reports the bottleneck up front.

Hard rules conflict with each other

Availability, block-lesson integrity, 'must be at the same time' or 'must not be on the same day' — when hard rules combine, sometimes no solution remains. If two lessons must be at the same time with different teachers, but those teachers clash, the rules cannot all hold at once.

How does Atlas prevent this?

Atlas runs a precheck before every build: impossible teacher load, insufficient rooms and conflicting rules are caught before a timetable is produced. If a timetable is still hard to build, Atlas does not just say 'couldn't build it' — it explains which rule was the bottleneck, and which teacher or room fell short, so you can fix the rule and try again.