メインコンテンツに移動

あなたのFET時間割を不可能にしている制約

Importing from FET 読了時間 1分

間違った制約が一つでもあるとFETファイルは解決不能になり、探索に何時間もかかることがあるため、まず無料で数秒で済むファイルチェックをお試しください。

データを入力し終えます。FETで生成ボタンを押します。そして待ちます。

10分が過ぎ、1時間が過ぎます。配置されたアクティビティの数が合計に達することはありません。結局、生成を停止しても時間割は完成しません。さらに悪いことに、その理由がわかりません。

問題は多くの場合、1つの制約にあります

学校の時間割には何百もの制約があります。ほとんどは正しいのですが、1つだけ正しくないものがあり、それを見つけることができません。

例えば:

  • 31人の学生がいるクラスが、30席しかない部屋しか使えない。
  • ある教師は26時間分の授業を担当しているが、空き時間は24コマしかない。
  • あるルールにより、アクティビティが週の中で開始できる正当な時間帯がなくなってしまう。
  • 4つの授業を別々の曜日に配置する必要があるが、その学生グループの登校日は3日しかない。

これらのいずれもが、時間割を不可能なものにします。どんな配置もそれを満たすことはできません。しかし、ファイルは正常に見えます。FETはそれを開き、探索を開始します。

なぜ探索ではわからないのか

FETはその仕事を非常にうまくこなします。すべての制約に従う配置を探索します。FETは一部のファイルをすぐに拒否します。他の多くの問題については、成功し得ない探索を開始します。

失敗した探索が教えてくれるのはただ1つ、この探索では配置が見つからなかったということです。「制約により不可能です」と「今回は見つかりませんでした」を区別することはできません。そのため、重み付けを変更して再試行し、また待つことになります。

そうして何時間も費やされてしまうのです。時間は解決ではなく、決して成功することのない探索に費やされます。

まず数え、次に探索する

生成する前に、もっと早く尋ねられる質問があります:そもそもこの時間割は可能なのか?

その質問に探索は必要ありません。必要なのは算術です。このチェック機能は制約を読み込み、残された余地を数えます:

  • 教師が教えなければならない時間数と、利用可能な時間コマ数との比較
  • すべてのルールを適用した後に、アクティビティがまだ持っている開始時刻
  • 両方とも行われなければならない2つの授業が、同じ時間コマに強制的に割り当てられていないか
  • 一連の授業が、週の利用可能な日数よりも多くの日数を必要としていないか

これらのカウントのいずれかがゼロになると、その時間割は不可能です。これは難易度についての推測ではありません。証明であり、チェックは数秒で結果を出します。

ルールを名指しする

証明は、それに基づいて行動できる場合にのみ役立ちます。各検出事項は、何が問題なのかを平易な言葉で述べ、関連するルールを名指しします。

1つの検出事項を開いた状態:クラスには31人の学生がいますが、使用できる最大の部屋は30席です。関連するルールが名指しされています
1つの検出事項を開いた状態:クラスには31人の学生がいますが、使用できる最大の部屋は30席です。関連するルールが名指しされています

上の例では、数学・9Aには31人の学生がいます。アクティビティの優先部屋制約が許可する最大の部屋は30席です。修正方法は明確です:より大きな部屋を許可するか、クラスを分割します。

検出事項はグループに分かれています。証明済みの不可能には、どのソルバーも解決できない問題が含まれます。他のグループには、よくある間違いやファイルを難しくしているものが含まれます。詳しくは4種類の検出事項をご覧ください。

2つの利用方法

アカウントなしで:FETヘルパー。fetviewer.com/checkにアクセスし、.fetファイルを選択してください。無料で、再チェックの回数に制限はありません。ファイルはあなたのコンピュータ上に留まります。ブラウザは要約のみをサーバーに送信し、その要約には名前は含まれません。教師、部屋、学生グループは番号として送信されます。私たちは何も保存しません。アカウントなしでファイルをチェックするをご覧ください。

アカウント内で:事前チェック。時間割をインポートすると、データ画面の制約の隣に事前チェックページが表示されます。各制約セクションの上部には、1行の要約も表示されます。制約を変更し、作業中に再度チェックしてください。事前チェックの機能をご覧ください。

この機能ではわからないこと

このチェックは不可能なケースを証明します。ファイルが必ず解決できることを証明することはできず、FETがどれくらいの時間がかかるかを教えることもできません。クリーンなチェックは失敗の理由を1つ取り除きます。探索は依然としてFETの仕事です。

ですから、両方をこの順序で使用してください:

  1. ファイルをチェックする。
  2. チェックが証明した問題を修正する。
  3. その後、FETに探索させる。

チェックとFETによる解決の違いで完全な比較をお読みください。

次に長く待つ前に

次に生成に時間がかかりすぎた場合は、停止してください。まずファイルをチェックしてください。もし制約が時間割を不可能にしている場合、数秒でそれがわかり、どの制約が原因かもわかります。

あなたのFETファイルをチェックする →