How nOS builds a schedule.
The short version, with the limits stated up front.
Why this takes real work
There are far too many possible schedules for any person or program to check them all. nOS searches for a good one and shows you how close it came to the ceiling.
Four passes
nOS builds the schedule in four passes. Each one works on what the last one left.
The same data, rules and settings give the same schedule.
Meets the 95% target. The placement gaps below close the last few.
63 sections · 24 courses
Why 40 requests didn’t fit
The ceiling
You see the ceiling before the build starts.
Before it builds anything, nOS works out the largest share of your requests any schedule could fill with your courses, sections, rooms and rules. After the build, you can see how close it came. If the ceiling itself is low, the build can’t fix that; your courses and sections need to change.
The final check
A separate check runs on every build before you see it.
Anyone in two places at once. A section over its room or its cap. A hard rule broken. Anything in the output that wasn’t in your data.
nOS tells you what it found before anything is saved.
It looks only at the finished schedule and knows nothing about how it was built.
When a request can’t be placed
You’re told why, in plain words.
Every unplaced request is listed under one of these twelve reasons, grouped by cause.
What nOS doesn’t do
A few things schools ask for that nOS doesn’t have yet.
Try it on your own data.
Create an account and use the full planner on your own data.