next up previous
Next: The Annealing Schedules Up: Simulated Annealing Previous: Simulated Annealing

Timetabling Using the Annealing Algorithm

The most obvious mapping of the timetabling problem into the SA algorithm involves the following constructs:

  1. a state is a timetable containing the following sets:
  2. a cost or ``energy'' E(P, C, S, R, I) such that:
  3. A swap (or a move) is the exchange of one or more of the following: class tex2html_wrap_inline949 with class tex2html_wrap_inline951 in the set C with respect to time periods tex2html_wrap_inline955 and tex2html_wrap_inline957 , and/or with respect to classroom tex2html_wrap_inline959 and tex2html_wrap_inline961 , 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 up previous
Next: The Annealing Schedules Up: Simulated Annealing Previous: Simulated Annealing

Saleh Elmohamed
Tue Apr 29 19:08:49 EDT 1997