(57)【要約】【課題】フローショップの目標生産性をより増大させる。【解決手段】必要仕掛量決定部１４は、各工程の必要仕掛量が各工程に事前に定められた上限仕掛量を超える超過工程の有無を検出し、超過工程がなくなるまで必要仕掛量算出部１３に必要仕掛量を算出させる。ここで、必要仕掛量決定部１４は、まず、全工程のジョブの選択ルールを自工程重視に設定して必要仕掛量算出部１３にフローショップを実行させて各工程の必要仕掛量を算出させ、超過工程がある場合、超過工程の選択ルールが次工程重視でなければ、超過工程の直前の工程の選択ルールを次工程重視に設定し、残りの工程の選択ルールを自工程重視に設定して必要仕掛量算出部１３にフローショップを実行させて各工程の必要仕掛量を算出させる。【選択図】図１
2018160021.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブから構成される１以上の入力ワークのそれぞれを複数の工程で順次に処理するフローショップをシミュレートするシミュレーション装置であって、
前記フローショップは、１の工程の入力バッファに１の入力ワークを格納し、前記入力バッファの先頭から所定番目までのジョブに対して前記１の工程の仕掛量を示す検索範囲を設定し、前記検索範囲内から所定の選択ルールで１のジョブを選択し、前記１の工程の出力バッファに格納する処理を最初の工程から最後の工程まで順次に繰り返すものであり、
前記フローショップの目標生産性を設定する設定部と、
前記最初の工程の入力バッファに１以上の入力ワークを格納し、各工程の入力バッファの検索範囲を更新しながら前記フローショップを実行して前記各工程の段取替回数を算出し、前記各工程の段取替回数に基づいて前記各工程の生産性を算出して前記各工程における前記仕掛量と前記生産性との関係性を示す関係性情報を生成し、前記各工程の関係性情報に基づいて、前記目標生産性を達成するための前記各工程の必要仕掛量を算出する必要仕掛量算出部と、
前記各工程の必要仕掛量が前記各工程に事前に定められた上限仕掛量を超える超過工程の有無を検出し、前記超過工程がなくなるまで前記必要仕掛量算出部に前記必要仕掛量を算出させる必要仕掛量決定部とを備え、
前記必要仕掛量決定部は、
まず、全工程の前記選択ルールを自工程重視に設定して前記必要仕掛量算出部に前記フローショップを実行させて前記各工程の必要仕掛量を算出させ、
前記超過工程がある場合、（ｉ）前記超過工程の前記選択ルールが次工程重視でなければ、前記超過工程の直前の工程の前記選択ルールを前記次工程重視に設定し、残りの工程の前記選択ルールを前記自工程重視に設定して前記必要仕掛量算出部に前記フローショップを実行させて前記各工程の必要仕掛量を算出させ、（ｉｉ）前記超過工程の前記選択ルールが次工程重視であれば、前記超過工程の生産性を前記目標生産性として再設定し、前記必要仕掛量算出部に前記フローショップを実行させて前記再設定した目標生産性を達成するための前記各工程の必要仕掛量を算出させ、
前記自工程重視の選択ルールは、直前に選択したジョブに対して自工程でのロットまとめ条件が同じジョブを優先的に選択するというルールであり、
前記次工程重視の選択ルールは、直前に選択したジョブに対して次工程でのロットまとめ条件が同じジョブを優先的に選択するというルールであるシミュレーション装置。
【請求項２】
前記各工程の上限仕掛量を前記各工程の入力バッファの検索範囲として設定し、前記フローショップを実行することで前記各工程の生産性を算出し、前記生産性が最低の工程をネック工程として検出するネック工程検出部を更に備え、
前記目標生産性設定部は、前記ネック工程の生産性を前記目標生産性として設定する請求項１記載のシミュレーション装置。
【請求項３】
前記目標生産性設定部は、予め設定された値を前記目標生産性として設定する請求項１記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のジョブから構成される１以上の入力ワークを複数の工程で順次に処理させるフローショップをシミュレートするシミュレーション装置に関するものである。
【背景技術】
【０００２】
多品種を処理する設備では、品種の切り替えに段取時間（例：熱処理設備の過熱、冷却時間）が発生する。設備での生産性を向上するためには、同じ品種の処理を極力続け、段取り替えを減らすことが重要となる。
【０００３】
これに対し、設備前に保有する仕掛量を多くして生産性を向上する工夫が一般に行われている。仕掛量を多くすると、処理するジョブの選択肢が拡がるので、品種が同じジョブをまとめやすくなり、設備での生産性が向上する。「仕掛量」とは、順序入替のためのバッファサイズを指す。
【０００４】
一方、必要以上に仕掛量を多くすることは、キャッシュ効率等の観点から望ましくない。そこで、求められる生産性（必要生産性）に対する、段取替えの影響を考慮した上での適正な仕掛量を算出することが重要となる。
【０００５】
特許文献１には、複数の工程に複数のジョブからなる入力ワークを順次に処理させるフローショップにおいて、各工程の上限仕掛量を入力とし、そのフローショップの生産性を最大化させるための各工程の必要仕掛量を求める手法を開示する。
【０００６】
詳細には、各工程の生産性をシミュレーションにより概算し、生産性が最低のネック工程を求め、そのネック工程の生産性を仮の目標生産性（α）とおき、ネック工程の直前の工程のジョブの選択ルールを次工程重視、残りの工程のジョブの選択ルールを自工程重視に設定し、目標生産性（α）を達成するための各工程の必要仕掛量を求める。
【０００７】
そして、必要仕掛量が各設備の上限仕掛量をオーバーする工程がある場合、その工程をネック工程として再設定し、目標生産性（α）の値を所定の処理によって目標生産性（β）に下げ、ネック工程の直前の工程のジョブの選択ルールを次工程重視、残りの工程のジョブの選択ルールを自工程重視に設定し、目標生産性（β）を達成するための各設備の必要仕掛量を求める処理を、必要仕掛量が上限仕掛量をオーバーする設備がなくなるまで繰り返す。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１７−２１７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１ではネック工程の直前の工程が次工程重視、残りの工程が自工程重視に設定されているが、全工程を自工程重視にしても全工程の必要仕掛量を上限仕掛量よりも小さくできる可能性がある。例えば、各工程のジョブの選択ルールを自工程重視に設定した場合の処理結果が次の工程にとってもロットまとめがしやすい処理結果である場合や、各工程の上限仕掛量のサイズが十分な大きさを持っている場合であれば、全工程のジョブの選択ルールを自工程重視に設定しても、全工程の必要仕掛量を上限仕掛量より小さくすることができる。特許文献１では、このような事象を考慮することなく、ネック工程の直前の工程を次工程重視、残りの工程を自工程重視に設定してフローショップが実行されているので、結果的に目標生産性が増大してしまう可能性がある。
【００１０】
また、特許文献１では、再設定したネック工程のジョブの選択ルールが自工程重視であった場合、目標生産性（α）を下げているが、目標生産性（α）を下げなくても、各工程のジョブの選択ルールを変更するだけで、全工程の必要仕掛量を上限仕掛量よりも小さくできる可能性がある。
【００１１】
自工程重視の必要仕掛量が上限仕掛量をオーバーするのは、「直前の工程の処理結果が自工程にとってロットまとめしにくい処理結果である」ことが原因である。そのため、ネック工程の直前の工程のジョブの選択ルールを次工程重視にするだけで、直前の工程の処理結果は自工程にとってロットまとめがしやすい処理結果となるので、目標生産性（α）を下げなくても、全工程の必要仕掛量を上限仕掛量より小さくできる可能性がある。したがって、特許文献１では、最終的に得られる目標生産性を増大させるうえで更なる改善の余地がある。
【００１２】
本発明は、フローショップの目標生産性をより増大させることができるシミュレーション装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明の一態様に係るシミュレーション装置は、複数のジョブから構成される１以上の入力ワークのそれぞれを複数の工程で順次に処理するフローショップをシミュレートするシミュレーション装置であって、
前記フローショップは、１の工程の入力バッファに１の入力ワークを格納し、前記入力バッファの先頭から所定番目までのジョブに対して前記１の工程の仕掛量を示す検索範囲を設定し、前記検索範囲内から所定の選択ルールで１のジョブを選択し、前記１の工程の出力バッファに格納する処理を最初の工程から最後の工程まで順次に繰り返すものであり、
前記フローショップの目標生産性を設定する設定部と、
前記最初の工程の入力バッファに１以上の入力ワークを格納し、各工程の入力バッファの検索範囲を更新しながら前記フローショップを実行して前記各工程の段取替回数を算出し、前記各工程の段取替回数に基づいて前記各工程の生産性を算出して前記各工程における前記仕掛量と前記生産性との関係性を示す関係性情報を生成し、前記各工程の関係性情報に基づいて、前記目標生産性を達成するための前記各工程の必要仕掛量を算出する必要仕掛量算出部と、
前記各工程の必要仕掛量が前記各工程に事前に定められた上限仕掛量を超える超過工程の有無を検出し、前記超過工程がなくなるまで前記必要仕掛量算出部に前記必要仕掛量を算出させる必要仕掛量決定部とを備え、
前記必要仕掛量決定部は、
まず、全工程の前記選択ルールを自工程重視に設定して前記必要仕掛量算出部に前記フローショップを実行させて前記各工程の必要仕掛量を算出させ、
前記超過工程がある場合、（ｉ）前記超過工程の前記選択ルールが次工程重視でなければ、前記超過工程の直前の工程の前記選択ルールを前記次工程重視に設定し、残りの工程の前記選択ルールを前記自工程重視に設定して前記必要仕掛量算出部に前記フローショップを実行させて前記各工程の必要仕掛量を算出させ、（ｉｉ）前記超過工程の前記選択ルールが次工程重視であれば、前記超過工程の生産性を前記目標生産性として再設定し、前記必要仕掛量算出部に前記フローショップを実行させて前記再設定した目標生産性を達成するための前記各工程の必要仕掛量を算出させ、
前記自工程重視の選択ルールは、直前に選択したジョブに対して自工程でのロットまとめ条件が同じジョブを優先的に選択するというルールであり、
前記次工程重視の選択ルールは、直前に選択したジョブに対して次工程でのロットまとめ条件が同じジョブを優先的に選択するというルールである。
【００１４】
本態様によれば、まず、全工程のジョブの選択ルールが自工程重視に設定されてフローショップが実行され、各工程の必要仕掛量が算出されているので、ネック工程の直前の工程を次工程重視、残りの工程を自工程重視に設定する特許文献１の手法に比べ、処理の簡素化を図ることができる。
【００１５】
また、本態様によれば、超過工程がある場合、超過工程の選択ルールが次工程重視でなければ、超過工程の直前の工程の選択ルールのみが次工程重視に設定され、残りの工程の選択ルールが自工程重視に設定されてフローショップが実行されるので、目標生産性を下げることなく、目標生産性を達成するための各工程の必要仕掛量を算出できる。これにより、本態様は、特許文献１の手法に比べて最終的に得られる目標生産性の向上を図ることができる。
【００１６】
一方、本態様によれば、超過工程の選択ルールが次工程重視であれば、超過工程の生産性が目標生産性として再設定され、フローショップが実行されるので、目標生産性が下げられ、上限仕掛量より小さな必要仕掛量が算出される可能性を高くすることができる。
【００１７】
上記態様において、前記各工程の上限仕掛量を前記各工程の入力バッファの検索範囲として設定し、前記フローショップを実行することで前記各工程の生産性を算出し、前記生産性が最低の工程をネック工程として検出するネック工程検出部を更に備え、
前記目標生産性設定部は、前記ネック工程の生産性を前記目標生産性として設定してもよい。
【００１８】
本態様によれば、各工程の上限仕掛量が入力バッファの検索範囲に設定されてフローショップが実行され、生産性が最低の工程がネック工程として検出され、そのネック工程の生産性が目標生産性として設定されるので、必要仕掛量を上限仕掛量より小さくすることができないような達成不可能な目標生産性が設定されることを防止できる。
【００１９】
上記態様において、前記目標生産性設定部は、予め設定された値を前記目標生産性として設定してもよい。
【００２０】
本態様によれば、予め定められた目標生産性が達成できるように必要仕掛量を最適化することができる。
【発明の効果】
【００２１】
本発明によれば、フローショップの目標生産性をより増大させることができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態に係るシミュレーション装置の構成を示すブロック図である。
【図２】実施の形態に係るフローショップの一例を示す図である。
【図３】工程（１）でのフローショップの一例を示す図である。
【図４】実施の形態に係るシミュレーション装置の処理の一例を示すフローチャートである。
【図５】Ｓ２０１のサブルーチンを示すフローチャートである。
【図６】Ｓ２０３のサブルーチンを示すフローチャートである。
【図７】関係性情報の一例を示すグラフである。
【図８】関係性情報の他の例を示すグラフである。
【発明を実施するための形態】
【００２３】
図１は、実施の形態に係るシミュレーション装置１の構成を示すブロック図である。シミュレーション装置１は、例えば、ＣＰＵ等のプロセッサと、ＲＯＭ及びＲＡＭ等の記憶装置とを備えるコンピュータで構成され、処理部１０、入力部１５、及び出力部１６を備える。
【００２４】
シミュレーション装置１は、複数のジョブから構成される１以上の入力ワークのそれぞれを複数の工程で順次に処理するフローショップをシミュレートする。
【００２５】
図２は、実施の形態に係るフローショップの一例を示す図である。図２に示すフローショップは、入力ワークを順次に処理する６つの設備Ｋ１〜Ｋ６で構成される。設備Ｋ１〜Ｋ６は、それぞれ、工程（１）〜（６）を実行する。入力ワークは、まず、工程（１）に入力され、工程（２）、・・・、工程（６）と順次に処理され、最終的な製品へと加工される。
【００２６】
各工程のそれぞれには、上限仕掛量が事前に設定されている。ここで、「仕掛量」とは、入力ワークを構成する複数のジョブの処理順序を入れ替えることが可能なバッファサイズを指す。「上限仕掛量」とは、各工程（各設備）が所持できる最大の仕掛量を指す。図２の例では、工程（１）〜工程（６）に対して、それぞれ、「３０」、「２５」、「４０」、「２５」、「２０」、「２５」の上限仕掛量が設定されている。
【００２７】
「設備」とは、例えば、製品を処理する処理装置が該当し、ロットに応じて段取り替えが行われる。「ロット」とは、各工程で入力ワークを処理するにあたり、１つにまとめることができるジョブの単位を表す。「ジョブ」とは、例えば、各工程において処理対象となるワーク（例えば、素材）が該当し、本シミュレーションでは１の設備における１の処理単位を指す。「入力ワーク」は、例えば、処理対象となる複数のワーク群（例えば、素材群）が該当し、本シミュレーションでは複数のジョブから構成される。
【００２８】
「段取り替え」とは、工程において、処理対象となる製品の品種や工程内容が変わる際生じる段取り作業のことを指し、本シミュレーションではロットまとめ条件が変わる度に段取り替えが発生する。
【００２９】
各工程は、ロットまとめ条件を持ち、ロットまとめ条件にしたがって、入力ワークのジョブの処理順序が変更される。図６の例では、工程（１）〜工程（６）は、それぞれ、「熱処理温度」、「板厚」、「表面処理」、「熱処理温度」、「板幅」、及び「塗料」のロットまとめ条件が規定されている。例えば、工程（１）は、「熱処理温度」に関する処理条件がロットまとめ条件であり、「熱処理温度」に関する処理条件が同じジョブが１つのロットにまとめられて入力ワークが処理される。本シミュレーションでは、各ジョブは、各工程におけるロットまとめ条件が事前に定められている。
【００３０】
シミュレーション装置１は、１の工程の入力キュー（入力バッファの一例）に１の入力ワークを格納し、入力キューの先頭から所定番目までのジョブに対して１の工程の仕掛量を示す検索範囲を設定し、検索範囲内から所定の選択ルールで１のジョブを選択し、１の工程の出力キュー（出力バッファの一例）に格納する処理を最初の工程から最後の工程まで順次に繰り返すことで上記のフローショップを実現する。
【００３１】
図３は、工程（１）でのフローショップの一例を示す図である。以下、図３を用いて、工程（１）でのフローショップに関する処理について説明する。
【００３２】
（処理１）入力ワークの作成
シミュレーション装置１は、記憶装置に事前に記憶された複数のジョブのデータを読み出し、ランダムに並べ替えて、入力ワークを作成し、工程（１）の入力キュー３０１に格納する。図３の例では、１つの楕円が１つのジョブを示し、各ジョブは、「Ａ」、「Ｂ」、「Ｃ」の３つのロットまとめ条件が事前に規定されている。なお、入力キュー３０１の先頭は工程（１）を実施する設備側であり、設備に近いジョブほど処理順序が高い。
【００３３】
（処理２）ジョブの選択
シミュレーション装置１は、検索範囲Ｒを入力キュー３０１に設定する。ここでは、入力キュー３０１の先頭から後端側に向けて８個のジョブに検索範囲Ｒが設定されている。検索範囲Ｒは工程（１）の仕掛量に相当する。
【００３４】
次に、シミュレーション装置１は、検索範囲Ｒの中から所定の選択ルールで１つのジョブを選択し、出力キュー１０６に格納する。選択ルールについては後述するが、基本的には、検索範囲Ｒ内において、直前に選択したジョブと工程（１）でのロットまとめ条件が同じジョブであって処理順序が最先のジョブを選択するというルールである。
【００３５】
セクション（ａ）では、検索範囲Ｒの中からロットまとめ条件「Ａ」の３つのジョブがジョブ「１」〜「３」として既に選択されて出力キュー１０６に格納されており、４番目のジョブ「４」が選択される様子が示されている。直前に選択したジョブ「３」は、ロットまとめ条件が「Ａ」であり、検索範囲Ｒ内において、ロットまとめ条件が「Ａ」であり、且つ、処理順序が最先のジョブは、先頭から７番目のジョブであるので、７番目のジョブがジョブ「４」として、出力キュー１０６に格納されている。
【００３６】
セクション（ｂ）では、検索範囲Ｒ内において、ロットまとめ条件「Ａ」のジョブがないので、先頭のジョブ（ロットまとめ条件「Ｃ」）がジョブ「５」として選択され、出力キュー１０６に格納されている。
【００３７】
（処理３）入力キューの更新
シミュレーション装置１は、入力キュー３０１から１つのジョブを選択すると、入力キュー３０１内の検索範囲Ｒからジョブが１つ減るので、入力キュー３０１に残存するジョブの順序を１つ繰り上げる。
【００３８】
（処理４）ジョブの選択と入力キューの更新の繰り返し
シミュレーション装置１は、入力キュー３０１が空になるまで、（処理２）と、（処理３）とを繰り返す。
【００３９】
セクション（ｇ）では、入力キュー３０１から全てのジョブが選択され、入力キュー３０１が空になっている。
【００４０】
これにより、最終的に、出力キュー１０６には左側の先頭から順番に、品種「Ａ」の４つのジョブ、品種「Ｃ」の４つのジョブ、品種「Ｂ」の７つのジョブ、品種「Ａ」の４つのジョブ、品種「Ｃ」の２つのジョブが配列された入力ワークが得られる。
【００４１】
（処理５）次の工程の入力キューへの入力ワークの格納
シミュレーション装置１は、（処理４）が終了すると、出力キュー１０６に格納した入力ワークを工程（２）の入力キュー３０１に格納し、（処理２）〜（処理４）を繰り返す。以後、シミュレーション装置１は、最終の工程までの各工程に対して（処理２）〜（処理４）を繰り返す。
【００４２】
図１に戻り、処理部１０は、ネック工程検出部１１、設定部１２、必要仕掛量算出部１３、及び必要仕掛量決定部１４を備える。処理部１０が備える各部は、例えば、ＣＰＵが記憶装置に記憶されたコンピュータをシミュレーション装置１として機能させるコンピュータ読取可能なプログラムを実行することで実現される。ここで、このプログラムは例えば、ＤＶＤ−ＲＯＭ等の記録媒体に記録されて市場に提供されてもよい。
【００４３】
ネック工程検出部１１は、各工程の上限仕掛量を各工程の入力キューの検索範囲として設定し、フローショップを実行することで各工程の生産性を算出し、生産性が最低の工程をネック工程として検出する。
【００４４】
図３の例では、ネック工程検出部１１は、検索範囲Ｒを各工程の上限仕掛量に設定した上で、最初の工程から最後の工程に向けて上記のフローショップを実行する。そして、ネック工程検出部１１は、各工程の出力キュー１０６に格納された入力ワークから各工程の段取り替え回数を算出し、算出した段取り替え回数に基づいて、各工程の生産性を算出する。
【００４５】
段取り替え回数は、出力キュー１０６に格納された入力ワークにおいて、ロットまとめ条件が切り替わる位置で段取り替えが発生するものとする。図３のセクション（ｇ）の例では、４番目及び５番目のジョブの間、８番目及び９番目のジョブの間、１５番目及び１６番目のジョブの間、１９番目及び２０番目のジョブの間でロットまとめ条件が切り替わっている。よって、ネック工程検出部１１は、工程（１）の段取り替え回数を４回と算出する。
【００４６】
ネック工程検出部１１は、各工程の段取り替え回数から、例えば、下記の式（１）を用いて各工程の生産性を算出する。
【００４７】
生産性［ｔｏｎ／月］＝７２０［ｈｒ／月］×稼働率［％］×（１／１００）×Σジョブの処理重量［ｔｏｎ］／（Σ処理時間［ｈｒ］＋Σ段取り替え時間［ｈｒ］）・・・（１）
ここで、「Σジョブの処理重量」は工程が処理するジョブの重量の総和を示す。「重量」はジョブの１個当たりの重量の平均値を示し、「ｔｏｎ／個」で表される。ここで、「重量」は、ジョブ毎に異なる値が設定されてもよい。なお、「重量」は事前に記憶装置に記憶されている。
【００４８】
「Σ処理時間」はジョブの処理時間の総和を示す。「処理時間」は、１個のジョブを処理するために必要な時間の平均値を示し、「分／個」で表される。ここで、「処理時間」は、ジョブの種類と、ロットまとめ条件とのうちの少なくともいずれか１つの毎に異なる値が設定されてもよいし、一律に同じ値が設定されてもよい。なお、「処理時間」は、記憶装置に事前に記憶されている。
【００４９】
「Σ段取り替え時間」はジョブの段取り替え時間の総和を示す。「段取り替え時間」は、段取り替え回数「１回」当たりに必要な時間の平均値を示し、「分／回」で表される。ここで、「段取り替え時間」は、ロットまとめ条件の切り替わりパターン毎に異なる値が設定されてもよいし、一律に同じ値が設定されてもよい。例えば、図３のセクション（ｇ）では、ロットまとめ条件が「Ａ」→「Ｃ」、「Ｃ」→「Ｂ」、「Ｂ」→「Ａ」というように切り替えられているので、これらの切り替えパターン毎に段取り替え時間は設定されてもよい。
【００５０】
例えば、段取り替え時間を一律に同じ値に設定した場合、「Σ段取り替え時間」は、「段取り替え回数」に「段取り替え時間」を乗じた値になる。また、例えば、段取り替え時間をロットまとめ条件の切り替わりパターン毎に異なる値に設定した場合、「Σ段取り替え時間」は、切り替わりパターン毎の「段取り替え時間」の加算値となる。いずれにせよ、「Σ段取り替え時間」は、「段取り替え回数」が増大するにつれて増大するので、「生産性」は、「段取り替え回数」が増大するにつれて減少する。「段取り替え時間」は事前に記憶装置に記憶されている。
【００５１】
「稼働率」は、設備の全操業時間のうち、処理時間と段取り替え時間とに設備が費やすことができる最大時間の比率を示し、「％」で表される。ここで、「稼働率」は工程毎に異なる値が採用されてもよいし、全工程において同じ値が設定されてもよい。
【００５２】
なお、「７２０」は、１月を３０日とした場合の１月の時間、すなわち、２４時間×３０日である。
【００５３】
設定部１２は、フローショップの目標生産性を設定する。ここで、設定部１２は、ネック工程検出部１１により検出されたネック工程の生産性を目標生産性として設定する。
【００５４】
必要仕掛量算出部１３は、最初の工程の入力キューに１以上の入力ワークを格納し、各工程の入力キューの検索範囲を更新しながらフローショップを実行して各工程の段取替回数を算出する。そして、必要仕掛量算出部１３は、各工程の段取替回数に基づいて各工程の生産性を算出して各工程における仕掛量と生産性との関係性を示す関係性情報を生成する。そして、必要仕掛量算出部１３は、各工程の関係性情報に基づいて、目標生産性を達成するための各工程の必要仕掛量を算出する。
【００５５】
図３を参照し、必要仕掛量算出部１３は、まず、１の入力ワークを生成して入力キュー３０１に格納する。次に、検索範囲Ｒを初期値（例えば、「１」）に設定し、入力キュー３０１の検索範囲Ｒ内からジョブを選択して出力キュー１０６に格納する処理を入力キューが空にまで繰り返す。次に、必要仕掛量算出部１３は、出力キュー１０６に格納された入力ワークから段取り替え回数を求め、式（１）を用いて生産性を算出する。これにより、検索範囲Ｒと生産性との１の組、すなわち、仕掛量と生産性との１の組が得られる。
【００５６】
次に、必要仕掛量算出部１３は、検索範囲Ｒを所定幅（例えば、「１」）増大させ、同じ処理を繰り返し、仕掛量と生産性との１の組を得る。必要仕掛量算出部１３は、この処理を検索範囲Ｒが所定の終了値になるまで繰り返し、仕掛量と生産性との組を複数得る。更に、必要仕掛量算出部１３は、他の１以上の入力ワークに対しても、同様の処理を行い、仕掛量と生産性との組を複数得る。これにより、仕掛量と生産性との関係性を網羅的に示す関係性情報が得られる。例えば、検索範囲Ｒの数をＭ、入力ワークの数をＮとするとＭ×Ｎ個の仕掛量と生産性との組が得られる。
【００５７】
図７は、関係性情報の一例を示すグラフである。図７において、縦軸は生産性、横軸は仕掛量を示す。図７に示されるように、ジョブをランダムに組み合わせて入力ワークが作成されているため、仕掛量が同じであっても生産性にバラツキが生じているが、大局的には仕掛量が増大するにつれて生産性が向上していることが分かる。これは、仕掛量が大きいほど、入力キューから直前に選択したジョブとロットまとめ条件が同じジョブを選び易くなり、段取り替え回数を少なくすることができるからである。段取り替え回数が少なくなると、段取り替え時間が減少し、式（１）の分母の値が減少するので、生産性が増大する。
【００５８】
必要仕掛量算出部１３は、このようにして工程毎の関係性情報を作成する。そして、必要仕掛量算出部１３は、各工程の関係性情報を用いて目標生産性を達成するために最低限必要な各工程の仕掛量である必要仕掛量を算出する。図７の例では、αが目標生産性とされているので、必要仕掛量は１０と算出される。
【００５９】
図１に戻る。必要仕掛量決定部１４は、各工程の必要仕掛量が各工程に事前に定められた上限仕掛量を超える超過工程の有無を検出し、超過工程がなくなるまで必要仕掛量算出部１３に必要仕掛量を算出させる。
【００６０】
ここで、必要仕掛量決定部１４は、まず、全工程のジョブの選択ルールを自工程重視に設定して必要仕掛量算出部１３にフローショップを実行させて各工程の必要仕掛量を算出させる。
【００６１】
そして、必要仕掛量決定部１４は、超過工程がある場合、超過工程の選択ルールが次工程重視でなければ、超過工程の直前の工程の選択ルールを次工程重視に設定し、残りの工程の選択ルールを自工程重視に設定して必要仕掛量算出部１３にフローショップを実行させて各工程の必要仕掛量を算出させる。
【００６２】
一方、必要仕掛量決定部１４は、超過工程がある場合、超過工程の選択ルールが次工程重視であれば、超過工程の生産性を目標生産性として再設定し、必要仕掛量算出部１３にフローショップを実行させ、再設定した目標生産性を達成するための各工程の必要仕掛量を算出させる。
【００６３】
自工程重視の選択ルールは、直前に選択したジョブに対して自工程でのロットまとめ条件が同じジョブを優先的に選択するというルールである。
【００６４】
具体的には、自工程重視の選択ルールは以下の（１）〜（４）の優先順位でジョブを選択するルールである。
【００６５】
（１）直前に選択したジョブと自工程及び次工程でのロットまとめ条件が同じジョブを選択する。
【００６６】
（２）直前に選択したジョブと自工程でのロットまとめ条件が同じジョブを選択する。
【００６７】
（３）直前に選択したジョブと次工程でのロットまとめ条件が同じジョブを選択する。
【００６８】
（４）入力キューの先頭のジョブを選択する。
【００６９】
次工程重視の選択ルールは、直前に選択したジョブに対して次工程でのロットまとめ条件が同じジョブを優先的に選択するというルールである。
【００７０】
具体的には、次工程重視の選択ルールは、上記の（１）〜（４）の優先順位のうち（２）、（３）を入れ替えたルールである。具体的には下記の通りである。
【００７１】
（１）直前に選択したジョブと自工程及び次工程でのロットまとめ条件が同じジョブを選択する。
【００７２】
（２）直前に選択したジョブと次工程でのロットまとめ条件が同じジョブを選択する。
【００７３】
（３）直前に選択したジョブと自工程でのロットまとめ条件が同じジョブを選択する。
【００７４】
（４）入力キューの先頭のジョブを選択する。
【００７５】
入力部１５は、例えば、キーボードやマウス等の入力装置で構成され、オペレータから、シミュレーションに必要な条件等を入力する操作を受け付ける。出力部１６は、例えば、ディスプレイで構成され、シミュレーション結果等の画像を表示する。
【００７６】
［フローチャート］
図４は、実施の形態に係るシミュレーション装置１の処理の一例を示すフローチャートである。以下の説明では、工程（１）〜工程（Ｋ）のＫ個の工程があるものとする。Ｋは２以上の整数である。
【００７７】
まず、ネック工程検出部１１は、ネック工程を検出する。ここで、ネック工程検出部１１は、各工程の検索範囲を各工程に対して事前に定められた上限仕掛量で固定したうえで、フローショップを実行することで、各工程の生産性を算出し、生産性が最低の工程をネック工程（Ｎ）として検出する。Ｓ２０１の処理の詳細は図５を用いて後述する。ここで、設定部１２は、ネック工程（Ｎ）の生産性を目標生産性αとして設定する。なお、Ｎ＝１，２，・・・，Ｋの整数である。
【００７８】
次に、必要仕掛量決定部１４は、全工程のジョブの選択ルールを自工程重視に設定する（Ｓ２０２）。
【００７９】
次に、必要仕掛量算出部１３は、フローショップを実行し、目標生産性αを達成するための各工程の必要仕掛量を工程（１）から順番に算出する（Ｓ２０３）。Ｓ２０３の処理の詳細は図６を用いて後述する。
【００８０】
次に、必要仕掛量決定部１４は、必要仕掛量が上限仕掛量より大きな工程（Ｎ’）の有無を検出する（Ｓ２０４）。なお、Ｎ’＝１，２，・・・，Ｋの整数である。工程（Ｎ’）が検出されれば（Ｓ２０４でＹＥＳ）、処理がＳ２０５に進められ、工程（Ｎ’）が検出されなければ（Ｓ２０４でＮＯ）、処理は終了される。工程（Ｎ’）は超過工程に該当する。
【００８１】
次に、必要仕掛量決定部１４は、工程（Ｎ’）の選択ルールが次工程重視であるか否かを判定する（Ｓ２０５）。工程（Ｎ’）の選択ルールが次工程重視でなければ（Ｓ２０５でＮＯ）、工程（Ｎ’）の直前の工程（Ｎ’−１）の選択ルールを次工程重視、残りの工程の選択ルールを自工程重視に設定し（Ｓ２０７）、処理をＳ２０３に戻す。
【００８２】
この場合、必要仕掛量算出部１３は、目標生産性αを下げることなく、Ｓ２０３においてフローショップを実行し、各工程の必要仕掛量を算出することになる。
【００８３】
一方、必要仕掛量決定部１４は、工程（Ｎ’）の選択ルールが次工程重視であれば（Ｓ２０５でＹＥＳ）、工程（Ｎ’）をネック工程として再定義し、工程（Ｎ’）の関係性情報から工程（Ｎ’）の上限仕掛量を達成するための最大の生産性βを決定し、決定した生産性βを目標生産性αとして設定し（Ｓ２０６）、処理をＳ２０３に戻す。
【００８４】
この場合、目標生産性αが下げられて、Ｓ２０３に示す処理が実行されるので、超過工程が発生する可能性を低下させることができる。
【００８５】
例えば、工程（Ｎ’）に対する関係性情報として、図８に示す関係性情報が得られたとすると、工程（Ｎ’）の上限仕掛量（＝２５）を達成するための最大の生産性（＝２２０）が生産性βとして算出される。なお、生産性βは、α＞βとなる。これは、図８に示すように、ネック工程の上限仕掛量（＝２５）は、目標生産性αに対応する仕掛量（＝３５）よりも小さいからである。
【００８６】
Ｓ２０３〜Ｓ２０７の処理を繰り返すことで、工程（Ｎ’）が検出されなくなるまで、必要仕掛量の算出が繰り返される。
【００８７】
なお、Ｓ２０５において、工程（Ｎ’）＝工程（１）であれば、工程（Ｎ’−１）が存在しないので、全工程が自工程重視に設定される。また、Ｓ２０１，Ｓ２０３の処理を踏まえると、１回目のＳ２０５では、Ｎ’＝１になることはない。
【００８８】
また、工程（Ｎ）及び工程（Ｎ’）以降の工程の選択ルールは必ず「自工程重視」であり、目標生産性αに対して必要仕掛量＜上限仕掛量となる。これは、工程（Ｎ）、工程（Ｎ’）以降の工程は目標生産性αを達成するための生産能力を有しているからである。
【００８９】
図５は、Ｓ２０１のサブルーチンを示すフローチャートである。Ｓ３０１では、ネック工程検出部１１は、記憶装置からシミュレーション対象となる複数のジョブのデータを読み出し、読み出したジョブをランダムに並べ替えて、入力ワークを作成する。
【００９０】
Ｓ３０２では、ネック工程検出部１１は、工程（１）〜工程（Ｋ）のうち、１の工程（ｋ）を指定するための変数ｋに１を代入して変数ｋを初期化する。
【００９１】
Ｓ３０３では、ネック工程検出部１１は、工程（ｋ）の入力キューに、Ｓ３０１で作成した入力ワークを格納する。
【００９２】
Ｓ３０４では、ネック工程検出部１１は、工程（ｋ）の検索範囲を、工程（ｋ）の上限仕掛量に固定する。
【００９３】
次に、ネック工程検出部１１は、検索範囲の中から１のジョブを選択し（Ｓ３０５）、選択した１のジョブを出力キューに格納する。ここでは、ネック工程検出部１１は、自工程重視の選択ルールでジョブを選択すればよい。
【００９４】
次に、ネック工程検出部１１は、入力キュー内に残存するジョブの順序を１つ繰り上げ、入力キューを更新する（Ｓ３０６）。
【００９５】
次に、ネック工程検出部１１は、入力キューが空になったか否かを判定し（Ｓ３０７）、空になった場合（Ｓ３０７でＹＥＳ）、処理をＳ３０８に進める。
【００９６】
一方、入力キューが空になっていない場合（Ｓ３０７でＮＯ）、ネック工程検出部１１は、処理をＳ３０５に戻し、次の１のジョブを選択する。以上の処理が繰り返され、入力ワークはロットまとめ条件に従った処理順序で並べ替えられ、工程（ｋ）の出力キューに格納される。
【００９７】
Ｓ３０８では、ネック工程検出部１１は、工程（ｋ）の出力キューに格納された入力ワークに対する段取り替え回数を計算する。
【００９８】
Ｓ３０９では、ネック工程検出部１１は、式（１）を用いて、工程（ｋ）の生産性を計算する。ここでは、式（１）を用いて生産性が計算されたが、これは一例である。例えば、式（１）に代えて、入力ワークを構成する全ジョブの合計処理時間と、段取り時間との和が生産性として算出されてもよい。
【００９９】
Ｓ３１０では、ネック工程検出部１１は、変数ｋがＫに到達したか否かを判定し、変数ｋがＫに到達していなければ（Ｓ３１０でＮＯ）、変数ｋを１インクリメントして（Ｓ３１１）、処理をＳ３０３に戻す。これにより、工程（ｋ）の出力キューに格納された入力ワークが、工程（ｋ＋１）の入力キューに格納され、Ｓ３０３〜Ｓ３０９の処理が繰り返される。
【０１００】
一方、変数ｋがＫに到達していれば（Ｓ３１０でＹＥＳ）、ネック工程検出部１１は、入力ワークの作成数が上限に到達したか否かを判定する（Ｓ３１２）。入力ワークの作成数が上限に到達していなければ（Ｓ３１２でＮＯ）、処理がＳ３０１に戻され、別の入力ワークが作成され、この入力ワークに対してＳ３０１〜Ｓ３１２の処理が実行される。
【０１０１】
一方、入力ワークの作成数が上限に到達していれば（Ｓ３１２でＹＥＳ）、処理がＳ３１３に進められる。以上、Ｓ３０１〜Ｓ３１２の処理が繰り返されることで、工程（１）〜工程（Ｋ）の検索範囲をそれぞれ上限仕掛量に設定したときの、工程（１）〜工程（Ｋ）のそれぞれについての生産性が算出される。
【０１０２】
Ｓ３１３では、ネック工程検出部１１は、工程（１）〜工程（Ｋ）の中から生産性が最低の工程をネック工程として検出する。
【０１０３】
Ｓ３１４では、ネック工程検出部１１はネック工程の工程番号をＮと設定し、設定部１２はネック工程の生産性を目標生産性αと設定する。Ｓ３１４の処理が終了すると、処理は図４のＳ２０２に進められる。
【０１０４】
図６は、Ｓ２０３のサブルーチンを示すフローチャートである。まず、必要仕掛量算出部１３、工程（１）において、工程（１）のロットまとめ条件を用いたフローショップを実施し、工程（１）での関係性情報を得る（Ｓ４０１）。詳細には、必要仕掛量算出部１３は、工程（１）について、検索範囲を変えながら複数の入力ワークにつてのフローショップを実行することで、生産性と仕掛量との組を複数算出し、工程（１）についての関係性情報を得る。これにより、工程（１）に関して、図７や図８に示すような関係性情報が得られる。
【０１０５】
次に、必要仕掛量算出部１３は、工程（１）〜工程（Ｋ）のうち、１の工程（ｋ）を指定するための変数ｋに１を代入して変数ｋを初期化する（Ｓ４０２）。
【０１０６】
次に、必要仕掛量算出部１３は、工程（ｋ）の関係性情報から目標生産性αを達成するための必要仕掛量を工程（ｋ）の検索範囲Ｒ（ｋ）として決定する（Ｓ４０３）。例えば、工程（１）に対する関係性情報として、図７に示すものが得られたとすると、目標生産性α（＝２２５）を達成するための必要仕掛量（＝１０）が検索範囲Ｒ（１）として決定される。
【０１０７】
次に、必要仕掛量算出部１３は、工程（ｋ）の検索範囲を検索範囲Ｒ（ｋ）に固定する（Ｓ４０４）。
【０１０８】
次に、必要仕掛量算出部１３は、ジョブをランダムに並び替えて入力ワークを作成し、、工程（１）の入力キューに格納する（Ｓ４０５）。
【０１０９】
次に、必要仕掛量算出部１３は、工程（１）から工程（ｋ）のうち、処理対象の工程（ｍ）を指定する変数ｍに１を代入し、変数ｍを初期化する（Ｓ４０６）。ここで、ｍは、ｍ＝１〜ｋの整数である。
【０１１０】
次に、必要仕掛量算出部１３は、工程（ｍ）の入力キューから工程（ｍ）での選択ルールにしたがって１つずつジョブを選択して出力キューに格納し、工程（ｍ）の処理順序を生成する（Ｓ４０７）。この場合、必要仕掛量算出部１３は、固定された検索範囲Ｒ（ｍ）のもとで、工程（ｍ）のロットまとめ条件を用いて工程（ｍ）の入力キューから１つずつジョブを選択して出力キューに格納していき、工程（ｍ）の処理順序を生成する。
【０１１１】
この場合、必要仕掛量算出部１３は、工程（ｍ）の選択ルールが自工程重視に設定されていれば、自工程重視でジョブを選択し、工程（ｍ）の選択ルールが次工程重視に設定されていれば、次工程重視の選択ルールでジョブを選択する。
【０１１２】
次に、必要仕掛量算出部１３は、生成した工程（ｍ）の処理順序を工程（ｍ＋１）の入力キューに格納する（Ｓ４０８）。
【０１１３】
次に、必要仕掛量算出部１３は、変数ｍがｋに到達していなければ（Ｓ４０９でＮＯ）、変数ｍを１インクリメントし（Ｓ４１０）、処理をＳ４０７に戻す。一方、必要仕掛量算出部１３は、変数ｍがｋに到達していれば（Ｓ４０９でＹＥＳ）、処理をＳ４１１に進める。これにより、検索範囲が決定済みの工程（１）〜工程（ｋ）において、検索範囲Ｒ（１）〜Ｒ（ｋ）が固定さた状態で、工程（１）に入力された入力ワークが、各工程で順次に処理されて工程（ｋ）から取り出される。
【０１１４】
次に、必要仕掛量算出部１３は、Ｓ４０１と同様、検索範囲Ｒ（ｋ＋１）を更新しながら、工程（ｋ＋１）のフローショップを実行する（Ｓ４１１）。これにより、工程（ｋ＋１）において、仕掛量と生産性との複数の組からなる関係性情報が得られる。
【０１１５】
次に、必要仕掛量算出部１３は、入力ワークの作成数が上限に到達していなければ（Ｓ４１２でＮＯ）、処理をＳ４０５に戻し、処理対象のジョブをランダムに並べ替え、新たな入力ワークを作成し、工程（１）の入力キューに格納する。
【０１１６】
一方、入力ワークの作成数が上限に到達していれば（Ｓ４１２でＹＥＳ）、必要仕掛量算出部１３は、工程（ｋ＋１）が最終工程、つまり、工程（ｋ＋１）が工程（Ｋ）であるか否かを判定する（Ｓ４１３）。
【０１１７】
工程（ｋ＋１）が最終工程でなければ（Ｓ４１３でＮＯ）、必要仕掛量算出部１３は、変数ｋを１インクリメントし（Ｓ４１４）、処理をＳ４０３に戻す。一方、工程（ｋ＋１）が最終工程であれば（Ｓ４１３でＹＥＳ）、処理はＳ４１５に進む。
【０１１８】
Ｓ４１５では、必要仕掛量算出部１３は、工程（ｋ＋１）、すなわち、工程（Ｋ）の関係性情報から、目標生産性αを達成するための工程（Ｋ）の必要仕掛量を決定する。
【０１１９】
Ｓ４１６では、必要仕掛量算出部１３は、Ｓ４０３、Ｓ４１５の処理を通じて決定された工程（１）〜工程（Ｋ）の必要仕掛量を出力するする。
【０１２０】
以上の処理により、工程（１）〜工程（Ｋ）関係性情報が順に計算されながら、目標生産性αを達成するための必要仕掛量が工程（１）〜工程（Ｋ）の順に決定される。Ｓ４１６の処理が終了すると、処理が図４のＳ２０４に進められる。
【０１２１】
［具体例］
次に、シミュレーションの具体例について説明する。以下の具体例では、上述した図２に示すように、６つの工程（１）〜工程（６）からなるフローショップを想定する。
【０１２２】
図２において、ロットまとめ条件、上限仕掛量の数値を明記しているが、その他、シミュレーションに必要な事項（例えば、処理時間、段取り替え時間、各ジョブのロットまとめ条件など）も事前に入力され、記憶装置に記憶されているものとする。以下の「Ｓ」で始まるステップ番号は図４のステップ番号である。
【０１２３】
Ｓ２０１（１回目）：ネック工程検出部１１は、ネック工程（Ｎ）を特定する。今回、Ｎ＝５、目標生産性α＝２２５という結果になったとする。
【０１２４】
Ｓ２０２（１回目）：必要仕掛量決定部１４は、全工程の選択ルールを「自工程重視」にする。
【０１２５】
Ｓ２０３（１回目）：必要仕掛量算出部１３は、各工程において、目標生産性αを達成するための必要仕掛量を求める。
【０１２６】
一例として、工程（１）に対する必要仕掛量を求める場合のＳ２０３の概要を以下に示す。
【０１２７】
ｍ１：必要仕掛量算出部１３は、ジョブをランダムに並び替えることで入力ワークを複数個作成する。この具体例では、入力ワークは２０個作成されている。
【０１２８】
ｍ２：必要仕掛量算出部１３は、２０個の入力ワークのそれぞれについて、検索範囲（仕掛量）を変えながら、工程（１）のフローショップを実行し、工程（１）の関係性情報を得る。ここでは、図７に示す関係性情報が得られたとする。図中の各点は、「２０個の入力ワークのそれぞれについての仕掛量と生産性との組」を示している。
【０１２９】
ｍ３：必要仕掛量算出部１３は、図７に示す関係性情報を用いて、目標生産性α＝２２５を達成するための必要仕掛量「１０」を算出する。ここで、工程（１）の上限仕掛量は、「３０」なので、工程（１）は生産性に余裕があることが分かる。
【０１３０】
以後、ｍ１〜ｍ３の処理が工程（２）から工程（６）まで順次に繰り返され、各工程において目標生産性αを達成のための必要仕掛量が算出される。なお、工程（２）以降のｍ３はの処理は以下のようになる。工程（２）を例に挙げて説明すると、必要仕掛量算出部１３は、検索範囲Ｒ（１）を「１０」に固定し、ｍ１で作成した２０個の入力ワークのそれぞれを工程（１）に入力し、工程（１）及び工程（２）のフローショップを実行し、工程（２）の処理順序を２０個得る。そして、必要仕掛量算出部１３は、得られた２０個の処理順序から工程（２）の関係性情報を得る。
【０１３１】
Ｓ２０４（１回目）：必要仕掛量決定部１４は、Ｓ２０３で求めた各工程の必要仕掛量が、上限仕掛量を超えているか否かを判定する。ここで、全工程の必要仕掛量が上限仕掛量以下であれば、必要仕掛量決定部１４は、各工程の必要仕掛量を出力して処理を終了するが、この具体例では工程（３）で必要仕掛量＞置場サイズになったとする。
【０１３２】
Ｓ２０５（１回目）：必要仕掛量決定部１４は、工程（３）の選択ルールを確認する。ここでは工程（３）の選択ルールは「自工程重視」なので、処理はＳ２０７に進む。
【０１３３】
Ｓ２０７（１回目）：必要仕掛量決定部１４は、工程（３）の生産性を上げるために、工程（２）の選択ルールを「次工程重視」にする。
【０１３４】
Ｓ２０３（２回目）：必要仕掛量算出部１３は、各工程において、目標生産性αを達成するための必要仕掛量を求める。ここでは、工程（２）の選択ルールが次工程重視に変更されている。
【０１３５】
Ｓ２０４（２回目）：１回目のＳ２０４と同じである。この具体例では、工程（２）において、必要仕掛量＞上限仕掛量になったとする。なお、選択ルールの変更により、工程（２）の生産性が下げられたため、工程（２）において、必要仕掛量＞上限仕掛量になることは有り得る。
【０１３６】
Ｓ２０５（２回目）：必要仕掛量決定部１４は、工程（２）の選択ルールを確認する。工程（２）の選択ルールは「次工程重視」なので、処理はＳ２０６に進む。
【０１３７】
Ｓ２０６（２回目）：必要仕掛量決定部１４は、工程（２）における上限仕掛量を達成するための最大の生産性βを求める。工程（２）における関係性情報が図８のようになったとする。目標生産性αでの必要仕掛量は「３５」であるが、この必要仕掛量は工程（２）の上限仕掛量「２５」を超えているため、目標生産性αを達成できないことが分かる。
【０１３８】
そこで、必要仕掛量決定部１４は、工程（２）ををネック工程（Ｎ’）と再定義し、ネック工程（Ｎ’）の生産性βを求める。図８の例では、工程（２）の上限仕掛量は「２５」であるため、生産性βはβ＝２２０であることが分かる。必要仕掛量決定部１４は、目標生産性αから生産性βに再設定する。
【０１３９】
Ｓ２０３（３回目）：必要仕掛量算出部１３は、再設定された目標生産性αに対して上述した処理を実行し、各工程の必要仕掛量を再計算する。
【０１４０】
このように、シミュレーション装置１は、まず、全工程のジョブの選択ルールを自工程重視に設定してフローショップを実行し（Ｓ２０２）、各工程の必要仕掛量を算出するので、ネック工程の直前の工程を次工程重視、残りの工程を自工程重視に設定する特許文献１の手法に比べ、処理の簡素化を図ることができる。
【０１４１】
また、シミュレーション装置１は、超過工程（工程（Ｎ’））がある場合、超過工程の選択ルールが次工程重視でなければ、超過工程の直前の工程の選択ルールのみ次工程重視に設定し、残りの工程の選択ルールを自工程重視に設定してフローショップを実行する（Ｓ２０７）。そのため、目標生産性を下げることなく、目標生産性を達成するための各工程の必要仕掛量を算出できる。これにより、本態様は、特許文献１の手法に比べて最終的に得られる目標生産性の向上を図ることができる。
【０１４２】
一方、シミュレーション装置１は、超過工程の選択ルールが次工程重視であれば、超過工程の生産性を目標生産性として再設定し（Ｓ２０６）、フローショップを実行するので、目標生産性が下げられ、上限仕掛量より小さな必要仕掛量が算出される可能性を高くすることができる。
【０１４３】
（変形例１）
上記実施の形態では、設定部１２は、ネック工程検出部１１により検出されたネック工程の生産性を目標生産性として設定したが、本発明はこれに限定されず、入力部１５を用いてオペレータにより入力された値を目標生産性として設定してもよい。この場合、図１においてネック工程検出部１１は不要となる。また、図４のフローチャートにおいて、Ｓ２０１の処理は不要となる。
【０１４４】
（変形例２）
なお、図４のＳ２０４では、必要仕掛量が上限仕掛量となる工程（Ｎ’）が１つ検出されるとして説明したが、複数の工程（Ｎ’）が検出されることもある。この場合、必要仕掛量決定部１４は、例えば、上限仕掛量が最小の工程（Ｎ’）に対してＳ２０５の処理を適用すればよい。
【０１４５】
或いは、必要仕掛量決定部１４は、複数の工程（Ｎ’）のそれぞれに対してＳ２０５の処理を適用してもよい。この場合、必要仕掛量決定部１４は、複数の工程（Ｎ’）のうち、少なくとも１つの工程（Ｎ’）の選択ルールが次工程重視であれば、Ｓ２０５でＹＥＳと判定すればよい。そして、Ｓ２０６では、選択ルールが次工程重視の工程（Ｎ’）のうち上限仕掛量が最小の工程（Ｎ’）をネック工程として再定義すればよい。また、全ての工程（Ｎ’）が自工程重視であれば、必要仕掛量決定部１４は、Ｓ２０５でＮＯと判定すればよい。この場合、必要仕掛量決定部１４は、複数の工程（Ｎ’）のそれぞれについて直前の工程（Ｎ’−１）の選択ルールを次工程重視に設定すればよい。更に、複数の工程（Ｎ’）が連続する場合は、連続する工程（Ｎ’）のうち最も上流側の工程（Ｎ’）の直前の工程（Ｎ’−１）が次工程重視とされ、残りの工程が自工程重視とされてもよいし、最も上流側の工程（Ｎ’）の直前の工程から最も下流側の工程（Ｎ’）の直前の工程までが次工程重視とされてもよい。
【符号の説明】
【０１４６】
Ｒ  検索範囲
α  目標生産性
１  シミュレーション装置
１０  処理部
１１  ネック工程検出部
１２  設定部
１３  必要仕掛量算出部
１４  必要仕掛量決定部
１５  入力部
１６  出力部
【図１】
2018160021.tif 000003
【図２】
2018160021.tif 000004
【図３】
2018160021.tif 000005
【図４】
2018160021.tif 000006
【図５】
2018160021.tif 000007
【図６】
2018160021.tif 000008
【図７】
2018160021.tif 000009
【図８】
2018160021.tif 000010