Constraint

Set the scheduling rules the generator must respect: time, room, lecturer, and general constraints.

Constraints are the rules the generator must observe when placing classes into the timetable. They are set in two places: General Constraints, which hold the project-wide rules together with the time slot, room and room distance constraints applied to a section or folder; and Lecturer Constraints, which hold the settings for an individual lecturer. Constraints set on a parent folder in the tree structure are inherited by the sections beneath it.

Note: Both are found under the Constraints tab, which has two sub-tabs: General Constraints (Section 7.1) and Lecturer Constraints (Section 7.2).

7.1 General Constraint

General constraints are project-wide rules that apply to every section, rather than to an individual lecturer. They are configured once and govern the behaviour of the generator across the whole timetable. This section also covers the time slot, room and room distance constraints that are applied to a chosen section or folder.

Go to Constraints → General Constraints. The tab is arranged as a set of panels, each covered by one of the sub-sections below.

General Constraints tab showing all of its panels
Figure 7.1.1: General Constraint
Note: Several panels have their own Apply button. The setting is only pushed to the existing sections once Apply is clicked for that panel.

7.1.1 Same Time Same Room

Controls whether the lecturers’ own constraints are taken into account when the Same Time, Same Room rule is applied.

Same Time, Same Room Constraint panel with two checkboxes
Figure 7.1.1.1: Same Time Same Room
Setting Description
Evaluate all lecturers’ preference constraints Takes every lecturer’s preference constraints into account when applying the rule.
Evaluate all lecturers’ time gap constraints Takes every lecturer’s time gap constraints into account when applying the rule.

Table 7.1: Same Time Same Room Settings

7.1.2 Highlight Priority

Decides which highlight is shown first when a slot carries more than one highlight status.

Highlight Priority panel with two radio options
Figure 7.1.2.1: Highlight Priority
Setting Description
Show section highlight first The section highlight takes precedence.
Show lock slot highlight first The lock slot highlight takes precedence.

Table 7.2: Highlight Priority Settings

7.1.3 Global Default Values

Sets the identifiers used when section names are built. Click Update Section Name to rebuild the section names using the current values.

Global Default Values panel with four identifier fields and the Update Section Name button
Figure 7.1.3.1: Global Default Values
Field Description
Class Identifier Prefix identifying a class in the section name.
Default: C
Merge Group Prefix identifying a merge group in the section name.
Default: M
Same Time Group Prefix identifying a same time group in the section name.
Default: ST
Multi-Lecturer Identifier Prefix identifying a class taught by more than one lecturer.
Default: LECT

Table 7.3: Global Default Values

7.1.4 Merge Group

Applies a single setting to every merge group in the project at once.

Apply to all Merge Groups panel with the Ignore Capacity Constraint checkbox and Apply button
Figure 7.1.4.1: Merge Group
Setting Description
Ignore Capacity Constraint Bypasses the capacity check for every merge group, so a merged class larger than its room can still be placed.
Apply Pushes the setting to all merge groups.

Table 7.4: Merge Group Settings

7.1.5 Compensation Hour

Compensates a lecturer on the following day for teaching that runs late into the evening.

Lecturer Compensated Hour panel with the start time and number of compensated slots
Figure 7.1.5.1: Compensation Hour
Field Description
Apply compensated hour Tick to enable the compensation rule.
Start Time for Compensation The time from which teaching qualifies for compensation, set in hours and minutes with AM/PM.
Default: 5:00 PM
Number of Compensated Slots on Next Day How many slots the lecturer is compensated on the following day.
Default: 1

Table 7.5: Compensation Hour Settings

7.1.6 Student Clashing

Determines whether student clashes are checked while the timetable is being generated automatically.

Section Student Clashing panel with a single checkbox
Figure 7.1.6.1: Student Clashing
Setting Description
Check Student Clashing in Auto Generate The generator checks for student clashes while auto-generating.

Table 7.6: Student Clashing Settings

7.1.7 Time Slot Spread

Spreads a lecturer’s teaching across the timetable instead of leaving it in consecutive blocks. This panel applies the rule to all lecturers at once; the per-lecturer equivalent is in Section 7.2.2.

Time Slot Spread panel under Apply to All Lecturers with Ignore, Best Effort and Mandatory options
Figure 7.1.7.1: Time Slot Spread General Tab
Setting Description
Ignore Allow the lecturer to teach consecutively.
Best Effort Apply the time slot spread to the best of the system’s ability.
Mandatory Compulsory to apply the time slot spread. Set Time Gap to the gap required between courses.
Use a number larger than the total time slots in a day to spread teaching assignments to different days.

Table 7.7: Time Slot Spread Settings

Note: Click Apply after selecting an option to push the setting to all lecturers.

