Авторасписание

Как запустить автоматическую расстановку уроков, выбрать режим расчёта, разобрать нерасставленные нагрузки и применить результат.

Авторасписание расставляет уроки из нагрузки по сетке за вас. Ради этой функции продукт часто и покупают. Работает она в два шага. Сначала идёт расчёт-предпросмотр, который ничего не меняет в расписании. И только потом вы применяете результат. Запускают авторасписание не из шапки страницы, а из нижней панели «Сетка уроков», на вкладке «Нагрузка».

Где находится

Боковое меню → «Сетка уроков» → нижняя панель, вкладка «Нагрузка» → кнопка «Авторасписание». Подсказка на ней — «Запустить автосоставление расписания». В представлении «Детально» та же кнопка стоит в правой панели, в блоке «Нагрузка», и называется «Авторасписание для…».

Подготовить расписание перед запуском

  1. Откройте раздел «Звонки» и убедитесь, что сетка звонков заполнена: расчёт ставит уроки только в существующие звонки.
  2. Откройте раздел «Ограничения» и проверьте доступность классов (в вузе — групп), учителей (преподавателей) и кабинетов (аудиторий). Загляните и в блок «Лимиты».
  3. Откройте раздел «Нагрузка» и проверьте, что у каждой нагрузки назначены учитель и кабинет, а часы распределены по неделям цикла.
  4. Вернитесь в «Сетка уроков» и откройте на нижней панели вкладку «Готовность». Там видно, какие пункты ещё не закрыты. Подробнее о вкладке читайте на странице «Ошибки и готовность».

Закрепить уроки, которые нельзя двигать

  1. Нажмите правой кнопкой мыши по уроку в сетке.
  2. Выберите «Закрепить урок» — на уроке появится значок замка.
  3. Чтобы снять закрепление, в том же меню выберите «Освободить урок».
  4. Закрепляйте уроки до запуска: в режиме «Пересобрать заново» на своих местах останутся только они.

Выбрать режим расчёта

  1. На нижней панели откройте вкладку «Нагрузка». Если расписание в статусе «Активное», кнопка «Авторасписание» бледная и не нажимается. Оба выхода из этой заморозки разобраны на странице «Черновик и активное расписание».
  2. Нажмите «Авторасписание» — откроется окно «Автосоставление расписания».
  3. В блоке «Как составить» выберите «Заполнить пустые места», если расставленные уроки должны остаться на месте и нужно только дозаполнить пустоты.
  4. Выберите «Пересобрать заново», если текущую расстановку нужно снять и собрать заново ради лучшего качества. В окне появится предупреждение «Текущая расстановка будет снята и собрана заново. Закреплённые уроки останутся на месте.».
  5. Сверьте шапку окна: там указано «Неделя цикла:». В представлении «Детально» рядом стоит ещё и отметка «Только для:» с названием открытого класса, учителя или кабинета.
  6. Чтобы пересобрать весь план, а не расписание одного участника, переключитесь на представление «Сетка звонков» и запустите «Авторасписание» оттуда.

Проверить блок «Заведомо не встанет»

  1. Если до расчёта нашлись безнадёжные нагрузки, в окне появится раскрытый блок «Заведомо не встанет: N».
  2. Прочитайте строки списка. Сверху стоит нагрузка (предмет, класс, учитель), снизу — причина и что с ней делать.
  3. Типичные причины: «У нагрузки не назначен ни один кабинет», «Недельная норма (N ур.) больше доступных позиций недели (M) — уменьшите норму или расширьте доступность», «Спарка из N уроков не помещается ни в один день (максимум подряд — M)».
  4. Блок грузится отдельным запросом по всему расписанию, независимо от выбранной недели цикла и режима расчёта. Если запрос не прошёл, блок молча не показывается.
  5. Поэтому пустой блок не всегда означает, что безнадёжных нагрузок нет. Если сомневаетесь, проверьте «Нагрузку» и «Ограничения» вручную.
  6. Нажмите «Закрыть», исправьте причины в разделах «Нагрузка» и «Ограничения» и откройте «Авторасписание» снова.

