Skip to content

Commit 59a5ffa

Browse files
committed
fix(algorithm): 更新算法文档中的分班规则和时间槽分配说明
- 修改了种群初始化部分的分班处理规则,明确了教学班人数范围为30-120人。 - 更新了时间槽生成的描述,增加了单双周补课时间槽的处理说明。 - 调整了算法总结部分,增加了结论章节,强调遗传算法在排课中的应用效果。
1 parent bd6d24d commit 59a5ffa

File tree

2 files changed

+1514
-2
lines changed

2 files changed

+1514
-2
lines changed

docs/final/algorithm.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff 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中作为这门课的基础信息。
@@ -424,7 +425,7 @@ $$
424425
- **三种策略模式**:根据不同排课场景设定优化参数(快速/平衡/精细),提升实际应用灵活性。
425426
- **时间槽与单双周处理**:自动支持不等周学时课程,通过单双周时间槽生成器合理安排课程。
426427
- **课程自动分班**:支持混合课按行政班或人数自动分班,适应不同教学组织方式。
427-
=======
428+
428429
## 8. 结论
429430

430431
遗传算法在智能排课系统中的应用,有效解决了高校排课中的复杂约束问题。通过模拟自然选择和遗传机制,系统能够在合理时间内生成满足多种约束条件的课程表,大幅提高排课效率和质量。系统的多策略支持和灵活配置,使其能够适应不同院校、不同场景的排课需求。

0 commit comments

Comments
 (0)