Next: The Annealing Schedules
Up: Simulated Annealing
Previous: Simulated Annealing
The most obvious mapping of the timetabling problem into the SA algorithm
involves the following constructs:
- a state is a timetable containing the following sets:
- P: a set of professors.
- C: a set of classes.
- S: a set of students.
- R: a set of classrooms.
- I: a set of time intervals.
- a cost or ``energy'' E(P, C, S, R, I) such that:
- E(P): is the cost of assigning more than maximum number of
allowed classes
to the same professor,
plus scheduling one or more classes that cause a conflict
in the professor's schedule. - E(C): is the cost of scheduling certain classes at/within the
same time period in violation of the exclusion constraint, for
example.
- E(S): is the cost of having two or more classes conflict in
time; plus cost of having in the schedule one or more classes that
really don't meet the student's major, class requested, or class
requirements; plus the cost of not having the classes evenly spread
out over the week, etc.
- E(R): is the cost resulting from assigning room(s) of the wrong
size and/or type to a certain class.
- E(I): is the cost of having more or less time periods than
required, plus cost of an imbalanced class assignments (a certain
period will have more classes assigned to than others, etc.).
- A swap (or a move) is the exchange of one or more of the
following:
class
with class
in the set C with
respect to time periods
and
, and/or with
respect to classroom
and
, respectively. Generally, this
step is referred to as class swapping.
Along with all of the necessary constraints, the simulated annealing
algorithm also takes as input data the following: the preprocessor
output in the form of lists of scheduled and non-scheduled classes and
their associated professors and room types, a list of rooms provided
by the registrar's office, a department to building distance matrix, a
list of students and their class preferences, and a list of classes
that are not allowed to be scheduled simultaneously.
To use simulated annealing effectively, it is crucial to use a good
cooling schedule, and a good method for choosing new trial schedules,
in order to efficiently sample the search space. We have experimented
with both these areas, which are discussed in the following sections.
Next: The Annealing Schedules
Up: Simulated Annealing
Previous: Simulated Annealing
Saleh Elmohamed
Tue Apr 29 19:08:49 EDT 1997