Рассчитать расстановку

  1. Нажмите «Рассчитать» — окно перейдёт на шаг прогресса.
  2. Следите за этапами «Сборка задачи», «Solver», «Сохранение», «Готово» и процентом выполнения.
  3. Дождитесь шага результата — появятся плитки «Создано», «Переставлено», «Удалено», «Без изменений», «Не расставлено».
  4. Проверьте сводную строку «Размещено N из M», «Окна:» и «Время:».
  5. Помните: на этом шаге расписание ещё не изменилось. Расчёт остаётся предпросмотром, пока вы не нажмёте «Применить».

Разобрать «Не удалось расставить»

  1. Если плитка «Не расставлено» больше нуля, нажмите на строку «Не удалось расставить: N» — блок раскроется.
  2. Первая часть строки говорит, какая нагрузка не встала. Вторая часть — причина.
  3. Формулировки причин такие: «У урока нет ни одной допустимой позиции — проверьте доступность и сетку звонков», «Все подходящие позиции заняты закреплёнными уроками — открепите часть уроков или освободите день», «Мешают лимиты уроков в день — ослабьте лимиты или перенесите часть нагрузки», «Ни один кабинет нагрузки не вмещает урок (N чел.) — добавьте кабинет побольше или уменьшите численность», «Свободных позиций не осталось: класс и учитель заняты на всех допустимых позициях».
  4. Под причиной может стоять диагностика вида «Свободных позиций: 3 из 40». Рядом идёт разбивка: занятость учителя, занятость классов, нет свободного кабинета, лимиты уроков в день. Она подсказывает, какое ограничение снимать.
  5. Строка «Урок в спарке: требуется несколько позиций подряд» означает, что уроку нужны соседние звонки в одном дне. О спарках читайте на странице «Недели цикла и спаренные уроки».
  6. Если среди причин указана нехватка времени расчёта, нажмите «Заново» и рассчитайте повторно.
  7. Текст «Не хватило времени расчёта — запустите пересчёт ещё раз» показывается, когда свободных позиций не было совсем. Текст «Свободные позиции были (N) — не хватило времени расчёта, запустите пересчёт ещё раз» — когда часть позиций нашлась, но солвер не успел их использовать.

Применить результат

  1. Нажмите «Применить» — появится сообщение «Расписание применено», окно закроется, уроки встанут в сетку.
  2. Результат расчёта не пропадает, если закрыть окно без применения. Он хранится на сервере, и при следующем открытии «Автосоставление расписания» вы снова попадёте на шаг с плитками того же расчёта.
  3. Если результат не устраивает, нажмите «Заново» и рассчитайте с другим режимом. Прежняя сводка стирается безвозвратно: вернуться к её плиткам после «Заново» нельзя.
  4. Сообщение «Данные расписания изменились — перезапустите preview» означает, что расписание за время расчёта изменили вы сами или другой пользователь.
  5. Сообщения «Истёк срок прогона — перезапустите preview» и «Прогон устарел — перезапустите preview» говорят о другом: расчёт протух по времени хранения, даже без единой правки расписания. В обоих случаях нажмите «Заново» и повторите расчёт.
  6. Применённую расстановку можно откатить. Единственный способ разобран на странице «История изменений», раздел «Отменить прогон авторасписания».
  7. После «Заполнить пустые места» запустите расчёт ещё раз — повторный запуск дорешает остаток.

Свернуть расчёт в фон или отменить его

  1. На шаге прогресса нажмите «Свернуть в фон» — окно закроется, а расчёт продолжится.
  2. Кнопка на вкладке «Нагрузка» сменится на «Авторасписание идёт», покажет процент и получит подсказку «Идёт расстановка — нажмите, чтобы открыть прогресс».
  3. Нажмите на эту кнопку, чтобы вернуться к прогрессу и дождаться результата.
  4. Чтобы остановить расчёт, нажмите «Отменить». Если окно осталось на шаге прогресса, отмена не сработала и расчёт всё ещё идёт. Не закрывайте расписание, считая его остановленным.
  5. Если расчёт завершился сбоем на сервере, на шаге прогресса появится блок с текстом причины. Когда сервер текст не прислал, в блоке стоит «Авторасписание завершилось с ошибкой».

