课表排不出来怎么办:定位冲突规则的方法

课表无解时,先做容量预检,再找出最小冲突规则集,逐条放宽。本文列出常见原因,并解释“已确认排不出”与“超时”的区别。

课弈排课 · 更新于

课表排不出来时,先用容量预检排除“资源本身不够”,再找出最小冲突规则集——一组不能同时成立的规则,去掉其中任意一条其余就能满足——然后每次只放宽其中一条。

第一步:容量预检

很多无解并不是规则写得复杂,而是资源在算术上就不够。排课前先核对:

  • 教师课时:每位老师每周应上课时,是否超过他可用的节次(总节次减去不可排时间);
  • 班级课时:一个班每周需要的课时总数,是否超过课表中的可用时段;
  • 教室容量:实验室、体育场地等专用教室,同一时段需要的数量是否超过实际数量;
  • 不可排时间:老师的请假、兼职、固定会议时间,是否把可用节次压得太少。

这一步能用简单计算发现问题,不必等到排课失败。

常见的“罪魁祸首”

  • 某位老师负担重,同时又有多条固定时间要求,可选空间被挤没了;
  • “不排第一节”“不排最后一节”这类规则加得太多,叠加后可用时段所剩无几;
  • 实验室或体育场地不足,理科、体育课集中在少数时段;
  • 连堂要求遇到一天的边界:例如需要三连堂,但上午只有两节、午休后又被其他规则占住。

最小冲突集是什么

规则多的时候,直接看“哪条规则错了”几乎不可能。最小冲突集把范围缩到最小:这组规则放在一起一定无解,但删掉其中任何一条,剩下的就能同时成立。通常只有几条,负责人一眼就能判断该放宽哪一条。

已确认排不出 vs 超时

两者要分开对待:

  • 已确认排不出:系统证明了在当前规则下不存在任何可行课表,必须修改规则或资源;
  • 超时:在限定时间内没找到解,但不代表一定没有。可以延长时间、先简化模型,或把部分要求改成软规则。

把超时当成无解,会让人去删本来不需要删的规则。

修复策略

  1. 把“最好这样”的要求改为软规则,并设置权重;
  2. 从最小冲突集中挑影响最小的一条放宽,重新排课;
  3. 每次只改一条,记录改动,便于回溯;
  4. 真正的资源不足(老师、教室)要回到人员和场地安排上解决。

更多问题见 常见问题。

在 课弈里怎么做

  • 排课前自动做健康检查,提前指出课时、教室等容量不足;
  • 无解时返回最小冲突规则集,而不是一句“排课失败”;
  • 明确区分“已确认排不出”与“超时”;
  • 硬规则与软规则分开设置,软规则可设权重;
  • AI 助手(中英文)可以根据冲突给出修改建议,由你确认后生效。

课表卡住了?带上你的数据来 预约演示。

预约 30 分钟演示

用贵校真实的选课数据现场排一次。我们会在 1 个工作日内与您联系。

  • 支持导入现有 Excel 选课表
  • 中英文演示均可
  • 数据仅用于演示,可随时删除

✉ info@mykeyi.com

✓

已收到,谢谢!我们会尽快联系您。现在也可以先免费试用。

免费试用