检测并解决冲突(生成时)

Omniscol会在课表准备期间以及每次手动安排课时时持续检测冲突。诊断把阻塞性冲突、未满足的约束和需要您裁决的警告区分开来,并用颜色标示严重程度:安排课时时体现在候选时段和选择列表上,诊断面板中则体现在每一行上。自动生成是一项独立的计算(生成程序在约束下安排课时,或者让某个课时留作未安排):它的诊断见 诊断课表生成失败的原因。

诊断检查的内容

  • 占用(重复预订)——同一位教师、班级、小组、学生、教室或资源不能同时用于两个时间重叠的课时,除非已明确建模(兼容的小组、班内分组、大教室)。
  • 可用时间与时间限制——处于已声明的不可用时段,或未满足时间限制(教师、班级、小组、教室、课程、校区),按约束的优先级分级。强制设定的日期窗口则始终为阻塞性。
  • 容量与服务时间——教室超员、所需资源数量超出库存、教室不合适(容量、专业教室类型、校区),或教师的服务时间超出。
  • 时间网格溢出——待安排的课程小时数超出或接近网格中开放的时段数,针对某位教师或整个班级。
  • 地点与往返——教师或班级在两个校区之间的路程时间不足,或两个已声明不兼容的科目被安排在同一时间。
  • 日历课表——课时被安排在缺勤(教师或班级)、休息日/假期或不兼容的事件上。
  • 建模——对齐被破坏(对齐的小组没有共同课时)、同一班内分组或同一对齐中各小组的课时数不一致、缺少教师或教室,或配置不完整(生成前所需的校区、时间网格、参数)。

与其他课表的冲突

在 课表管理 模块中,无论是调课模式还是编辑日历课表,诊断还会把当前课表与相同日期已发布的其他课表以及关联账户进行比对:这些课表由菜单 同步 勾选。某位教师、某个班级或某间教室已被其中一份课表占用时,即使当前课表在该时刻没有其他课时,也会产生冲突。

在冲突详情中,来自其他课表的课时会在班级名称之后显示图标 ,后面是该课表的名称。来自关联账户的课时则显示图标 ,后面是该账户的名称。Omniscol通过外部标识符识别不同课表中的同一个班级、教室或资源,没有外部标识符时则按名称识别:参见如何在不同课表之间识别同一个班级。

严重程度级别

同一套严重程度标尺——绿、黄、橙、红——会为编辑界面的多个位置着色。

在候选时段上,即您安排课时时(参见 手动安排)。在选择列表的每个选项上:为课时选择教师、教室、资源、小组或参与者时,每一项都带有一个日历图标,按其在目标时段的级别着色——实体空闲为绿色,被占用为红色——悬停可查看详情。只有红色不可用(已占用、封闭时段)会阻止选择;过小或专业类型不符的教室仍可选择,但会给出警告。

颜色 含义
绿色 没有冲突——实体空闲(或资源未超出上限)
黄色 轻微不便,非阻塞性(中等优先级的时间限制、已被完全代课的缺勤、教室合适但不够理想)
橙色 硬约束(高优先级的时间限制、教室坐满至容量的110%、服务时间达110%、校区之间路程时间过短、不兼容的科目、休息日)
红色 阻塞性冲突(重复预订、必须满足的时间限制或强制日期窗口、教室超过容量的110%、缺勤未被覆盖、对齐被破坏)

在诊断面板中。 列出的每个问题都带有一个级别,筛选器沿用该级别。面板把橙色和黄色合并为一个“重要”级别,并为非阻塞性信息增加一个“建议”级别:

级别 含义 对应的时段颜色
红色 阻塞冲突 红色
黄色 未满足的约束/警告 橙色 + 黄色
蓝色 建议/接近极限 网格压力、班内分组

启用选项 阻止冲突选项(硬约束) 时,Omniscol会阻止会产生硬约束冲突的选择;否则警告仍会显示,由管理员自行裁决。

溢出与网格压力

Omniscol会持续把待安排的课程小时数与网格中开放的时段数进行比较——针对每位教师(按班级和校区)以及每个完整的班级。提示信息会同时给出两个数值,例如“18 h / 16 h”。按填充程度分为三档:

档位 填充程度 解读
蓝色——压力 网格填充90%–100% 很快会达到上限;安排已经比较紧张
橙色——轻度溢出 100%–110%(小时数多于时段数,最多110%) 很可能无法得到有效课表
红色——严重溢出 超过110% 几乎肯定无法得到有效课表

