不兼容(科目之间)
不兼容是一种教学上的约束,禁止一个科目排在另一个科目之后。这是一条有方向的规则:您声明的是“科目A之后不得排科目B”——方向很重要,先A后B与先B后A是两条不同的规则。典型例子:“数学课不能紧接在体育课之后”。
不兼容在班级层面设置,位于当前课表的 不兼容 选项卡中。
禁止的范围
创建规则时,您需要选择禁令适用的范围:
- 紧接着——不能排在紧接着的下一个课时,且须在同一天。
- 在同一个半天——不能排在同一半天的更晚时间。
- 在同一天——不能排在同一天的更晚时间。
- 在同一周内——不能排在同一周的更晚时间。
- 始终 (周期课表或日历课表)——在整个时间段内永远不能排在其后。这是用于排定先后顺序的工具:先学完一个模块,再进入依赖它的模块。
另外,“同一天内不重复安排相同科目”选项(全局设置)可以避免同一科目在一天内为同一名学生出现两次——这往往比逐一设置多条两两规则更简单。
与课程时间限制的区别
请勿与课程的时间限制()混淆:时间限制确定的是某一门课程的各课时在网格中的绝对位置,而不兼容针对的是两个科目的相对顺序。
| 约束 | 针对对象 | 示例 |
|---|---|---|
| 不兼容 | 两个科目的顺序 | “数学课不能排在体育课之后” |
| 课程的时间限制 | 某门课程的绝对位置 | “数学课不能排在第一节” |
| 专业教室类型 | 某个科目所需的教室 | “化学课需要实验室” |
是优化约束,而非硬性限制
不兼容不是硬性约束:生成算法把它当作需要尽量消除的扣分项,与不希望的可用时间处理方式相同。如果其他约束没有留下任何替代方案,生成的课表中仍可能保留不兼容;这时诊断会将其标出,供您决定如何取舍。请避免设置过多的不兼容:每增加一条,都会减少生成算法的自由度并延长计算时间。若要让某个科目在一周内分布均衡,调整该科目的教学比重通常更有效。