Timetable constraints

Curriculum rules in the timetable: periods, doubles, blocks, and spread

How curriculum requirements become placement constraints, and the over-constraining mistake that makes timetables impossible.

Juho Isola, Smootables founder

Curriculum rules shape where lessons can go before any preference is considered: required periods per subject, double-period needs, subject combinations taught in parallel as blocks, and spread or distribution wishes.

Some of these are hard by nature, some are policy calls, and some are preferences that keep getting mistaken for requirements. That last group is where timetables die: the documented modelling mistake is treating wishes as mandatory until the set is jointly impossible.

This guide sorts curriculum rules onto the hard-soft line. The line itself is defined in hard constraints and soft constraints.

Key takeaways

  • Required periods per subject are the backbone; doubles, blocks, and spread build on them.
  • Blocks tie groups and teachers together, so each block multiplies constraint interactions.
  • Spread and placement wishes belong in the soft set with penalties.
  • Rank curriculum rules hard, firm, or soft; a jointly impossible mandatory set trades unpredictably.

The rules the curriculum sends

Four families, in descending order of hardness.

  • Required periods per subject per week, the non-negotiable backbone
  • Double-period needs, where a lesson requires a continuous block
  • Parallel blocks: subject combinations that must run simultaneously
  • Spread preferences: how lessons distribute across the week
  • Student-clash rules, hard or soft by school policy
  • Placement wishes (mornings, not-last-period) that are preferences however loudly stated

Classify curriculum rules before modelling them

The sourced practice: rank hard, firm, or soft instead of declaring everything mandatory.

  1. List each subject's required periods and confirm them against the published curriculum.
  2. Mark which lessons genuinely need continuous double periods.
  3. Map every block: which subjects, groups, and teachers it binds together.
  4. Put spread and placement wishes in the soft set with weights.
  5. Decide student-clash policy explicitly and record who owns it.
  6. Review the hard subset for joint impossibility before generation.

How to do this in Smootables: durations, spread, and same-day rules

Weekly lesson amounts are carried on the period plan's placements, so required periods per subject are the input the solver places. A double-length lesson is set as the placement's duration (a 90 or 120 minute lesson occupies the continuous block), rather than through a separate double-period toggle.

Spread is the Subject Spread weight in Solver Settings: it penalises the same subject landing more than once on a day, which pushes lessons apart across the week. The inverse wish exists per placement as All lessons on the same day under Schedule preferences. Keeping two different subjects off the same day is not one of the six weights, so treat cross-subject pairing as a manual review point rather than a rule the solver enforces.

The over-constraining spiral

The pattern is documented and predictable. Preferences enter as requirements, one at a time, each defensible. The feasible space shrinks invisibly. Eventually the set is jointly impossible, and a solver told that everything is mandatory produces unpredictable trade-offs, because you never said what to sacrifice.

The sourced repair is the ranking: hard for feasibility, firm for named-emergency rules, soft with weights for the rest. Recipe-level walkthroughs exist for the three most common rules: double periods, spreading lessons across the week, and avoiding same-day lesson pairs. The curriculum planning that produces these rules is covered in course catalog planning.

Questions planners ask about curriculum rules

Are double periods a hard constraint?

Usually yes in structure (a practical that needs a continuous block either fits or does not) and no in placement (which day it lands on is preference). Split the rule that way and both halves become easy to model.

What makes blocks expensive?

A block schedules several subjects in parallel, which means several teachers and groups must be free simultaneously, every time the block meets. Each block is a bundle of simultaneity requirements, and bundles collide.

"No theory in the last period on Friday": hard or soft?

It is the sourced example of over-constraining. Encode it as a weighted preference. If it were truly hard, the school would cancel the lesson rather than run it on Friday afternoon, and almost no school would.

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.