Constraint recipe
This rule targets subjects where two separate lessons on the same day hurt pacing, for example two English sessions on Tuesday when you wanted Monday and Thursday. It is narrower than full weekly spread. Exempt double periods, labs, and workshops first. If a subject has only two available teaching days, a strict same-day ban can make the timetable impossible.
Key takeaways
- The rule targets two separate lessons of one subject on one day.
- Double periods and lab blocks need explicit exemptions.
- A subject with few available days cannot afford a strict ban.
- Apply it after required lessons and clashes are valid.
What this rule is for, and what it is not
Some subjects should not appear twice on the same day unless the session is designed as a block. The same-day rule improves pacing for regular weekly subjects without dictating the whole week's shape, which is what a full spread preference does.
It is not for every subject. Practical doubles, assessments, and intensive modules deliberately place two periods together, and the rule should never see them.
A worked example: 9C's English pair
Class 9C has English in Tuesday P2 and again in Tuesday P6. These are two separate lessons, not a double period, so the pair is exactly what the rule should catch.
Before: both lessons on Tuesday
| Mon | Tue | Wed | Thu | Fri | |
|---|---|---|---|---|---|
| P1 | |||||
| P2 | Eng | ||||
| P3 | |||||
| P4 | |||||
| P5 | |||||
| P6 | Eng |
- Same-day pair
After: the P6 lesson moves to Thursday
| Mon | Tue | Wed | Thu | Fri | |
|---|---|---|---|---|---|
| P1 | |||||
| P2 | Eng | ||||
| P3 | Eng | ||||
| P4 | |||||
| P5 | |||||
| P6 |
- Moved lesson
Count each subject's realistic teaching days before enforcing the rule. If English can only run on Tuesday and Thursday because of the teacher's contract, a strict ban plus three weekly lessons is arithmetic that cannot work: three lessons, two days, at most one per day. Keep the rule soft in that case and let it fail visibly. See the double-period recipe for pairs that should stay adjacent by design.
Apply the rule with its exemptions
- List the subjects where a same-day repeat hurts pacing.
- Remove required blocks, labs, and double periods from the rule's scope.
- Count each subject's available teaching days against its weekly lesson count.
- Set the same-day preference, regenerate, and review which pairs remain.
- For each remaining pair, record the limit that explains it: days, rooms, or a stronger rule.
Where this rule misfires
- Applying same-day avoidance to required double periods
- Making the ban hard for a subject with only two legal teaching days
- Treating the pacing preference as more important than room requirements
In Smootables
This recipe's rule is exactly what the Subject Spread weight penalizes in Smootables: for each group and subject, every lesson beyond the first on a single day adds to the penalty the generator tries to avoid. Open Settings, then Timetabling, and set Subject Spread above zero (0 to 200, default 0) to activate it.
Because it is a soft preference, a pair can survive when nothing else is legal, for example when the teacher works two days. The analysis summary's Study unit spread score shows how much same-day clustering remains, which is your signal to check availability rather than raise the weight again.
- Set Subject Spread above zero and regenerate; pairs disappear where a legal alternative day exists.
- If a pair persists, check the teacher's available days before raising the weight further.
Quick answers
Can this rule block a timetable?
Yes, if treated as mandatory while the subject has too few teaching days. Keep it soft unless policy requires it.
How is this different from lesson spread?
It is narrower. It blocks two same-subject lessons on one day, while spread shapes the whole week's day pattern.