Constraints of the Timetabling Problem

In a nutshell, timetabling is the assignment of time slots to a set of events, subject to constraints on these assignments. Generally, a constraint places a restriction on when and where classes may be scheduled. A constraint can be hard, medium or soft [#49##1#]. The medium and soft constraints have an associated cost (or penalty), and if they are not satisfied, the goal is to minimize this cost. The hard constraints must be satisfied, so their associated cost must be reduced to zero. In short, the three types of constraints used are:
  1. Hard - These are constraints that must be satisfied.
  2. Medium - These are constraints that should be satisfied, if possible, but are not required for a valid solution or a legal schedule.
  3. Soft - These constraints have a lower priority (and thus lower cost) but it is preferable to minimize this cost.