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.