7.1.8 Batch Grouping

Applies a constraint to every batch grouping at once, and sets how conflicts within the same course are treated.

Apply to all Batch Groupings panel with Enforce Constraint in Batch Group and No Conflict Option for Same Course
Figure 7.1.8.1: Batch Grouping

Enforce Constraint in Batch Group

Setting Description
Not Applicable Do not apply a constraint to the batch group.
Not at the Same Time Slot Apply the not-same-time-slot constraint. Tick Override Same Time Constraint in tree constraint to apply this setting over any constraint already set in the tree.
Same Time Slot Apply the same-time-slot constraint.
Enforce Time Gap Enforce a gap between courses, set in the Time Gap field.

Table 7.8: Enforce Constraint in Batch Group

No Conflict Option for Same Course

Setting Description
Ignore no conflict for same class type (recommended) Allow classes of the same type to run consecutively.
Make no conflict for same class type Apply the no-conflict rule to classes of the same type.

Table 7.9: No Conflict Option for Same Course

7.1.9 Avoid Student/Batch Clashing

Sets the rules used to keep a batch or an individual student from being scheduled into two classes at once.

No Conflict Batch or Student Constraint Settings panel with two checkboxes and the Exceptions button
Figure 7.1.9.1: No Conflict Batch Student
Setting Description
Apply Not Same Day if Same Course Code and Same Subgroup Applies the not-same-day constraint where the course code and the subgroup are the same.
Apply Course Category Exception in No Conflict Applies the course category exception to the no-conflict rule.
Exceptions Opens the list of course categories that are exempt from the no-conflict rule.

Table 7.10: Avoid Student/Batch Clashing Settings

7.1.10 Time Slot Constraint

Time slot constraints govern when a section may be scheduled. They are applied through the tree structure, where a setting placed on a parent folder is inherited by every section beneath it, and they may also be applied to a merge group so that all of its members share the same restriction.

Time Slot Constraint panel showing the constraint modes and the Specific Time Slot list
Figure 7.1.10.1: Time Slot Constraint

Select one of the following constraint modes:

Setting Description
Not Applicable Do not apply any time slot constraint to the selected sections.
Not at the Same Time Slot The sections must not be scheduled at the same time slot.
Not at the Same Day The sections must not be scheduled on the same day. Set Number of day(s) to define the gap.
Tick Same Time to exclude the same day and the same time.
Same Day The sections must be scheduled on the same day.
Same Time Slot The sections must be scheduled at the same time slot.

Table 7.11: Time Slot Constraint Settings

To restrict the sections to a particular day and slot, tick Specific Time Slot. There are 5 simple steps to do so.

Step 1: Tick Specific Time Slot to enable the panel below it.

Step 2: Select the Day from the dropdown list.

Step 3: Select the Time Slot from the dropdown list.

Step 4: Choose Include Slot to allow the chosen slot, or Exclude Slot to block it.

Step 5: Click Add. The entry appears in the list with its Day, Time Slot and Status.

Use the buttons below the list to manage the entries:

Function Description
Add Adds the selected day and time slot to the list.
Delete Removes the selected entry from the list.
Delete All Removes every entry from the list.

Table 7.12: Specific Time Slot Buttons

7.1.11 Room Constraint

Room constraints restrict which rooms a class may occupy. A section can be limited to a specific room, to a room group, or to a room type, so that the generator only considers venues suitable for that class.

Room Constraint panel showing the constraint modes and the Available Rooms and Selected Rooms lists
Figure 7.1.11.1: Room Constraint
Setting Description
Not Applicable Do not apply any room constraint to the selected sections.
Same Room All sections under the group must be scheduled into the same room.
Ignore Capacity Constraint Bypasses the capacity check for the group. The panel shows the combined figure as Total capacity in Group.
Enforce Room Distance Constraint Applies the room distance constraint to the selected sections. See Section 7.1.12.
Specific Room Restricts the sections to a chosen set of rooms, selected in the two lists below.

Table 7.13: Room Constraint Settings

Note: When Same Room is selected, the size of the class is the combination of all merged sections. Tick Ignore Capacity Constraint to bypass the capacity constraint if the combined size exceeds the room.

Once Specific Room is ticked, move rooms between the two lists using the arrow buttons:

Function Description
> Moves one room into Selected Rooms.
>> Moves all rooms into Selected Rooms.
< Moves one room back into Available Rooms.
<< Moves all rooms back into Available Rooms.

Table 7.14: Specific Room Buttons

7.1.12 Room Distance

Room distance accounts for the travel time between rooms and buildings. When enforced, the generator avoids placing consecutive sessions in venues that are too far apart for students or lecturers to move between within the time available. The setting appears in two places, depending on whether it is being applied to a group of sections or to a single lecturer.

