The primary objective of this study is to derive an approximate solution to the problem of university class scheduling, or timetabling, which can be summarized as follows: given data sets of classes and their days, enrollments, and instructors; rooms and their capacities, types, and locations; distances between buildings; priorities of each building for different departments; and students and their class preferences; the problem is to construct a feasible class schedule satisfying all the hard constraints and minimizing the medium and soft constraints. Hard constraints are space and time constraints that must be satisfied, such as scheduling only one class at a time for any teacher, student, or classroom. Medium and soft constraints are student and teacher preferences that should be satisfied if possible.
The timetabling problem is a high-dimensional, non-Euclidean, multi-constraint combinatorial optimization problem, and is consequently very difficult to solve. This problem has been tackled by many researchers, mostly in the field of operations research. A number of different heuristics have been tried on different instances of the problem, from high school to university course scheduling (see the reviews by de Werra [9] and Shaerf [43]). For small to medium size problems, some of these methods work well, however no particular method has yet been shown to produce good results for large-scale, real-world problems. Very few of these studies have used real-world data, and none of these methods has been used on as large and complex a problem as we have addressed in this work, which also takes into account constraints due to student preferences.
We have used data for classes at Syracuse University. Currently this problem is handled by the university scheduling department in a semi-automated fashion. A scheduling program is used to find a partial solution, and substantial manual effort is required to iterate towards a final solution. Also, when scheduling a certain semester (e.g. fall 1996), a template of a previous semester (e.g. fall 1995) is used as part of the input data.
We tackle this problem using a multi-phase approach. First, a rule-based expert system is used as a preprocessor to derive a partial solution. This is used as the starting point in the second phase, which uses a simulated annealing algorithm, for which we have tested three different cooling schedules: standard geometric cooling, adaptive cooling, and reheating as a function of cost. Using a preprocessor in conjunction with simulated annealing was found to greatly improve the quality of the solution compared to a rule-based system and simulated annealing used separately. A variant of the rule-based system is also used to select the trial schedules in the annealing procedure, which gives a much higher acceptance of the moves. Combining these two approaches of simulated annealing and a rule-based system, and using the best cooling schedule, we were able to find feasible solutions to the complex class scheduling problem for a large university. Prior to this work, we also experimented with using the mean field annealing of Peterson et al. [41], but this gave relatively poor results [16, 17].
This paper is organized as follows. In section 2 we give a brief review of the timetabling problem, and present the three categories of constraints along with examples of each. Section 3 provides a background to some of the approaches used for tackling the timetabling problem. Sections 4 and 5 describe the two methods, a rule-based expert system and simulated annealing, that we have used in our approach. A discussion of the experimental results of our method appears in section 6, and finally a summary and conclusion are presented in section 7.