How the optimizer builds a schedule

The free, deterministic engine: what it never breaks, what it tries to optimize, and how to run it.

Click Optimize schedule in the workbench. The optimizer places unscheduled students, balances each teacher toward their target hours, keeps drive time and meal breaks sane, and tidies each day to clean start times. It is free and runs in seconds.

Hard rules it never breaks

  • No double-booking a teacher
  • A lesson must fit inside the student availability
  • The exact lesson length is honored
  • Instrument match
  • A female-teacher requirement when set

Soft preferences, in priority order

  • Instrument fit
  • Route efficiency (a sensible geographic chain across the day)
  • Compact days (fewer gaps)
  • Balanced load across teachers
  • Siblings with the same teacher or day

Run it as often as you like. It converges and tells you when nothing more can be improved.

Hard rules are enforced in code, not by AI. The optimizer can place and rearrange, but it can never quietly break a hard rule.
Still stuck? Get in touch and we will help.