Разделение класса

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

Зачем это нужно: принцип «по умолчанию всё — конфликт»

Omniscol — программа планирования с ограничениями. Отсюда прямое следствие: всё, что может вызвать конфликт, по умолчанию считается конфликтом, пока пользователь явно не укажет обратное.

  • Между двумя разными классами общих учеников по определению нет, поэтому сообщать о конфликте не нужно. (Общие курсы, в которых учатся вместе ученики разных классов, моделируются отдельно: см. совмещения и группы групп.)
  • Внутри одного класса алгоритм не может логически определить, какие группы способны проходить в одном временном слоте, не пересекаясь. Поэтому он исходит из того, что у двух групп одного класса могут быть общие ученики. Если разделение не объявлено, занятия двух групп одного класса в одном слоте вызовут конфликт.

Автор расписания должен сказать алгоритму: «эти группы взаимоисключающие, их можно ставить одновременно». Разделение — это и есть такое объявление.

Алгоритм постарается как можно чаще ставить одновременно занятия групп, входящих в разделение, но это может не получиться из-за других ограничений: нехватки кабинетов, несовместимых временных ограничений преподавателей или курсов, общего элемента вроде специализированного кабинета или преподавателя, который ведёт несколько занятий. В таком случае алгоритм определит, что часть класса осталась без занятий, и применит пропорциональный штраф (опция по умолчанию: «Сокращение пустот в расписании» для учеников). Это подталкивает его ставить такие занятия в самое начало или в самый конец дня, а при возможности и на обеденный перерыв.

Типичные случаи применения

  • Половины класса по алфавиту: группы A и B (по алфавиту или по жребию). Ученик состоит в одной из них ИЛИ в другой, но никогда в обеих.
  • Половины класса по уровню: группы «Английский углублённый» и «Английский базовый»; ученик состоит в одной ИЛИ в другой.
  • Половины класса по полу (особый случай, например, на физкультуре в некоторых школах).
  • Взаимоисключающие дисциплины по выбору: «Второй иностранный язык: немецкий» / «Второй иностранный язык: французский» / «Второй иностранный язык: китайский». Ученик выбирает один из трёх языков. (Пример стоит подобрать под ваш контекст; в англоязычных странах такие дисциплины называют electives.)
  • Блоки одновременных факультативов: школа ставит все факультативы в один выделенный слот (пятница 14:00–16:00 = слот факультативов), а ученики выбирают факультатив из этого блока. Все они исключают друг друга в том смысле, что ученик посещает только один факультатив.
  • Лабораторные и практические работы по подгруппам: «Лабораторная A» и «Лабораторная B» в одном слоте в двух разных кабинетах с двумя преподавателями.

Создание

Шаги:

  1. Откройте страницу групп класса (вкладка Группы).
  2. Выберите нужные группы.
  3. Нажмите Добавить разделение.
  4. Подтвердите.

В одном классе может существовать несколько разделений: одно для лабораторных работ по естественным наукам (Лабораторная A, Лабораторная B), другое для языков («Немецкий язык», «Французский язык»), третье для профильных дисциплин (Литература, История, Физика). Каждое разделение не зависит от остальных.

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

Защита по умолчанию: группа только в одном разделении

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

Эту защиту можно снять, если состав учеников реально этого требует.

Пример:

  • только ученики группы «Немецкий язык» изучают ещё и «Латинский язык»;
  • ученики группы «Французский язык» «Латинский язык» не изучают.

Тогда можно создать:

  • разделение «Немецкий язык» / «Французский язык»;
  • разделение «Латинский язык» / «Французский язык».

Так у алгоритма больше свободы: он может ставить некоторые занятия параллельно и сокращать пустоты у части класса.

Используйте это аккуратно: распределение учеников по группам должно быть известно вам досконально.

Условие корректности

Ни один ученик не должен входить в две группы одного разделения. Это математическое определение разбиения: множества не пересекаются.

Если ученик состоит в двух группах одного разделения, Omniscol выдаёт предупреждение о несогласованности (алгоритм не может отправить его в два места одновременно).

Что это меняет для алгоритма

Если разделение объявлено, алгоритм:

  • разрешает одновременное планирование групп разделения (хотя иначе это был бы конфликт),
  • по-прежнему проверяет остальные ресурсы: нужно столько разных кабинетов, сколько групп занимается одновременно, и столько же разных преподавателей. Разделение снимает только конфликт по ученикам; конфликты по кабинетам и преподавателям остаются строгими.

Частая ошибка: три курса в одном слоте класса

Если нужно, чтобы в классе одновременно шли три разных курса (Литература, История, Физика), потому что у учеников взаимоисключающие дисциплины по выбору, создайте три группы (Литература, История, Физика) и объедините их в разделение. Не создавайте три курса без групп: тогда у алгоритма не будет никаких сведений об ограничениях одновременности, и каждый курс будет поставлен отдельно, в разное время.

Чем это отличается от других конструкций

Что вам нужно… Что использовать
Несколько групп одного класса в одном слоте (разные курсы, ученики не пересекаются) Разделение (эта страница)
Несколько групп разных классов в одном слоте (одно занятие, один преподаватель, один кабинет) через логику, связывающую простые группы Совмещение
То же, что совмещение, но с возможностью легко менять состав позже, создав самостоятельный объект-объединение Группа групп
Группа с нефиксированным составом (кружок, свободная запись) Свободная группа

См. также