Our Approach to the Timetabling Problem

We adopted a multi-phase approach to tackle the the timetabling problem [#50##1#, #64##1#]. In the first phase a partial solution (a feasible schedule) is found using an expert system. In the second phase this partial schedule is improved to obtain a final feasible schedule, using simulated annealing. It is a good practice, when using methods such as simulated annealing, to start at a good point in the search space or with a partial solution, regardless of the difficulty or complexity of the problem at hand. A good starting point generally provides faster convergence and a better final solution. Our results clearly support this rationale in this case. Simulated annealing is a very time-consuming, computationally intensive procedure. Using an expert system as a preprocessor is a way of quickly providing a good starting point for the annealing algorithm, which reduces the time taken in the annealing phase, and improves the quality of the result. 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 these two areas, which is discussed in the following sections.