预检是做什么的
验证您的规则,以确认课表是否能成功生成,避免您耗费时间却一无所获。
FET 可能会长时间失败。单个规则导致某节课无法排入课表时,它不会自行提示——求解器只会不断搜索,最终放弃或一无所获。
预检会首先读取您的规则并进行计算。如果它能证明课表是不可能排出的,它会在几秒钟内指出并列出相关规则。
位置
预检位于课表数据屏幕上的约束条件旁边。课表编辑者可以使用它——它是为制定规则的人员提供的工具。
每个约束条件部分顶部也带有一行摘要,这样您在工作时就能看到情况,而无需特意去查找。

报告:一个结论,然后是每个发现及其背后的规则。
计算运行位置
检查不在您的浏览器中运行。您的浏览器读取您的规则并发送摘要到我们的服务器。我们的服务器进行计算并将结果发回。
摘要不包含名称。老师、教室、主题和学生组以数字形式传输,您的浏览器在显示报告前会重新填充名称。
我们不存储任何检查数据。每次您打开时,检查都会根据您当前的规则重新生成报告。
这有一个值得了解的实际结果:它足够快,可以作为工作工具使用。修改规则,返回,再次查看。
它实际读取的内容
您当前的约束条件——而非已排好的课表。它从不安排课程,也从不修改任何内容。
它所做的是对您剩余空间的计算:
- 老师已承诺的课时数,与他们剩余可用的时段数进行对比。
- 一旦所有相关规则都已应用,一节课可以合法占用的起始时间。
- 两节必须进行的课程,是否在共享老师、教室或班级的情况下被迫安排在同一时段。
- 一组课程是否需要比一周所包含的更多不同的天数。
当计算结果没有剩余空间时,这不是对难度的看法。这是一个证明,检查会明确指出。
如何使用
在将项目发送到 FET 之前运行它,并在进行重大更改后再次运行。一份干净的报告并不能保证 FET 会快速求解——请参阅它无法告诉您的内容——但一份包含已证明不可能的发现的报告会告诉您求解无法成功,这在事前而非事后得知是很有价值的。
报告分为四个部分
报告不根据发现的严重程度进行分级。它根据可以证明的内容将其分为四类:已证明不可能、错误、使此文件难以处理的原因和在此文件上运行的内容。
每种类型都是一个标签页,每个标签页都有自己的计数。如果某种类型没有任何内容,则不会显示该标签页,因此一个“安静”的文件会比一个“繁忙”的文件显示更少的标签页。第一个包含内容的标签页会自动打开。
包含许多发现的组会以列表而非卡片形式显示。选择一行可在列表旁边查看其背后的计算。
只有第一种类型证明 FET 无法构建课表。请参阅四种发现类型。
关联
关联回答了一个不同的问题:不是哪里出错了,而是与这位老师关联了什么。
选择一位老师、一个学生组或一间教室。您将看到他们的活动、命名他们的规则、他们共享教室或时段的资源,以及这些关联的图示。选择图示中的任何节点可将视图移动到该节点。
节点的颜色表示其类型——老师、学生组、教室或规则。节点周围的环表示检查发现了与之相关的问题。实心红环表示错误。虚线琥珀色环表示警告。大多数文件没有任何环,这是正常状态。
两条规则之间的虚线灰色线条表示它们重复了相同的内容。
没有关联的实体会隐藏起来,直到您请求显示它们,因为大型文件会声明许多不包含活动的实体。