Skip to main content

How the check differs from letting FET solve

FET searches for an arrangement. The check counts. One can tell you a timetable is impossible in seconds; the other cannot tell you that at all.

People often ask why they should not simply press generate in FET and see what happens. You can. This explains what the check adds, and what it does not.

FET searches. The check counts.

FET tries arrangements. It is very good at it. But a search that fails tells you only that this search failed. It cannot separate "your rules make this impossible" from "I did not find it this time".

The check does arithmetic instead. It never places a lesson. It counts the room your rules leave:

  • the hours a teacher owes against the slots they have left
  • the starting times a lesson still has once every rule has been applied
  • whether two lessons that must both happen are forced into the same slot
  • whether a group of lessons needs more days than the week contains

When one of those counts reaches zero, no search can succeed, and no amount of waiting changes it.

The practical difference

Time. A failed FET run can take a long time. The check answers in seconds.

What you learn from a failure. FET stops without saying which rules were to blame. The check names them, and for an impossible lesson it shows which rule removed which starting time, in order.

What a good result means. A FET run that succeeds gives you a real timetable — which the check never does. A clean check gives you no timetable at all. It only removes one explanation for failure.

Use both, in this order

  1. Run the check first. If it proves something impossible, a FET run cannot succeed, so running one is time spent learning nothing.
  2. Fix what it proved. It names the rules and shows the trace.
  3. Then let FET search. That is the part only FET does.
  4. Bring the result back to read, print and share.

What the check cannot tell you

⛔ It cannot tell you a timetable is possible. Nothing here proves that. A file can pass every check and still be hard, or need rules relaxed before it lands.

⛔ It cannot tell you how long FET will take. The difficulty number is a temperature reading for comparing your own file before and after a change, not a prediction.

See What it cannot tell you.

Where to go next