kyrie
kyrie
发布于 2025-11-16 / 6 阅读
0
0

课表排考

1. 用 5–8 句话描述成“目标 + 约束”

  1. 学校需要在两周内安排所有课程的期末考试时间和教室。

  2. 目标 1: 尽量减少同一学生在同一时段有两门以上考试的冲突。

  3. 目标 2: 尽量让学生每天的考试数量不要太多,避免某天考太“爆”。

  4. 约束 1: 每门课必须被安排在一个合法的时间段和一间可用教室中。

  5. 约束 2: 每间教室同一时段只能安排一门考试,且参加考试的学生人数不能超过教室容量。

  6. 约束 3: 某些课程必须在老师/监考老师有空的时间段进行,且不得安排在学校禁止考试的时段(例如校庆活动)。

  7. 约束 4: 对于同一专业同一年级的核心课程,应尽量错开日期,避免学生连续多天高压考试。


2. 分类标注

  • 变量类型: 离散(课程 × 时间段 × 教室的组合选择);

  • 是否含整数: 是,典型的 0-1 整数决策变量;

  • 目标类型: 多目标(既要减少冲突,又要均衡负担,可合成加权单目标);

  • 是否凸: 非凸(组合优化问题,本质上是 NP-hard 的排课/排考问题)。


3. 两种候选解法及选择理由(数值 1 种 + 智能 1 种)

数值方法:整数线性规划(ILP)。
课程–时间–教室关系用 0-1 变量表示,硬约束(时间不冲突、容量限制、教师可用等)写成线性不等式,目标函数用线性加权方式综合“学生冲突数”“单日考试数波动”等指标。ILP 在中小规模时能求全局最优或给出严格下界,适合作为算法对比的基准,还便于解释每个约束和目标的含义。

智能方法:遗传算法(GA)。
用染色体编码一份完整排考表,通过选择、交叉和变异在巨大组合空间中搜索,硬约束用不可行惩罚项或修复算子处理,软约束通过罚分或多目标加权体现。与 ILP 相比,GA 对模型“线性/凸性”没要求,更容易融入各种复杂业务规则,扩展到大规模实例时也更灵活,能在可接受时间内给出质量较高的可行方案。


评论