Skip to content

Commit a0ac576

Browse files
committed
fix(docs): 修复漏洞
1 parent 0eb7c4f commit a0ac576

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

docs/final/algorithm.md

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,27 @@
88

99
### 1.2 算法简要逻辑
1010

11-
​1.数据输入阶段
11+
1. 数据输入阶段
1212
- 前端提交排课约束条件(课程、教师、教室、时间等)
1313
- 后端接收并预处理数据,生成排课问题域
14-
​2.种群初始化
14+
2. 种群初始化
1515
- 随机生成初始种群(多个候选课表)
1616
- 每个个体表示一种排课方案(教室、教师、时间槽的合法组合)
17-
​3.适应度评估
17+
3. 适应度评估
1818
- 对每个个体进行约束检测和评分
1919
- 计算冲突数(如教师时间冲突、教室占用冲突等)
2020
- 根据冲突情况计算适应度值(冲突越少,适应度越高)
21-
​4.迭代优化阶段
22-
- ​选择(Selection)​
21+
4. 迭代优化阶段
22+
- 选择(Selection)​
2323
- 采用轮盘赌选择法,优先保留高适应度个体
2424
- 适应度越高的个体被选中的概率越大
25-
- ​交叉(Crossover)​
25+
- 交叉(Crossover)​
2626
- 从父代中选择两个个体,交换部分课程安排
2727
- 生成新的子代个体,保留优质基因
28-
- ​变异(Mutation)​
28+
- 变异(Mutation)​
2929
- 随机调整部分课程的时间或教室分配
3030
- 引入多样性,避免早熟收敛
31-
​5.结果输出阶段
31+
5. 结果输出阶段
3232
- 记录迭代过程中的最优解
3333
- 最终输出冲突最少的排课方案(适应度最高的)
3434
- 保存无法避免的冲突
@@ -109,31 +109,31 @@ flowchart TD
109109

110110
```mermaid
111111
flowchart TD
112-
    A[初始化种群] --> B[适应度评估]
113-
    B --> C{满足终止条件?}
114-
    C -->|否| D[选择操作]
115-
    D --> E[交叉操作]
116-
    E --> F[变异操作]
117-
    F --> B
118-
    C -->|是| G[获取最优解]
119-
    G --> H[冲突检测]
120-
    H --> I[保存排课数据]
121-
    H --> J[保存冲突数据]
122-
123-
    %% 样式定义
124-
    style A fill:#2196F3,stroke:#1976D2,color:white
125-
    style B fill:#2196F3,stroke:#1976D2,color:white
126-
    style D fill:#4CAF50,stroke:#388E3C,color:white
127-
    style E fill:#FF9800,stroke:#F57C00,color:white
128-
    style F fill:#9C27B0,stroke:#7B1FA2,color:white
129-
    style G fill:#607D8B,stroke:#455A64,color:white
130-
    style H fill:#607D8B,stroke:#455A64,color:white
131-
    style I fill:#4CAF50,stroke:#388E3C,color:white
132-
    style J fill:#FF9800,stroke:#F57C00,color:white
133-
    %% 决策节点样式
134-
    style C fill:#FFF8E1,stroke:#FFC107,color:#333,font-weight:bold
135-
    %% 全局设置
136-
    classDef default font-size:12px
112+
A[初始化种群] --> B[适应度评估]
113+
B --> C{满足终止条件?}
114+
C -->|否| D[选择操作]
115+
D --> E[交叉操作]
116+
E --> F[变异操作]
117+
F --> B
118+
C -->|是| G[获取最优解]
119+
G --> H[冲突检测]
120+
H --> I[保存排课数据]
121+
H --> J[保存冲突数据]
122+
123+
%% 样式定义
124+
style A fill:#2196F3,stroke:#1976D2,color:white
125+
style B fill:#2196F3,stroke:#1976D2,color:white
126+
style D fill:#4CAF50,stroke:#388E3C,color:white
127+
style E fill:#FF9800,stroke:#F57C00,color:white
128+
style F fill:#9C27B0,stroke:#7B1FA2,color:white
129+
style G fill:#607D8B,stroke:#455A64,color:white
130+
style H fill:#607D8B,stroke:#455A64,color:white
131+
style I fill:#4CAF50,stroke:#388E3C,color:white
132+
style J fill:#FF9800,stroke:#F57C00,color:white
133+
%% 决策节点样式
134+
style C fill:#FFF8E1,stroke:#FFC107,color:#333,font-weight:bold
135+
%% 全局设置
136+
classDef default font-size:12px
137137
```
138138

139139
## 4. 关键算法实现
@@ -154,9 +154,9 @@ flowchart TD
154154

155155
#### 4.2.1 冲突检测:
156156

157-
1. 教师冲突检测​:检查同一教师在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
158-
2. 教室冲突检测​:检查同一教室在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
159-
3. 班级冲突检测​:检查同一班级在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
157+
1. 教师冲突检测​:检查同一教师在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
158+
2. 教室冲突检测​:检查同一教室在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
159+
3. 班级冲突检测​:检查同一班级在同一时间是否被分配多个课程,每发现一处冲突给予100分惩罚
160160

161161
#### 4.2.2 时间偏好评估
162162

@@ -167,8 +167,8 @@ flowchart TD
167167

168168
#### 4.2.3 连续课程优化
169169

170-
1. 连续课程奖励​:对同一班级连续安排2节以上相同课程时,每组连续课程给予(课程数-1)5分的奖励
171-
2. 合理间隔检查​:理论课与实践课之间至少间隔1天,不符合要求每处 -5 分
170+
1. 连续课程奖励​:对同一班级连续安排2节以上相同课程时,每组连续课程给予(课程数-1)5分的奖励
171+
2. 合理间隔检查​:理论课与实践课之间至少间隔1天,不符合要求每处 -5 分
172172
3.
173173
#### 4.2.4 教室资源优化
174174

0 commit comments

Comments
 (0)