只有至少配置了一个校区才会执行此计算,网格填充低于90%时不会有任何提示。它衡量的是所需小时数与可用时段数的对比——请勿与教师的服务时间超出(已授课小时数与合同小时数的对比)混淆,后者使用相同的颜色,但属于另一项独立的检测。

全部检测项

检测项 筛选类别 级别
教师、班级或小组已被占用 冲突 红色
教室已被占用 冲突 红色
对齐被破坏(对齐的小组没有共同课时) 冲突 红色(仅教室或资源不同时为橙色)
未满足时间限制(教师、班级、小组、教室、课程、校区) 时间限制 必须→红色,高→橙色,中→黄色(日期窗口→始终为红色)
教室超员 容量 不超过容量的110%为橙色,超过则为红色
资源超量 容量 橙色
教室不合适(容量、专业教室类型、校区) 容量 黄色——可强制
教师服务时间超出 容量 不超过110%为橙色,超过则为红色
网格溢出/压力 网格溢出 蓝色→橙色→红色(见上文)
校区之间路程时间不足(教师、班级) 距离 橙色
不兼容的科目安排在同一时间 兼容性 橙色
允许的教室中没有可用教室 缺少教室 黄色(一间都没有则为红色)
缺少教师(课程没有指定教师) 缺少教师 黄色
缺少教室(课时已安排但没有所需的教室) 缺少教室 黄色
班内分组中各小组的课时数不一致 班内分组 蓝色(仅供参考)
对齐的小组之间课时数不一致 对齐 红色(阻塞性配置)
教师在其课程时缺勤 缺勤 未覆盖→红色,已代课→黄色,部分(协同教学)→橙色
班级缺勤 缺勤 红色
课时被安排在休息日/假期 日历 橙色(有时强制为红色)
配置不完整(校区、时间网格、参数) — 生成前阻塞

从警示跳转

面板中的每一行都可点击:放大镜 会直接转到相关的课程、小组或班级——这是梳理冲突上下文最快的方式。对于小组冲突(班内分组、对齐),图标 只保留相关联的小组,在原始诊断不够清楚时,能让约束一目了然。

筛选诊断:在Premium账户中,诊断面板可按级别、实体、年级、单位、校区、问题类型或日期区间筛选,帮您聚焦重要的问题。

筛选诊断

按钮 诊断筛选(警示三角形,位于面板顶部)会打开一个菜单,只保留对当前分析有用的警示。只要还有筛选条件生效,图标就会变为橙色。您可以设置:

  • 级别——显示或隐藏红色(阻塞性)、黄色(重要/需核对)、蓝色(建议/接近极限)。
  • 实体——班级、教师、教室、资源、小组,以及日历事件的类型(事件、假期、缺勤)。
  • 年级、单位、校区——限定到某个范围。单位用于筛选组织层面的实体(办学点、院系、中心);校区则针对实际的物理地点。
  • 原因——开启或关闭每一类检测:时间限制、冲突、容量、距离、缺少教师、缺少教室、兼容性、班内分组、对齐。
  • 区间(日历课表)——限定为接下来的几周或几个月,并隐藏过去的部分。
  • 行为——阻止冲突选项(硬约束) 会主动阻止会产生硬约束冲突的安排。
  • 重置——重新显示全部内容。

筛选并不能解决冲突:它只是隐藏对当前分析没有帮助的内容。

解决冲突

最常见的修正方式有:

  • 移动课时;
  • 更换教师、教室或资源;
  • 调整过强的约束;
  • 更正误填的不可用时间或缺勤;
  • 创建或更正小组、班内分组或对齐;
  • 添加兼容的教室、容量或专业教室类型;
  • 在重新运行生成之前,锁定必须保持不变的课时。

如果生成找不到完整的解,它可能返回一份不完整的课表:未安排的课时会留在待安排课时的便签栏中。先处理优先级最高的诊断,然后重新运行生成,或手动安排剩余的课时。

需要裁决的情形

有些提示对应的是业务决策,而不是录入错误。例如:

  • 考试使用一间主教室和一间延时考试教室;
  • 声明的容量大于录入的座位数,因为学校清楚部分报名者不会到场;
  • Omniscol中未建模的附属教室。

遇到这些情形,只要可能,最好把情况明确建模:多教室、调整后的小组、修正后的容量,或单独的事件。刻意保留一条警示,应当是团队知情的决定,而不是长期存在的噪音。

操作步骤

  1. 打开课表的诊断。
  2. 如有需要,按级别、单位、校区、实体或问题类型筛选。
  3. 先处理阻塞性冲突。
  4. 打开问题详情,找出涉及的课时和资源。
  5. 修正课时、约束或建模。
  6. 重新运行诊断或生成,确认问题已消失。

另请参阅