Timetable

A school week solved, not filled in by hand

Campus builds the timetable with a constraint solver: teacher availability, room capacity, class day windows and course blocks are all weighed together. What it cannot satisfy it names — this course, this teacher, this room — instead of reporting a single number.

01

Your constraints, not a generic template

A project holds the school week: the working days, the lesson and break periods, and more than one week plan when the primary and the high school do not ring the same bell. Everything below is entered against that — per teacher, class, room and course, and per week plan where a school runs several.

Teachers

Unavailable and less-preferred periods, a maximum of lessons per day, a maximum of consecutive lessons, a maximum of working days, and their own room when a teacher always teaches in the same place.

Classes

Closed periods, a minimum and a maximum of lessons a day, and a day window: a class can be told to start no earlier and finish no later than a given period, and to be left with no empty day.

Rooms

A shared room carries how many lessons may run in it at once. A specialist room declares the subjects it serves, and any room can be closed for a period without leaving the plan.

Courses

Lessons a week and the most that may fall on one day, blocks that must sit back to back, courses that must run in parallel across classes, and a room taken from the teacher’s, the class’s, the subject’s or an explicit list — minus the rooms you exclude.

Divisions and groups

A class splits into divisions and groups, so a language or an elective takes only part of it while the rest of the class is somewhere else in the same period.

Avoid, not forbid

Every availability grid has a second layer: a period can be marked less preferred rather than unavailable. The solver pays a small price to use it, and uses it only when every alternative costs more.

02

From an empty project to a published week

Eight steps. A trial is a frozen copy of the whole data set, so the run you review is the run that was solved — editing the project afterwards does not move it.

  1. Project

    Declare the working days and the week plans: lesson periods, break periods, and the classes each plan applies to.

  2. Import

    Pull classes, teachers, rooms, subjects and courses straight from Campus, or load them from the Excel template the service issues for each of them.

  3. Constrain

    Set availability, preference and limits on every teacher, class, room and course — across a whole grid at once or one entry at a time.

  4. Trial

    A trial copies the classes, teachers, rooms and courses as they stand and carries its own constraint weights, so two runs can disagree without either editing the project.

  5. Solve

    A construction heuristic seats every lesson, then tabu search and late acceptance keep improving it — up to an hour, stopping early once fifteen minutes bring no improvement.

  6. Versions

    Improvements are snapshotted at intervals rather than at every step, so the versions offered differ from one another in ways a person can see. A trial keeps up to ten.

  7. Review

    Read the week by class, by teacher or by room, or all three side by side in the panel, with the lessons that found no slot listed separately.

  8. Publish

    Export any view to Excel, or write the schedule back onto the Campus courses it came from — one course at a time or the whole trial.

03

Three levels, so “infeasible” means something

Thirty constraints, each with a declared weight at one of three levels. Putting a preference at the top level is what makes every timetable infeasible and the feasibility signal worthless, so the levels are kept apart and mean what they say.

Hard — physically impossible

A class, a teacher or a room in two places at once; a lesson placed where the teacher or the room is closed; a lesson left with no room at all. These are the violations that make a timetable infeasible.

Medium — the school’s own rules

The specialist room a subject requires, a class day window, a block that has to stay together, a per-day load limit. They matter, and a timetable that breaks one still runs.

Soft — quality

Gaps in a class’s day and in a teacher’s, a teacher kept in one room, less-preferred periods, and technical lessons pulled towards the start of the day rather than the end.

Weights you set

Every constraint carries a default weight and a trial may override it. The solver and the rules it scores read the same table, so a weight cannot be changed in one place and quietly ignored in the other.

Named problems, not one number

The conflict list says what is actually wrong — this course, these lessons, this teacher, this room — in the reader’s own language, and points at the class and the teacher it affects.

Hand edits are checked too

Move a lesson and only the periods that are free for its class, its teacher and its room are offered, so an edit cannot re-create a clash the run had just removed.

04

What the module holds

A project holds the data, trials hold the runs, and nothing is edited in place underneath a schedule people are already reading.

Projects & week plans

  • Working days, lesson and break periods
  • Several week plans in one project
  • Copy a whole project into next year

Teachers

  • Availability and preference per week plan
  • Daily, consecutive and weekly load limits
  • Own rooms, and a teacher kept in one of them

Classes

  • Divisions and groups
  • Day window and daily minimum
  • Home rooms

Rooms

  • Shared rooms with a parallel capacity
  • Subject-specific rooms
  • Closures by period

Subjects & courses

  • Weekly load and daily maximum
  • Blocks and parallel courses
  • Room rules and exclusions
  • Online courses that need no room

Trials

  • A frozen copy of the data set
  • Stop a run and keep the best found so far
  • Copy a trial, or resync it with the project

Views

  • By class, by teacher, by room
  • One panel for all three
  • Unplaced lessons listed on their own

Conflicts & editing

  • Every remaining problem named
  • Drag a lesson into a free period only
  • Messages in the reader’s language

Import & export

  • Import from Campus or from Excel
  • An Excel template for every entity
  • Export a view, or write the week back to Campus

See it run on your own school week

Bring a week plan, a list of classes and the teachers who cannot be there on Friday afternoon. We will solve it with you and read the score together.