Use case

Course Scheduling Optimization

Academic scheduling optimization replaces one-constraint-at-a-time spreadsheet planning with a solver that places sections against every hard rule at once and reports the trade-offs it couldn't avoid. This page describes the workflow, the data it depends on, the human decisions it leaves in place, and the acceptance criteria to set before relying on it.

Example workflow we’ve built or commonly automate — Foresight is industry-agnostic and adapts it to your business.

In short

Course scheduling optimization (academic scheduling optimization) uses a mathematical solver, not a language model, to place course sections into time blocks and rooms so that every hard rule holds at once, such as no instructor or room double-booked and required courses not colliding within a program. The registrar's office still sets the rules, weighs the trade-offs, and approves the result. It pays off when planning is slow, late changes cascade, and the data behind the schedule can be exported and cleaned.

On this page
  1. The workflow today
  2. Inputs the system needs
  3. Hard and soft constraints
  4. How the system works
  5. Decisions that stay with people
  6. Outputs
  7. How to judge the economics
  8. Failure modes and how to guard against them
  9. Integration needs
  10. Acceptance criteria
  11. When this isn't the right approach
  12. Related reading and next steps
  13. Common questions

At a glance

  • For registrar and provost offices whose term planning is slow and whose late changes cascade.
  • A mathematical solver, not a language model, places sections so every hard rule holds at once.
  • The registrar's office sets the rules, weighs the trade-offs, and approves the schedule.
  • Work typically starts with a data-quality review, because the solver is only as good as its inputs.

The workflow today

At many institutions, a term schedule starts as last year's schedule. Departments submit section requests, the registrar's office places them into time blocks and rooms, and staff check the result against every rule they know. Each fix can break something else, so the process loops until the conflicts people can see are gone. The cost is not only the hours:

  • The schedule depends on a few people who hold the rules in their heads.
  • Late changes, such as a new section or a faculty leave, ripple unpredictably.
  • Nobody can easily answer what the schedule would look like under a different policy.

Inputs the system needs

A solver is only as good as the data and rules it's given. Collecting and cleaning these inputs is usually the largest part of the work, and a data-quality report is usually the first useful output, well before a schedule.

Scheduling inputs, typical sources, and common problems
InputTypical sourceCommon problem
Course catalog, prerequisites, and co-requisitesStudent information system (SIS) and catalogRetired courses still active; prerequisites recorded as free text
Section demandEnrollment history, degree-audit data, department requestsRequests based on last year rather than current cohorts
Program pathwaysCurriculum maps for each program and yearMaps that exist only as PDFs or in advisors' heads
Instructor assignments, availability, and load rulesDepartment chairs, faculty workload policyPreferences sent by email and never recorded
Rooms, capacities, and featuresFacilities or space-management systemCapacities out of date; features such as labs or accessibility not recorded
Time-block patterns and institutional policyRegistrar policyUnwritten exceptions that everyone knows except the system
Credit-load or cohort rules set by other officesFinancial aid, international student office, athleticsRules owned by an office that isn't part of the scheduling conversation

Hard and soft constraints

The central modeling decision is which rules are hard and which are soft:

  • Hard rules must hold, or the schedule is invalid. An instructor can't teach two sections at once.
  • Soft rules are respected where possible, and the solver reports the cost when it can't. An instructor prefers mornings.

Getting this split wrong in either direction causes trouble. Too many hard rules and no valid schedule exists; too few and the solver produces schedules people reject.

Setting weights among soft constraints is a policy choice, not a technical one. The registrar and academic leadership decide, for example, whether keeping a program's required courses apart matters more than honoring instructor preferences. The system makes those trade-offs visible; it shouldn't make them silently.

How the system works

  1. Extract and validate

    Pull the inputs from the SIS and other sources, check them against each other, and report gaps and contradictions for staff to resolve.

  2. Encode the rules

    Translate each rule into a hard or soft constraint, review the list with the registrar's office, and record who owns each rule.

  3. Solve

    Run a constraint-programming or integer-optimization solver to find a schedule that satisfies every hard constraint and scores best on the soft ones.

  4. Explain conflicts

    When no valid schedule exists, report which rules collide, in plain terms, so staff can decide which to relax. When one exists, report every soft constraint it had to break.

  5. Compare scenarios

    Produce alternative schedules under different weights or policies so leadership can see the trade-off before choosing.

  6. Review and approve

    Staff review the proposed schedule, make manual changes where needed, and approve it. The solver re-checks every manual change against the hard rules.

  7. Write back

    Load the approved schedule into the SIS through an agreed import or interface, tested first against a non-production copy.

  8. Re-solve on change

    When something changes after publication, re-solve while holding already-published sections fixed unless staff approve moving them, so a small change doesn't reshuffle the term.

Where AI fits, and where it doesn't

Models help with:

  • Turning free-text instructor availability into structured entries for staff to confirm.
  • Explaining a conflict report in plain language.
  • Answering staff questions about why the solver made a choice.

Rules and people decide:

  • The placement itself is a job for an optimization solver, which is deterministic and checkable. A language model should not decide where sections go.
  • Every model output is checked by a person or by the solver before it affects the schedule.

Decisions that stay with people

  • Which rules are hard and which are soft, and how soft rules are weighted.
  • Which rule to relax when no valid schedule exists.
  • Exceptions for individual instructors, courses, or programs.
  • Interpretation of policies owned by other offices, such as credit-load rules tied to financial aid or visa status. The system applies the rules those offices give it; it doesn't interpret them.
  • Approval of the final schedule before it's published.

