フローショップ スケジューリングは、コンピュータ サイエンスとオペレーションズ リサーチにおける最適化問題です。これは、最適ジョブ スケジューリングのバリエーションです。一般的なジョブ スケジューリング問題では、処理時間の異なるn個のジョブJ 1、 J 2、...、 J nが与えられます。これらのジョブは、処理能力の異なるm台のマシンでスケジュールする必要があり、メイクスパン(スケジュール全体の長さ、つまり、すべてのジョブの処理が完了したときの長さ) を最小化するようにします。フローショップ スケジューリングと呼ばれる特定のバリエーションでは、各ジョブにm個の操作が含まれます。ジョブのi番目の操作は、 i番目のマシンで実行する必要があります。どのマシンも、同時に複数の操作を実行することはできません。各ジョブの各操作に対して、実行時間が指定されます。
フローショップ・スケジューリングは、ジョブショップ・スケジューリングの特殊なケースであり、すべてのジョブにおいて実行されるすべての操作に厳密な順序が定められています。フローショップ・スケジューリングは、コンピュータ設計だけでなく、生産設備にも適用できます。フローショップ・スケジューリング問題の特殊なタイプとして、順列フローショップ・スケジューリング問題があります。これは、リソース上のジョブの処理順序が、後続の各処理ステップで同じである問題です。
最適ジョブスケジューリング問題における標準的な3フィールド表記法では、フローショップ型は最初のフィールドにFで示されます。例えば、「 F3| |」で示される問題は、単位処理時間を持つ3台の機械によるフローショップ問題であり、最大完了時間を最小化することが目標となります。
m 台のマシンとn台のジョブがあります。各ジョブには正確にm 個の操作が含まれます。ジョブのi番目の操作はi番目のマシンで実行する必要があります。どのマシンも複数の操作を同時に実行することはできません。各ジョブの各操作には、実行時間が指定されています。
1つのジョブ内の操作は、指定された順序で実行されなければなりません。最初の操作は1台目のマシンで実行され、(最初の操作が完了すると)2台目のマシンで2番目の操作が実行され、m番目の操作まで同様に実行されます。ただし、ジョブは任意の順序で実行できます。問題は、最適な順序、つまりジョブ実行メイクスパンが可能な限り短くなる順序を決定することです。
シーケンス問題は、1 つまたは複数のシーケンス目標が最適化されるようにシーケンス S を決定することとして説明できます。
パフォーマンス測定に関する詳細な議論はMalakooti(2013)に記載されている。[ 1 ]
Gareyら(1976)が発表したように、[ 2 ]フローショップスケジューリング問題の拡張のほとんどはNP困難であり、そのうちO(nlogn)で最適に解けるものはほとんどありません。例えば、F2|prmu|C maxはジョンソンの法則を使って最適に解くことができます。[ 3 ]
テイラードはフローショップ、オープンショップ、ジョブショップのスケジューリングに関する実質的なベンチマーク問題を提供している。[ 4 ]
フローショップスケジューリング問題を解決するために提案されている方法は、分岐限定法などの正確なアルゴリズムと遺伝的アルゴリズムなどのヒューリスティックアルゴリズムに分類できます。
F2|prmu|C maxとF3|prmu|C maxはジョンソン則[ 3 ]を用いて最適に解くことができるが、一般的なケースでは解の最適性を保証するアルゴリズムは存在しない。
フローショップには、時刻0において同時に利用可能なn個のジョブがあり、それらは2台の機械で処理されます。これらの機械は、機械間に無制限の保管スペースを有しています。すべてのジョブの処理時間は確実に分かっています。メイクスパンを最小化するように、n個のジョブを各機械にスケジューリングする必要があります。2台の機械フローショップにおけるジョブのスケジューリングに関するジョンソンの規則を以下に示します。
最適なスケジュールでは、min{p 1i ,p 2j } < min{p 1j ,p 2i }の場合、ジョブ i はジョブ j に先行します。ここで、p 1iはマシン1におけるジョブ i の処理時間、p 2iはマシン2におけるジョブ i の処理時間です。同様に、p 1jとp 2jはそれぞれマシン1とマシン2におけるジョブ j の処理時間です。
ジョンソンのアルゴリズムの場合:
ジョンソンのアルゴリズム:
このタイプのスケジュールはSPT(1)-LPT(2)スケジュールと呼ばれます。
利用可能な解決方法の詳細な議論はMalakooti(2013)によって提供されています。[ 1 ]