Программа строит семестровое учебное расписание по Excel-формату и сохраняет результат в файл timetable_output.xlsx
- Установка зависимостей
pip install -r requirements.txt- Файл
input.xlsxнаполнить входными данными - Запуск программы
python main.pyПосле завершения работы результат будет сохранен в timetable_output.xlsx
Файл input.xlsx должен содержать листы
Registry— учебный реестр —course_name,work_type,teacher,hours,program,admission_year,course_yearGroups— группы —program,admission_year,course_year,group_idLecture_Streams— лекционные потоки —program,admission_year,course_year,stream_id,group_idsCourse_Blocks— элективные и кафедральные блоки —block_id,program,course_year,block_no,block_type,course_nameRooms— аудитории —room_id,room_type,is_active
В Rooms.room_type используются значения lecture и regular
Основные параметры находятся в src/config.py
SEMESTER_WEEKS— число недель семестраDAY_NAMES— учебные дниPERIODS_PER_DAY— число пар в деньSOLVER_TIME_LIMIT_SECONDS— лимит времени для недельного шаблонаRESIDUAL_SOLVER_TIME_LIMIT_SECONDS— лимит времени для остаточных парWEIGHT_GROUP_GAP,WEIGHT_LONELY_DAY,WEIGHT_LAST_PERIOD,WEIGHT_DAILY_OVERLOAD,WEIGHT_TEACHER_GAP— веса мягких ограничений, должны быть целочисленными
timetable_output.xlsx Содержит листы с различными представлениями расписания и листы с метриками
SummaryWeekly_TemplateSemester_ScheduleBy_GroupBy_TeacherExpanded_Base_EventsResidual_RequestedRoomsQuality_MetricsQuality_By_GroupQuality_By_TeacherQuality_By_SlotОтдельные листы с расписанием для каждой из групп