Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ebolblga/schedulegen-v1

Инструмент для генерации расписания учебных занятий МГТУ «СТАНКИН»
https://github.com/ebolblga/schedulegen-v1

better-sqlite3 nuxt3 tailwindcss typescript vue3

Last synced: 18 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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

## (Work in progress)

![image](https://github.com/user-attachments/assets/1277feb4-ff9a-4715-aea7-683ddfdfb531)

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

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

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

### Fitness function

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

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

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

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

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

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