How to filter out teachers, rooms or room pools from selected teaching groups when timetabling. (Read time: 5 minutes)
Last updated: 03/08/2022
For timetables that are difficult to schedule, it can sometimes be helpful to ask the software to ignore the teachers, rooms or room pools from selected teaching groups to see if the timetable will then schedule. This can sometimes give us an indication as to where the curriculum could be adjusted to allow for easier scheduling.
Please note: When using these filters, we are not removing the teacher, room or room pool from the Class Data screen, but rather asking the solver to ignore these elements while trying to schedule the timetable. There is no need to make any changes to the teaching groups already entered in the Class Data screen.
Go to the three lines > Timetable Construction > Step 7 Construction > Actions > either Exclude Room, Exclude Room Pool, Exclude Teaching Groups or Exclude Teacher.
This will bring up a new filter box/entry field where you can enter expressions that will allow you to exclude certain rooms, teaching groups or teachers.
After you enter the relevant expression, click 'Apply'. When you then generate your file, the solver will ignore/ not include whatever element you have asked it to.
More info on the filter box
The filter box from Step 2 will be different depending on which option you select from the actions menu.
For example, if you click on 'Exclude Teacher' and enter an expression to find teaching groups, then the solver will ignore the teacher for those teaching groups.
The 'Exclude Room' and 'Exclude Room Pools' buttons work in the same way, with the solver asked to ignore rooms and room pools respectively from these selected teaching groups.
Using 'Exclude Teacher', teachers will be removed from the teaching groups and the teaching groups will still be sent to the solver but without teachers. So entering an expression 1Sci* will 'deassign' all teachers from 1st year science.
Entering John Doe will deassign the teacher John Doe from each teaching group that he has been assigned to as the expression, John Doe will match all teaching groups that John Doe has been assigned to.
This works in the same way for 'Exclude Rooms' and 'Exclude Room Pools' - i.e. it simply unassigns rooms or room pools from selected teaching groups before they are sent to the solver.
If you use 'Exclude Teaching Groups', any teaching groups found by the expression entered will not be sent to the solver at all.
This should be used in the knowledge that if selected teaching groups from any year are not sent to the solver, then the solver will have more free periods to schedule those teaching groups that are sent. A practical use of this button would be to exclude the teaching groups from a complete year or multiple years to see if the remaining year(s) will schedule. If any individual year cannot schedule when the other years have been excluded, then you should have a closer examination of this year to see what is causing the problem.
For example: Entering * and not 5* will select all teaching groups except those of year 5. Scheduling now will schedule only the Year 5 teaching groups.
Another use would be to use the word 'core' so that only the teaching groups that are in blocks would be sent to the solver. This should be used for analysis only to test if scheduling of the blocks will be possible.
Examples of expressions
Examples of typical expressions which can be entered in this field are given below.
1Sci-1.2 will schedule this teaching group without its teacher
*Sci* - will match all Science teaching groups
The teaching groups that are found under the expression search will be listed underneath the expression search box as a preview.
In the example above, the search has also identified Agricultural Science (AgSci). If you wanted to select Science but not Agricultural Science you would enter as in the screenshot below.
Now, it is just the Junior Science Teaching Groups that have been selected and the teachers of these groups would be ignored by the solver.
1Sci* or 2Sci* - will match all 1st year and 2nd year science teaching groups
1Sci* and Room1 - will match all 1st year Science teaching groups assigned to Room1
*Fre* and not 6Fre* and not 5Fre* - will find all French teaching groups except for 5th year and 6th year teaching groups.
- 1Sci* and John Doe - all science teaching groups from 1st year taught by John Doe will be matched.
- 2Sci* and block and (Walter White or Saul Goodman) - will match all 2nd year block science teaching groups that are being taught by either Walter White or Saul Goodman.
In general, you can specify these expressions using “and”, “or”, “not", “block”, “core” and names to match against Teaching Group name or Room name or Room pool name.
or - Any of the terms are present
and - All terms are present.
not - The first term but not the second is present.