File tree Expand file tree Collapse file tree 2 files changed +1514
-2
lines changed
Expand file tree Collapse file tree 2 files changed +1514
-2
lines changed Original file line number Diff line number Diff line change @@ -152,7 +152,8 @@ flowchart TD
152152### 4.1 种群初始化(GenerateInitialPopulationService)
153153
154154通过基础数据,对需要排课的每一门课进行初次随机分配:
155- - 优先对每一门课进行分班处理,由于可能存在一门课的人数过多,若未限定行政班,算法将会根据人数进行分配,最小为30人一个教学班,最大为所选教室最大的人数一个分配教学班,如果超过单个教室最大人数则进行随机分配班级,始终保持教学班人数为30-最大人数之间;若限定行政班级,算法将会优先按照专业一样的班级进行分班,专业一样的班级优先为一个教学班,若人数少于或超过则进行二次分班,始终保持由行政把你组成教学班人数为30-最大人数之间。
155+
156+ - 优先对每一门课进行分班处理,由于可能存在一门课的人数过多,若未限定行政班,算法将会根据人数进行分配,最小为30人一个教学班,最大为120人分配教学班,如果超过120人则进行随机分配班级,始终保持教学班人数为30-120人之间;若限定行政班级,算法将会优先按照专业一样的班级进行分班,专业一样的班级优先为一个教学班,若人数少于或超过则进行二次分班,始终保持由行政把你组成教学班人数为30-120人之间。
156157- (ClassroomSelectionUtil) 为每一个教学班级随机分配一个符合要求的教室,符合人数大小(教室容量大于教学班人数)的,符合课程安排的教室,若基础数据为没有符合的教室,则会优先分配一个人数尽可能符合的教室,若还不存在,则随机分配一个人数尽可能符合的教室,保证每一个教学班都有教室上课。
157158- 为每一个教学班级随机分配一个老师,根据基础数据获取符合有教学资格的老师(必定存在),通过随机数的分配,随机选择一个老师为这一个教学班级进行上课。
158159- 以上数据会被存到CourseScheduleItemDTO中作为这门课的基础信息。
424425- ** 三种策略模式** :根据不同排课场景设定优化参数(快速/平衡/精细),提升实际应用灵活性。
425426- ** 时间槽与单双周处理** :自动支持不等周学时课程,通过单双周时间槽生成器合理安排课程。
426427- ** 课程自动分班** :支持混合课按行政班或人数自动分班,适应不同教学组织方式。
427- =======
428+
428429## 8. 结论
429430
430431遗传算法在智能排课系统中的应用,有效解决了高校排课中的复杂约束问题。通过模拟自然选择和遗传机制,系统能够在合理时间内生成满足多种约束条件的课程表,大幅提高排课效率和质量。系统的多策略支持和灵活配置,使其能够适应不同院校、不同场景的排课需求。
You can’t perform that action at this time.
0 commit comments