Ask a timetabler which rule causes the most trouble and few will say "teacher availability" or "room capacity." They will say distribution: how a subject's weekly hours are spread across the days.
It sounds like a detail. It is the rule most likely to make an otherwise reasonable timetable impossible, and the one most likely to produce a plan that is technically valid and pedagogically poor.
What distribution actually controls
A class has five hours of Mathematics a week. Those five hours can land as:
- One hour on each of five days — maximum spread, ideal for a subject that needs daily practice.
- A double plus three singles — one longer session for problem work, regular contact otherwise.
- Two doubles plus a single — fewer, longer sessions.
- Three on Monday and two on Tuesday — technically five hours, pedagogically indefensible.
Every one of these is a legal timetable. Only some of them are a good week. Distribution rules are how you tell the software which shapes are acceptable, and they are usually expressed as a cap: at most N lessons of this subject per day for this class.
The six-in-five trap
Here is the single most common infeasibility in school timetabling, and it is pure arithmetic.
A subject has six weekly hours. The week has five days. The distribution rule says at most one per day.
Six lessons, five days, one per day: impossible. Not difficult — impossible, and no generator will ever place it. Yet this configuration appears constantly, because the two halves are set by different people at different times, and each is individually sensible. Someone sets Mathematics to six hours in the curriculum; someone else applies "ideal distribution" across all subjects because it is the pedagogically correct default.
Why doubles are harder than they look
A double lesson is not two lessons that happen to be adjacent. It is a single unit that must occupy two consecutive periods, and that consecutiveness constrains everything around it.
Three consequences follow, and they compound:
Doubles cannot span a break. A double across the lunch break is not a double; it is two lessons with an interruption. So on a day with a mid-morning break and lunch, an eight-period day does not offer seven possible double positions — it offers however many adjacent pairs sit entirely within a single teaching block. Adding a break to your bell schedule can silently remove several legal double positions.
Doubles fragment the remaining space. Place a double in periods 3–4 and you have not just used two periods; you have split the day into a two-period morning and a four-period afternoon. Single lessons that needed a specific slot now have fewer options. This is why timetables with many doubles are disproportionately harder to solve.
Doubles before singles. The traditional advice — place the constrained units first — is right, and it is a good example of the difference between a heuristic and a solver. A heuristic needs that ordering because a bad early choice is expensive to undo. A constraint solver reasons about all of them simultaneously and does not depend on placement order, though the modelling still has to represent the adjacency correctly.
The Monday problem
Now the rule that surprises people. In most schools, Monday and Friday are not equivalent to Tuesday, Wednesday and Thursday.
Public holidays fall disproportionately on Mondays. Excursions, sports fixtures and staff development cluster on Fridays. A subject that meets twice a week on Monday and Friday will lose more contact hours over a year than the same subject on Tuesday and Thursday — sometimes several weeks' worth.
Nobody sets out to schedule a subject that way. It happens because Monday and Friday have the most slack when the generator gets to the low-priority subjects, so that is where they land. The result is a timetable that is optimal by every measured criterion and quietly disadvantages one subject over the school year.
The fix is unglamorous: for subjects where continuity matters, either forbid the Monday/Friday pairing explicitly or weight against edge-of-week clustering. It is one of the clearest cases where the timetable a solver produces is only as thoughtful as the rules it was given — the software has no way to know that your region has eight Monday holidays.
Rules that actually earn their place
Every constraint you add narrows the search space, and a narrower space means fewer good options everywhere else. So it is worth being selective. In our experience these four repay their cost:
- Maximum per day, per subject. The core spread control. Set it to 1 where you can afford it, 2 where hours demand it.
- Not on consecutive days for subjects needing time between sessions — languages with homework cycles, subjects with practical write-ups.
- Doubles for practical subjects only — labs, art, technology, PE with changing time. Doubles elsewhere are often inherited habit rather than pedagogy, and each one costs flexibility.
- Edge-of-week protection for the subjects that most need continuity.
And one to use sparingly: fixing a lesson to a specific slot. Every pin is a constraint the solver cannot trade away, and pins accumulate year over year. We have seen schools where forty pinned lessons — most of them added for reasons nobody remembers — were the reason nothing else would fit.
Where importance comes in
Distribution rules do not have to be absolute. In Bildena, as in most serious timetabling tools, they carry an importance level: strict, meaning never violated, or a weighted preference the solver satisfies where it can.
Making everything strict is the beginner's mistake, and it is how you arrive at an infeasible model with forty binding constraints and no idea which one to relax. Making the pedagogically critical subjects strict and leaving the rest as strong preferences gives the solver room to find a plan that satisfies almost everything — and, when it cannot, tells you precisely which preference it had to spend.
Distribution, double-lesson and week-pattern rules are configured per subject in Bildena, with the Advisor checking the arithmetic before every run.
