Диагностика неудачного формирования расписания
Формирование расписания «не удаётся», когда алгоритму не получается разместить всё: он возвращает лучшее частичное расписание из найденных, а занятия, которыми ему пришлось пожертвовать, остаются на панели стикеров, ожидающих размещения (красный баннер сообщает о блокировке). Почти всегда причина — избыток ограничений: слишком много курсов для открытых временных слотов или слишком жёсткие ограничения, которые не стыкуются друг с другом. Выход — ослабить всё, что можно ослабить; об этом и говорится на этой странице. Как алгоритм расставляет приоритеты и чем он жертвует, объясняется на странице Автоматическое формирование; каталог конфликтов уже составленного расписания см. на странице Конфликты и диагностика.
Диагностика — подсказка, а не вердикт
Когда занятие не удаётся разместить, Omniscol выделяет сущность, с которой за время попыток возникло больше всего проблем: «у этого преподавателя не хватает временных слотов», «этот класс не помещается в свою сетку». Это эвристика: названа та сущность, которая чаще всего встречается в блокировках, но не обязательно единственная причина. Ограничения пересекаются, и ослабление в другом месте может всё разблокировать. Поэтому рассматривайте сообщение как направление поиска: настоящее решение часто состоит в том, чтобы ослабить общий избыток ограничений (чуть больше временных слотов, менее строгая доступность), а не упорно заниматься только указанной сущностью.
Самые частые причины
1. Слишком жёсткая доступность
Преподаватель отметил так много промежутков как невозможные, что не остаётся достаточно временных слотов для его занятий.
Диагностика: откройте экран доступности соответствующего преподавателя. Посчитайте свободные временные слоты и сравните с его объёмом часов.
Решения:
- смягчить часть промежутков (перевести из чёрного в красный — нежелательно, но не невозможно);
- перераспределить курсы (передать часть другому преподавателю);
- обсудить с преподавателем, можно ли пересмотреть его доступность.
2. Нет подходящего кабинета
Дисциплина требует специализации, для которой не создан ни один кабинет, либо все подходящие кабинеты заняты в единственные возможные временные слоты.
Решения:
- создать недостающую специализацию для подходящего кабинета;
- ослабить требование специализации;
- добавить кабинет.
3. Недостаточная вместимость
Численность группы или класса превышает вместимость всех подходящих кабинетов.
Решения:
- назначить кабинет побольше;
- назначить несколько кабинетов одному курсу (общая вместимость равна сумме);
- разбить класс или группу на части.
4. Структурно невозможное совмещение
Объёмы часов совмещённых групп различаются, либо у исходных классов несовместимые сетки, либо совмещённый преподаватель не может находиться в двух местах сразу.
Решения:
- согласовать объёмы часов у совмещённых групп;
- отменить совмещение и создать по курсу на каждый класс;
- проверить, что у площадок совмещённых классов есть общая сетка на нужный временной слот.
5. Слишком много занятий для сетки
Когда у класса или преподавателя явно больше часов, чем открытых временных слотов, предупреждение появляется заранее (вкладка Формирование, счётчики часов и временных слотов). Коварнее другой случай: по отдельности явного переполнения нет, но накопление ограничений у преподавателей и классов — и их пересечения — в итоге перестаёт укладываться в сетку.
Решения:
- уменьшить введённые объёмы часов;
- расширить сетку (например, открыть вторую половину дня в среду);
- смягчить часть отметок недоступности, выбирая промежутки, которых одновременно избегают многие сущности: их совокупность перегружает сетку.
6. Слишком много несовместимостей
Нагромождение ограничений «не X после Y» может создать систему без решения.
Решение: заменить часть несовместимостей более мягкими педагогическими весами.
7. Не хватает кабинетов (узкое место)
Очень частый случай: даже если каждый кабинет подходит, их количество не покрывает спрос в одно и то же время. Занятия скапливаются в одних и тех же временных слотах, и нехватка кабинетов становится узким местом, из-за которого всё вместе не помещается.
Решения:
- добавить кабинеты (или сделать часть кабинетов общими для нескольких классов);
- распределить спрос, расширив сетку;
- ослабить ограничения, которые сосредоточивают занятия в немногих временных слотах.
8. Несколько площадок: поездки отнимают часы
Когда площадок несколько, время в пути между ними сокращает временные слоты, которыми реально может воспользоваться преподаватель (или класс): смена площадки отнимает время, которое уже нельзя использовать для занятия. Фактическая доступность сужается, и задача усложняется.
Решения:
- собрать занятия преподавателя на одной площадке в течение дня;
- проверить указанное время в пути между площадками;
- ограничить поездки туда и обратно между площадками в течение одного дня.
Контрольный список перед повторным запуском формирования
- У всех классов назначена площадка?
- У всех классов есть дисциплины и преподаватели?
- У всех групп, использованных в курсах, указана расчётная численность или вместимость, с которой можно работать?
- Доступность всех преподавателей подтверждена?
- Нет критических (красных) оповещений на вкладке Формирование?
Встроенные средства диагностики
- Вкладка «Формирование» — заранее: статистика (курсы и часы по преподавателям, классам и площадкам) и предупреждения (часы и временные слоты, критические оповещения, которые нужно исправить до запуска).
- Неразмещённые занятия (стикеры) — после неудачи: результат неполного формирования. Кнопка размещения (со значком канцелярской кнопки) на каждом из них показывает цветными временными слотами, почему ни одно место не подходит.
- Обнаружение забытых групп: группы, которые определены, но не назначены ни одному курсу.
Инструкция
Диагностика неудачного формирования расписания
-
Когда формирование не удаётся, Omniscol показывает красный баннер, оставляет на экране частичное расписание и помещает занятия, которые не удалось разместить, на панель стикеров.
-
Прочитайте баннер: он даёт направление (эвристика, см. выше), а не вердикт.
-
Начните с неразмещённых занятий, а не с «конфликтов». Формирование никогда не создаёт конфликтов: оно просто оставляет в стороне то, что не помещается. Возьмите занятие на панели стикеров и нажмите его кнопку размещения (значок канцелярской кнопки, Разместить в расписании).
-
Прочитайте цветные временные слоты. Omniscol показывает все возможные временные слоты; для занятия, которое невозможно разместить, все они заблокированы. Выясните почему, проверяя три обычные причины по порядку: занят или недоступен преподаватель, занят класс (или группа), либо нет свободного подходящего кабинета. Причина показывается при наведении на временной слот.
-
Ослабьте ограничение, которое блокирует размещение: в зависимости от случая — смягчите доступность, добавьте или освободите кабинет, согласуйте совмещение, расширьте сетку (см. причины выше) — и запустите формирование снова.
-
Перед повторным запуском пройдитесь по контрольному списку выше (площадки назначены, дисциплины и преподаватели на месте, численность указана, доступность подтверждена, нет критических оповещений на вкладке Формирование).