跳转到主要内容

预检是做什么的

验证您的规则,以确认课表是否能成功生成,避免您耗费时间却一无所获。

FET 可能会长时间失败。单个规则导致某节课无法排入课表时,它不会自行提示——求解器只会不断搜索,最终放弃或一无所获。

预检会首先读取您的规则并进行计算。如果它能证明课表是不可能排出的,它会在几秒钟内指出并列出相关规则。

位置

预检位于课表数据屏幕上的约束条件旁边。课表编辑者可以使用它——它是为制定规则的人员提供的工具。

每个约束条件部分顶部也带有一行摘要,这样您在工作时就能看到情况,而无需特意去查找。

The pre-flight check on a timetable that does not add up: what it found, where, and how long it took in your browser.
The pre-flight check on a timetable that does not add up: what it found, where, and how long it took in your browser.

报告:一个结论,然后是每个发现及其背后的规则。

计算运行位置

检查不在您的浏览器中运行。您的浏览器读取您的规则并发送摘要到我们的服务器。我们的服务器进行计算并将结果发回。

摘要不包含名称。老师、教室、主题和学生组以数字形式传输,您的浏览器在显示报告前会重新填充名称。

我们不存储任何检查数据。每次您打开时,检查都会根据您当前的规则重新生成报告。

这有一个值得了解的实际结果:它足够快,可以作为工作工具使用。修改规则,返回,再次查看。

它实际读取的内容

您当前的约束条件——而非已排好的课表。它从不安排课程,也从不修改任何内容。

它所做的是对您剩余空间的计算:

  • 老师已承诺的课时数,与他们剩余可用的时段数进行对比。
  • 一旦所有相关规则都已应用,一节课可以合法占用的起始时间。
  • 两节必须进行的课程,是否在共享老师、教室或班级的情况下被迫安排在同一时段。
  • 一组课程是否需要比一周所包含的更多不同的天数。

当计算结果没有剩余空间时,这不是对难度的看法。这是一个证明,检查会明确指出。

如何使用

在将项目发送到 FET 之前运行它,并在进行重大更改后再次运行。一份干净的报告并不能保证 FET 会快速求解——请参阅它无法告诉您的内容——但一份包含已证明不可能的发现的报告会告诉您求解无法成功,这在事前而非事后得知是很有价值的。

报告分为四个部分

报告不根据发现的严重程度进行分级。它根据可以证明的内容将其分为四类:已证明不可能、错误、使此文件难以处理的原因和在此文件上运行的内容。

每种类型都是一个标签页,每个标签页都有自己的计数。如果某种类型没有任何内容,则不会显示该标签页,因此一个“安静”的文件会比一个“繁忙”的文件显示更少的标签页。第一个包含内容的标签页会自动打开。

包含许多发现的组会以列表而非卡片形式显示。选择一行可在列表旁边查看其背后的计算。

只有第一种类型证明 FET 无法构建课表。请参阅四种发现类型。

关联

关联回答了一个不同的问题:不是哪里出错了,而是与这位老师关联了什么。

选择一位老师、一个学生组或一间教室。您将看到他们的活动、命名他们的规则、他们共享教室或时段的资源,以及这些关联的图示。选择图示中的任何节点可将视图移动到该节点。

节点的颜色表示其类型——老师、学生组、教室或规则。节点周围的环表示检查发现了与之相关的问题。实心红环表示错误。虚线琥珀色环表示警告。大多数文件没有任何环,这是正常状态。

两条规则之间的虚线灰色线条表示它们重复了相同的内容。

没有关联的实体会隐藏起来,直到您请求显示它们,因为大型文件会声明许多不包含活动的实体。

下一步