Меню


Расписание: библиотека алгоритмов

В программе "Расписание" алгоритмы, которые автоматически выполняют те или иные действия по составлению расписания вынесены во внешнюю библиотеку. На сегодняшний день она содержит следующие алгоритмы:

Расстановка уроков

Алгоритм "Расстановка уроков" расставляет уроки так, что нет форточек у классов. Форточки преподавателей при этом игнорируются (поэтому впоследствии следует запускать алгоритм "Оптимизация форточек").

При расстановке уроков алгоритм учитывает:

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

Алгоритм не учитывает:

  • целесообразное распределение уроков преподавателя по доступным дням;
  • соблюдение последовательности уроков в параллелях;
  • потоковые занятия.

Расстановка преподавателей

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

При расстановке уроков алгоритм учитывает:

  • целесообразное распределение уроков преподавателя по доступным дням;
  • порядок расстановки занятий по предметам;
  • возможный приоритет предметов или классов для языковедов;
  • соблюдение последовательности уроков в параллелях.

Удаление форточки

Алгоритм "Удаление форточки у класса" помогает найти способы устранения форточки у класса, производя перестановку уроков в соответствии с одним из выбранных способов:

  • в пределах одного класса (переставляются уроки одного класса, форточку которого требуется удалить);
  • в пределах одного дня.

Алгоритм облегчает доводку расписания на финальной стадии.

Оптимизация форточек

Алгоритм "Оптимизация форточек" пытается уменьшить количество форточек у преподавателей, не меняя схему расстановки уроков у классов (уроки у классов меняются местами, новые ячейки при этом не занимаются). Процесс оптимизации иногда позволяет устранить более 95% форточек.

Для алгоритма могут быть определены преподаватели, чьи уроки не могут быть переставлены. Кроме этого в процессе работы алгоритм не переставляет потоковые занятия и пары.

Вверх