[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [school-discuss] Master schedule building and scheduling



The screens you saw were of an older version of the loader that doesn't have the cool real-time functionality we came up with this year.
 
Your holy grail scheduler is a cool concept and would benefit students, but I don't know if I've met a principal with enough balls to try that approach.  I don't like the tenure concept and all the seniority perks that affect resource optimization, but it a necessary evil.
 
 
 
> I notice a search depth field, what is a common value for this? How deep do you suggest a school go?
 
I use a meta-heuristic combinatorial optimization algorithm that integrates concepts of tabo search.  The heart of the algorithm is a recursive function to traverse the solution space.  Search depth represents the number of recursive branches that the algorithm will explore per request, and a typical number is 6.  For example, a depth 3 solution is will move one roster, to move one roster, to place a request into the hole.  The key to a fast algorithm is the heuristics (decision rules) that tell it where to go. You don't want to have to explore all 100,000 tries like an enumerated search.
 
> I also notice a switch for seat stealing. I'm not sure what you mean by this. It sound from the PDF on scheduling that you take seats from students that have incomplete schedules, rather than trying to reschedule an already scheduled student. In my scheduler I don't give rejected students any seats, there is no point to it, so I'm really not stealing seats.
If you are actually taking seats from scheduled students (rescheduling them of course) I would like to know what is the expected effect of this on the run. I.a. say in a typical large high school of 2000 students, how many more students would be schedule with this option vs. with out it?
 
 
In mass scheduling, we place as many rosters as we can, even students that have a hard conflict.  Any student with a conflict will have to be touched by a guidance counselor, so seat stealing reduces this to the bare minimum.  Before stealing a seat, the loader has tried to re-arrange every other student in the course to free up a seat in a section that the new student can get into.  It probably only adds +10 complete schedules in a typical school.  If you have to touch the student for one conflict, you might as well fix two while you are at it.  We have a servlet version of our loader for the walk-in scheduler, so they swap in a couple alternate requests and click load. 
 
Dave