Доработать генетический алгоритм на Python
Нужно довести до ума генетический алгоритм генерации расписания по заданным входным данным и ограничениям, доделать проект по ТЗ. СДАТЬ ПРОЕКТ НУЖНО ДО ВТОРОГО СЕНТЯБРЯ!
Есть код (приложен к заказу), нужно его довести по тз. ПРОЕКТ ГОТОВ НА 90%, НУЖНО ТОЛЬКО ДОРАБОТАТЬ!
ОРИГИНАЛЬНОЕ ТЗ: создать программу для составления школьного расписания отдельно для учеников и для учителей, исходя их входных данных в excel таблице.
Справка: У нас только старшая школа, поэтому кабинеты могут быть заняты только нами. Все уроки в основном проходят по парам, но есть и часовые уроки. После второй пары у нас 40 минутная перемена, на ней мы едим в главном корпусе.
ВХОДНЫЕ ДАННЫЕ:
- Кол-во классов
- Кол-во кабинетов + возможная специализация конкретных кабинетов под конкретные уроки
- Академический профиль класса, по сути приоритет на предметы (Количество часов опр. предмета в неделю у опр. класса)
- Время учебы в день (в часах)
- Сложные предметы для каждого класса (в зависимости от его профиля)
- Лимит на сложные предметы в один день (в кол-ве часов)
- В какие дни и на каких предметах класс должен разделятся на подгруппы
- Кол-во учителей и специализация каждого (по предмету, 10 или 11 классу (или оба), возможно ведет только конкретные классы на параллели)
- Дни работы каждого учителя
ТРЕБОВАНИЯ:
- Отсутствие окон у учеников обязательно, у профессоров они могут быть
- Чтоб предметы, которые ведутся по парам, а не часово, так и проходили (которые не по парам обычно умеют всего 1 час в неделю)
- Желательно чтоб сложные предметы перекликались с легкими (по парам)
- Равномерное распределение по кабинетам (чтоб в одном кабинете не было двух классов в одно время + профессор не вел в двух местах одновременно)
- Чтоб пара по одному предмету не разрывалась на большую перемену
- Чтоб физкультура была либо в начале, либо в конце дня (пара)
НЮАНСЫ:
- Если нехватает кабинетов в главном корпусе, то можно использовать 3-4 кабинета из других корпусов, но нужно чтоб все уроки в другом корпусе проходили подряд и без разрыва на большую перемену (после 2 пары)
Есть код (приложен к заказу), нужно его довести по тз. ПРОЕКТ ГОТОВ НА 90%, НУЖНО ТОЛЬКО ДОРАБОТАТЬ!
ОРИГИНАЛЬНОЕ ТЗ: создать программу для составления школьного расписания отдельно для учеников и для учителей, исходя их входных данных в excel таблице.
Справка: У нас только старшая школа, поэтому кабинеты могут быть заняты только нами. Все уроки в основном проходят по парам, но есть и часовые уроки. После второй пары у нас 40 минутная перемена, на ней мы едим в главном корпусе.
ВХОДНЫЕ ДАННЫЕ:
- Кол-во классов
- Кол-во кабинетов + возможная специализация конкретных кабинетов под конкретные уроки
- Академический профиль класса, по сути приоритет на предметы (Количество часов опр. предмета в неделю у опр. класса)
- Время учебы в день (в часах)
- Сложные предметы для каждого класса (в зависимости от его профиля)
- Лимит на сложные предметы в один день (в кол-ве часов)
- В какие дни и на каких предметах класс должен разделятся на подгруппы
- Кол-во учителей и специализация каждого (по предмету, 10 или 11 классу (или оба), возможно ведет только конкретные классы на параллели)
- Дни работы каждого учителя
ТРЕБОВАНИЯ:
- Отсутствие окон у учеников обязательно, у профессоров они могут быть
- Чтоб предметы, которые ведутся по парам, а не часово, так и проходили (которые не по парам обычно умеют всего 1 час в неделю)
- Желательно чтоб сложные предметы перекликались с легкими (по парам)
- Равномерное распределение по кабинетам (чтоб в одном кабинете не было двух классов в одно время + профессор не вел в двух местах одновременно)
- Чтоб пара по одному предмету не разрывалась на большую перемену
- Чтоб физкультура была либо в начале, либо в конце дня (пара)
НЮАНСЫ:
- Если нехватает кабинетов в главном корпусе, то можно использовать 3-4 кабинета из других корпусов, но нужно чтоб все уроки в другом корпусе проходили подряд и без разрыва на большую перемену (после 2 пары)