Поля

ПолеЧто задаётОграничения
«Неделя цикла:»Информационную строку в шапке окна, первую видимую неделю цикла из фильтра над сеткойТолько для чтения
«Только для:»Тип закреплённого элемента — класс (в вузе — группа), учитель (преподаватель) или кабинет (аудитория)Появляется, только если авторасписание открыто из представления «Детально»
«Как составить»Режим расчёта — обязательный выбор одного из двух вариантовПо умолчанию выбран «Заполнить пустые места»
«Заполнить пустые места»Режим по умолчанию: расставленные уроки остаются на месте, добавляется только недостающееПодсказка: «Расставленные уроки останутся на месте, добавится только недостающее. Повторный запуск дорешает остаток.»
«Пересобрать заново»Снимает текущую расстановку и собирает её заново для лучшего качества, закреплённые уроки не трогаетПодсказка: «Текущая расстановка снимается и собирается заново для лучшего качества. Закреплённые уроки не трогаются.». При выборе показывает предупреждение о снятии текущей расстановки
«Заведомо не встанет: N»Раскрывающийся блок с безнадёжными нагрузками, найденными до расчётаПоказывается, только если такие нагрузки найдены. По умолчанию раскрыт
«Не удалось расставить: N»Раскрывающийся блок с нерасставленными нагрузками на шаге результатаПоказывается, только если что-то не встало. По умолчанию свёрнут

Если что-то выглядит не так

  • В шапке страницы «Сетка уроков» нет ни одной кнопки авторасписания.
    • Почему: Точка входа стоит не в шапке, а в нижней панели — на вкладке «Нагрузка», рядом с кнопкой добавления нагрузки.
    • Что делать: Откройте нижнюю панель, перейдите на вкладку «Нагрузка» и нажмите «Авторасписание».
  • Расчёт закончился, показаны плитки с числами, но в сетке уроков ничего не изменилось.
    • Почему: «Рассчитать» строит только предпросмотр. Расписание не трогается до подтверждения.
    • Что делать: Нажмите «Применить». Если вы просто закрыли окно, результат не пропадает: он хранится на сервере и снова появится при следующем открытии, пока не истёк срок хранения.
  • После применения режима «Пересобрать заново» уроки, которые вы аккуратно расставили вручную, оказались в других местах.
    • Почему: Этот режим снимает всю текущую расстановку и собирает её с нуля. На местах остаются только закреплённые уроки.
    • Что делать: До запуска закрепите нужные уроки через правый клик и пункт «Закрепить урок». Если уже применили, откатите операцию, как описано на странице «История изменений».
  • Плитка «Не расставлено» больше нуля, хотя свободные места в сетке видны.
    • Почему: Позиции свободны у одного участника урока, но заняты у другого: у учителя, класса или кабинета. Ещё их могут перекрывать лимиты или нехватка мест в кабинете.
    • Что делать: Раскройте «Не удалось расставить: N» и прочитайте строку диагностики «Свободных позиций: N из M». Разбивка по причинам покажет, какое ограничение ослабить.
  • При нажатии «Применить» появляется «Истёк срок прогона — перезапустите preview» или «Прогон устарел — перезапустите preview», хотя в расписании ничего не меняли.
    • Почему: Результат расчёта хранится ограниченное время и протухает сам по себе, даже без единой правки расписания. Похожее сообщение «Данные расписания изменились — перезапустите preview» означает другое: расписание за время расчёта поменяли вы сами или другой пользователь.
    • Что делать: Нажмите «Заново» и рассчитайте повторно. Не держите готовый результат неприменённым подолгу.

Дальше

  • Звонки — заполните сетку звонков до запуска расчёта.
  • Ограничения — доступность ресурсов и лимиты, которые расчёт не нарушает.
  • Нагрузка — учитель, кабинет и часы по неделям, без которых нагрузка не расставится.
  • Недели цикла и спаренные уроки — что означает «Урок в спарке: требуется несколько позиций подряд».

Дальше проверьте результат на вкладке «Готовность». Если нужно, отмените прогон через «Историю изменений». Готовое расписание публикуется в разделе «Публикации».