Incompatibility (between subjects)
An incompatibility is a pedagogical constraint that forbids a subject from following another. It is a directed rule: you declare that "subject A must not be followed by subject B" — the direction matters, A-then-B and B-then-A are two distinct rules. The typical case: "no maths lesson right after sports".
Configured at class level in the Incompatibilities tab of the current timetable.
Scope of the ban
You choose the window in which the ban applies when you create the rule:
- Consecutive — not in the lesson that immediately follows, on the same day.
- Half-day — not later in the same half-day.
- Day — not later in the same day.
- Week — not later in the same week.
- Always (cyclic or calendar timetable) — never afterwards, over the whole period. This is the sequencing tool: finish a module before moving on to the one that depends on it.
Separately: a subject's self-incompatibility option (a global setting) prevents the same subject from coming back twice in the day for a student — often simpler than a multitude of pairwise rules.
Difference from subject time constraints
Not to be confused with a subject's time constraints (), which fix the absolute placement of a single subject in the grid. An incompatibility, by contrast, bears on the relative order of two subjects.
| Constraint | Bears on | Example |
|---|---|---|
| Incompatibility | the order of two subjects | "no maths after sports" |
| Subject time constraint | the absolute placement of a subject | "no maths in the first period" |
| Specialisation | the classroom required by a subject | "chemistry requires a laboratory" |
An optimization constraint, not a blocker
An incompatibility is not a blocking constraint: the solver treats it as a penalty it tries to eliminate, just like undesirable availabilities. If the other constraints leave no alternative, an incompatibility can therefore remain in the generated timetable; the diagnostic then reports it so that you can arbitrate. Avoid an avalanche of incompatibilities: each one reduces the solver's freedom and lengthens the computation. To balance a subject across the week, the subject's pedagogical weighting is often more effective.