I just realized that I neglected to announce that last week (Thursday, to be exact) we finished our task and produced a working schedule!
The previous blog entry said that we had what could be called a release candidate. Unfortunately, what we didn’t know at the time was that we neglected to keep track of some of the finite resources (specifically Art rooms), and inadvertantly double-booked an Art room or two. Which meant we had to go back to the mid-Friday files and remap the classes from that point onward. That took Tuesday.
Wednesday we discovered that we didn’t keep count of the rooms in use, and ended up with 42 classes in one period. This would have been fine, except we have only 41 classrooms available to us.
On Thursday, we finally hammered out the final details, and got a schedule that A) didn’t overbook any individual room, B) didn’t overbook any teacher, and C) didn’t overbook the school as a whole. In fact, we even minimized the number of consecutive periods that teachers taught (always a nice thing to do). Some computer periods had more students than the labs have computers, but a few iterations through the seating optimizer managed to make them all fit.
In the end, there were only 11 students (out of nearly 900!) who didn’t have schedules that could work. However, a brief perusal of those showed things like "Well, you asked for AP-Nuclear Physics and Underwater Basketweaving, but since they are each one section courses, and they both meet at the same time, you’ll have to probably forego the Baseketweaving." (Note: Neither is a real course here!)
Overall, we’re happy with the results. We can’t stand the tool we use, but we’re okay with the schedule.