Расписание

Учебная неделя, которую решают, а не заполняют вручную

Campus строит расписание решателем ограничений: доступность учителей, вместимость кабинетов, дневное окно класса и спаренные уроки взвешиваются вместе. То, что выполнить нельзя, называется поимённо — этот курс, этот учитель, этот кабинет, — а не сводится к одному числу.

01

Ваши ограничения, а не типовой шаблон

Проект хранит учебную неделю: рабочие дни, уроки и перемены и несколько недельных планов, если начальная школа и старшие классы звонят по разному звонку. Всё остальное вносится поверх этого — по учителю, классу, кабинету и курсу, а где планов несколько — и по недельному плану.

Учителя

Недоступные и менее желательные уроки, предел уроков в день, предел уроков подряд, предел рабочих дней и собственный кабинет, если учитель всегда ведёт в одном месте.

Классы

Закрытые уроки, минимум и максимум уроков в день и дневное окно: классу можно задать, что он не начинает раньше и не заканчивает позже определённого урока и не остаётся без занятий целый день.

Кабинеты

Общий кабинет несёт число уроков, которые могут идти в нём одновременно. Профильный кабинет объявляет предметы, для которых он предназначен, а любой кабинет можно закрыть на урок, не убирая из плана.

Курсы

Уроки в неделю и предел на один день, блоки, которые должны идти подряд, курсы, идущие параллельно в разных классах, и кабинет из списка учителя, класса, предмета или явно заданного — за вычетом тех, которые вы исключили.

Деления и группы

Класс делится на подгруппы, поэтому язык или элективный курс берёт лишь часть класса, пока остальные в тот же урок находятся в другом месте.

Избегать, а не запрещать

У каждой сетки доступности есть второй слой: урок можно отметить как менее желательный, а не как недоступный. Решатель платит за него небольшую цену и берёт его лишь тогда, когда любая альтернатива дороже.

02

От пустого проекта к опубликованной неделе

Восемь шагов. Прогон — это замороженная копия всего набора данных, поэтому то, что вы просматриваете, и есть решённый прогон: правки в проекте после запуска его не сдвинут.

  1. Проект

    Задайте рабочие дни и недельные планы: уроки, перемены и классы, к которым относится каждый план.

  2. Импорт

    Заберите классы, учителей, кабинеты, предметы и курсы прямо из Campus или загрузите их из шаблона Excel, который сервис выдаёт для каждого из них.

  3. Ограничения

    Задайте доступность, предпочтения и пределы для каждого учителя, класса, кабинета и курса — сразу по всей сетке или по одной записи.

  4. Прогон

    Прогон копирует классы, учителей, кабинеты и курсы в текущем виде и несёт собственные веса ограничений, поэтому два прогона могут расходиться, не затрагивая проект.

  5. Решение

    Конструктивная эвристика рассаживает все уроки, затем табу-поиск и позднее принятие продолжают улучшать результат — до часа, с досрочной остановкой, если пятнадцать минут не дают улучшения.

  6. Версии

    Улучшения сохраняются с интервалами, а не на каждом шаге, поэтому предлагаемые версии заметно отличаются друг от друга. Прогон хранит до десяти.

  7. Проверка

    Читайте неделю по классу, по учителю или по кабинету либо все три вида рядом на панели, где уроки без места перечислены отдельно.

  8. Публикация

    Выгрузите любой вид в Excel или запишите расписание обратно в курсы Campus, откуда оно пришло, — по одному курсу или весь прогон.

03

Три уровня, чтобы «невыполнимо» что-то значило

Тридцать ограничений, у каждого объявленный вес на одном из трёх уровней. Именно предпочтение, поставленное на верхний уровень, делает любое расписание невыполнимым, а сигнал выполнимости — бессмысленным, поэтому уровни разведены и означают ровно то, что заявлено.

Жёсткие — физически невозможно

Класс, учитель или кабинет в двух местах одновременно; урок там, где учитель или кабинет закрыт; урок, оставшийся вовсе без кабинета. Именно эти нарушения делают расписание невыполнимым.

Средние — собственные правила школы

Профильный кабинет, которого требует предмет, дневное окно класса, блок, который должен остаться цельным, дневной предел нагрузки. Они важны — и расписание, нарушившее одно из них, всё равно работает.

Мягкие — качество

«Окна» в дне класса и учителя, учитель, оставленный в одном кабинете, менее желательные уроки и технические предметы, сдвинутые к началу дня, а не к концу.

Веса задаёте вы

У каждого ограничения есть вес по умолчанию, и прогон может его переопределить. Решатель и правила, которые он оценивает, читают одну и ту же таблицу, поэтому вес нельзя изменить в одном месте и молча проигнорировать в другом.

Названные проблемы, а не одно число

Список конфликтов говорит, что именно не так — этот курс, эти уроки, этот учитель, этот кабинет, — на языке читающего и с указанием затронутого класса и учителя.

Ручные правки тоже проверяются

При переносе урока предлагаются только те уроки, что свободны для его класса, учителя и кабинета, поэтому правка не вернёт конфликт, который прогон только что убрал.

04

Что входит в модуль

Данные держит проект, запуски держат прогоны, и ничто не правится на месте под расписанием, которое люди уже читают.

Проекты и недельные планы

  • Рабочие дни, уроки и перемены
  • Несколько недельных планов в одном проекте
  • Копирование всего проекта на следующий год

Учителя

  • Доступность и предпочтения по недельному плану
  • Пределы за день, подряд и за неделю
  • Собственные кабинеты и постоянство кабинета

Классы

  • Деления и группы
  • Дневное окно и дневной минимум
  • Закреплённые кабинеты

Кабинеты

  • Общие кабинеты с параллельной вместимостью
  • Кабинеты под конкретные предметы
  • Закрытие по урокам

Предметы и курсы

  • Недельная нагрузка и дневной максимум
  • Блоки и параллельные курсы
  • Правила по кабинетам и исключения
  • Онлайн-курсы, которым кабинет не нужен

Прогоны

  • Замороженная копия набора данных
  • Остановить запуск и сохранить лучшее найденное
  • Скопировать прогон или синхронизировать с проектом

Представления

  • По классу, по учителю, по кабинету
  • Одна панель для всех трёх
  • Неразмещённые уроки отдельным списком

Конфликты и правка

  • Каждая оставшаяся проблема названа
  • Урок переносится только в свободное время
  • Сообщения на языке читающего

Импорт и экспорт

  • Импорт из Campus или из Excel
  • Шаблон Excel для каждой сущности
  • Экспорт вида или запись недели обратно в Campus

Посмотрите, как это работает на вашей учебной неделе

Принесите недельный план, список классов и учителей, которых не будет в пятницу после обеда. Мы решим её вместе с вами и вместе прочитаем результат.