(57)【特許請求の範囲】
【請求項１】
ロットに応じて段取り替えを行う設備において、仕掛量と生産性との関係性をシミュレートするシミュレーション装置であって、
処理対象となる複数のジョブを予め記憶する対象ジョブ記憶部と、
前記処理対象のジョブの前記設備への到着順序を作成する到着順序作成部と、
前記作成された到着順序にしたがって配列されたジョブの待ち行列を記憶する待ち行列記憶部と、
前記待ち行列の先頭から所定番目までのジョブに対して検索範囲を設定し、前記設定した検索範囲の中から所定の選択ルールで１のジョブを選択するジョブ選択部と、
前記選択されたジョブを選択順に記憶する処理順序記憶部と、
前記ジョブが選択される度に、前記待ち行列内のジョブの順序を更新し、前記ジョブ選択部に１のジョブを選択させる待ち行列更新部と、
前記処理順序記憶部において前記選択順に記憶されたジョブ群の段取り替え回数を計算する段取り替え計算部と、
予め定められた段取り替え時間及びジョブの処理時間に基づいて、前記処理順序記憶部に記憶されたジョブ群に対する前記設備の生産性を計算する生産性計算部と、
前記計算された生産性を前記設定された検索範囲と対応付けて記憶するシミュレーション結果記憶部と、
前記検索範囲を更新する検索範囲更新部とを備え、
前記ジョブ選択部、前記待ち行列更新部、前記段取り替え計算部、及び前記生産性計算部は、更新された検索範囲のそれぞれに対して処理を実行し、
前記シミュレーション結果記憶部に記憶された検索範囲と生産性との組を用いて仕掛量と生産性との関係性を示す関係性情報を生成するシミュレーション結果集計部を更に備えるシミュレーション装置。
【請求項２】
前記到着順序作成部は、異なる到着順序を複数作成し、
前記ジョブ選択部、前記待ち行列更新部、前記段取り替え計算部、前記生産性計算部、及び前記検索範囲更新部はそれぞれの到着順序に対して処理を実行し、
前記シミュレーション結果集計部は、前記シミュレーション結果記憶部に記憶された検索範囲と生産性との組を用いて前記関係性情報を生成する請求項１記載のシミュレーション装置。
【請求項３】
前記ジョブ選択部は、直前に選択したジョブに対して同一ロットに纏めるための条件が同じジョブを次処理ジョブとして優先的に選択するというルールを、前記選択ルールとして採用する請求項１又は２記載のシミュレーション装置。
【請求項４】
前記ジョブ選択部は、直前に選択したジョブに対して段取り替え時間が最小となるジョブを次処理ジョブとして優先的に選択するというルールを、前記選択ルールとして採用する請求項１又は２記載のシミュレーション装置。
【請求項５】
前記生産性計算部は、事前に設定された前記設備の稼働率を用いて、以下の方法で前記生産性を計算する請求項１〜４のいずれか１に記載のシミュレーション装置。
生産性＝稼働率×ジョブの処理量の総和／（ジョブの処理時間の総和＋ジョブの段取り替え時間の総和）
【請求項６】
前記到着順序作成部は、前記到着順序をランダムに決定する請求項１〜５のいずれか１に記載のシミュレーション装置。
【請求項７】
前記到着順序作成部は、予め定められた複数個のジョブからなるジョブグループ単位で前記到着順序を決定する請求項６記載のシミュレーション装置。
【請求項８】
前記設備は、順次に実行される第１〜第Ｋ（Ｋは２以上の整数）工程に対応する第１〜第Ｋ設備を含み、
前記シミュレーション装置は、まず、前記第１設備の前記関係性情報を算出し、
第ｋ（ｋ＝１〜Ｋ）設備における前記関係性情報を参照し、前記第ｋ設備において事前に要求される生産性に対応する仕掛量を前記第ｋ設備の待ち行列の検索範囲として決定する検索範囲決定部と、
前記第ｋ設備の待ち行列に格納された前記処理対象のジョブの処理順序を、前記決定された検索範囲のもとで前記ジョブ選択部に決定させ、前記決定された処理順序で前記処理対象のジョブを第ｋ＋１設備の待ち行列に格納する次工程待ち行列設定部とを更に備え、
前記シミュレーション装置は、前記第ｋ＋１設備の待ち行列に格納された前記処理対象のジョブに対して前記関係性情報を計算する処理を前記第２設備から第Ｋ設備まで順次に実行する請求項１〜７のいずれか１項に記載のシミュレーション装置。
【請求項９】
前記次工程待ち行列設定部は、前記第ｋ＋１設備の待ち行列に前記処理対象のジョブを格納するに際し、第ｍ（ｍ＝１〜ｋ）設備の待ち行列に格納された前記処理対象のジョブの処理順序を前記検索範囲決定部により決定された第ｍ設備の検索範囲のもとで前記ジョブ選択部に決定させ、前記決定された処理順序で前記処理対象のジョブを第ｍ＋１設備の待ち行列に格納する処理を、第１から第ｍ設備まで順次に実行する請求項８記載のシミュレーション装置。
【請求項１０】
前記選択ルールは、直前に選択したジョブに対して同一ロットに纏めるためのロット纏め条件が同じジョブを次処理ジョブとして優先的に選択するというルールであり、
前記第１〜第Ｋの設備毎に前記ロット纏め条件を個別に設定するロット編成条件設定部を更に備える請求項８に記載のシミュレーション装置。
【請求項１１】
前記ジョブ選択部が、前記第ｋ設備の待ち行列に格納された前記処理対象のジョブの処理順序を決定する場合の前記選択ルールは、直前に選択したジョブと、第ｋ設備及び第ｋ＋１設備のロット纏め条件が同じジョブを優先的に選択するというルールである請求項１０に記載のシミュレーション装置。
【請求項１２】
前記設備は、順次に実行される第１〜第Ｋ（Ｋは２以上の整数）工程に対応する第１〜第Ｋ設備を含み、
前記第１〜第Ｋ設備は、それぞれ、上限仕掛量を持ち、
前記第１〜第Ｋ設備のそれぞれの検索範囲を、対応する上限仕掛量に設定し、第１〜第Ｋ設備の前記生産性を順に計算し、前記第１〜第Ｋ設備の中で前記生産性が最低となる設備に対応する工程をネック工程として検出するネック工程検出部と、
前記第１〜第Ｋ工程の前記関係性情報を順に算出しながら、前記検出したネック工程の生産性を達成基準としたときの最小仕掛量を第１〜第Ｋ工程の検索範囲として順に決定する検索範囲決定処理を実行する決定処理実行部とを更に備え、
前記決定処理実行部は、前記第１〜第Ｋ工程の中で、前記決定された検索範囲が、前記上限仕掛量を超える超過工程を新たなネック工程として検出し、前記新たなネック工程の上限仕掛量を満たす最大の生産性を前記達成基準とする前記検索範囲決定処理を、前記超過工程が検出されなくなるまで実行する請求項１記載のシミュレーション装置。
【請求項１３】
前記検索範囲決定処理における前記ジョブ選択部の選択ルールは、
前記ネック工程の生産性を持つ設備を第Ｓ（Ｓ＝１〜Ｋ）設備とすると、第Ｓ−１設備においては、直前に選択したジョブの前記第Ｓ設備におけるロット纏め条件が同じジョブを優先的に選択するというルールであり、
前記第Ｓ−１設備以外の設備においては、直前に選択したジョブの自設備におけるロット纏め条件が同じジョブを優先的に選択するというルールである請求項１２記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロットに応じて段取り替えを行う設備において生産性をシミュレートする技術に関するものである。
【背景技術】
【０００２】
多品種を処理する設備では、品種毎に異なる条件で設備を動かすことが多く、品種の切り替え時に段取り替えのロス時間が発生する。そのため、同じ品種に対する処理を極力続けることが生産性を高めることに繋がる。ここで、設備の前に保有する仕掛量（在庫量）が多いほど次処理ジョブの選択肢が広がるので、同じ品種ができるだけ多く連続して処理されるようにジョブの処理順序を決定できる。したがって、仕掛量を多くすると、段取り替えを少なくし、生産性を高めることができる。逆に、仕掛量が少なくなれば、段取り替えが増えるので、生産性が低下する。
【０００３】
一方で、必要以上に仕掛量を多くすることは、キャッシュ効率や物流コストの観点から望ましくない。そこで、受注や生産計画等から求められる設備の生産性に対して、段取り替えの影響を考慮し、最低限（あるいは最大限）どの程度の仕掛量を確保すれば良いかを算出することが要望されている。すなわち、設備前に保有する仕掛量と生産性との関係性を算出し、必要となる生産性に合わせて、保有すべき仕掛量を算出することが要望されている。
【０００４】
特許文献１には、製品を製造する際の処理条件及びロット集約条件に応じて的確なロット集約を自動的に行うと共に、製品の属性に応じて集約されるロット内での製品の処理順を設定する生産工程シミュレーション装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４７９１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仕掛量の適正値を算出する方法としては、定期発注方式や定量発注方式などが知られている。ただし、これらの方式は入出力の変動に対する安全な仕掛量を決定するものであり、仕掛量と生産性との関係性を算出するものではない。
【０００７】
また、特許文献１では、ロット集約と集約されたロット内での製品の処理順序の設定とが行われているが、仕掛量と生産性とを網羅的に算出することは行われていない。したがって、生産計画策定時（例：予算や月次）に、ベテランが経験的に仕掛量を決定せざるを得ない。
【０００８】
本発明は、多品種を処理する設備での段取り替えを考慮して、仕掛量と生産性との関係性を網羅的に示す情報を提示するシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様におけるシミュレーション装置は、ロットに応じて段取り替えを行う設備において、仕掛量と生産性との関係性をシミュレートするシミュレーション装置であって、
処理対象となる複数のジョブを予め記憶する対象ジョブ記憶部と、
前記処理対象のジョブの前記設備への到着順序を作成する到着順序作成部と、
前記作成された到着順序にしたがって配列されたジョブの待ち行列を記憶する待ち行列記憶部と、
前記待ち行列の先頭から所定番目までのジョブに対して検索範囲を設定し、前記設定した検索範囲の中から所定の選択ルールで１のジョブを選択するジョブ選択部と、
前記選択されたジョブを選択順に記憶する処理順序記憶部と、
前記ジョブが選択される度に、前記待ち行列内のジョブの順序を更新し、前記ジョブ選択部に１のジョブを選択させる待ち行列更新部と、
前記処理順序記憶部において前記選択順に記憶されたジョブ群の段取り替え回数を計算する段取り替え計算部と、
予め定められた段取り替え時間及びジョブの処理時間に基づいて、前記処理順序記憶部に記憶されたジョブ群に対する前記設備の生産性を計算する生産性計算部と、
前記計算された生産性を前記設定された検索範囲と対応付けて記憶するシミュレーション結果記憶部と、
前記検索範囲を更新する検索範囲更新部とを備え、
前記ジョブ選択部、前記待ち行列更新部、前記段取り替え計算部、及び前記生産性計算部は、更新された検索範囲のそれぞれに対して処理を実行し、
前記シミュレーション結果記憶部に記憶された検索範囲と生産性との組を用いて仕掛量と生産性との関係性を示す関係性情報を生成するシミュレーション結果集計部を更に備える。
【００１０】
この構成によれば、まず、処理対象となる複数のジョブが対象ジョブ記憶部に予め記憶される。次に、到着順序作成部は、対象ジョブ記憶部に記憶された複数のジョブの設備への到着順序を決定する。ここで、決定されたジョブの到着順序に従って配列されたジョブの待ち行列が待ち行列記憶部に記憶される。次に、ジョブ選択部は、待ち行列に検索範囲を設定し、設定した検索範囲の中から所定の選択ルールで１のジョブを選択する。選択されたジョブは選択順に処理順序記憶部に記憶される。１のジョブが選択されると、待ち行列更新部は、当該１のジョブの順番を詰めるように、待ち行列内のジョブの順序を更新する。待ち行列内の全てのジョブの処理順序が決定されると、段取り替え計算部は、処理順序記憶部に記憶されているジョブ群の段取り替え回数を計算する。
【００１１】
次に、生産性計算部は、段取り替え回数から導かれる段取り替え時間と、ジョブの処理時間とに基づいて、ジョブ群の設備での生産性（例：単位期間当たりの設備での生産量）を計算する。次に、計算された生産性が設定された検索範囲と対応付けてシミュレーション結果記憶部に記憶される。
【００１２】
次に、待ち行列更新部において、待ち行列記憶部のジョブの到着順序が始めに決定された到着順序にリセットされる。次に、検索範囲更新部により検索範囲が更新され、更新された検索範囲における生産性が計算され、検索範囲と対応付けてシミュレーション結果記憶部に記憶される。以上の処理が繰り返されることで、シミュレーション結果記憶部には、検索範囲と生産性との組が多数記憶されていく。次に、シミュレーション結果集計部は、シミュレーション結果記憶部に記憶された複数の検索範囲と生産性との組を用いて、仕掛量と生産性との関係性を示す関係性情報を生成する。
【００１３】
このように、待ち行列の検索範囲を固定して、次に処理するジョブを逐次選択することで処理順序（スケジュール）でジョブが配列されたジョブ群が作成され、そのジョブ群の生産性が計算される。そして、この生産性が複数の検索範囲で計算されて検索範囲と対応付けて蓄積されていき、関係性情報が生成される。ここで、検索範囲は仕掛量に対応しているので、この関係性情報には、仕掛量と生産性との関係性が網羅的に示されている。よって、この関係性情報から、ユーザは要求される生産性に対して確保するべき仕掛量を容易に判断できる。
【００１４】
また、上記シミュレーション装置において、前記到着順序作成部は、異なる到着順序を複数作成し、
前記ジョブ選択部、前記待ち行列更新部、前記段取り替え計算部、前記生産性計算部、及び前記検索範囲更新部はそれぞれの到着順序に対して処理を実行し、
前記シミュレーション結果集計部は、前記シミュレーション結果記憶部に記憶された前記検索範囲と生産性との組を用いて関係性情報を生成してもよい。
【００１５】
この構成によれば、到着順序作成部は、ジョブの到着順序を複数作成する。そして、作成されたそれぞれの到着順序に対して検索範囲の更新と生産性の計算とが繰り返され、計算された生産性が検索範囲と対応付けてシミュレーション結果記憶部に記憶される。そして、これらのシミュレーション結果が集計され、関係性情報が生成される。したがって、到着順序が変化した場合も考慮して、より詳細に仕掛量と生産性との関係性を示す関係性情報を提供できる。
【００１６】
また、上記シミュレーション装置において、前記ジョブ選択部は、直前に選択したジョブに対して同一ロットに纏めるための条件が同じジョブを次処理ジョブとして優先的に選択するというルールを、前記選択ルールとして採用してもよい。
【００１７】
この構成によれば、ジョブ選択部は、同一ロットに纏めるための条件（例：設備での処理条件）が同じジョブを次処理ジョブとして優先的に選択する。したがって、段取り替え回数を減らすために一般的に行われるロットまとめ作業が反映されたシミュレーション結果を得ることができる。
【００１８】
また、上記シミュレーション装置において、前記ジョブ選択部は、直前に選択したジョブに対して段取り替え時間が最小となるジョブを次処理ジョブとして優先的に選択するというルールを、前記選択ルールとして採用してもよい。
【００１９】
この構成によれば、ジョブ選択部は、直前に選択したジョブに対して段取り替え時間が最小となるジョブを次処理ジョブとして優先的に選択する。したがって、ジョブや処理条件の組合せで段取り替え時間が異なるようなケースであっても、極力生産性を高めるような実操業が反映されたシミュレーション結果を得ることができる。
【００２０】
また、上記シミュレーション装置において、前記生産性計算部は、事前に設定された前記設備の稼働率を用いて、以下の方法で前記生産性を計算してもよい。
【００２１】
生産性＝稼働率×ジョブの処理量の総和／（ジョブの処理時間の総和＋ジョブの段取り替え時間の総和）
ここで、例えば、ジョブの処理量の単位をトン（ｔｏｎ）、ジョブの処理時間の単位を時間（ｈｒ）とすると、生産性は１時間当たりに処理トン数となり、単位はｔｏｎ／ｈｒとなる。
【００２２】
処理時間や段取り替え時間以外に設備が必要とするメンテナンス時間や作業者の休憩に伴う小休止時間などの非稼働時間は、個別に設定するのは困難であるが、所定期間（例：１ヶ月）当たりの総時間として経験的に得ることができる。本構成では、このような非稼働時間を考慮して稼働率を設定することができるので、非稼働時間を生産性に反映させることができ、より現実に即したシミュレーション結果を得ることができる。
【００２３】
また、上記シミュレーション装置において、前記到着順序作成部は、前記到着順序をランダムに決定してもよい。
【００２４】
この構成によれば、到着順序作成部は、ジョブの到着順序をランダムに決定するので、到着順序の特性が統計的に得られている場合に、より精度の高いシミュレーション結果を得ることができる。
【００２５】
また、上記シミュレーション装置において、前記到着順序作成部は、予め定められた複数個のジョブからなるジョブグループ単位で前記到着順序を決定してもよい。
【００２６】
この構成によれば、到着順序作成部は、複数個のジョブからなるジョブグループ単位で到着順序を決定する。そのため、ジョブの到着が複数のジョブグループ単位である場合に、より精度の高いシミュレーション結果が得られる。なお、ジョブグループ単位の例としては、ジョブの搬送単位や、前工程の設備において１つのロットに纏められたロットまとめ単位が挙げられる。
【００２７】
また、上記シミュレーション装置において、前記設備は、順次に実行される第１〜第Ｋ（Ｋは２以上の整数）工程に対応する第１〜第Ｋ設備を含み、
前記シミュレーション装置は、まず、前記第１設備の前記関係性情報を算出し、
第ｋ（ｋ＝１〜Ｋ）設備における前記関係性情報を参照し、前記第ｋ設備において事前に要求される生産性に対応する仕掛量を前記第ｋ設備の待ち行列の検索範囲として決定する検索範囲決定部と、
前記第ｋ設備の待ち行列に格納された前記処理対象のジョブの処理順序を、前記決定された検索範囲のもとで前記ジョブ選択部に決定させ、前記決定された処理順序で前記処理対象のジョブを第ｋ＋１設備の待ち行列に格納する次工程待ち行列設定部とを更に備え、
前記シミュレーション装置は、前記第ｋ＋１設備の待ち行列に格納された前記処理対象のジョブに対して前記関係性情報を計算する処理を前記第２設備から第Ｋ設備まで順次に実行してもよい。
【００２８】
この構成によれば、設備毎に事前に要求される生産性を達成するための仕掛量が当該設備のシミュレーション結果から決定され、決定された仕掛量に相当する検索範囲が当該設備の待ち行列に設定される。そして、検索範囲を固定した上で、再度、所定のルールで処理順序が生成される。生成された処理順序は次工程の設備の待ち行列に格納され、次工程の設備において検索範囲が更新されながら、シミュレーションが実行されて当該次工程の設備での関係性情報が計算される。これらが第１設備から最終工程である第Ｋ設備まで繰り返される。そのため、多段工程の生産ラインにおいて工程毎に要求される生産性が与えられた時、それを達成するために必要な設備ごとの仕掛量を決定できる。
【００２９】
そして、各設備に決定された仕掛量を基準に各設備の生産管理を行うことで、不要な仕掛を保有することなく、要求される生産性を達成することが容易となる。
【００３０】
また、上記シミュレーション装置において、前記次工程待ち行列設定部は、前記第ｋ＋１設備の待ち行列に前記処理対象のジョブを格納するに際し、第ｍ（ｍ＝１〜ｋ）設備の待ち行列に格納された前記処理対象のジョブの処理順序を前記検索範囲決定部により決定された第ｍ設備の検索範囲のもとで前記ジョブ選択部に決定させ、前記決定された処理順序で前記処理対象のジョブを第ｍ＋１設備の待ち行列に格納する処理を、第１から第ｍ設備まで順次に実行してもよい。
【００３１】
この構成によれば、第ｋ＋１設備の待ち行列に処理対象のジョブを格納するに際し、第ｍ（ｍ＝１〜ｋ）設備の待ち行列に格納された処理対象のジョブの処理順序が、検索範囲決定部により決定された第ｍ設備の検索範囲のもとでジョブ選択部に決定される。そして、決定された処理順序で処理対象のジョブが第ｍ＋１設備の待ち行列に格納される。そして、この処理が、第１から第ｍ設備まで順次に実行される。そのため、多段工程の生産ラインにおいて工程毎に要求される生産性が与えられた時、それを達成するために必要な設備ごとの仕掛量をより正確に決定できる。
【００３２】
また、上記シミュレーション装置において、前記選択ルールは、直前に選択したジョブに対して同一ロットに纏めるためのロット纏め条件が同じジョブを次処理ジョブとして優先的に選択するというルールであり、
前記第１〜第Ｋの設備毎に前記ロット纏め条件を個別に設定するロット編成条件設定部を更に備えてもよい。
【００３３】
この構成によれば、設備毎にロット纏め条件を個別に設定できるため、素材加工工程のように多品種の異なる仕様の製品を同一のラインで製造する設備への適用が可能となる。
【００３４】
また、上記シミュレーション装置において、前記ジョブ選択部が、前記第ｋ設備の待ち行列に格納された前記処理対象のジョブの処理順序を決定する場合の前記選択ルールは、直前に選択したジョブと、第ｋ設備及び第ｋ＋１設備のロット纏め条件が同じジョブを優先的に選択するというルールであってもよい。
【００３５】
この構成によれば、次工程のロット纏め条件が考慮されて前工程での処理順序が決定されるので、次工程への到着順がロット纏めを行いやすい順番になる。その結果、次工程での仕掛量を削減できる。
【００３６】
また、上記シミュレーション装置において、前記設備は、順次に実行される第１〜第Ｋ（Ｋは２以上の整数）工程に対応する第１〜第Ｋ設備を含み、
前記第１〜第Ｋ設備は、それぞれ、上限仕掛量を持ち、
前記第１〜第Ｋ設備のそれぞれの検索範囲を、対応する上限仕掛量に設定し、第１〜第Ｋ設備の前記生産性を順に計算し、前記第１〜第Ｋ設備の中で前記生産性が最低となる設備に対応する工程をネック工程として検出するネック工程検出部と、
前記第１〜第Ｋ工程の前記関係性情報を順に算出しながら、前記検出したネック工程の生産性を達成基準としたときの最小仕掛量を第１〜第Ｋ工程の検索範囲として順に決定する検索範囲決定処理を実行する決定処理実行部とを更に備え、
前記決定処理実行部は、前記第１〜第Ｋ工程の中で、前記決定された検索範囲が、前記上限仕掛量を超える超過工程を新たなネック工程として検出し、前記新たなネック工程の上限仕掛量を満たす最大の生産性を前記達成基準とする前記検索範囲決定処理を、前記超過工程が検出されなくなるまで実行してもよい。
【００３７】
各設備には個別の上限仕掛量（置場サイズ）があるが、事前に要求される生産性のみ考慮して各設備の待ち行列の検索範囲（仕掛量）を計算すると、計算した仕掛量が上限仕掛量を超える可能性がある。この場合、シミュレーション結果を実際の設備に適用できない。
【００３８】
本態様によれば、まず、第１〜第Ｋ設備のそれぞれの検索範囲が上限仕掛量に設定されたうえで、第１〜第Ｋ設備の生産性が順に計算され、生産性が最低の設備に対応する工程がネック工程として検出される。
【００３９】
そして、第１〜第Ｋ工程の関係性情報を順に算出しつつ、ネック工程の生産性を達成基準としたときの最小仕掛量を第１〜第Ｋ工程の検索範囲として順に決定する検索範囲決定処理が実行される。そして、第１工程から第Ｋ工程のうち検索範囲が上限仕掛量を超える超過工程が新たなネック工程として検出される。
【００４０】
そして、新たなネック工程の上限仕掛量を満たす最大の生産性を達成基準とする検索範囲決定処理が、超過工程が検出されなくなるまで実行される。
【００４１】
よって、要求される生産性を事前に入力しなくても、上限仕掛量を超えないという条件の下、生産性を可能な限り大きくする各設備の最小仕掛量を決定できる。
【００４２】
また、上記シミュレーション装置において、前記検索範囲決定処理における前記ジョブ選択部の選択ルールは、
前記ネック工程の生産性を持つ設備を第Ｓ（Ｓ＝１〜Ｋ）設備とすると、第Ｓ−１設備においては、直前に選択したジョブの前記第Ｓ設備におけるロット纏め条件が同じジョブを優先的に選択するというルールであり、
前記第Ｓ−１設備以外の設備においては、直前に選択したジョブの自設備におけるロット纏め条件が同じジョブを優先的に選択するというルールであってもよい。
【００４３】
この構成によれば、第Ｓ−１設備では、次工程が重視されるようにジョブが選択され、第Ｓ−１設備以外の設備では、自工程が重視されるようにジョブが選択されるので、ネック工程の生産性を高めつつ、全設備での生産性が高まるようにジョブを選択できる。
【発明の効果】
【００４４】
本発明によれば、多品種のジョブを処理する設備での段取り替えを考慮して、仕掛量と生産性との関係性を網羅的に示す情報を提示することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態１によるシミュレーション装置の全体構成の一例を示すブロック図である。
【図２】本発明の実施の形態１において、設備で処理することが計画されているジョブの一例を示す図である。
【図３】図２に示すジョブをランダムに並べ替えて待ち行列に格納した例を示す図である。
【図４】図２に示すジョブをランダムに並べ替えて待ち行列に格納した例を示す図である。
【図５】シミュレーション装置において、設備で処理することが計画されているジョブの一例を示す図である。
【図６】マスタ時間記憶部が記憶するパラメータテーブルの一例を示す図である。
【図７】検索範囲の更新方法が予め登録された更新テーブルの一例を示す図である。
【図８】図５〜図７に示す条件を用いたシミュレーション結果により得られた散布図の一例を示す図である。
【図９】図８と同じシミュレーション結果における他の一例を示す散布図である。
【図１０】本発明の実施の形態１におけるシミュレーション装置の処理の一例を示すフローチャートである。
【図１１】本発明の実施の形態２によるシミュレーション装置の全体構成の一例を示すブロック図である。
【図１２】本発明の実施の形態２における処理の概要を示す図である。
【図１３】本発明の実施の形態２における処理の概要を示す図である。
【図１４】本発明の実施の形態２によるシミュレーション装置の処理の一例を示すフローチャートである。
【図１５】設備とロット纏め条件との関係の一例を示した図である。
【図１６】本発明の実施の形態３におけるジョブの選択方法の一例を示す図である。
【図１７】本発明の実施の形態３においてジョブが選択される様子の一例を示す図である。
【図１８】本発明の実施の形態３におけるジョブの選択方法のシミュレーション例を示す図である。
【図１９】図１８の続きの図である。
【図２０】図１９の続きの図である。
【図２１】本発明の実施の形態３の変形例１におけるジョブの選択ルールの一例を示す図である。
【図２２】本発明の実施の形態４によるシミュレーション装置の全体構成の一例を示すブロック図である。
【図２３】本発明の実施の形態４によるシミュレーション装置の処理の一例を示すフローチャートである。
【図２４】Ｓ２３０１のサブルーチンを示すフローチャートである。
【図２５】Ｓ２３０３のサブルーチンを示すフローチャートである。
【図２６】本発明の実施の形態４の具体例におけるフローショップを示す図である。
【図２７】本発明の実施の形態４の具体例における散布図を示す図である。
【図２８】本発明の実施の形態４の具体例における散布図を示す図である。
【発明を実施するための形態】
【００４６】
（実施の形態１）
［シミュレーション装置の構成］
図１は、本発明の実施の形態１によるシミュレーション装置の全体構成の一例を示すブロック図である。シミュレーション装置は、対象ジョブ記憶部１０１、到着順序作成部１０２、待ち行列記憶部１０３、ジョブ選択部１０４、検索範囲記憶部１０５、処理順序記憶部１０６、待ち行列更新部１０７、段取り替え計算部１０８、生産性計算部１０９、マスタ時間記憶部１１０、シミュレーション結果記憶部１１１、検索範囲更新部１１２、シミュレーション結果集計部１１３、集計結果記憶部１１４を備えている。
【００４７】
シミュレーション装置は、情報処理装置で構成されている。情報処理装置は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、及び補助記憶装置を備えるコンピュータと、ディスプレイと、操作装置とを備える。情報処理装置としては、例えば、デスクトップコンピュータのように据え置き型の情報処理装置が採用されてもよいし、タブレット端末、スマートフォン等の携帯型の情報処理装置が採用されてもよい。
【００４８】
図１に示す各ブロックは、例えば、ＣＰＵが、補助記憶装置に記憶されている、コンピュータをシミュレーション装置として機能させるシミュレーションプログラムを実行することで実現される。また、図１において、四角形で示すブロックは、主にＣＰＵで実現され、円筒形で示すブロックは、主に、ＲＯＭ、ＲＡＭ、及び補助記憶装置等で構成される記憶装置で実現される。
【００４９】
シミュレーション装置は、ロットに応じて段取り替えを行う設備において、仕掛量と生産性との関係性をシミュレートする。「ロット」とは、一般的に生産管理上の製品単位を指すが、本実施の形態では、１つに纏めることができるジョブの単位を表す。
【００５０】
「段取り替え」とは、設備において、処理対象となる製品の品種や工程内容が変わる際生じる段取り作業のことを指す。段取り作業は、設備の種類によって異なる。例えば、プレスの金型及びドリル等の治工具の取り替え、精密切削加工装置又は化学装置の基準調整、基準変更及びそれに伴う組立部品又は部材の切り替え、並びに製造前の作業内容確認等が段取り替え作業に該当する。「ロットに応じて段取り替えを行う」とは、設備において、処理対象となるロットが切り替わる際に段取り作業が発生することを指す。
【００５１】
「設備」とは、製品を処理する処理装置等が該当する。本実施の形態では、１台の「設備」における仕掛量と生産性との関係性を示す情報が計算される。「処理」とは、ワークの製造や加工が該当する。
【００５２】
対象ジョブ記憶部１０１は、処理対象となる複数のジョブを予め記憶する。「ジョブ」とは、設備が処理する処理対象の１単位を指し、例えば、ワークが該当する。ワークとは、工作機械における加工対象物である。本実施の形態では、複数のジョブは、それぞれ、複数の品種のうち、いずれか１の品種が予め割り付けられている。
【００５３】
到着順序作成部１０２は、複数のジョブの設備への到着順序を作成する。本実施の形態では、到着順序作成部１０２は、予め定められた複数個のジョブをランダムに並び替える処理を複数回実行して、複数パターンの到着順序を作成する。
【００５４】
待ち行列記憶部１０３は、到着順序作成部１０２によって作成された到着順序にしたがって配列されたジョブを先入れ方式で格納する待ち行列を記憶する。
【００５５】
ジョブ選択部１０４は、待ち行列の先頭から所定番目までのジョブに対して検索範囲を設定し、設定した検索範囲の中から所定の選択ルールで１のジョブを選択する。
【００５６】
選択ルールとしては、直前に選択したジョブに対して同一ロットに纏めるための条件が同じジョブを次処理ジョブとして優先的に選択するというルールが採用できる。同一ロットに纏めるための条件としては、例えば、設備での処理条件が同一であることが採用できる。具体的には、品種が同一のジョブ同士は、設備での処理条件が同一であるので、本実施の形態では、ジョブ選択部１０４は、直前に選択されたジョブと同一品種のジョブを優先的に選択する。
【００５７】
検索範囲記憶部１０５は、ジョブ選択部１０４が１のジョブを選択する際に待ち行列に設定する検索範囲を記憶する。ここで、検索範囲は、ジョブの個数によって規定され、待ち行列に格納された先頭のジョブから所定番目までのジョブまでの個数で表される。
【００５８】
処理順序記憶部１０６は、ジョブ選択部１０４により選択されたジョブを選択順に記憶する。
【００５９】
待ち行列更新部１０７は、ジョブ選択部１０４によりジョブが選択される度に、待ち行列内のジョブの順序を更新し、ジョブ選択部１０４に１のジョブを選択させる。
【００６０】
段取り替え計算部１０８は、処理順序記憶部１０６において選択順に記憶されたジョブ群の段取り替え回数を計算する。「段取り替え回数」としては、ジョブ群において、同一ロットに纏めるための条件が切り替わった回数が採用できる。本実施の形態では、品種が切り替わった場合に段取り替えが発生する態様を採用するので、「段取り替え回数」はジョブ群を構成するジョブの品種が切り替わった回数が該当する。
【００６１】
生産性計算部１０９は、予め定められた段取り替え時間及びジョブの処理時間に基づいて、処理順序記憶部１０６に記憶されたジョブ群に対する設備の生産性を計算する。「段取り替え時間」とは、段取り替えに要する時間を指す。この段取り替え時間は、段取り替え前後のジョブの品種により異なる時間が採用されてもよいし、同じ時間が採用されてもよい。「生産性」とは、あるジョブ群に対して、設備が単位時間あたりに処理できる生産量を指す。生産量は例えば設備が処理できる重量で表される。
【００６２】
マスタ時間記憶部１１０は、生産性計算部１０９が生産性を算出する際に用いる段取り替え時間及びジョブの処理時間を予め記憶する。
【００６３】
シミュレーション結果記憶部１１１は、生産性計算部１０９で計算された生産性と、設定された検索範囲との組を記憶する。
【００６４】
検索範囲更新部１１２は、検索範囲記憶部１０５に記憶されている検索範囲を更新する。
【００６５】
ここで、ジョブ選択部１０４、待ち行列更新部１０７、段取り替え計算部１０８、及び生産性計算部１０９は、検索範囲が更新される度に処理を実行する。これにより、シミュレーション結果記憶部１１１には、検索範囲と生産性との組が蓄積される。
【００６６】
シミュレーション結果集計部１１３は、シミュレーション結果記憶部１１１に蓄積された検索範囲と生産性との組を用いて仕掛量と生産性との関係性を示す関係性情報を生成する。ここで、関係性情報としては、例えば、一方の軸に検索範囲、他方の軸に生産性が規定された２次元グラフにおいて、検索範囲と生産性との組がプロットされた散布図が採用できる。
【００６７】
集計結果記憶部１１４は、シミュレーション結果集計部１１３が生成した関係性情報を記憶する。
【００６８】
［処理の説明］
次に、本実施の形態におけるシミュレーション装置の処理について説明する。
【００６９】
（処理１）ジョブの到着順序の作成
到着順序作成部１０２は、対象ジョブ記憶部１０１からシミュレーション対象となる複数のジョブのデータを読み出し、ランダムに並べ替えて、ジョブの到着順序を作成し、作成した到着順序に従ってジョブが配列された待ち行列を生成し、待ち行列記憶部１０３に記憶する。
【００７０】
図２は、本発明の実施の形態において、設備で処理することが計画されているジョブの一例を示す図である。図２の計画例では、ジョブは、「Ａ」、「Ｂ」、「Ｃ」の３つの品種に区分されている。また、図２の計画例では、品種「Ａ」、「Ｂ」、「Ｃ」のジョブは、それぞれ８個、７個、６個である。つまり、図２の計画例では、合計２１個のジョブが設備で処理される。
【００７１】
図３、図４は、図２に示すジョブをランダムに並べ替えて待ち行列に格納した例を示す図である。図３、図４では、セクション（ａ）〜（ｊ）に向かうにつれて処理が進行されている。また、図３、図４では、１つの楕円が１つのジョブを示している。また、図３、図４では、色の違いで品種の違いが示されている。ここでは、黒、グレー、白の３色で品種の違いが示されている。
【００７２】
（処理２）ジョブの選択
セクション（ａ）では、図２に示す２１個のジョブは、ランダムに決定された到着順序にしたがって待ち行列３０１に配列されている。なお、待ち行列３０１の先頭は設備３０２側であり、設備３０２に近いジョブほど到着順序が高い。
【００７３】
まず、ジョブ選択部１０４は、検索範囲記憶部１０５に記憶された検索範囲Ｒを待ち行列３０１に設定する。ここでは、待ち行列３０１の先頭から後端側に向けて８個のジョブに検索範囲Ｒが設定されている。
【００７４】
次に、ジョブ選択部１０４は、検索範囲Ｒの中から１つのジョブを選択する。選択されたジョブは処理順序記憶部１０６に選択順で記憶される。検索範囲Ｒとは、待ち行列の先頭から何番目のジョブまでを次処理ジョブの候補とするかを規定する範囲を指す。
【００７５】
ここで、ジョブ選択部１０４は、検索範囲Ｒにおいて、直前に選択したジョブと同じ品種のジョブを優先的に選択し、且つ、同じ品種のジョブが複数あれば、到着順序が早いジョブを優先的に選択するという選択ルールを採用する。
【００７６】
図３、図４に示す縦の直線Ｌは、検索範囲Ｒの後端を示す。セクション（ａ）では、到着順序が１番目のジョブ「１」が、処理順序が１番目のジョブとして選択されている。これは、直前に選択されたジョブが無いからである。セクション（ｂ）では、既にジョブ「１」（白色：品種「Ａ」）が選択されているので、同じ品種「Ａ」のうち次に到着順序が早いジョブ「２」が選択されている。
【００７７】
セクション（ｃ）、（ｄ）に示すように、検索範囲Ｒ内に品種「Ａ」のジョブがある限り、品種「Ａ」のジョブが到着順に選択されていく。
【００７８】
（処理３）待ち行列の更新
待ち行列更新部１０７は、ジョブ選択部１０４により１つのジョブが選択されると、待ち行列３０１内の検索範囲Ｒからジョブが１つ減るので、待ち行列３０１に残存するジョブのうち、選択されたジョブより後続のジョブの順序を１つ繰り上げ、待ち行列３０１を更新する。これにより、待ち行列３０１内の前記後続ジョブの順位が１つ詰められ、ジョブ間に順位の欠落が生じることが防止される。
【００７９】
図３に示すように、ジョブが１つ選択されると、それ以降のジョブが１つ前に移動する。その結果、検索範囲Ｒ内のジョブの順列も更新され、前回は検索対象に含まれていなかったジョブが検索対象に加わる。例えば、セクション（ｃ）では、検索範囲Ｒの後端のジョブとして白色で示す品種「Ａ」のジョブが新たに加わっている。
【００８０】
（処理４）ジョブの選択と待ち行列の更新の繰り返し
待ち行列３０１が空になるまで、（処理２）、（処理３）のジョブの選択と待ち行列３０１の更新とが繰り返される。この過程において、検索範囲Ｒ内に直前に選択されたジョブと同じ品種のジョブが無くなった場合、ジョブ選択部１０４は、待ち行列３０１内の先頭のジョブを選択する。図４に示すセクション（ｅ）では、検索範囲Ｒに直前に選択されたジョブと同じ品種「Ａ」のジョブが無いため、先頭のジョブ「５」（品種「Ｃ」：黒色）が処理順序が５番目のジョブとして選択されている。
【００８１】
セクション（ｆ）では、検索範囲Ｒにおいて、直前に選択されたジョブ「５」と同じ品種「Ｃ」のジョブのうち、到着順序が最も早いジョブ「６」が選択される。
【００８２】
セクション（ｇ）では、検索範囲Ｒにおいて、直前に選択されたジョブ「８」と同じ品種「Ｃ」のジョブが無いので、先頭のジョブ「９」（品種「Ｂ」）が選択されている。
【００８３】
セクション（ｈ）では、検索範囲Ｒにおいて、直前に選択されたジョブ「９」と同じ品種「Ｂ」のジョブのうち、到着順序が最も早いジョブ「１０」が選択されている。
【００８４】
セクション（ｉ）では、検索範囲Ｒにおいて、直前に選択されたジョブ「１５」と同じ品種「Ｂ」のジョブがないので、先頭のジョブ「１６」が選択されている。
【００８５】
セクション（ｊ）では、待ち行列３０１から全てのジョブが選択され、待ち行列３０１が空になっている。
【００８６】
これにより、最終的に、先頭から順番に、品種「Ａ」の４つのジョブ、品種「Ｃ」の４つのジョブ、品種「Ｂ」の７つのジョブ、品種「Ａ」の４つのジョブ、品種「Ｃ」の２つのジョブが配列されたジョブ群が得られ、処理順序記憶部１０６に記憶される。
【００８７】
（処理５）段取り替えの計算
待ち行列３０１が空になると、段取り替え計算部１０８は、完成したジョブ群に対して、段取り替え回数を計算する。ここでは、品種が切り替わるタイミングで段取り替えが発生するものとする。図４のセクション（ｊ）では、段取り替えのタイミングの一例が示されている。図３（ｊ）では、４番目及び５番目のジョブの間、８番目及び９番目のジョブの間、１５番目及び１６番目のジョブの間、１９番目及び２０番目のジョブの間で品種が切り替わっており、全体で４回の段取り替えが発生している。そのため、段取り替え計算部１０８は、このジョブ群に対する段取り替え回数を４回と計算する。
【００８８】
以上、（処理１）〜（処理５）において、図２、図３に示す簡素な計画例を用いて、段取り替え計算までの基本的な動きが説明された。以降の処理については、より現実に即したシミュレーションの条件でシミュレーションを行った場合のシミュレーション装置の処理が説明される。
【００８９】
図５〜図７は、実施したシミュレーションの条件を示す図である。図５はシミュレーション装置において、設備で処理することが計画されているジョブの一例を示す図である。図５の例では、ジョブには品種「Ａ」から品種「Ｊ」までの１０種類の品種があり、「搬送ロットサイズ」で示されるジョブ数の単位で設備前に到着するものとする。例えば、品種「Ｃ」は「搬送ロットサイズ」が「４」であるので、「４」つのジョブが１単位に纏められて、設備に搬送される。
【００９０】
また、「搬送ロット数」は、「搬送ロット単位」に纏められたロットが何ロット存在するかを示す。「ジョブ数」は、「搬送ロットサイズ」×「搬送ロット数」で規定され、シミュレーション対象となるジョブの合計数を示す。例えば、品種「Ｃ」は、搬送ロットサイズが「４」、搬送ロット数が「１０」なので、シミュレーション対象とするジョブ数は「４０」となる。
【００９１】
（処理６）生産性の計算
生産性計算部１０９は、（処理５）までに決定された処理順序と段取り替え回数とを用いて、設備での単位時間あたりの生産量である生産性を計算する。生産性を計算するにあたり、生産性計算部１０９は、予め定められたジョブの処理時間と段取り替え時間とをマスタ時間記憶部１１０から取得する。ここでは、生産性の指標としてトン／月を用いる。図６は、マスタ時間記憶部１１０が記憶するパラメータテーブルＴ６の一例を示す図である。パラメータテーブルＴ６は、「処理時間」、「段取り替え時間」、「重量」、及び「稼働率」をそれぞれ記憶する。
【００９２】
「処理時間」は、１個のジョブを設備が処理するために必要な時間の平均値を示し、「分／個」で表される。この例では、ジョブ１つ当たりの処理時間の平均値は一律１２０分に設定されている。但し、これは一例であり、品種毎或いはジョブ毎に処理時間の平均値は異なっていてもよい。
【００９３】
「段取り替え時間」は、段取り替え１回当たりに必要な時間の平均値を示し、「分／回」で表される。この例では、１回当たりの段取り替え時間の平均値は一律２００分に設定されている。但し、これは一例であり、段取り替え時間の平均値は、段取り替え毎に異なる時間であってもよい。例えば、段取り替え前のジョブの品種と段取り替え後のジョブの品種との組み合わせに応じて、段取り替え時間の平均値は異なる時間が設定されていてもよい。
【００９４】
「重量」はジョブの１個当たりの重量の平均値を示し、「ｔｏｎ／個」で表される。この例では、ジョブの平均値は一律に１０トンが設定されているが、これは一例であり、品種毎、或いはジョブ毎に、重量は異なる値が採用されてもよい。
【００９５】
「稼働率」は、設備の全操業時間のうち、処理時間と段取り替え時間とに設備が費やすことができる最大時間の比率を示し、「％」で表される。ここでは、稼働率は８０％に設定されている。例えば、１ヶ月における設備の操業時間を７２０時間とした場合、設備のメンテナンス、作業員の休憩、及びマイナーなトラブルによる処理の停止などを除いて５７６時間が処理時間と段取り替え時間とに費やすことができる時間になる。
【００９６】
生産性は下記の式（１）により計算される。
【００９７】
生産性［ｔｏｎ／月］＝７２０［ｈｒ／月］×稼働率［％］×（１／１００）×Σジョブの処理重量［ｔｏｎ］／（Σ処理時間［ｈｒ］＋Σ段取り替え時間［ｈｒ］）・・・（１）
ここで、Σジョブの処理重量はジョブの処理量の総和を示し、Σ処理時間はジョブの処理時間の総和を示し、Σ段取り替え時間はジョブの段取り替え時間の総和を示す。
【００９８】
以下の例では、段取り替え回数は１００回とする。また、設備が処理する総ジョブ数は、図５の例から１０００とする。この場合、生産性は以下のように算出される。
【００９９】
生産性＝（１／１００）×７２０×８０×１０００×１０／（１０００×１２０／６０＋１００×２００／６０）＝２４６８．５［ｔｏｎ／月］
次に、生産性計算部１０９は、この結果の前提となる検索範囲と生産性との組をシミュレーション結果記憶部１１１に格納する。例えば、図５の例において検索範囲を３０にした時の生産性が２４６８．５［ｔｏｎ／月］であったとすると、（３０，２４６８．５）のように検索範囲と生産性との組が保存される。
【０１００】
（処理７）検索範囲の更新
（処理２）〜（処理６）では、１つのジョブの到着順序に対して、検索範囲を固定した時の設備の生産性を計算する例が示された。次に、検索範囲更新部１１２は、検索範囲を更新して（処理２）〜（処理６）の処理を行う。検索範囲の更新は、例えば、所定の範囲で検索範囲を段階的に大きくしてゆく方法、或いは所定の範囲で検索範囲を段階的に小さくしてゆく方法、などが考えられる。
【０１０１】
図７は検索範囲の更新方法が予め登録された更新テーブルＴ７の一例を示す図である。更新テーブルＴ７には、検索範囲の更新方法として、「試行の繰り返し回数」、「検索範囲を拡大するステップ幅」、及び「検索範囲を拡大する回数」が含まれている。
【０１０２】
「試行の繰り返し回数」については、後述する。「検索範囲を拡大するステップ幅」は、１回当たりの検索範囲の拡大数を示す。この例では、「検索範囲を拡大するステップ幅」として「１」が設定されている。これは、検索範囲が１ジョブずつ拡大されることを示している。
【０１０３】
「検索範囲を拡大する回数」は、検索範囲の更新回数を規定する。この例では、「検索範囲を拡大する回数」として６０が設定されている。これは、検索範囲の拡大が６０回行われることを示している。このシミュレーションにおいては、特に明示していないが、検索範囲の初期値として「１」が採用されている。但し、これは一例であり、初期値として、「１」以外の値が採用されてもよい。なお、初期値は、更新テーブルＴ７に予め登録されていても良い。
【０１０４】
（処理８）ジョブの到着順序の更新
（処理１）〜（処理７）では、１つのジョブの到着順序に対して、複数の検索範囲のそれぞれにおける設備の生産性が計算される例が示された。次に、到着順序作成部１０２は、異なるジョブの到着順序を作成する。そして、シミュレーション装置は、各到着順序に対して（処理１）〜（処理７）の処理を繰り返す。ここで、到着順序作成部１０２は、ランダムで複数のジョブの到着順序を作成する。到着順序の更新回数は、更新テーブルＴ７の「試行の繰り返し回数」に予め登録されている。
【０１０５】
図７の例では、「試行の繰り返し回数」として２０回が設定されているので、到着順序作成部１０２は、ジョブの到着順序をランダムに２０個作成する。
【０１０６】
（処理９）シミュレーション結果の集計
（処理１）〜（処理８）では、複数のジョブの到着順序のそれぞれに対して、複数の検索範囲のそれぞれでの設備の生産性が計算され、検索範囲と生産性との組がシミュレーション結果記憶部１１１に記憶される。
【０１０７】
すなわち、「検索範囲を拡大する回数」がＭ回、「試行の繰り返し回数」がＮ回とすると、Ｍ×Ｎ個の（検索範囲，生産性）の組が得られる。そこで、最後に、シミュレーション結果集計部１１３は、Ｍ×Ｎ個の組を２次元グラフ上にプロットし、仕掛量と生産性との関係性を示す関係性情報を生成する。ここでは、シミュレーション結果集計部１１３は、検索範囲を横軸、生産性を縦軸とする散布図を生成する。この散布図は、例えば、図略のディスプレイやプリンタといった出力装置に出力される。
【０１０８】
図８は、図５〜図７に示す条件を用いたシミュレーション結果により得られた散布図の一例を示す図である。図９は、図８と同じシミュレーション結果における他の一例を示す散布図である。図８に示す散布図は、縦軸に生産性（トン／月）が設定され、横軸に検索範囲が設定されている。図９では、生産性に代えて段取り替え回数が設定されている点が図８と相違する。
【０１０９】
図８、図９に示されるように、ジョブの到着順序がランダムに作成されているため、検索範囲が同じであっても生産性及び段取り替え回数にバラツキが生じているが、検索範囲が拡大するにつれて段取り替え回数が少なくなる（図９）。その結果、図８に示すように、検索範囲が拡大するにつれて生産性が向上していることが分かる。これは、検索範囲が大きいほど、直前に処理したジョブと同じ品種のジョブが選び易くなり、段取り替え回数を少なくすることができるからである。段取り替え回数が少なくなると、段取り替え時間が減少し、式（１）の分母の値が減少するので、生産性が増大する。
【０１１０】
検索範囲は、設備前に保有されたワークのうち、次処理ジョブとして選択可能なワークの数に対応するため、設備前で保有される仕掛量（在庫）と考えることができる。そのため、図８、図９の横軸は設備で保有する仕掛量に置き替えることができる。よって、図８の散布図は、仕掛量と生産性の関係性を示す。
【０１１１】
散布図の使い方としては、図８を例にとると、受注見込みとして翌月に２５００トンの生産目標を達成する必要がある時、設備前に適正仕掛量として、３０〜４０個のワークを保持すればよいということが判断できる。そのため、図８の散布図は、設備前に３０〜４０個のワークを保持するように設備の生産をコントロールすれば良いという生産管理の指針を提供できる。つまり、散布図は、生産目標を達成するには仕掛量が２０個では足りないし、仕掛量が５０個では保有の無駄という情報を提示できる。
【０１１２】
図８、図９の散布図では、シミュレーションの結果がそのままプロットされているが、これは一例である。例えば、検索範囲ごとに生産性の平均値或いは中央値をプロットし、プロットした点を直線でつないだ折れ線グラフが散布図として採用されてもよい。
【０１１３】
［フローチャート］
図１０は、本発明の実施の形態１におけるシミュレーション装置の処理の一例を示すフローチャートである。上述した、（処理１）〜（処理９）は図１０に示すフローチャートに纏められる。
【０１１４】
まず、到着順序作成部１０２は、対象ジョブ記憶部１０１からシミュレーション対象となる複数のジョブのデータを読み出し、読み出したジョブをランダムに並べ替えて、ジョブの到着順序を作成し、作成した到着順序に従ってジョブが配列された待ち行列を生成し、待ち行列記憶部１０３に記憶する（Ｓ１００１）。
【０１１５】
次に、ジョブ選択部１０４は、Ｓ１００１で生成された待ち行列に対して検索範囲を設定する（Ｓ１００２）。例えば、上述のシミュレーション例では、検索範囲の初期値は１なので、最初のループでは先頭から１番目のジョブに対して検索範囲が設定される。
【０１１６】
次に、ジョブ選択部１０４は、上述した選択ルールに従って検索範囲の中から１のジョブを選択し（Ｓ１００３）、選択した１のジョブを選択順に処理順序記憶部１０６に記憶させる。
【０１１７】
次に、待ち行列更新部１０７は、待ち行列内に残存するジョブの順序を１つ繰り上げ、待ち行列を更新する（Ｓ１００４）。
【０１１８】
次に、待ち行列更新部１０７は、待ち行列が空になったか否かを判定し（Ｓ１００５）、空になった場合（Ｓ１００５でＹＥＳ）、処理をＳ１００６に進める。
【０１１９】
一方、待ち行列が空になっていない場合（Ｓ１００５でＮＯ）、待ち行列更新部１０７は、処理をＳ１００３に戻し、ジョブ選択部１０４に次の１のジョブを選択させる。以上の処理が繰り返され、Ｓ１００１において到着順序で配列された１のジョブ群は処理順序で並べ替えられ、処理順序記憶部１０６に記憶される。以下、処理順序記憶部１０６に記憶された１のジョブ群を対象ジョブ群と記述する。
【０１２０】
Ｓ１００６では、段取り替え計算部１０８は、対象ジョブ群における段取り替え回数を計算する（Ｓ１００６）。例えば、対象ジョブ群が図４のセクション（ｊ）であったとすると、この対象ジョブ群に対する段取り替え回数は４回と計算される。
【０１２１】
次に、生産性計算部１０９は、式（１）を用いて、対象ジョブ群に対する生産性を計算する（Ｓ１００７）。
【０１２２】
次に、生産性計算部１０９は、Ｓ１００７で計算した生産性とＳ１００２で設定された検索範囲との組をシミュレーション結果記憶部１１１に記憶させる（Ｓ１００８）。
【０１２３】
次に、検索範囲更新部１１２は、更新テーブルＴ７を参照し、検索範囲の更新が終了条件を満たしていなければ（Ｓ１００９でＮＯ）、処理をＳ１００２に戻し、検索範囲を再度設定する。更新テーブルＴ７の例では、「検索範囲を拡大するステップ幅」の「設定値」が「１」なので、検索範囲が１ジョブ分増大される。以後、新たに設定された検索範囲に対して、Ｓ１００２〜Ｓ１００８の処理が実行され、シミュレーション結果記憶部１１１には、新たに設定された検索範囲と生産性との組が記憶される。これにより、シミュレーション結果記憶部１１１には、検索範囲と生産性との組が蓄積されていく。
【０１２４】
一方、検索範囲更新部１１２は、更新テーブルＴ７を参照し、検索範囲の更新が終了条件を満たしていれば（Ｓ１００９でＹＥＳ）、処理をＳ１０１０に進める。更新テーブルＴ７の例では、「検索範囲を拡大する回数」の「設定値」として「６０」が設定されている。したがって、検索範囲更新部１１２は、検索範囲を６０回（初期値も含む）設定した場合、検索範囲の更新が終了条件を満たすと判定すればよい。
【０１２５】
Ｓ１０１０では、待ち行列更新部１０７は、更新テーブルＴ７を参照し、待ち行列の更新が終了条件を満たしていなければ（Ｓ１０１０でＮＯ）、処理をＳ１００１に戻し、先に作成した待ち行列とは異なる到着順序でジョブが配列された待ち行列を生成する。以後、この待ち行列に対して、Ｓ１００２〜Ｓ１００９の処理が行われ、シミュレーション結果記憶部１１１には、検索範囲と生産性との組が蓄積されていく。
【０１２６】
一方、待ち行列更新部１０７は、待ち行列の更新が終了条件を満たしていれば（Ｓ１０１０でＹＥＳ）、処理をＳ１０１１に進める。更新テーブルＴ７の例では、「試行の繰り返し回数」の「設定値」として「２０」が設定されている。そのため、待ち行列更新部１０７は、待ち行列を２０回作成した場合、待ち行列の更新が終了条件を満たすと判断する。
【０１２７】
以上により、更新テーブルＴ７の例では、検索範囲を拡大する回数（＝６０）×試行の繰り返し回数（＝２０）＝１２００個の検索範囲と生産性との組が計算され、シミュレーション結果記憶部１１１に記憶される。
【０１２８】
Ｓ１０１１では、シミュレーション結果集計部１１３は、シミュレーション結果記憶部１１１に記憶された検索範囲と生産性との組を用いてシミュレーション結果を集計する。ここでは、シミュレーション結果記憶部１１１に記憶された検索範囲と生産性との組が２次元グラフ上にプロットされ、図８又は図９に示すような散布図が作成される。
【０１２９】
［シミュレーション装置の纏め］
（１）シミュレーション装置は、待ち行列の検索範囲を固定して、次に処理するジョブを逐次選択することで処理順序（スケジュール）でジョブが配列されたジョブ群を作成し、そのジョブ群の生産性を計算する。そして、この生産性を複数の検索範囲で計算して検索範囲と対応付けてシミュレーション結果記憶部１１１に蓄積していき、検索範囲と生産性との関係性を示す情報（散布図）を生成する。ここで、検索範囲は仕掛量に対応しているので、この散布図には、仕掛量と生産性との関係性が網羅的に示されている。よって、この関係性を示す情報から、ユーザは要求される生産性に対して確保するべき仕掛量を容易に判断できる。
【０１３０】
（２）到着順序作成部１０２は、ジョブの到着順序を複数作成する。そして、作成されたそれぞれの到着順序に対して検索範囲の更新と生産性の計算とが繰り返され、計算された生産性が検索範囲と対応付けてシミュレーション結果記憶部１１１に記憶される。そして、これらのシミュレーション結果が集計され、仕掛量と生産性との関係性を示す情報が生成される。したがって、到着順序が変化した場合も考慮して、より詳細に仕掛量と生産性との関係性を示す情報を提供できる。
【０１３１】
（３）ジョブ選択部１０４は、品種が同じジョブを次処理ジョブとして優先的に選択する。したがって、段取り替え回数を減らすために一般的に行われるロットまとめ作業が反映されたシミュレーション結果を得ることができる。
【０１３２】
（４）式（１）に示すように生産性には稼働率が含まれているので、処理時間や段取り替え時間以外に設備が必要とするメンテナンス時間や作業者の休憩に伴う小休止時間などの非稼働時間を考慮して生産性を計算でき、より現実に即したシミュレーション結果を得ることができる。
【０１３３】
（５）到着順序作成部１０２は、ジョブの到着順序をランダムに決定するので、到着順序の特性が統計的に得られている場合に、より精度の高いシミュレーション結果を得ることができる。
【０１３４】
（６）到着順序作成部１０２は、予め固定した複数のジョブグループ単位で到着順序を決定する。そのため、ジョブの到着が搬送ロット単位である場合に、より精度の高いシミュレーション結果が得られる。
【０１３５】
［変形例］
（１）上記実施の形態では、ジョブ選択部１０４は、直前に選択したジョブと品種が同じジョブを次処理ジョブとして選択した。本発明はこれに限定されず、ジョブ選択部１０４は、直前に選択したジョブに対して段取り替え時間が最小となるジョブを次処理ジョブとして優先的に選択するというルールで次処理ジョブを選択してもよい。
【０１３６】
例えば、図３のセクション（ｂ）では、ジョブ「２」が選択されているが、これは、ジョブ「２」は品種「Ａ」であり、直前に選択されたジョブ「１」も品種「Ａ」であり、両者は同じ品種である。この場合、ジョブ「２」はジョブ「１」に対して段取り替え時間が最小のジョブに該当していると言える。そこで、変形例（１）ではジョブ選択部１０４は、上述の実施の形態と同様、検索範囲Ｒに直前に選択されたジョブと同一品種のジョブが存在すれば、同一品種のジョブのうち到着順序が最も高いジョブを選択すればよい。
【０１３７】
また、セクション（ｅ）を例に挙げて説明すると、実施の形態では、ジョブ選択部１０４は、直前に選択されたジョブ「４」と同じ品種のジョブが検索範囲Ｒに存在しなければ、検索範囲Ｒの先頭のジョブ「５」を選択している。
【０１３８】
一方、変形例（１）では、直前に選択されたジョブ「４」と同じ品種のジョブが検索範囲Ｒに存在しなければ、ジョブ選択部１０４は、検索範囲Ｒ内のジョブのうち段取り替え時間が最小のジョブであって到着順序が最も高いジョブを選択すればよい。セクション（ｅ）を例では、検索範囲Ｒには、品種「Ｂ」のジョブと品種「Ｃ」のジョブとが存在している。一方、直前に選択されたジョブ「４」の品種は「Ａ」である。この場合、ジョブ選択部１０４は、品種「Ａ」→品種「Ｂ」の段取り替え時間と、品種「Ａ」→品種「Ｃ」の段取り替え時間とを比較して段取り替え時間が早い方の品種を選択すればよい。なお、ジョブ選択部１０４は、段取り替え前後の品種の切替パターンと切替パターンとに応じた段取り替え時間とが対応付けられたテーブルを予め備えておき、このテーブルを参照することで、段取り替え時間が最小となる品種を特定すればよい。
【０１３９】
（２）図５の例では、到着順序作成部１０２は、搬送ロット単位で到着順序を作成したが、本発明はこれに限定されない。例えば、到着順序作成部１０２は、前工程の設備において１つのロットに纏められた複数のジョブを１のジョブグループ単位として、到着順序を作成してもよい。
【０１４０】
（実施の形態２）
実施の形態２のシミュレーション装置は、順次に実行される工程（１）〜工程（Ｋ）に対応する設備（１）〜設備（Ｋ）に対してシミュレーションを実行することを特徴とする。なお、Ｋは２以上の整数である。
【０１４１】
図１１は、本発明の実施の形態２によるシミュレーション装置の全体構成の一例を示すブロック図である。なお、実施の形態２において実施の形態１と同じ構成には同じ符号を付して説明を省略する。このことは以降の実施の形態も同じである。
【０１４２】
図１１に示すシミュレーション装置は図１の構成に加えて、更に、検索範囲決定部１１５、次工程待ち行列設定部１１６、及びロット編成条件設定部１１７を備えている。
【０１４３】
まず、シミュレーション装置は、実施の形態１の手法を用いて設備（１）の関係性情報を生成する。
【０１４４】
検索範囲決定部１１５は、集計結果記憶部１１４に記憶された設備（ｋ）における関係性情報を参照し、設備（ｋ）において事前に要求される生産性（以下、「要求生産性」と呼ぶ。）に対応する仕掛量を設備（ｋ）の検索範囲として決定する。ここで、ｋは設備を特定するための変数であり、ｋ＝１〜Ｋである。
【０１４５】
次工程待ち行列設定部１１６は、設備（ｋ）の待ち行列に格納された処理対象のジョブの処理順序を、検索範囲決定部１１５により決定された検索範囲のもとでジョブ選択部１０４に決定させ、決定された処理順序で処理対象のジョブを設備（ｋ＋１）の待ち行列に格納する。
【０１４６】
ロット編成条件設定部１１７は、ジョブ選択部１０４が１のジョブを選択する際のロット纏め条件を設備毎に個別に設定する。
【０１４７】
そして、シミュレーション装置は、設備（ｋ＋１）の待ち行列に格納された処理対象のジョブに対して、実施の形態１の手法を用いて関係性情報を計算する処理を設備（２）から設備（Ｋ）まで順次に実行する。
【０１４８】
［処理の説明］
以下、実施の形態２における処理の概要を図１２及び図１３を用いて説明する。図１２、図１３は、実施の形態２における処理の概要を示す図である。
【０１４９】
（処理２１）
シミュレーション装置は、実施の形態１の手法を用いて、設備（１）におけるシミュレーションを実施し、関係性情報を計算する。検索範囲決定部１１５は、設備（１）における関係性情報から、設備（１）の要求生産性に対する仕掛量を設備（１）の検索範囲Ｒ（１）として決定する。ここで、検索範囲決定部１１５は、例えば、下記の手法で検索範囲Ｒ（１）を決定すればよい。例えば、図８で示すような散布図が関係性情報として得られたとすると、検索範囲決定部１１５は、この散布図にプロットされた生産性と検索範囲との組を示す点の分布を近似する回帰曲線を求める。そして、検索範囲決定部１１５は、設備（１）の要求生産性に対応する検索範囲を、求めた回帰曲線から決定する。なお、要求生産性は月次或いは期の生産計画から設備毎に事前に決定されているものとする。
【０１５０】
（処理２２）
検索範囲決定部１１５は、図１２に示すように設備（１）の待ち行列１２０１において処理２１で決定した検索範囲Ｒ（１）を設定する。ここで、検索範囲Ｒ（１）は待ち行列１２０１において変動されずに固定される。
【０１５１】
（処理２３）
次工程待ち行列設定部１１６は、到着順序作成部１０２に、処理対象のジョブの設備（１）への到着順序を作成させ、作成された到着順序に並べられた処理対象のジョブを待ち行列１２０１に格納させる。ここでは、到着順序作成部１０２は、実施の形態１と同様、予め処理対象のジョブをランダムに並べ替えることで到着順序を作成する。
【０１５２】
（処理２４）
次工程待ち行列設定部１１６は、ジョブ選択部１０４に、設備（１）のロット纏め条件にしたがって、検索範囲Ｒ（１）から１つずつジョブを選択し、処理順序記憶部１０６に格納していく。ここでは、設備（１）のロット纏め条件として熱処理温度が採用されている。そのため、ジョブ選択部１０４は、検索範囲Ｒ（１）において、直前に選択したジョブとロット纏め条件が同じであり、且つ、検索範囲Ｒ（１）において最も先頭側に格納されたジョブを優先的に選択する。ここでは、熱処理温度として、温度ＴＡ、ＴＢ、ＴＣの３つの熱処理温度があり、温度ＴＡのジョブは白、温度ＴＢのジョブはグレー、温度ＴＣのジョブは黒で示されている。
【０１５３】
図１２の１行目では、検索範囲Ｒ（１）において先頭に格納された温度ＴＡのジョブが１つ目のジョブとして選択されている。
【０１５４】
図１２の２行目では、直前に選択されたジョブは温度ＴＣであるが、検索範囲Ｒ（１）に温度ＴＣのジョブがないので、検索範囲Ｒ（１）の先頭の温度ＴＢのジョブが選択されている。
【０１５５】
図１２の３行目では、待ち行列１２０１において全てのジョブが選択されたので、待ち行列１２０１は空になっている。一方、処理順序記憶部１０６には、ジョブ選択部１０４により設備（１）のロット纏め条件で選択された全てのジョブが格納されている。これにより、設備（１）におけるジョブの処理順序が得られる。
【０１５６】
（処理２５）
次工程待ち行列設定部１１６は、処理２４で決定された処理順序で処理順序記憶部１０６に格納されたジョブを読み出して設備（２）の待ち行列１３０１に格納する。設備（２）ではロット纏め条件として、塗料が採用されている。ここでは、塗料として、塗料Ｃ１、Ｃ２、Ｃ３の３つの塗料があり、塗料Ｃ１のジョブは密度が最小のハッチングで示され、塗料Ｃ２のジョブは密度が中間のハッチングで示され、塗料Ｃ３のジョブは密度が最大のハッチングで示されている。
【０１５７】
図１３の右上には、処理２４により処理順序記憶部１０６に格納されたジョブが塗料のロット纏め条件で色分けして示されている。
【０１５８】
図１３の１行目の待ち行列１３０１には、右上に示された処理順序で並べられたジョブがこの処理順序で格納されている。
【０１５９】
（処理２６）
次工程待ち行列設定部１１６は、ジョブ選択部１０４に、待ち行列１３０１に格納されたジョブに対して、設備（２）のロット纏め条件にしたがって１つずつジョブを選択させ、処理順序記憶部１０６に格納する。これにより、設備（２）の処理順序が得られる。この時、次工程待ち行列設定部１１６は、ジョブ選択部１０４に、検索範囲Ｒ（２）を段階的に更新させながら処理順序を作成させる。検索範囲Ｒ（２）の更新方法は実施の形態１と同様の手法が用いられる。そして、得られた処理順序に対しては、実施の形態１と同様、検索範囲Ｒ（２）のそれぞれについての生産性が計算され、検索範囲Ｒ（２）と生産性との組がシミュレーション結果記憶部１１１に記憶される。
【０１６０】
具体的には、段取り替え計算部１０８は、ジョブ選択部１０４により作成された検索範囲Ｒ（２）毎の処理順序のそれぞれに対して、段取り替え回数を算出する。生産性計算部１０９は、算出された段取り替え回数を式（１）に代入して、検索範囲Ｒ（２）毎の生産性を計算する。そして、生産性計算部１０９は、検索範囲Ｒ（２）毎に計算した生産性と検索範囲Ｒ（２）との組をシミュレーション結果記憶部１１１に記憶する。これにより、検索範囲Ｒ（２）に対する生産性が網羅的に算出される。
【０１６１】
（処理２７）
次工程待ち行列設定部１１６は、到着順序作成部１０２に設備（１）の待ち行列１３０１に格納する異なるジョブの到着順序を作成させて到着順序を更新する。そして、シミュレーション装置は、各到着順序に対して（処理２３）〜（処理２６）の処理を繰り返す。なお、シミュレーション装置は、実施の形態１と同様、更新テーブルＴ７の「試行の繰り返し回数」に予め登録されている回数に到達するまで、ジョブの到着順序を更新させ、各到着順序に対して（処理２３）〜（処理２６）を繰り返す。
【０１６２】
（処理２８）
シミュレーション結果集計部１１３は、（処理２３）〜（処理２７）により網羅的に計算された検索範囲Ｒ（２）と生産性との組を、図８に示す２次元グラフにプロットし、設備（２）における関係性情報を作成する。これにより、設備（２）において、仕掛量と生産性との組がプロットされた散布図が作成される。
【０１６３】
なお、上記説明では設備（１）と設備（２）とを用いた２工程の例が示されたが、本実施の形態はこれに限定されず、設備（１）〜設備（Ｋ）を用いた３工程以上の場合についても、適用可能である。
【０１６４】
この場合、（処理２２）〜（処理２８）と同様の処理が下流設備に向かって繰り返されればよい。ただし、（処理２４）と（処理２５）との処理は、図１４のフローチャートで後述されるように、下流工程に進むにつれて、固定される検索範囲が増大していき、検索範囲が固定された設備でのジョブを選択する処理の繰り返し回数が増大する処理になる（Ｓ１４０７〜Ｓ１４１０）。
【０１６５】
［フローチャート］
図１４は、本発明の実施の形態２によるシミュレーション装置の処理の一例を示すフローチャートである。
【０１６６】
シミュレーション装置は、実施の形態１の手法を用いて設備（１）において、設備（１）のロット纏め条件を用いたシミュレーションを実施し、設備（１）での関係性情報を得る（Ｓ１４０１）。これにより、例えば、図８や図９の散布図で示される関係性情報が得られる。
【０１６７】
次に、次工程待ち行列設定部１１６は、設備（１）〜設備（Ｋ）のうち、１の設備（ｋ）を指定するための変数ｋに１を代入して変数ｋを初期化する（Ｓ１４０２）。
【０１６８】
次に、検索範囲決定部１１５は、設備（ｋ）に対して事前に定められた要求生産性に対応する検索範囲Ｒ（ｋ）を決定する（Ｓ１４０３）。例えば、設備（ｋ）に対する関係性情報として図８に示す散布図が得られたとすると、検索範囲決定部１１５は、散布図にプロットされた点を近似する回帰曲線を求め、その回帰曲線から要求生産性に対応する検索範囲を設備（ｋ）の検索範囲Ｒ（ｋ）として決定する。
【０１６９】
次に、検索範囲決定部１１５は、図１２に示すように、設備（ｋ）の検索範囲を検索範囲Ｒ（ｋ）に固定する（Ｓ１４０４）。
【０１７０】
次に、到着順序作成部１０２は、次工程待ち行列設定部１１６の制御の下、処理対象のジョブをランダムに並び替え、設備（１）への処理対象のジョブの到着順序を作成し、設備（１）の待ち行列に格納する（Ｓ１４０５）。
【０１７１】
次に、次工程待ち行列設定部１１６は、設備（１）から設備（ｋ）までの設備において、処理対象の設備（ｍ）を示す変数ｍに１を代入し、変数ｍを初期化する（Ｓ１４０６）。ここで、ｍは、ｍ＝１〜ｋの整数である。
【０１７２】
次に、ジョブ選択部１０４は、次工程待ち行列設定部１１６の制御の下、設備（ｍ）でのロット纏め条件を使用して、設備（ｍ）の処理順序を生成する（Ｓ１４０７）。この場合、ジョブ選択部１０４は、図１２に示すように、固定された検索範囲Ｒ（ｍ）（図１２の例ではＲ（１））のもとで、設備（ｍ）のロット纏め条件を用いて設備（ｍ）の待ち行列から１つずつジョブを選択していき、設備（ｍ）の処理順序を生成する。
【０１７３】
次に、次工程待ち行列設定部１１６は、生成された設備（ｍ）の処理順序を設備（ｍ＋１）の待ち行列に格納する（Ｓ１４０８）。
【０１７４】
次に、次工程待ち行列設定部１１６は、変数ｍがｋに到達していなければ（Ｓ１４０９でＮＯ）、変数ｍを１インクリメントし（Ｓ１４１０）、処理をＳ１４０７に戻す。一方、次工程待ち行列設定部１１６は、変数ｍがｋに到達していれば（Ｓ１４０９でＹＥＳ）、処理をＳ１４１１に進める。これにより、検索範囲が決定済みの設備（１）〜設備（ｋ）までの設備において、検索範囲Ｒ（１）〜Ｒ（ｋ）が固定さた状態で、設備（１）に入力された処理対象のジョブが、各設備のロット纏め条件にしたがって、順次に処理順序が作成されて設備（ｋ）から取り出される。
【０１７５】
例えば、次工程待ち行列設定部１１６は、設備（３）の待ち行列に処理対象のジョブを格納するに際し、まず、設備（１）の待ち行列に格納された処理対象のジョブの処理順序を固定された検索範囲Ｒ（１）のもとでジョブ選択部１０４に決定させる（Ｓ１４０７）。
【０１７６】
次に、次工程待ち行列設定部１１６は、決定された設備（１）の処理順序を設備（２）の待ち行列に格納する（Ｓ１４０８）。次に、待ち行列設定部１１６は、設備（２）の待ち行列に格納された処理対象のジョブの処理順序を固定された検索範囲Ｒ（２）のもとでジョブ選択部１０４に決定させる（Ｓ１４０７）。
【０１７７】
次に、次工程待ち行列設定部１１６は、決定された設備（２）の処理順序を設備（３）の待ち行列に格納する（Ｓ１４０８）。このようにして、設備（ｋ＋１）の待ち行列に格納されるジョブの処理順序が決定されるので、変数ｋが増加するにつれて、Ｓ１４０７〜Ｓ１４１０の処理の繰り返し回数が増大するのである。
【０１７８】
Ｓ１４１１では、ジョブ選択部１０４は、次工程待ち行列設定部１１６の制御の下、実施の形態１と同様、検索範囲Ｒ（ｋ＋１）を更新しながら、各検索範囲Ｒ（ｋ＋１）の設備（ｋ＋１）でのシミュレーションを実行する。
【０１７９】
次に、到着順序作成部１０２は、到着順序の作成数が上限値に到達していなければ（Ｓ１４１２でＮＯ）、次工程待ち行列設定部１１６の制御の下、処理をＳ１４０５に戻し、処理対象のジョブをランダムに並べ替え、新たな到着順序を作成し、設備（１）の待ち行列に格納する。
【０１８０】
一方、到着順序の作成数が上限値に到達していれば（Ｓ１４１２でＹＥＳ）、次工程待ち行列設定部１１６は、設備（ｋ＋１）が最終工程、つまり、設備（ｋ＋１）が設備（Ｋ）であるか否かを判定する（Ｓ１４１３）。
【０１８１】
設備（ｋ＋１）が最終工程でなければ（Ｓ１４１３でＮＯ）、次工程待ち行列設定部１１６は、変数ｋを１インクリメントし（Ｓ１４１４）、処理をＳ１４０３に戻す。一方、設備（ｋ＋１）が最終工程であれば（Ｓ１４１３でＹＥＳ）、処理はＳ１４１５に進む。
【０１８２】
Ｓ１４１５では、検索範囲決定部１１５は、設備（ｋ＋１）、すなわち、設備（Ｋ）に対して事前に定められた要求生産性に対する検索範囲Ｒ（ｋ＋１）を決定する。
【０１８３】
Ｓ１４１６では、シミュレーション結果集計部１１３は、Ｓ１４０３、Ｓ１４１５の処理を通じて決定された全設備の検索範囲を出力する。
【０１８４】
これにより、設備（１）から設備（Ｋ）までの各設備での要求生産性に対して、それを達成するために必要な仕掛量（検索範囲）が得られる。また、本実施の形態では、設備毎に異なるロット纏め条件を設定できるため、ロットを纏め易い設備と纏め難い設備との違いを反映した仕掛量を決定できる。更に、本実施の形態では、前工程での処理順序を次工程の待ち行列に格納することで隣接する工程が連動されるので、上流工程でのロット纏めが下流工程へ及ぼす影響をも考慮したシミュレーションが可能となる。
【０１８５】
（実施の形態３）
図１５は、設備とロット纏め条件との関係の一例を示した図である。図１５の例では、３つの設備（１）〜設備（３）があり、設備（１）では焼鈍温度がロット纏め条件として採用され、設備（２）では塗料がロット纏め条件として採用され、設備（３）では板幅がロット纏め条件として採用されている。
【０１８６】
そして、図１５では、設備（１）に処理対象となる素材（ジョブ）が搬送され、設備（２）、設備（３）へと順次に処理され、設備（３）から製品が得られる例が示されている。
【０１８７】
例えば、設備（１）において、設備（１）のロット纏め条件（焼鈍温度）のみを考慮して処理順序を決定すると、設備（２）へのジョブの到着順序が設備（２）のロット纏め条件（塗料）を基準に見ると、不揃いになる可能性が高くなる。このことは、設備（３）でも同様である。
【０１８８】
この場合、設備（２）では要求生産性を確保するための仕掛けを多く保有する必要がある。すなわち、次工程でのジョブの滞留時間が長くなり、次工程でのジョブの置き場が不足するという問題が発生する可能性がある。
【０１８９】
そこで、実施の形態３では、次工程でのロット纏め条件も考慮に入れて前工程でジョブの処理順序を選択する下記の選択ルールを設定する。これにより、次工程において要求生産性を満足させるために必要な仕掛量を削減できる。
【０１９０】
図１６は、本発明の実施の形態３におけるジョブの選択方法の一例を示す図である。
【０１９１】
ジョブ選択部１０４は、設備（１）の待ち行列１６０１に設定された検索範囲Ｒ（１）から１つのジョブを選択するに際し、以下の選択ルール（１）〜（４）でジョブを選択する。なお、選択ルール（１）〜（４）の優先度は番号が小さいほど高い。
【０１９２】
（１）直前に選択したジョブに対して、設備（１）と設備（２）とのロット纏め条件が同じジョブを選ぶ。
【０１９３】
（２）直前に選択したジョブに対して、設備（１）のロット纏め条件が同じジョブを選ぶ。
【０１９４】
（３）直前に選択したジョブに対して、設備（２）のロット纏め条件が同じジョブを選ぶ。
【０１９５】
（４）待ち行列の先頭のジョブを選ぶ。
【０１９６】
上記の選択ルール（１）〜（４）では、設備（１）とロット纏め条件が同じジョブが検索範囲Ｒ（１）に存在する限り、設備（１）のロット纏め条件が連続するので、設備（１）についての生産性（段取り替え回数）は、実施の形態１、２の選択ルールと変わらない。
【０１９７】
また、選択ルール（１）〜（４）では、設備（１）と設備（２）との両方のロット条件が同じジョブが検索範囲Ｒ（１）に存在する時、または、設備（１）とのロット纏め条件が同じジョブが検索範囲Ｒ（１）に無い時には、設備（２）のロット纏め条件が連続するように選択される。そのため、設備（２）へのジョブの到着順は設備（２）にとってロット纏め行い易い順序となる。そのため、設備（２）において段取り替え回数が少ない処理順序が選択される可能性が高まる。
【０１９８】
図１７は、本発明の実施の形態３においてジョブが選択される様子の一例を示す図である。図１７の例では、設備（１）のロット纏め条件として３つの温度ＴＡ〜ＴＣがある。各ジョブはひし形で表され、上半分の領域には設備（１）のロット纏め条件が色分けして示され、下半分の領域には設備（２）のロット纏め条件が色分けして示されている。温度ＴＡ、ＴＢ、ＴＣは、それぞれ、白、グレー、黒で示され、塗料Ｃ１、Ｃ２、Ｃ３は、それぞれ、密度が最小、中間、最大のハッチングで示されている。
【０１９９】
ジョブの選択ルールは優先度が高い順に以下の４つの選択ルール（１）〜（４）となる。
【０２００】
（１）直前のジョブに対して、温度及び塗料が同じジョブを選ぶ。
【０２０１】
（２）直前のジョブに対して、温度が同じジョブを選ぶ。
【０２０２】
（３）直前のジョブに対して、塗料が同じジョブを選ぶ。
【０２０３】
（４）待ち行列の先頭のジョブを選ぶ。
【０２０４】
セクション（ａ）では、直前に選択されたジョブは温度ＴＡ、塗料Ｃ２であり、検索範囲Ｒ（１）に温度ＴＡ、塗料Ｃ２のジョブがあるので、選択ルール（１）が採用される。ここで、検索範囲Ｒ（１）内に温度ＴＡ、塗料Ｃ２のジョブが複数あれば、先頭に最も近いジョブが選択される。
【０２０５】
セクション（ｂ）では、直前に選択されたジョブは温度ＴＡ、塗料Ｃ３であり、検索範囲Ｒ（１）に温度ＴＡ、塗料Ｃ３のジョブはないので、温度ＴＡのジョブが検索範囲Ｒ（１）から検索される。そして、検索範囲Ｒ（１）に温度ＴＡのジョブがあるので、選択ルール（２）が採用される。
【０２０６】
セクション（ｃ）では、直前に選択されたジョブは温度ＴＣ、塗料Ｃ３であり、検索範囲Ｒ（１）に温度ＴＣ、塗料Ｃ３のジョブはないので、温度ＴＣのジョブが検索範囲Ｒ（１）から検索される。そして、温度ＴＣのジョブが検索範囲Ｒ（１）に無いので、塗料Ｃ３のジョブが検索範囲Ｒ（１）から検索される。そして、検索範囲Ｒ（１）に塗料Ｃ３のジョブがあるので選択ルール（３）が採用される。
【０２０７】
セクション（ｄ）では、直前に選択されたジョブは温度ＴＣ、塗料Ｃ３であり、検索範囲Ｒ（１）に温度ＴＣ、塗料Ｃ３のジョブはないので、温度ＴＣのジョブが検索範囲Ｒ（１）から検索される。そして、温度ＴＣのジョブが検索範囲Ｒ（１）に無いので、塗料Ｃ３のジョブが検索範囲Ｒ（１）から検索される。そして、塗料Ｃ３のジョブが検索範囲Ｒ（１）に無いので、選択ルール（４）が採用され、検索範囲Ｒ（１）の先頭のジョブが選択される。
【０２０８】
図１８は、本発明の実施の形態３におけるジョブの選択方法のシミュレーション例を示す図である。図１９は、図１８の続きの図であり、図２０は図１９の続きの図である。なお、図１８〜図２０において、下の行に向かうにつれて処理が進行されている。
【０２０９】
また、図１８〜図２０において、右欄には、採用された選択ルールが示されている。なお、選択ルール（１）が採用された場合、右欄での記載は省略されている。また、このシミュレーションにおいても、設備（１）のロット纏め条件として温度ＴＡ〜ＴＣが採用され、設備（２）のロット纏め条件として塗料Ｃ１〜Ｃ３が採用されている。また、温度ＴＡ〜ＴＣ、塗料Ｃ１〜Ｃ３の色分けは図１７と同じである。
【０２１０】
図１８の１行目は、初期状態であり、待ち行列１８０１に２３個のジョブが格納され、先頭から８番目のジョブまでに検索範囲Ｒ（１）が設定されている。
【０２１１】
例えば、図１８の２行目では、直前に選択されたジョブが無いので、選択ルール（４）が採用され、検索範囲Ｒ（１）の先頭のジョブＪ１が選択されている。
【０２１２】
例えば、図１８の３行目では、直前に選択されたジョブＪ１と温度及び塗料が共通するジョブが検索範囲Ｒ（１）にあるので、選択ルール（１）が適用され、ジョブＪ２が選択されている。
【０２１３】
例えば、図１８の４行目では、直前に選択されたジョブＪ２と温度のみ共通するジョブが検索範囲Ｒ（１）にあるので、選択ルール（２）が適用され、ジョブＪ３が選択されている。
【０２１４】
例えば、図１８の６行目では、直前に選択されたジョブＪ４と塗料のみ共通するジョブが検索範囲Ｒ（１）にあるので、選択ルール（３）が適用され、ジョブＪ５が選択されている。
【０２１５】
以下、このようにして、待ち行列１８０１が空になるまで検索範囲Ｒ（１）から１つずつジョブが選択されていく。
【０２１６】
そして、最終的には、図２０の６行目に示す処理順序２００１が得られる。そして、この処理順序２００１で配列されたジョブが設備（２）の待ち行列に格納される。なお、処理順序２００１においては、各ジョブは、上半分の領域が設備（２）のロット纏め条件（塗料）で色分けされている。なお、処理順序２００１において、下半分のひし形が点線で示されているのは、設備（３）のロット纏め条件を省略して示すためである。
【０２１７】
図２０の最下行には、実施の形態１、２の選択ルールで選択された処理順序２００２が示されている。処理順序２００１では、ひし形の上側半分の領域に示されるように、設備（２）における段取り替え回数が６回である。これに対して、処理順序２００２では、ひし形の下半分の領域に示されるように、設備（２）での段取り替え回数が１７回である。したがって、実施の形態３の選択ルールを採用することで、次段の設備に対する段取り替え回数を削減できる。なお、実施の形態３の手法は実施の形態１、２にも適用可能である。
【０２１８】
［実施の形態３の変形例］
（変形例１）
図２１は、本発明の実施の形態３の変形例１におけるジョブの選択ルールの一例を示す図である。この変形例では、実施の形態３における選択ルール（２）と（３）とが入れ替えられている。
【０２１９】
すなわち、変形例では、ジョブの選択ルールは優先度が高い順に以下の４つのルール（１）〜（４）となる。
【０２２０】
（１）直前に選択したジョブに対して、設備（１）と設備（２）とのロット纏め条件が同じジョブを選ぶ。
【０２２１】
（２）直前に選択したジョブに対して、設備（２）のロット纏め条件が同じジョブを選ぶ。
【０２２２】
（３）直前に選択したジョブに対して、設備（１）のロット纏め条件が同じジョブを選ぶ。
【０２２３】
（４）待ち行列の先頭のジョブを選ぶ。
【０２２４】
これにより、より設備（２）の生産性が重視された選択ルールとなる。この変形例では、特に、設備（１）の能力が高い場合や段取り替え時間の影響が軽微な場合において、設備（２）で必要な仕掛量（検索範囲）をより少なく（小さく）できる。
【０２２５】
（変形例２）
実施の形態３では、自設備とともに、次設備のロット纏め条件が考慮された選択ルールであったが、次設備の代わりに「下流設備のうちの特定の設備」のロット纏め条件が考慮された選択ルールが採用されても良い。
【０２２６】
これにより、下流工程において明確にネックとなるネック工程がある場合に、そのネック工程に対応する設備でのロット纏め条件を自設備の選択ルールに含ませることで、ネック工程での仕掛量を少なくできる。
【０２２７】
（変形例３）
実施の形態３では、自設備と次設備との２つの設備のロット纏め条件が用いられた選択ルールであったが、自設備と「下流設備のうちの複数の工程」との３つ以上のロット纏め条件が用いられた選択ルールが採用されてもよい。
【０２２８】
これにより、自設備でのロット纏め条件の種類が下流側の他の設備よりも顕著に少ない場合、自設備でのロット纏め条件の自由度の大きさを利用して、他の設備でのロット纏め条件を自設備の選択ルールに含ませることで、他の設備でのロット纏めを容易にすることができる。
【０２２９】
（実施の形態４）
実施の形態４は、各設備において上限仕掛量が設定されており、この上限仕掛量を超えないように各設備の検索範囲（仕掛量）を決定することを特徴とする。
【０２３０】
図２２は、本発明の実施の形態４によるシミュレーション装置の全体構成の一例を示すブロック図である。図２２に示すシミュレーション装置は、図１１に示すシミュレーション装置の構成に加えて、更に、ネック工程検出部２２０１及び決定処理実行部２２０２を備える。なお、図２２において、図１１に示すシミュレーション装置の構成を処理部２２００として一纏めにしている。
【０２３１】
実施の形態４においては、設備（１）〜設備（Ｋ）は、それぞれ、個別に上限仕掛量を備えている。したがって、各設備は自己の上限仕掛量を超える個数のジョブを保持することはできない。
【０２３２】
ネック工程検出部２２０１は、設備（１）〜設備（Ｋ）のそれぞれの検索範囲を、対応する上限仕掛量に設定し、設備（１）〜設備（Ｋ）の生産性を順に計算し、設備（１）〜設備（Ｋ）の中で生産性が最低となる設備に対応する工程をネック工程として検出する。
【０２３３】
決定処理実行部２２０２は、工程（１）〜工程（Ｋ）の関係性情報を順に算出しながら、検出したネック工程の生産性を達成基準としたときの最小仕掛量を工程（１）〜工程（Ｋ）の検索範囲として順に決定する検索範囲決定処理を実行する。
【０２３４】
そして、決定処理実行部２２０２は、工程（１）〜工程（Ｋ）の中で、決定された検索範囲が、上限仕掛量を超える超過工程を新たなネック工程として検出し、新たなネック工程の上限仕掛量を満たす最大の生産性を達成基準とする検索範囲決定処理を、超過工程が検出されなくなるまで実行する。
【０２３５】
［フローチャート］
図２３は、本発明の実施の形態４によるシミュレーション装置の処理の一例を示すフローチャートである。
【０２３６】
まず、ネック工程検出部２２０１は、ネック工程を検出する。ここで、ネック工程検出部２２０１は、設備（１）〜設備（Ｋ）のそれぞれの検索範囲を対応する上限仕掛量で固定したうえで、図１０に示すフローチャートに準じた処理を、処理部２２００の各ブロックに実行させることで、設備（１）〜設備（Ｋ）に生産性を順に計算すればよい。
【０２３７】
図２４は、Ｓ２３０１のサブルーチンを示すフローチャートである。Ｓ２４０１では、到着順序作成部１０２は、対象ジョブ記憶部１０１からシミュレーション対象となる複数のジョブのデータを読み出し、読み出したジョブをランダムに並べ替えて、ジョブの到着順序を作成する。
【０２３８】
Ｓ２４０２では、次工程待ち行列設定部１１６は、設備（１）〜設備（Ｋ）のうち、１の設備（ｋ）を指定するための変数ｋに１を代入して変数ｋを初期化する。
【０２３９】
Ｓ２４０３では、到着順序作成部１０２は、設備（ｋ）の待ち行列に、Ｓ２４０１で作成した到着順序でジョブを格納する（Ｓ２４０３）。
【０２４０】
Ｓ２４０４では、検索範囲決定部１１５は、設備（ｋ）の検索範囲を、設備（ｋ）の上限仕掛量に固定する。
【０２４１】
Ｓ２４０５〜Ｓ２４０７の処理は、Ｓ１００３〜Ｓ１００５と同じである。これにより、設備（ｋ）の待ち行列に格納された１のジョブ群はジョブ選択部１０４により処理順序で並び替えられる。この並び替えられたジョブ群が対象ジョブ群である。
【０２４２】
Ｓ２４０８では、段取り替え計算部１０８は、設備（ｋ）の対象ジョブ群に対する段取り替え回数を計算する。
【０２４３】
Ｓ２４０９では、生産性計算部１０９は、式（１）を用いて、設備（ｋ）の対象ジョブ群に対する生産性を計算する。ここでは、式（１）を用いて生産性が計算されたが、これは一例である。例えば、式（１）に代えて、対象ジョブ群を構成する全ジョブの合計処理時間と、段取り時間との和が生産性として算出されてもよい。
【０２４４】
Ｓ２４１０では、ネック工程検出部２２０１は、変数ｋがＫに到達したか否かを判定し、変数ｋがＫに到達していなければ（Ｓ２４１０でＮＯ）、変数ｋを１インクリメントして（Ｓ２４１１）、処理をＳ２４０３に戻す。これにより、設備（ｋ）の対象ジョブ群が、設備（ｋ＋１）の待ち行列に格納され、Ｓ２４０３〜Ｓ２４０９の処理が繰り返される。
【０２４５】
一方、変数ｋがＫに到達していれば（Ｓ２４１０でＹＥＳ）、ネック工程検出部２２０１は、到着順序の作成数が上限に到達したか否かを判定する（Ｓ２４１２）。到着順序の作成数が上限に到達していなければ（Ｓ２４１２でＮＯ）、処理がＳ２４０１に戻され、別の到着順序が作成され、この到着順序に対してＳ２４０１〜Ｓ２４１１の処理が実行される。
【０２４６】
一方、到着順序の作成数が上限に到達していれば（Ｓ２４１２でＹＥＳ）、処理がＳ２４１３に進められる。以上、Ｓ２４０１〜Ｓ２４１２の処理が繰り返されることで、設備（１）〜設備（Ｋ）の検索範囲をそれぞれ上限仕掛量に設定したときの、設備（１）〜設備（Ｋ）のそれぞれについての複数の生産性が算出される。すなわち、工程（１）〜工程（Ｋ）のそれぞれについての複数の生産性が算出される。
【０２４７】
Ｓ２４１３では、ネック工程検出部２２０１は、工程（１）〜工程（Ｋ）の中から生産性が最低の工程であるネック工程を検出する。ここでは、ネック工程検出部２２０１は、工程（１）〜工程（Ｋ）のそれぞれにおいて最大の生産性を特定し、特定した最大の生産性が最小（最低）の工程をネック工程として検出する。
【０２４８】
Ｓ２４１４では、ネック工程検出部２２０１は、ネック工程の工程番号をＳ、ネック工程の生産性をαと設定する。Ｓ２４１４の処理が終了すると、処理は図２３のＳ２３０２に進められる。
【０２４９】
図２３のＳ２３０２では、決定処理実行部２２０２は、ネック工程（Ｓ）の一つ前の工程（Ｓ−１）のジョブの選択ルールを次工程重視に設定し、工程（Ｓ−１）以外の工程のジョブの選択ルールを自工程重視に設定する。
【０２５０】
ここで、次工程重視とは、直前に選択したジョブの第Ｓ設備におけるロット纏め条件が同じジョブを優先的に選択するというルールである。また、自工程重視とは、直前に選択したジョブの自設備におけるロット纏め条件が同じジョブを優先的に選択するというルールである。
【０２５１】
具体的には、自工程重視では、実施の形態３で説明した以下の選択ルール（１）〜（４）でジョブを選択する選択ルールが採用される。なお、選択ルール（１）〜（４）の優先度は番号が小さいほど高い。
【０２５２】
（１）直前に選択したジョブに対して、設備（１）と設備（２）とのロット纏め条件が同じジョブを選ぶ。
【０２５３】
（２）直前に選択したジョブに対して、設備（１）のロット纏め条件が同じジョブを選ぶ。
【０２５４】
（３）直前に選択したジョブに対して、設備（２）のロット纏め条件が同じジョブを選ぶ。
【０２５５】
（４）待ち行列の先頭のジョブを選ぶ。
【０２５６】
また、次工程重視では、実施の形態３の変形例１で説明した選択ルール、すなわち、自工程重視の選択ルール（１）〜（４）において、（２）と（３）とを入れ替えた選択ルールが採用される。
【０２５７】
なお、工程（Ｓ）＝工程（１）であれば、工程（Ｓ−１）が存在しないので、全工程が自工程重視に設定される。
【０２５８】
Ｓ２３０３では、決定処理実行部２２０２は、生産性αを基準として工程（１）から順に各工程の検索範囲を決定する。ここで、決定処理実行部２２０２は、図１４に示すフローチャートに準じた処理を、処理部２２００の各ブロックに実行させることで、設備（１）〜設備（Ｋ）の検索範囲を順に計算する。
【０２５９】
図２５は、Ｓ２３０３のサブルーチンを示すフローチャートである。図２５のフローチャートにより検索範囲決定処理が実現される。図１４との相違点は、Ｓ２５０３、Ｓ２５０７、Ｓ２５１５にある。それ以外の処理は、下２桁の数値が図１４の下２桁の数値と同じステップ番号を持つ処理と同じである。
【０２６０】
Ｓ２５０３では、検索範囲決定部１１５は、設備（ｋ）の関係性情報から生産性αを達成するための最小仕掛量を設備（ｋ）の検索範囲Ｒ（ｋ）として決定する。例えば、設備（１）に対する関係性情報として、図２７に示す散布図が得られたとすると、生産性α（＝２２５）を達成するための最小仕掛量（＝１０）が検索範囲Ｒ（１）として決定される。
【０２６１】
Ｓ２５０７では、ジョブ選択部１０４は、次工程待ち行列設定部１１６の制御の下、設備（ｍ）がネック工程（Ｓ）の１つ前の工程（Ｓ−１）に対応する設備（Ｓ−１）であれば、次工程重視の選択ルールを使用して、設備（ｍ）の処理順序を生成する。
【０２６２】
Ｓ２５１５では、生産性αを達成するための最小仕掛量を設備（Ｋ）の検索範囲Ｒ（Ｋ）として決定する。
【０２６３】
以上の処理により、工程（１）〜工程（Ｋ）関係性情報が順に計算されながら、生産性αを達成するための最小仕掛量が工程（１）〜工程（Ｋ）の検索範囲Ｒ（１）〜Ｒ（Ｋ）として順に決定される。Ｓ２３０３の処理が終了すると、処理がＳ２３０４に進められる。
【０２６４】
Ｓ２３０４では、決定処理実行部２２０２は、検索範囲Ｒ（ｋ）が、設備（ｋ）の上限仕掛量より大きな工程である工程（Ｓ’）の有無が検出される。工程（Ｓ’）が検出されれば（Ｓ２３０４でＹＥＳ）、処理がＳ２３０５に進められ、工程（Ｓ’）が検出されなければ（Ｓ２３０４でＮＯ）、処理は終了される。工程（Ｓ’）は超過工程に該当する。
【０２６５】
Ｓ２３０５では、決定処理実行部２２０２は、工程（Ｓ’）をネック工程として再定義し、工程（Ｓ’）の関係性情報から工程（Ｓ’）の上限仕掛量を達成するための最大の生産性βを決定し、決定した生産性βを生産性α代入し、生産性αを更新する。
【０２６６】
例えば、工程（Ｓ’）に対する関係性情報として、図２８に示す散布図が得られたとすると、工程（Ｓ’）の上限仕掛量（＝２５）を達成するための最大の生産性（＝２２０）が生産性βとして算出される。なお、生産性βは、α＞βとなる。これは、図２８に示すように、ネック工程の上限仕掛量（＝２５）は、生産性αに対応する仕掛量（＝３５）よりも小さいからである。
【０２６７】
Ｓ２３０６では、決定処理実行部２２０２は、工程（Ｓ’−１）の選択ルールを次工程重視に設定し、それ以外の工程を自工程重視に設定する。なお、工程（Ｓ’）＝工程（１）であれば、工程（Ｓ’−１）が存在しないので、全工程が自工程重視に設定される。Ｓ２３０６の処理が終了すると、処理はＳ２３０３に戻される。
【０２６８】
Ｓ２３０３〜Ｓ２３０６の処理を繰り返すことで、工程（Ｓ’）が検出されなくなるまで、検索範囲決定処理が繰り返される。
【０２６９】
以上により、各設備の上限仕掛量を超えないという条件の下、最小仕掛量が各設備の検索範囲として設定される。
【０２７０】
［具体例］
次に、実施の形態４のシミュレーション装置の具体例について説明する。以下の具体例では、図２６に示すように、６つの工程（１）〜工程（６）からなる多品種工程のフローショップを想定する。図２６は、本発明の実施の形態４の具体例におけるフローショップを示す図である。
【０２７１】
図２６において、段取り替えの条件、上限仕掛量（置場サイズ）の数値が明記されているが、その他、シミュレーションに必要な事項も入力されているものとする。必要な事項としては、各工程での単位ジョブあたりの処理時間、段取り替え時間、及びジョブの品目といった情報が含まれる。
【０２７２】
図２６の例において、工程（１）では熱処理温度の変更により段取り替えが発生し、工程（２）では板厚の変更により段取り替えが発生し、工程（３）では表面処理の変更により段取り替えが発生し、工程（４）では熱処理温度の変更により段取り替えが発生し、工程（５）では板幅の変更により段取り替えが発生し、工程（６）では塗料の変更により段取り替えが発生する。
【０２７３】
また、図２６の例では、工程（１）〜工程（６）の置き場サイズはそれぞれ３０、２５、４０、２５、２０、３５である。
【０２７４】
処理対象となる素材は、工程（１）に入力され、工程（１）〜工程（６）の順に処理され、工程（６）から製品が取り出される。
【０２７５】
図２６のフローショップに対する処理を図２３のフローチャートに沿って説明する。図２３における各ステップの動作は以下の通りとなる。なお、以下の説明では、具体的な数値は簡略化のため、一部省略している。
【０２７６】
Ｓ２３０１：ネック工程を特定する。今回、Ｓ＝４で示される工程（４）がネック工程という結果になった。また、工程（４）の生産性αがα＝２２５という結果になった。
【０２７７】
Ｓ２３０２：工程（４）の生産性を上げるため、工程（３）の選択ルールが次工程重視に設定される。それ以外の工程は選択ルールが自工程重視に設定される。
【０２７８】
Ｓ２３０３：各工程において生産性αを達成するための最小仕掛量が求められる。一例として、工程（１）に対するＳ２３０３の処理を以下に示す。
【０２７９】
（１）工程（１）への投入順がランダムに変えられたジョブからなる入力ワークを２０個作成した。
【０２８０】
（２）２０個の入力ワークを工程（１）に入力することで、図２７に示す散布図が得られた。図中の各点は、「各入力ワークを構成するジョブの処理順序を、各仕掛量（検索範囲）に対して決定したときの、各入力ワークの生産性」を示している。ここでは、２０個の入力ワークが入力されたので、各仕掛量には２０個の点がプロットされている。
【０２８１】
（３）Ｓ２３０１により、ネック工程の生産性αとしてα＝２２５が算出されている。そのため、図２７に示すように、工程（１）では、生産性αを確実に達成するための最低の仕掛量として１０が計算された。ここで、工程（１）の置場サイズは２５なので、工程（１）は生産能力に余裕があることが分かる。
【０２８２】
このとき、仕掛量が１０の時の各入力ワークに対する処理順序を取得し、その処理順序の入力ワークが次工程に入力され、次工程での散布図が作成される。
【０２８３】
上記の（１）〜（３）の処理を工程（１）〜工程（６）まで繰り返し、各工程において生産性αを達成のための最小仕掛量を求める。
【０２８４】
Ｓ２３０４：Ｓ２３０３で求めた各工程の仕掛量が、入力した置場サイズを超えていないか判定する。ここで、全工程の仕掛量が置場サイズ内に収まっていれば、全行程の仕掛量を出力して処理を終了する。この具体例では、工程（２）で最小仕掛量＞置場サイズであった。
【０２８５】
Ｓ２３０５：Ｓ’＝２として、工程（Ｓ’）における置場サイズを満たす最大の生産性βを求める。工程（２）における散布図として図２８の散布図が得られた。図２８に示すように、生産性αを達成するための最小仕掛量は３５であり、工程（２）の置場サイズである２５を超えている。そのため、工程（２）では生産性αを達成できない。
【０２８６】
よって、工程（２）はネック工程と再定義され、工程（２）での置場サイズを満たす最大の生産性βを求める。
【０２８７】
図２８に示すように、工程（２）において、置場サイズ「２５」を満たす最大の生産性βは、β＝２２０であった。よって、生産性αが生産性βで更新される。
【０２８８】
Ｓ２３０５：工程（２）の生産性を向上させるため、工程（１）の選択ルールを「次工程重視」に切り替える。それ以外の工程は、選択ルールが「自工程重視」に設定される。
【０２８９】
その後、Ｓ２３０３において、生産性βで更新された生産性αに対して同様の処理が実行され、各工程の最小仕掛量が再計算される。
【０２９０】
なお、Ｓ２３０４では、１つの超過工程（Ｓ’）が検出されるとして説明したが、複数の超過工程（Ｓ’）が検出されることもある。この場合、上限仕掛量が最小の超過工程（Ｓ’）を基準とする検索範囲決定処理が実行されればよい。具体的には上限仕掛量が最小の超過工程（Ｓ’）において上限仕掛量を満たす最大の生産性が生産性βとして、生産性αが更新されればよい。
【０２９１】
更に、この場合、複数の超過工程（Ｓ’）の一つ前の工程（Ｓ’−１）では、選択ルールが次工程重視に設定され、残りの工程では、選択ルールが自工程重視に設定されればよい。また、超過工程（Ｓ’）が連続する場合は、最も上流側の超過工程（Ｓ’）の一つ前の工程（Ｓ’−１）が次工程重視とされ、残りの工程が自工程重視とされてもよいし、最も上流側の超過工程の一つ前の工程から最も下流側の超過工程の一つ前の工程までが次工程重視とされ、残りの工程が自工程重視とされてもよい。
【符号の説明】
【０２９２】
１０１  対象ジョブ記憶部
１０２  到着順序作成部
１０３  待ち行列記憶部
１０４  ジョブ選択部
１０５  検索範囲記憶部
１０６  処理順序記憶部
１０７  待ち行列更新部
１０８  段取り替え計算部
１０９  生産性計算部
１１０  マスタ時間記憶部
１１１  シミュレーション結果記憶部
１１２  検索範囲更新部
１１３  シミュレーション結果集計部
１１４  集計結果記憶部
１１５  検索範囲決定部
１１６  次工程待ち行列設定部
１１７  ロット編成条件設定部
２２０１  ネック工程検出部
２２０２  決定処理実行部
【図１】
0006688616.tif 000002
【図２】
0006688616.tif 000003
【図３】
0006688616.tif 000004
【図４】
0006688616.tif 000005
【図５】
0006688616.tif 000006
【図６】
0006688616.tif 000007
【図７】
0006688616.tif 000008
【図８】
0006688616.tif 000009
【図９】
0006688616.tif 000010
【図１０】
0006688616.tif 000011
【図１１】
0006688616.tif 000012
【図１２】
0006688616.tif 000013
【図１３】
0006688616.tif 000014
【図１４】
0006688616.tif 000015
【図１５】
0006688616.tif 000016
【図１６】
0006688616.tif 000017
【図１７】
0006688616.tif 000018
【図１８】
0006688616.tif 000019
【図１９】
0006688616.tif 000020
【図２０】
0006688616.tif 000021
【図２１】
0006688616.tif 000022
【図２２】
0006688616.tif 000023
【図２３】
0006688616.tif 000024
【図２４】
0006688616.tif 000025
【図２５】
0006688616.tif 000026
【図２６】
0006688616.tif 000027
【図２７】
0006688616.tif 000028
【図２８】
0006688616.tif 000029