School timetabling

Planner control in automatic timetabling

Fixed points, staffing pins, the choice of scheduling method, and the feedback to review before a change is applied.

Juho Isola, Smootables founder

Automatic generation does not take control away from the planner. Control just changes shape: instead of placing every lesson, you decide what is fixed, which scheduling method runs, and which solver feedback gets accepted.

The levers are concrete. Fixed points ('Year 7 Games stays on Monday afternoon') are locked by the planner and respected by the solver. Staffing pins limit what a run may change. And every suggestion is reviewed before it lands, so the result can be explained afterwards.

This guide covers the levers one by one. How they fit into a full run is covered in how timetable generation works.

Key takeaways

  • Control means deciding what is fixed, what method runs, and what feedback is accepted.
  • Fixed points are planner commitments the solver builds around.
  • Staffing pins narrow a run to placement questions only.
  • A run you cannot explain afterwards was not under control, whatever the result.

Three decisions that stay with the planner

Scheduling method, fixed points, and the changes allowed per run. Manual, semi-automatic, and fully automatic methods all have a place; the choice is a policy decision about where judgment adds value, and it can differ between periods in the same school.

A solver earns trust by respecting locked commitments and showing issues before changes are applied. Both properties are checkable on any run: did the fixed points survive, and did anything change that was not reviewed?

The control levers

These are what a planner actually pulls during a run, and the reason a result can be explained afterwards.

  • Scheduling method: manual, semi-automatic, or fully automatic
  • Fixed points locked before the run
  • Staffing pins that limit assignment changes
  • Feedback shown and reviewed before changes apply
  • The reason each blocked period is unusable, visible on the scheduling screen
  • A record of what was locked and what was accepted

Working with fixed points

Fixed points work best few and deliberate.

  1. Name the placement that must not move, and why.
  2. Check it against known constraints before locking; a fixed point that contradicts availability is a guaranteed conflict.
  3. Lock it before the run that must respect it.
  4. Generate around it.
  5. Read the feedback for conflicts the lock caused.
  6. Move a fixed point only as an explicit trade-off, not as a workaround.

How to do this in Smootables: pins, edits, and versions

Pins, the waiting area, and versions make automatic runs reversible.

On Timetables, pin any lesson to keep it fixed: pinned lessons are not moved when the solver regenerates. Manual control covers dragging a lesson to another slot, swapping two lessons by dragging one onto the other, splitting an occurrence in half, and parking a lesson in the waiting area to place later. Undo and redo cover every step.

The larger lever is versions. Each timetable state is kept on a branch in Versions and changes, so a regeneration is never a leap of faith: if the run went the wrong way, Restore this version brings the earlier grid back, and the Edit Log shows what changed in between.

Feedback is the control surface

Feedback protects control only when it arrives before the change. If the scheduling screen shows why a period is unusable, the planner can choose between a swap, a staffing pin, or a different method, with the trade-off visible. The same information after the fact is an audit, not a decision.

When feedback keeps flagging the same lesson, stop treating it as a placement problem: that is the signal to move to conflict resolution and read the clash properly. Weight-tuning for the preferences the solver optimises is covered in soft constraints.

Questions planners ask about control

Is fully automatic scheduling a loss of control?

Not if the locks and the review step are yours. Control lives in what you fix before the run and what you accept after it, whichever method places the lessons in between.

Do more fixed points mean more control?

No. Each lock removes options from every other lesson, so a grid full of fixed points can become infeasible without any single lock looking wrong. Lock real commitments; leave preferences to the soft constraints.

When should staffing be pinned?

When the question is placement, and who teaches the lesson is settled. Pinning staffing turns a run that could reshuffle assignments into one that only moves lessons in time.

More guides on this topic

See how Smootables fits your school

Book a walkthrough and we will map Smootables to your planning, workload, and timetabling process.