Skip to content

Инструмент для генерации расписания учебных занятий МГТУ «СТАНКИН»

License

Notifications You must be signed in to change notification settings

ebolblga/ScheduleGen-V1

Repository files navigation

Тестовый проект для генерации расписания учебных занятий

(Work in progress)

image

1. Коллапс волновой функции (Wave Function Collapse, WFC)

  1. Выбор случайного занятия с проверкой, что преподаватель свободен
  2. Выбор типа занятия (лекция, семинар, лабораторное занятие)
    • Если лабораторное занятие, то считаем softmax с весами по два слота перемножением
  3. Поиск случайного слота с учётом веса (softmax function)
  4. Выбор кабинета с проверкой, что он свободен
  5. Вставляем занятие
    • Рекурсивно алгоритмом floodfill идём с шагом в 7 дней вперёд и назад
    • Вставляем занятие в расписание преподавателя и кабинета

2. Генетический алгоритм

Fitness function

Соответствие нормам (минимальные требования):

  • соответствует [[Учебный план]]
  • соответствует [[Календарный учебный график]]
  • соответствует нормам времени
  • [[Рабочие часы университета]] (Производственный календарь)

Оценки равномерности:

  • непрерывность расписания (без окон)
  • семинары начинаются позже лекций
  • равномерность загруженности
  • равномерность начала занятий
  • равномерность идентичности пар по дням / неделям

Дополнительные оценки:

  • компоновка вуза (задействовать минимальное кол-во кабинетов)
  • уменьшение средней дистанции между учебными занятиями
  • не делить на подгруппы когда занятия дистанционные

About

Инструмент для генерации расписания учебных занятий МГТУ «СТАНКИН»

Topics

Resources

License

Stars

Watchers

Forks