メインコンテンツに移動

制約

授業をどこに配置できるかを決める制約、その追加方法、「重み」の実際の意味、リストの順序の重要性。

「アクティビティ」は何を教えるべきかを指定します。「制約」は、それをどこに配置できるかを指定します。例えば、この教師は金曜日は利用不可、あの実験室は一度に1クラスしか収容できない、この科目はその日の最後の授業にすべきではない、などです。

これらは2つのセクションに分かれています。なぜなら、FETはこれらを2つの別々の問題として扱うからです。時間制約は「いつ」に関するもので、部屋制約は「どこで」に関するものです。

Time constraints as FET models them, in a plain list rather than nested dialogs.
Time constraints as FET models them, in a plain list rather than nested dialogs.

あなたが作成していない2つのルール

すべての時間割には、作成者が作成していない2つの制約、つまり時間に関する基本的な必須ルールと部屋に関する必須ルールが1つずつ含まれています。これらは最低限のルールです。つまり、教師や学生グループが同時に2つの場所にいることはなく、部屋が二重に予約されることもありません。

FETはこれらを要求するため、常に最大の重みが設定されており、オフにすることはできません。これらはリストに必須と表示され、トグルはロックされています。

重みがすべての基本です

他のすべての制約には、0から100の間の重みが設定されています。一部のタイプではその数値を自由に選択できますが、他のタイプではできません。そのルールについては、このページの下の方で説明します。

100%は厳格な制約です。これは必ず守られなければなりません。もし守れない場合、時間割は作成されません。

100%未満は希望です。その重みは、それをどれだけ強く望むかを表します。95%のルールは、それを守ることで他の何かが不可能にならない限り尊重されます。40%のルールは、軽い推奨です。これにより、スケジュールを単にルールに準拠しているだけでなく、良いものにすることができます。できれば避けたいが、必要なら受け入れるという、実際の学校運営と同じような表現が可能になります。

リストでは、まさにこの基準に基づいて各行に厳格または柔軟というラベルが付けられます。また、重みの範囲でリストをフィルタリングして、厳格に設定したものすべて、または希望として残したものすべてを見つけることができます。

ほとんどの制約タイプは、重み付けが一切できません。FETは自由に重み付けできるタイプのリストを保持しており、そのリストにないタイプはすべて拒否します。

⛔ これは形式的なものではありません。FETはこの値を2回拒否します。FET自体のダイアログでは保存できず、ジェネレーターは開始前に停止します。これらのタイプのいずれかが100%未満で設定されたファイルでは、質の悪い時間割ができるわけではありません。時間割が一切作成されなくなります。

エディターでは、これらのタイプの重みフィールドは無効になり、その理由が表示されます。したがって、FETが拒否する数値を入力することはできません。

さらに2つのケースで100%が強制されます:

  • 上記の必須ルール
  • 特定の実際の部屋に固定された仮想部屋に対する希望部屋ルール — これはFET自体の要件です。これはルールのタイプではなく、その内容に依存するため、部屋リストを編集すると変更されます。

正直に言うと、1つだけ例外的な仕様があります。FETからインポートされたファイルは、たとえ上記のルールのいずれかが最大の重み未満で設定されていても、決して調整されません。誰かのファイルを黙って書き換えることは、「入力したものがそのまま出力される」という約束を破ることになります。そのため、リストにはファイルにない数値を表示するのではなく、保存されている重みがツールチップで理由と共に表示されます。

制約の追加

追加ボタンをクリックすると、FETがサポートするすべての制約タイプがカテゴリ別にグループ化され、検索可能なピッカーが開きます。非常に多くのタイプがあるため、検索ボックスが便利です。部屋、空き時間、連続などと入力して、どのような制約が存在するかを確認してください。

タイプを選択すると、そのタイプ自身の定義から構築されたエディターが開くため、表示されるフィールドはそのタイプが実際に持つフィールドです。その横には、制約の機能を説明するヘルプパネルがあります。制約名は簡潔で、いくつかのタイプは互いに似ていますが1つの重要な点で異なるため、一読する価値があります。

制約に時間枠が必要な場合、リストを埋めるのではなく、曜日×時限のグリッドが表示され、セルをクリックします。一部のタイプでは、1つの選択範囲ではなく、時間枠のセットが必要です。その場合、各セルが番号付きのセットに色分けされる単一のグリッドが表示されるため、複数のリストを並べて管理する代わりに、セット同士を比較しながら確認できます。

すべてのアクティビティ、それとも一部のみ?

これは人々を混乱させがちなので、はっきりと述べておきます。多くの制約タイプでは、教師、科目、またはグループを指定するフィールドは、誰が影響を受けるかを決めるのではなく、ルールがどのアクティビティを対象とするかを決めます。

これらは対象ではなく、アクティビティに対するフィルターです。フォームのフィールドをこのルールはスミス先生に関するものだと解釈してしまうと、実際にはスミス先生が関わる授業を考慮するという意味であるため、そのルールは何も機能しないままになってしまいます。各タイプのヘルプパネルに、どちらの意味であるかが記載されています。

順序

リストには順序があり、それは装飾的なものではありません。エクスポートされるファイルに制約が書き込まれる順序です。

行のグリップをドラッグして並べ替えるか、A→Zでソートを使用してセクション全体をアルファベット順に並べ替えて保存します。ドラッグができるのは、リスト全体を自然な順序で見ているときだけです。検索、ソート、またはフィルターでリストが絞り込まれている間は、ドラッグ先の位置に意味がなくなります。必須ルールはFETによって管理されており、移動することはありません。

並べ替えは元に戻すことができます。

長いリストの操作

このセクションには、カテゴリレール、検索ボックス、有効/無効フィルター、および重み範囲スライダーがあります。これらを組み合わせることで、通常は金曜日に何か問題があるという状況から、それに関連するいくつかのルールにたどり着くことができます。

行を選択すると、有効化、無効化、重みの設定、または削除を一度のアクションで行えます。特に便利なのは無効化です。これにより、ルールとその設定を保持したまま適用対象から外すことができます。これは、あるルールが時間割の作成を不可能にしている原因かどうかをテストする方法です。

一括操作では、各制約が個別に承認されます。範囲が限定された共有リンクで作業している人は、変更を許可されているものだけを変更でき、残りはアクション全体が失敗するのではなく、そのまま残されます。一括での重み変更では、移動を拒否されたものもすべて名前が挙げられます。

リストの上には、編集者向けに1行の事前チェック概要が表示されます。もしブロックするような競合が報告された場合、それは警告ではなく証明であり、先に進む前に確認する価値があります。