# 自動生成の実行

URL: https://help.koma-dori.com/timetable/auto-generate/
概要: 最適化ソルバーによる時間割の自動生成手順。制約を満たす配置を短時間で作成。

コマドリの核となる機能が、時間割の自動生成です。設定した制約ルールをすべて満たし、要望ルールをできる限り考慮した時間割を、数理最適化技術を使って自動で作成します。

## 自動生成の仕組み

コマドリは**数理最適化ソルバー**を使用して時間割を生成します。AIのような曖昧さはなく、設定した制約ルールを確実にクリアした時間割を作成します。

### 特徴

- すべての制約ルールを確実に満たす
- 要望ルールを優先度に応じて最大限考慮
- 約1分で生成完了
- 複数の候補から選択可能
- 生成後の手動調整も可能

## 自動生成の実行

1. **コマ組みを開く**
   
   サイドバーから「コマ組み」を選択し、生成したいコマ組みを開きます。

2. **ルールを確認**
   
   「ルール設定」タブで制約条件が正しく設定されているか確認します。
   特に担当教員の割り当ては必須に近い重要な設定です。

3. **「自動で生成」ボタンをクリック**
   
   画面右上の「自動で生成」ボタンをクリックします。

4. **生成を待つ**
   
   生成中は画面右下にフローティングウィンドウで進捗が表示されます。
   通常1分以内に完了します。

5. **結果を確認**
   
   生成が完了すると、「時間割を確認する」ボタンが表示されます。
   クリックするとエディター画面で結果を確認できます。

## 生成中の表示

自動生成中は、フローティングウィンドウで進捗が表示されます。

| 表示項目 | 説明 |
|----------|------|
| 進捗バー | 生成の進捗をパーセントで表示 |
| フェーズメッセージ | 現在の処理段階（準備中、探索中など） |
| 経過時間 | 生成開始からの時間 |

> 生成中もコマドリの他の画面を操作できます。
  フローティングウィンドウは最小化することも可能です。

## 生成結果の確認

生成が完了すると、「生成済み時間割」タブに新しい時間割カードが追加されます。

### 時間割カードの見方

各時間割カードには以下の情報が表示されます：

| 項目 | 説明 |
|------|------|
| 授業配置率 | 全授業のうち配置済みの割合（100%が理想） |
| 配置済み | スケジュールに配置された授業数 |
| 未配置 | まだ配置されていない授業数 |
| 制約違反 | 制約ルールに違反している件数（0が理想） |
| 要望未達 | 要望ルールが達成できていない件数 |
| ステータス | 下書き / レビュー中 / 確定済み |

> 配置率100%で制約違反0件の時間割が理想的です。
  要望未達は「できれば守りたい」ルールなので、多少あっても問題ありません。

### 生成結果の詳細確認

1. **「生成済み時間割」タブを開く**
2. **確認したい時間割カードをクリック**
3. **エディター画面で詳細を確認**

エディター画面では、右側の「時間割サマリー」パネルで詳細な統計情報を確認できます。

## 生成に失敗した場合

制約ルールが矛盾している場合、生成に失敗することがあります。

### 解が見つからなかった場合

設定されたルールの組み合わせで時間割を作成できない場合、**診断結果**が表示されます。

- 問題の検出数が表示されます
- 「診断結果を確認する」ボタンから詳細を確認できます
- どのルールが問題の原因になっているかヒントが表示されます
- 衝突しているスロットや、教員・クラスの容量（コマ数の過不足）を図で確認できます

### ワンクリックで緩和して再生成

診断結果では、原因候補のルールに対して**このコマ組みだけ**ルールを緩めて再生成できます。学校全体のルールブックは変わりません。あとから元に戻せます。

| 操作 | 内容 |
|------|------|
| このコマ組みで外して再生成 | 対象ルールをこのコマ組みでのみ一時無効にして再生成 |
| このコマ組みで「なるべく」に緩めて再生成 | 必須扱いに近い要望を「なるべく」に下げて再生成 |

ボタンを押すと確認ダイアログが出ます。適用後は自動で再生成が走ります。

> **学校のルールはそのまま**: ワンクリック緩和はコマ組み単位の上書きです。ルールブックや他のコマ組みには影響しません。試したあと不要なら元に戻せます。

### よくある失敗原因

| 原因 | 対処法 |
|------|--------|
| 担当教員が設定されていない | 担当教員を割り当てる |
| 教員の授業数が多すぎる | 時限数を増やすか、教員を追加 |
| 勤務不可時間が多すぎる | 勤務不可時間を見直す |
| 制約が矛盾している | 制約ルールを見直す |

> **失敗時のヒント**: エラーメッセージに原因のヒントが表示されます。
  「教員Aの授業数が時間枠を超えています」などのメッセージを参考に、設定を見直してください。

### 手動で制約を無効化して再生成

ワンクリック緩和のほか、ルール設定タブから手動で無効化することもできます。

1. **「ルール設定」タブを開く**
2. **問題の原因と思われるルールを一時的に無効化**
3. **再度「自動で生成」を実行**
4. **生成後、手動でそのルールを考慮した調整を行う**

## 複数回の生成

同じ制約条件でも、複数回生成すると異なる時間割が作成される場合があります。
いくつかの候補を生成して比較することで、より良い時間割を選択できます。

> 生成された時間割はすべて保存されるため、後から比較・選択できます。
  不要になった時間割は削除することもできます。

## 生成時間の目安

| 規模 | 生成時間の目安 |
|------|--------------|
| 小規模（1学年3クラス） | 約30秒 |
| 中規模（3学年9クラス） | 約1分 |
| 大規模（3学年12クラス以上） | 1〜3分 |

制約ルールと要望ルールの複雑さによっても生成時間は変動します。

## 次のステップ

- [時間割エディターで編集](/timetable/editor/) - 生成後の確認と手動調整
- [ルール設定](/timetable/rules/) - ルールを見直す
