Чем проверка отличается от решения в FET
FET ищет подходящее расписание, а это приложение лишь отображает его, не выполняя никаких вычислений.
Люди часто спрашивают, почему бы просто не нажать кнопку генерации в FET и не посмотреть, что получится. Вы можете это сделать. Здесь объясняется, что именно добавляет проверка и чего она не делает.
FET ищет. Проверка считает.
FET перебирает варианты. Он очень хорош в этом. Но если поиск не увенчался успехом, это говорит лишь о том, что данный поиск не удался. Он не может отличить ситуацию «ваши правила делают это невозможным» от ситуации «в этот раз я не нашел решение».
Проверка выполняет арифметические вычисления. Она никогда не расставляет занятия. Она подсчитывает возможности, которые оставляют ваши правила:
- количество часов, которые должен отработать преподаватель, по сравнению с оставшимися у него временными интервалами
- время начала занятия, которое остается после применения всех правил
- ситуации, когда два занятия, которые должны состояться, принудительно попадают в один и тот же интервал
- ситуации, когда группе занятий требуется больше дней, чем есть в неделе
Когда один из этих показателей достигает нуля, никакой поиск не может увенчаться успехом, и никакое ожидание этого не изменит.
Практическая разница
Время. Неудачный запуск FET может занять много времени. Проверка дает ответ за секунды.
Что вы узнаете из неудачи. FET останавливается, не сообщая, какие правила стали причиной проблемы. Проверка называет их, а для невозможного занятия показывает, какое правило и в каком порядке исключило то или иное время начала.
Что означает хороший результат. Успешный запуск FET дает вам готовое расписание — чего проверка никогда не делает. Чистая проверка вообще не дает расписания. Она лишь устраняет одну из причин неудачи.
Используйте оба инструмента в таком порядке
- Сначала запустите проверку. Если она доказывает, что что-то невозможно, то запуск FET не может увенчаться успехом, поэтому тратить на него время бессмысленно.
- Исправьте то, что она выявила. Она называет правила и показывает цепочку событий.
- Затем позвольте FET выполнить поиск. Это та часть, которую делает только FET.
- Верните результат, чтобы просматривать, печатать и делиться им.
Чего проверка не может вам сказать
⛔ Она не может сказать, что расписание возможно. Ничто здесь не доказывает этого. Файл может пройти все проверки и все равно остаться сложным или потребовать смягчения правил перед тем, как решение будет найдено.
⛔ Она не может сказать, сколько времени потребуется FET. Число сложности — это показатель «температуры» для сравнения вашего файла до и после изменений, а не прогноз.
См. Чего проверка не может вам сказать.