Outputs

  • A proposed term schedule that satisfies every hard constraint, ready to load into the SIS.
  • A report of every soft constraint the schedule breaks, with the reason.
  • When no valid schedule exists, a plain-language conflict report naming the rules that collide.
  • Scenario comparisons for policy decisions.
  • A change log against the previous term and against each re-solve.
  • A data-quality report listing input problems found and how they were resolved.

How to judge the economics

We don't publish outcome figures for this solution. The value depends on your institution's size, data, and policies, and should be estimated from your own baseline. The framework below is a method, not a result; every line is an assumption to measure.

Economics framework (method only; no figures)
LineHow to estimate itWatch out for
Staff time per term cycleHours spent building and revising the schedule, measured over at least one full cycleCounting only registrar hours and missing department time
Late-change reworkNumber of post-publication changes and the hours each one takesChanges that are policy decisions, which no solver removes
Student-facing effectsRequired-course collisions within programs, measured on past schedulesClaiming effects on graduation or retention without a method to attribute them
Room useHow well section sizes match room capacity, where space decisions depend on itRoom data too poor to measure against
Build and data cleanupEffort to extract, clean, and encode inputs and rulesUnderestimating cleanup, which is often the largest cost
Running costsSolver licensing if any, hosting, and staff time to maintain rules each termRules drifting out of date when nobody owns them

Failure modes and how to guard against them

Common failure modes
FailureWhat it looks likeGuard
Bad input, confident outputA schedule that is optimal for wrong room capacities or stale prerequisitesData-quality report first; no solving until blocking issues are resolved
Over-constrained modelThe solver finds no valid scheduleConflict reports that name the colliding rules; a review of which rules are truly hard
Unwritten rulesStaff reject a schedule because it breaks a rule nobody recordedRule interviews with each office; a shadow run against a past term before relying on it
Churn on re-solveA small change moves many published sectionsHold published sections fixed by default; approvals required to move them
Black-box distrustDepartments don't accept a schedule they can't understandEvery broken soft constraint listed with its reason; scenario comparisons
Single point of maintenanceOnly one person knows how to update the rulesDocumented rule register with owners; operator training at handover

Integration needs

  • Student information system Read access to catalog, sections, and enrollment history; a tested path to load the approved schedule, usually a supported import rather than direct database writes.
  • Facilities or space data Rooms, capacities, and features, from whatever system or spreadsheet holds them today.
  • Degree-audit or curriculum data Program pathways, where they exist in structured form.
  • Access Read-only during design and evaluation; write access only for the final load, under your IT team's change process.

Acceptance criteria

Agree these before building. Each is checked on your own data, with a past term used as the validation case.

  • No hard-constraint violations in the proposed schedule, verified by an independent checker rather than by the solver that produced it.
  • Soft-constraint results reported side by side with the schedule actually used for the validation term.
  • The same inputs always produce the same schedule, so results can be reproduced and audited.
  • Infeasibility is explained in terms registrar staff can act on without a developer.
  • Re-solving after a change holds published sections fixed unless a move is approved.
  • The write-back to the SIS is tested end to end on a non-production copy.
  • The registrar's office signs off on a shadow run before the first live term.
  • A runbook exists for adding or changing a rule, and someone other than the builder has done it.

When this isn't the right approach

  • Your schedule is small enough that one experienced person builds it without much rework. A solver adds maintenance you don't need.
  • Your SIS already includes a scheduling optimizer you haven't configured. Evaluate that first.
  • The real problem is demand forecasting or unresolved policy disagreements between departments. A solver will surface those conflicts but can't settle them.
  • The data can't be exported from the systems that hold it.

Related reading and next steps

Common questions

Does an optimizer replace Coursedog, Ad Astra or Series25, or work alongside them?

Usually alongside. The solver reads catalog, section and enrollment data from your existing SIS or scheduling module and writes the approved schedule back through a tested import. If your current platform already includes an optimizer you haven't configured, evaluate that first before adding a separate one.

What data do we need before we optimize?

Course catalog and prerequisites, section demand history, program pathways, instructor availability and load rules, room capacities and features, time-block policy, and any credit-load rules owned by other offices. Collecting and cleaning these is usually the largest part of the work, and a data-quality report is typically the first output.

Are instructor preferences hard or soft constraints?

Usually soft. An instructor not teaching two sections at once is a hard rule the schedule can never violate; a preference for morning sections is typically soft, honored where possible with the cost reported when it can't be. The registrar and academic leadership decide the exact split and how soft constraints are weighted.

Can we lock sections or grant exceptions?

Yes. When the schedule is re-solved after a change, already-published sections are held fixed by default, and staff approve any exception before a locked section moves. Exceptions for specific instructors, courses or programs stay a human decision; the solver applies the rules it's given rather than overriding them.

How do we tell whether the optimized schedule is better?

Run the solver against a past term and compare its soft-constraint report side by side with the schedule staff actually used, on the same rules and data. Fewer or lower-cost broken soft constraints, with every hard rule still holding, is the evidence to look at — not a single summary score.

What is classroom utilization, and how does scheduling affect it?

Classroom utilization is how well section sizes and meeting patterns match the capacity and availability of the rooms assigned to them. Optimization affects it by placing sections against real room and time-block data all at once, which the economics framework above tracks as 'room use' measured on your own institution's data.

How we work

  1. 01AI Agent Opportunity Audit
  2. 02Workflow and systems diagnosis
  3. 03Agent architecture and implementation roadmap
  4. 04Prototype or MVP
  5. 05Production deployment
  6. 06Monitoring, improvement, and expansion

Capabilities used

  • Agent-powered workflow design
  • Multi-agent workflow systems
  • Exception handling and escalation flows