The Enforce Room Distance Constraint and Ignore Room Distance checkboxes and where each is found
Figure 7.1.12.1: Room Distance
Setting Description
Enforce Room Distance Constraint Applies the constraint to a group of sections. Tap the parent folder of the sections involved, then go to Group Constraint.
Ignore Room Distance Exempts one lecturer from the constraint. Double click the lecturer name, or right click the lecturer name → Lecturer Preferences.

Table 7.15: Room Distance Settings

7.2 Lecturer Constraint

Lecturer constraints record when a lecturer is unavailable and which rooms they may not use. Blocked timeslots are excluded from that lecturer’s assignments, and excluded rooms are removed from the venues the generator may select for their classes.

Go to Constraints → Lecturer Constraints to open the list. Every lecturer is listed with their current constraint summary: Specific Day, Time Slot, Status, Priority, Specific Room, Status and Priority. Use the Filter dropdown to narrow the list.

Lecturer Constraints sub-tab showing the lecturer list and the Filter dropdown
Figure 7.2.1: Lecturer Constraints Tab

The shortcut bar above the list provides quick access to the functions available for this report.

Lecturer Constraints shortcut bar with four icons
Figure 7.2.2: Lecturer Constraints Shortcut
Function Description
Refresh Report Reloads the list to show the latest data.
Include All Lecturers In Constraints Includes every lecturer in the constraint list.
Exclude All Lecturers In Constraints Excludes every lecturer from the constraint list.
Export Constraint List into CSV Exports the constraint list to a CSV file.

Table 7.16: Lecturer Constraints Shortcut Functions

To set the constraints for one lecturer, double click the lecturer name, or right click the lecturer name and select Lecturer Preferences. The Lecturer Constraints window opens with the window title showing the lecturer code and name.

Lecturer Constraints window showing the Time Slot Preferences, Room Preferences, Time Slot Spread and Workload panels
Figure 7.2.3: Lecturer Constraints Settings

The window is divided into four panels, each covered below. Click OK to save the settings, or Cancel to discard them.

7.2.1 Time Slot Preferences

Records the days and time slots the lecturer is not available to teach, each with a priority.

Time Slot Preferences panel with Day, Time Slot, Priority and the Slot to Exclude list
Figure 7.2.1.1: Time Slot Preferences

To exclude a slot, there are 4 simple steps to do so.

Step 1: Select the Day to exclude from the dropdown list.

Step 2: Select the Time Slot to exclude from the dropdown list.

Step 3: Set the Priority to Low, Medium or High.

Step 4: Click Add. The entry appears in the Slot to Exclude list with its Day, Time Slot, Status and Priority.

Function Description
Add Adds the selected day and time slot to the exclusion list.
Delete Removes the selected entry from the list.
Delete All Removes every entry from the list.

Table 7.17: Slot to Exclude Buttons

7.2.2 Time Slot Spread

The same spread rule described in Section 7.1.7, applied to this lecturer only rather than to all lecturers.

Time Slot Spread panel in the Lecturer Constraints window
Figure 7.2.2.1: Time Slot Spread Lecturer Tab
Setting Description
Ignore Allow this lecturer to teach consecutively.
Best Effort Apply the time slot spread to the best of the system’s ability.
Mandatory Compulsory to apply the time slot spread, with the required Time Gap between courses.

Table 7.18: Time Slot Spread Settings (Lecturer)

7.2.3 Room Preferences

Records the rooms this lecturer may not use, and whether the room distance constraint applies to them.

Room Preferences panel with Priority, the Available Room List and Excluded Room lists, and Ignore Room Distance
Figure 7.2.3.1: Room Preferences
Function Description
Priority Sets the prioritisation of the room preference as Low, Medium or High.
> Moves one room into Excluded Room.
>> Moves all rooms into Excluded Room.
< Moves one room back into Available Room List.
<< Moves all rooms back into Available Room List.
Ignore Room Distance Exempts this lecturer from the room distance constraint. See Section 7.1.12.

Table 7.19: Room Preferences Functions

7.2.4 Workload

Caps the teaching hours that may be assigned to this lecturer.

Workload panel with Maximum Load, Maximum Load Per Day and Apply Compensation Hour
Figure 7.2.4.1: Workload
Field Description
Maximum Load The maximum teaching hours for the lecturer. Enter 0 for an unspecified value.
Maximum Load Per Day The maximum teaching hours in a day for the lecturer. Enter 0 for an unspecified value.
Apply Compensation Hour Applies the compensation hour rule to this lecturer. The rule itself is set in Section 7.1.5.

Table 7.20: Workload Settings