Timetable Construction

Timetable Feasibility - Using the Exclude Function

The VSware timetable solver has a function which allows you to run files or test feasibility while excluding certain teachers, rooms or teaching groups. This can be used to diagnose issues without making permanent changes to the file.

Feasibility Checker

It can be quite daunting when you run a feasibility check and a large list of issues appear on your screen. 


It is important to remember that these are symptoms and not the actual problem. Often times one or two changes can resolve everything.

Typically the easiest teachers/subjects to target are the likes of 1st & 5th year Business, Biology, Construction, Home Ec, Technology etc. Essentially the typical option subjects and teachers who are almost always exclusively in blocks.

One method of testing feasibility is to simply go to screen 5 and remove a teacher from a block, run the test again, put them back and remove another teacher etc. This can be time consuming and leaves the potential to forget a change that has been made.

A quicker way to do this is to use the 'Exclude' function.

It is important to note that this function is for diagnostic purposes. It will ask the solver to ignore clashes so therefore will not give you a genuinely feasible timetable.

This can be found when you go to screen 7 - Construction > Actions > Exclude Room/Room Pools/Teaching Groups/Teachers.


  • The most commonly used exclusions would be teaching groups, teachers or rooms.
  • In the first image above the issue is clearly with teachers so in this instance we would select Exclude Teachers. If it is mainly rooms being listed you can instead try Exclude Room.
  • Once you click this a filter box will appear in which you select the teaching groups to target (NB you will always enter teaching groups into the filter regardless of whether you select room, room pools, teaching groups or teachers). 
  • The filter box works in almost the exact same way as adding a restriction. Typing 1* will target all 1st year teaching groups, *PE* will target any teaching group containing PE, 5Bio-1.5 will target that specific teaching group. Please note the filter is case sensitive.
  • Typically we will want to target a small number of specific classes which may be causing a problem.
  • An example entry might be something such as:

  • The expression above will target those two specific classes. Each class is separated by the word 'or'. If I wanted to add a new teaching group to the filter I would type 'or 5Bus-3.5' for example. The new expression would then be 5Con-1.3 or 1Sci-4.6 or 5Bus-3.5.
  • Once you're happy with the expression click Apply. You will see Your filter saved below.
  • The next step is to go back to screen 5 and run the feasibility check. If the errors have disappeared or are fewer, you will know you're on the right track to identifying your blockages.

Timetable stuck without any feasibility issues.

The solver can tell you if a timetable is infeasible but cannot say that it is definitely feasible. Sometimes you might find yourself stuck at 96% and are going nowhere but have no feasibility issues listed.

In this situation you can use the exclude function slightly differently.

  • Use the exclude function to target rooms or teachers from the regular suspects (Construction, Biology, Home Ec etc)
  • Instead of running a feasibility check, regenerate the file instead. With the right combination of teaching groups excluded you may get to 100%.
  • Again it is important to note that this will not be a feasible timetable, it's purely to identify where your problems are arising.
  • Once at 100%, stop the file and notice that you now have clashes listed in red above.
  • It may be possible to make manual swaps to alleviate these but not always.
  • If manual swaps are not possible it might be worth swapping the blocks that teachers are in. Eg if there is Home Ec in Block 1 & Block 3 simply swap those teachers with one another.