Scheduling

Understand hard constraints, soft constraints, warnings, and multi-variant generation workflows.

Hard and Soft Constraints

Hard constraints must never be violated. Soft constraints are scored preferences and can be overridden when no perfect plan exists.

Constraint LayerConfiguration SurfaceBehavior
Default hard constraintsSetup - Scheduling RulesAny violation blocks placement and completion checks.
Additional hard constraintsSetup - Scheduling RulesStored as institution-defined mandatory rules.
Room-share exceptionsSetup - Scheduling Rules (Room Exceptions)Selected labels appear as "Room Share" in class forms and allow intentional room overlap.
Soft constraints baselineSetup - template rows (type + parameters + weight)Provides default preference scoring for schedule generation.
Soft constraints override (University)Planner Settings - Scheduling Rules - Soft ConstraintsOverrides setup soft-constraint defaults without editing setup draft.
Teacher-specific soft constraints (University)Planner Settings - Scheduling Rules - Soft ConstraintsTeacher time/day preferences are configured here only after teacher resources are prepared.

Warning Rules and Resource Gate

Warning rules are separate from hard validation failures and are recommended (non-blocking). Scheduling Rules are always visible in Planner Settings, but users must complete teacher resources first.

ItemLocationBehavior
Warning rules (University)Planner Settings (Recommended)Non-blocking checks such as late class end, long gap, or dense teacher day.
Warning rules (K-12)Setup or Planner SettingsCan be configured during setup for school operations.
Scheduling rules resource gatePlanner SettingsIf teacher resources are empty, modal shows completion notice and CTA to Resources.

Multi-Variant Generation Strategy

Before adding AI, provide multiple deterministic variants under the same constraints so users can compare options.

  • Keep one baseline sequence for reproducibility.
  • Generate additional variants by randomized class ordering with fixed seed.
  • Allow pinning selected classes, then regenerate unpinned classes only.

This strategy provides practical user choice without requiring an AI model in the critical scheduling path.