or"scheduling?"
I'm becoming puzzled by the fact that I only find applications to
automatically generate timetables--meaning which classes meet when and
where and taught by whom, and I don't find applications that
automatically build the rosters for those classes based on a list of
students and their individual needs. This suggests to me that
scheduling algorithms are either so much easier than timetabling as to
be considered a trivial problem, or it is so much harder than
timetabling that nobody wants to do it.
I don't think that the complexity of the algorithm is the cause. Both
generation algorithms are n-dimensional optimisation algorithms, which
have to follow a lot of restrictions.
I think is the question of use cases and users: most planning is done
in schools, often from teachers. And they are focused to get at least
one sensible school plan which has no conflicts and satisfies some of
the requierements all involved people have: no classes on mondays of
fridays, lectures not starting before 10:00 o'clock, and please nothing
later than 17:00 o'clock. Especially not on Mondays or Fridays. No holes
between the lecutures, and the walking distance not more than 50m from
the office of the individual teacher. Besides, of course, the lecture
before lunch: then it's okay when the room is near the cafeteria to be
first in the line. The director of the school (who is also teaching
some classes) has also highest priority :)
Since you are teacher yourself, you have to satisfy at least some
of the requirements, or you'll get hit by your colleagues and nobody
offers you a coffee again :)
On the other side: the pupils and/or students are the most
underpriviliged people in the educational system. They don't get
software to build up a good time table, and the restriction
"must be good/sensible time table for student" usually gets a
low priority in the optimisation/time table generation process.
To stress this point: when I did the Portuguese project I also
talked once with my university about a new version of the planning
software for them (to combine the efforts). I offered the university
a web based access so that the students can easily pick their seminars
and do their own time table planning. The responsible professor said:
this is clearly not wanted. The students are intelligent enough to
solve the problem manually, we won't help them with software. This is
a good intellectual challenge and a good introduction into the
university, and the students-of-today are all lazy, we won't support
intellectual laziness (continue the rant for 15 minutes...).
That you could use such a system to optimize the use of rooms,
give the professor a feedback about the count of students who are
going to visit the seminar, that it could be used to communicate
lecture supporting papers digital instead on paper (saving costs)
and 10 other good reasons to do this was not important.
I personally did timetabling and scheduling by hand once, and in that
case scheduling was by far the more difficult task, but was an unusual
case--it was a summer program where there were only two periods and
four different classes offered, but I needed to carefully manage the
demographic balance of all the sections.
I do think that creating a good interface for doing scheduling
interactively is much harder than an interactive timetabler.
From my point of view it is the same task, but with a different
view, and other optimisation targets. Or, in other words: you have
different dimensions and the priority of the restrictions is
quite different from the normal use case "time table planning".
This use case is less often required. Most schools have consistent
classes, which are moved in one group through the different terms
to support social bindings between the pupils/students.
The currently offered generation stuff is often written by teachers
themselfes, some of them are then put into commercial packages. So
you find the most often required use case often: generate/manually
plan time tables for whole classes, and the optimisation bottle-necks
are:
Primary: rooms / time & day / teachers / capacity / all lectures covered
Secondary: see above ;)
Regards,
Andrew