新增每门课程的“优先上课日 / 偏好节次范围”,与硬性可排范围分离。

遗传算法在满足冲突、容量、场地等硬约束后,优先满足课程偏好;偏好无法满足时仍会安排可行课次。
管理员可通过“课程偏好权重”控制偏好的影响程度。
修复遗传适应度:教室容量冗余、同一任务分散、日负载和实验场地偏好现在都会实际参与种群评分
This commit is contained in:
biss committed 2026-08-17 11:10:49 +08:00
1 parent 94bc064697
commit c4649f9cdc
10 files changed
+7409 -17

No files matched your search

@@ -219,6 +219,9 @@ public sealed class ScheduleSettingsControllerTests
AllowedDayOfWeeks = "1,3,5",
EarliestPeriod = 1,
LatestPeriod = 8,
PreferredDayOfWeeks = "2,4",
PreferredEarliestPeriod = 3,
PreferredLatestPeriod = 6,
AllowedClassrooms =
[
new TeachingTaskAllowedClassroom { Classroom = classroom }
@@ -243,6 +246,7 @@ public sealed class ScheduleSettingsControllerTests
Assert.Contains(classroom.Id.ToString(), json);
Assert.Contains("\"WeeklyHours\":4", json);
Assert.Contains("\"CoursePracticeHours\":16", json);
Assert.Contains("\"PreferredDayOfWeeks\":[2,4]", json);
}
[Fact]