Key takeaways
- Static analysis finds missing values, duplicates, and unstaffed lessons.
- Dynamic analysis tests data and constraints together.
- Critical issues must be fixed before optimisation starts.
- Passing validation makes feasibility more likely, but never certain.
What does static analysis catch?
Static analysis checks whether the raw timetable data is usable. It can find missing values, duplicate records, and unstaffed lessons before the solver starts. These are data problems, not placement problems.
Which checks belong before optimisation?
Before optimisation, focus on issues that block creation.
- Missing teacher, class, subject, or room values
- Duplicate teachers, rooms, groups, or lessons
- Unstaffed lessons that cannot be placed
- Constraint conflicts that make required placement impossible
- Block build, combing chart, and clash table issues from planning
- Critical messages that need a fix before a run
How should planners validate a model?
Use validation as a gate before optimisation.
- Run static analysis on the timetable data.
- Fix missing values, duplicates, and unstaffed lessons.
- Run dynamic analysis against the active constraints.
- Resolve critical issues before optimisation starts.
- Check structural planning outputs such as block builds and clash tables.
- Start generation only when the remaining issues are understood.
How do planning checks carry into validation?
Block build, combing charts, and clash tables test whether the planned structure can fit before individual lessons are placed. If planning already shows a clash, fix the structure before asking the solver to rediscover it.
What should a validation result tell the planner?
The result should point to a fixable cause.
- Whether the issue is a data error or a constraint conflict
- Which teacher, class, room, or lesson is involved
- Whether the issue blocks generation or can wait
- Which planning output may need review
- Whether another validation pass is needed after the fix
- Whether generation can start with the current model
Questions planners ask about validation
What is static validation?
It checks the data by itself, including missing values, duplicates, and unstaffed lessons.
What is dynamic validation?
It checks the data together with constraints, so it can reveal problems that only appear when placement logic is applied.
Does a clean validation guarantee success?
No. It means feasibility is more likely. Some conflicts only appear during placement.