ジョブディスパッチングシミュレーター
優先順位ディスパッチングルールによる単一機械スケジューリングシミュレーション. 様々なディスパッチングルール(SPT、EDD、WSPTなど)が単一機械でジョブをどのように配置するかを比較します。ガントチャートを視覚化し、メイクスパンや総遅延などのパフォーマンス指標を評価します。
様々なディスパッチングルール(SPT、EDD、WSPTなど)が単一機械でジョブをどのように配置するかを比較します。ガントチャートを視覚化し、メイクスパンや総遅延などのパフォーマンス指標を評価します。
ジョブディスパッチングとは?
ディスパッチングルールは、機械上のジョブ順序をリアルタイムで決定する優先度ベースのヒューリスティックです。すべてのジョブを事前に把握している必要がある最適スケジューリングアルゴリズムとは異なり、ディスパッチングルールは各機械が空いた時点で局所的に判断を下すため、動的に変化する製造現場でも実用的に使えます。
代表的なルールには、平均フロータイムを最小化する SPT(最短加工時間順)、最大納期遅れを最小化する EDD(最早納期順)、重み付きフロータイムを最小化する WSPT(重み付き最短加工時間順)があります。すべての評価基準で他を圧倒する単一のルールは存在せず、最良のルールはスケジューリングの目的によって変わります。
ガントチャートは得られたスケジュールのタイムラインを可視化し、メイクスパン(総完了時間)、総納期遅れ(納期遅延の合計)、平均フロータイムといった性能指標がスケジュールの品質を定量化します。同じジョブ集合に対して複数のルールを比較すれば、現在の目的にどのルールが最も適合するかが分かります。
Formula: SPT: Sort by processing time (ascending) LPT: Sort by processing time (descending) EDD: Sort by due date (ascending) CR: Sort by (Due Date - Now) / Processing Time WSPT: Sort by Weight / Processing Time (descending) Tardiness = max(0, Completion Time - Due Date)
計算例
3 件のジョブ:A(p=4, d=10)、B(p=2, d=8)、C(p=6, d=12)。SPT の順序:B→A→C、完了時刻:2、6、12、納期遅れ:0+0+0=0。EDD の順序:B→A→C(同じ)、納期遅れ=0。LPT の順序:C→A→B、完了時刻:6、10、12、納期遅れ:0+0+4=4。この例では SPT が最適です。
この計算機を使用する場面
- 現場実装前に現在のジョブミックスに対してどのディスパッチングルールが総遅延を最小化するか評価する際
- 生産計画会議で異なる優先順位ルールが現在のジョブキューをどう順序付けるかシミュレーションする際
- 現場監督者に異なるディスパッチング戦略間のトレードオフと納期実績への影響を教育する際
- スケジュール中断(機械故障、緊急注文)後に残りのジョブを再順序付けし納期影響を最小化する際
- 繰り返されるジョブショップ特性に最適なルールを選択するためにヒューリスティックスケジューリングルールを比較する際
よくある間違い
- 遅延最小化にSPTを使用 — SPTは平均フロータイムを最小化するのであり遅延ではない;最大遅延最小化にはEDDまたは加重遅延ルールを使用
- 「公平」に見えるという理由でデフォルトでFCFSを適用 — FCFSはほぼすべての指標で最悪の性能を示すことが多い;ジョブ優先度が真に等しく順序が重要な場合のみ使用
- 条件変更時にディスパッチング決定を更新しない — 新ジョブ到着、ジョブキャンセル、機械故障時にディスパッチングルールを再評価すべき
- 優先度が異なる場合にジョブ重みを無視 — 一部のジョブがより重要な場合(高価値顧客、ペナルティ条項)、単純なSPTやEDDではなくWSPTまたはCRを使用
結果の解釈方法
- 全ジョブが時刻0に到着する単一機械では、メイクスパンはどのルールでも同じです(機械が遊休しないため)— ルールはメイクスパンではなく総遅延で評価してください。メイクスパンが異なるのは到着時間が遊休時間を生む場合だけです
- 総遅延が0なら、そのルールで全ジョブが納期を守れることを意味します — ガントチャートで納期までの余裕を確認し、外乱への頑健性を見積もってください
- 全ルール比較ビューでは、自分のジョブ構成に対して総遅延が最小のルールを選んでください — 複数のルールが同点なら、現場での実行が容易な単純なルール(例:CRよりEDD)を優先してください
- ジョブ別の遅延列でどの注文が遅れるかを特定してください — 1つの大きな遅延ジョブが合計を支配している場合、ディスパッチングルールを変えるより1件の納期を再交渉する方が効果的なことがあります
- WSPTがSPTと異なるのはジョブの重みが異なる場合だけで、CRがEDDと異なるのは処理時間が納期余裕に対して変化する場合だけです — ルール間で結果が同一に見えるなら、ジョブデータがそれらの入力を活かせていない可能性があります
関連規格・参考文献
- APICS CPIM Body of Knowledge — ディスパッチングルールと現場スケジューリングを扱う生産活動管理モジュール
- ISA-95 (IEC 62264) — スケジューリングとディスパッチングの機能階層を定義する企業・制御システム統合規格
よくある質問
どのディスパッチングルールを使用すべきですか?
目的によって異なります。SPT は平均フロータイムと仕掛在庫を最小化します。EDD は最大遅れを最小化します(最も厳しい納期を守るのに適しています)。WSPT は、ジョブごとに優先度が異なる場合の重み付き完了時間の最小化に対して最適です。CR(クリティカルレシオ)は現在時刻に応じて動的に適応します。多くの工場では、複数のルールを試して指標を比較するのが有効です。
ディスパッチングルールの代わりに最適スケジューリングアルゴリズムを使わないのはなぜですか?
最適スケジューリング(分枝限定法、MIP など)は現実の多くの問題で NP 困難であり、ジョブ数の増加とともに計算時間が指数関数的に増大します。ディスパッチングルールは O(n log n) の計算量で動作し、動的なジョブ到着、機械故障、優先度変更にリアルタイムで対応できます。実際、洗練されたディスパッチングルールは多くの問題で最適解の 5〜15% 以内に収まります。