next up previous
Next: Simulated Annealing Up: No Title Previous: The Mean-Field Annealing Algorithm

The Rule-Based System

We have implemented a fairly complex rule-based expert system for solving the timetabling problem, for three reasons. Firstly, it gives us a benchmark as to how well other methods do in comparison to this standard technique. Secondly, a number of these rules are used to provide sensible choices for moves in the simulated annealing algorithm, rather than choosing swaps completely at random. Thirdly, we have used this system as a preprocessor for simulated annealing, in order to provide a good initial solution.

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.

The rule-based expert system consists of a number of rules (or heuristics) and conventional recursion to assist in carrying out class assignments. We have developed this system specifically for the problem of academic scheduling. The basic data structures or components of the system are:

  1. Distance matrix of values between each academic department and every other building under use for scheduling.
  2. Class data structure of each class scheduled anywhere in campus. These structures are capable of linking with each other.
  3. Room data structure of each room (regardless of type) involved in the scheduling process. Like classes, room structures are also linked with each other.
  4. Data structures for time periods to keep track of which hour or time slot was occupied and which was not.
  5. Department inclusion data structure giving department inclusion within other larger departments or colleges.
  6. Students structures indicating classes of various degree of requirements and preferences for each student.

The basic function of the system is as follows: given data files of classes, rooms and buildings, department-to-building distance matrix, students data, and the inclusion data, using the abovementioned data structures, the system builds an internal database which in turn is used in carrying out the scheduling process. This process involves a number of essential sub-processes such as checking the distances between buildings, checking building, room type and hours occupied, checking and comparing time slots for any conflicts, checking rooms for any space conflict, and keeping track of and updating the hours already scheduled.

There are many rules dealing with space and hours, type of room, and priority of room. Most of the rules implemented in the system are quite straightforward, for example, the following rule deals with time and space conflicts for a room:

IF [room(capacity) ;SPMgt; class(space-requested)] and [no time conflict in this room] THEN assign the room to the class.

When the rule-based system is used as a preprocessor, it produces a partial schedule as an output, since it is usually unable to assign all of the given classes to rooms and times slots. The output is divided into two parts: the first consists of classes, with their associated professors and students, assigned to various rooms; and the second is a list of classes that could not be assigned due to constraint conflicts.


next up previous
Next: Simulated Annealing Up: No Title Previous: The Mean-Field Annealing Algorithm

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