How to increase flexibility of a timetable. This article is intended for Admin. (Read Time: 5 minutes)
Last updated: 29/06/2022
By editing and reviewing teacher sets, teacher allocation, rooming, restrictions, block vs core, feasibility issues and room allocations, you can help get your timetable file to 100%. These troubleshooting steps can be carried out when the file seems to be 'stuck' on the last few percent (a very common query for support), however it is good to keep these points in mind from the start. The key to removing a blockage and getting to 100% is providing the solver with as much flexibility as you possibly can.
1 - Clone your fileIt is highly recommended that you first clone your timetable. This is best practice so that you don't loose any data on your original file.
2 - Clear the lessons
Clear the lessons from the grid. (Do this in Screen 7 Construction, we are not referring to the grid in screen 2 Grid here).
3 - Assign teachers in Screen 4 - Teacher Sets
Manually assign teachers (and rooms) only when absolutely necessary. If you assign lots of teachers or rooms in advance, they are almost certain to cause a blockage.
First, to give the solver a bigger pool of teachers to choose from, go to screen 4. Teacher Sets and fill in every subject that each teacher is capable of taking in a given year/cycle.
The more comprehensive the data in this screen is, the better it will be in the long term so it is worth investing time in this initially as it will still apply for as long as those teachers are in the school.
4 - Unpin teachers Teachers in Screen 6, Teacher
Next move to screen 6, Teacher. Find any teaching groups that have been assigned to teachers who don’t necessarily need to teach them and unpin the teaching group. (1st and 5th year are usually the easiest to target as it is the first time that teachers will have these sets of students)
Assigned classes have a pin symbol, when you left click it the pin will disappear. Classes without a pin will be automatically re-assigned by the solver.
Once you have removed the pin from all viable classes, go to Actions > Allocate Teachers. The solver will then assign available teachers to classes in a way that gives you the best chance at getting a complete timetable.
Note: Using this method does not guarantee success and is only recommended to try if you are hitting a wall.
5 - Only assign specialist rooms to classes that absolutely need it in (Screen 5, Class Data).
We recommend that you only assign specialist rooms to classes that absolutely need it (e.g Woodwork, Home Ec etc) and in the case of Science subjects that you only assign labs to doubles or individual lessons that actually need a lab, not for all lessons of the teaching group.
6 - Use preferred rooms sparingly in Screen 3, Teacher Data
Use screen 3, Teacher Data if a teacher prefers a certain room and then select a room under the Pref. room column, but avoid this where possible. Once set, the solver will do its best to give the teacher this room where feasible but note that rooms specified in room pools will not be auto assigned using the auto assign function.
7 - Make use of room pools
Click here for a guide to set up room pools.
On Screen 5 Class Data you can click the Edit Individual Room and Teacher Assignments (highlighted above) to edit individual lessons within a teaching group.
As we can see below we have our spread of 2,1,1,1 for 2Sci-B and for the double we have assigned the Science Room Pool while the rest of the lessons are blank.
8 - Loosen teacher time restrictions in Screen 3, Teacher data
Restrictions can massively hinder a timetable and should only be put in place when absolutely necessary.
They can be particularly damaging if the teacher(s) involved take classes in a block. This limits the amount of times available for a wider number of teachers and lessons than those you have restrictions in place for.
Click on the time slot to change the colour.
Orange means the solver will try not to schedule the teacher at that time, but it is not guaranteed.
Red means the solver will definitely not schedule the teacher in that time slot.
9 - Block vs Core
Where possible, keep as many classes in core as you can, because blocked classes are much more difficult to timetable. The more in core, the more likely you are to get to 100%.
10 - Room demand and exclude rooms features in Screen 7, Construction and Screen 5, Class Data
Another handy diagnostic tool is the Exclude Rooms function.
If, when you press generate, nothing happens it is most likely because a) you have a restriction in place and haven't selected times for it or b) you have assigned too many rooms manually
Exclude Rooms will ask the solver to disregard room clashes for the specified year groups and generate the timetable regardless. This enables you to see what room errors occur and get an idea where the issues are.
You can do this on screen 7, Construction > Actions > Exclude Room. You are then asked to apply a filter, this works in the same way as restrictions. I.e., if you want to target all 5th year classes you type 5*. If you want to target all years simply type * before clicking Apply. More info on restrictions can be found here.
You can also check the demands on each room in Screen 5, Class Data by clicking Actions > Room Demands. If there are number of rooms almost at full usage even before you click generate, it is unlikely that you will get very far.
11 - Feasibility Issues in Screen 7, Construction.
When the ‘Generate’ Button is pressed in Screen 7, Construction, our software will automatically test for ‘infeasibility’. This feasibility checker informs you of issues in your timetable file that will prevent it reaching 100%.
Note: having no feasibility issues does not necessarily mean that the file will be viable.
Below is an example of a restriction that has caused the timetable to not have enough viable slots available to fulfil the spread demand for the listed classes. The easiest fix is to remove the restriction or change the spread.
Below is an example of a feasibility error caused by at least one class in the block having a different spread to the others. Fix this by ensuring that spreads are uniform across the block.
Multiple feasibility issues can be difficult to diagnose but often, fixing one or two of the problems fixes the rest.
- Careful use of room pools (see above) is one possible way to alleviate errors.
- If multiple blocks are showing as an issue, try to isolate the teacher who may be causing the problem and remove them from the block. If this doesn't work, add them back in and try another teacher. Repeat the process to see if you can pinpoint the possible source. (Even if the error says it relates to a room, it can often still be a problem with a teacher).
- Often (but not exclusively) many problems stem from blocks in 1st and 5th year as these are brand new.
More info on the feasibility checker can be found here.
If all else fails:
If you've tried all of the above order to give the timetable more flexibility and you are still encountering issues, it is simply a case of going through them again to try and isolate where the blockage is coming from.
Summary of checklist:
- Clone your timetable. This is best practice so that you don't lose any data on your original file.
- Clear the lessons from the grid. (Do this in Screen 7 Construction). (We are not referring to the grid in screen 2 Grid here).
- Fill in teacher sets as extensively as you can. (Screen 4, Teacher Sets).
- Find any teaching groups that have been manually assigned to teachers who don’t necessarily need to teach them and unpin the teaching group (Screen 6, Teacher).
- Only assign specialist rooms to classes that absolutely need it (e.g Woodwork, Home Ec etc) and in the case of Science subjects, only assign labs to doubles or individual lessons that actually need a lab, not for all lessons of the teaching group (Screen 5, Class Data).
- Avoid giving teachers preferred rooms if it isn’t necessary (Screen 3, Teacher Data).
- Make use of room pools.
- Do not put individual teacher time restrictions in place unless absolutely necessary. Restrictions can severely hinder a timetable, particularly if a teacher with restrictions teaches lessons in blocks as this has the knock-on effect of tying up every other teacher involved with the same restriction (Screen 3, Teacher data).
- Where possible, keep as many classes in core as you can, because blocked classes are much more difficult to timetable. The more in core, the more likely you are to get to 100%.
- Check the demand on each room (Screen 5, Class Data) and Use the Exclude Rooms feature as a diagnostic tool. (Screen 7, Construction).
- Use the The feasibility checker as a diagnostic tool, (Screen 7, Construction).
Click here for an article on checking your timetable feasibility
If you still have questions, please visit our knowledge base at support.vsware.ie. You can contact our support team via email at firstname.lastname@example.org, via the chat bubble when you are logged into your VSware account or via phone on 01-5549628. Support hours are Mon - Fri, 08:30 - 18:00.