(57)【特許請求の範囲】
【請求項１】
１つの工程が、半製品が加工装置による処理を待つためのバッファと、前記バッファで待機している半製品をいずれか１つの加工装置が処理する、並列処理用の複数の加工装置とを含み、複数の工程が直列につながる生産ラインに対する生産制御支援装置であって、
前記生産ライン内の半製品数の上限値と、前記半製品の個数が前記上限値に達しているために前記半製品が前記生産ラインの手前で待機させられる確率である待機率との関係を、各工程に存在する加工装置の台数と、前記生産ラインに到着する半製品の時間間隔と、各工程の装置１台が１つの半製品を処理するのに必要な時間とに基づき計算する待機率計算部
を備えた生産制御支援装置。
【請求項２】
前記待機率計算部は、前記上限値の範囲ごとに与えられた異なる関数を用いて、前記範囲ごとに前記上限値と前記待機率との関係を計算し、各範囲の関数を結合した関数は、前記上限値の増加に応じて前記待機率の値が単調減少する
請求項１に記載の生産制御支援装置。
【請求項３】
前記待機率計算部は、前記上限値が無限大の場合の前記生産ライン内の半製品数が従う状態確率分布において前記状態確率分布の最大値を与える点に対応する前記上限値もしくはそれより大きな値である第１値以上の分布部分を、前記上限値が前記第１値以上の範囲における前記上限値と前記待機率との関係とする
請求項１または２に記載の生産制御支援装置。
【請求項４】
前記待機率計算部は、前記上限値の値が０から前記第１値より小さい第２値の範囲までは、
【数１】
0006290029.tif 000014
を、前記上限値と前記待機率との関係とし、
t’0は、前記生産ラインに到着する半製品の時間間隔、tnはn番目の工程の装置１台が１つの半製品を処理するのに必要な時間、kは前記上限値であり、PB(k)は前記待機確率である
請求項３に記載の生産制御支援装置。
【請求項５】
前記待機率計算部は、前記上限値が無限大の場合の前記生産ライン内の半製品数が従う状態確率分布において前記状態確率分布の最大値を与える点に対応する前記上限値もしくはそれより大きな値である第１値以上の分布部分を、前記上限値が前記第１値以上の範囲における前記上限値と前記待機率との関係とし、
前記待機率計算部は、前記上限値の値が０から前記第１値より小さい値である第２値の範囲までは、
【数２】
0006290029.tif 000015
を前記上限値と前記待機率との関係とし、
t’0は、前記生産ラインに到着する半製品の時間間隔、tnはn番目の工程の装置１台が１つの半製品を処理するのに必要な時間、kは前記上限値であり、PB(k)は前記待機確率であり、
前記第２値より大きく前記第１値より小さい範囲では、前記上限値の増加に応じて前記待機率の値が単調減少する関数を、前記上限値と前記待機率との関係とする
請求項１ないし４のいずれか一項に記載の生産制御支援装置。
【請求項６】
前記第１値は、前記状態確率分布の微分値が最小となる点に対応する前記上限値である
請求項３ないし５のいずれか一項に記載の生産制御支援装置。
【請求項７】
前記待機率計算部は、前記時間間隔のばらつき値および前記必要な時間のばらつき値を用いて、前記関係を計算する
請求項１ないし６のいずれか一項に記載の生産制御支援装置。
【請求項８】
前記上限値と前記待機率との関係と、前記生産ラインに到着する半製品の時間間隔とに基づいて、前記上限値と、前記生産ラインからの単位時間当たりの前記半製品の出力数であるスループットとの関係を計算するスループット計算部
をさらに備えた請求項１ないし７のいずれか一項に記載の生産制御支援装置。
【請求項９】
前記スループットの逆数に基づき、前記上限値と、前記生産ライン内の前記半製品の数との関係を計算するWIP計算部
をさらに備えた請求項８に記載の生産制御支援装置。
【請求項１０】
前記上限値と前記スループットとの関係と、前記上限値と前記生産ライン内の前記半製品の数との関係とに基づいて、前記上限値と、前記半製品が前記生産ラインに入力されてから前記生産ラインから出力されるまでに要する時間であるターンアラウンドタイムとの関係を計算するTAT計算部
をさらに備えた請求項９に記載の生産制御支援装置。
【請求項１１】
前記上限値と前記スループットとの関係を表す第１データと、前記上限値と前記ターンアラウンドタイムとの関係を表す第２データを出力する出力装置
をさらに備えた請求項１０に記載の生産制御支援装置。
【請求項１２】
前記第１データおよび前記第２データを、グラフ形式、表形式または関数形式で出力する
請求項１１に記載の生産制御支援装置。
【請求項１３】
前記上限値の最大値を入力するための入力部を備え、
前記待機率計算部は、所定の下限値から、前記最大値の間の範囲のみ、前記上限値と前記待機率の関係を計算する
請求項１ないし１２のいずれか一項に記載の生産制御支援装置。
【請求項１４】
前記待機率の閾値を入力するための入力部を備え、
前記待機率計算部は、前記上限値の値を順次上昇させながら、前記上限値と前記待機率の関係を計算し、前記計算する待機率が前記閾値以下になったら、前記関係の計算を終了する
請求項１ないし１２のいずれか一項に記載の生産制御支援装置。
【請求項１５】
目標待機率に基づき、前記上限値と前記待機率との関係から前記上限値を特定し、もしくは、目標スループットに基づき，前記上限値と前記スループットの関係式から前記上限値を特定し、もしくは、生産ライン内の目標半製品数に基づき，前記上限値と、前記生産ライン内の前記半製品の数との関係から前記上限値を特定し、もしくは、目標ターンアラウンドタイムに基づき、前記上限値と前記ターンアラウンドタイムとの関係から前記上限値を特定する、上限決定部を備え、
前記上限決定部により決定された上限値を、生産ラインに前記上限値を設定して生産制御を行う設定システムに通知する
請求項１０に記載の生産制御支援装置。
【請求項１６】
１つの工程が、半製品が加工装置による処理を待つためのバッファと、前記バッファで待機している半製品をいずれか１つの加工装置が処理する、並列処理用の複数の加工装置とを含み、複数の工程が直列につながる生産ラインに対する生産制御支援方法であって、
前記生産ライン内の半製品数に上限値を設けた場合に、前記上限値と、前記半製品の個数が前記上限値に達しているために前記半製品が生産ラインに投入されずに前記生産ラインの手前で待機させられる確率である待機率との関係を、各工程に存在する加工装置の台数と、前記生産ラインに到着する半製品の時間間隔と、各工程の装置１台が１つの半製品を処理するのに必要な時間と、に基づき計算する待機率計算ステップをコンピュータが実行する
生産制御支援方法。
【請求項１７】
１つの工程が、半製品が加工装置による処理を待つためのバッファと、前記バッファで待機している半製品をいずれか１つの加工装置が処理する、並列処理用の複数の加工装置とを含み、複数の工程が直列につながる生産ラインに対するプログラムであって、
前記生産ライン内の半製品数に上限値を設けた場合に、前記上限値と、前記半製品の個数が前記上限値に達しているために前記半製品が生産ラインに投入されずに前記生産ラインの手前で待機させられる確率である待機率との関係を、各工程に存在する加工装置の台数と、前記生産ラインに到着する半製品の時間間隔と、各工程の装置１台が１つの半製品を処理するのに必要な時間とに基づき、計算する待機率計算ステップを
コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、生産制御支援装置および生産制御支援方法に関する。
【背景技術】
【０００２】
従来、生産ラインの制御方式として、生産ライン内の半製品数に上限（WIP（Work-In-Process）上限と呼ぶ）を設ける方式が知られている。WIP上限を決める方法としては、生産シミュレータを利用する方法と、現場での生産ラインの製造実績値を利用する方法の２つがあった。
【０００３】
生産シミュレータを利用する方法では、計算に時間がかかるという問題がある。一方、実績値を利用する方法では、リードタイム（投入から払出しまでの時間。）が長い生産ラインでは、生産制御をかけるタイミングが遅くなってしまうという問題ある。リードタイムは、ターンアラウンドタイム（TAT：Turn Around Time）とも呼ばれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第3983061号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、生産シミュレータまたは現場の製造実績値を利用せずとも、生産ライン内の半製品数の上限を適切に決定するための情報を高速に取得することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態としての生産制御支援装置は、１つの工程が、半製品が加工装置による処理を待つためのバッファと、前記バッファで待機している半製品をいずれか１つの加工装置が処理する、並列処理用の複数の加工装置とを含み、複数の工程が直列につながる生産ラインに対する生産制御支援装置であって、待機率計算部を備える。前記待機率計算部は、前記生産ライン内の半製品数に上限値を設けた場合に、前記上限値と、前記半製品の個数が前記上限値に達しているために前記半製品が生産ラインに投入されずに前記生産ラインの手前で待機させられる確率である待機率との関係を計算する。前記待機率計算部は、各工程に存在する加工装置の台数と、前記生産ラインに到着する半製品の時間間隔と、前記時間間隔のばらつき値と、各工程の装置１台が１つの半製品を処理するのに必要な時間と、前記必要な時間のばらつき値とに基づき、前記上限値の範囲に応じてそれぞれ与えられた異なる関数を計算することで、前記範囲ごとに前記上限値と前記待機率との関係を計算し、各範囲の関数を結合した関数は、前記上限値の増加に応じて前記待機率の値が単調減少する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係る生産制御支援装置のブロック図。
【図２】図１の生産制御支援装置の動作のフローチャート。
【図３】本発明の実施形態に係る生産ラインのモデルの模式図。
【図４】待機率計算部の動作を説明するための図。
【図５】上限値とスループットの関係のグラフを示す図。
【図６】上限値とターンアラウンドタイムの関係のグラフを示す図。
【図７】図１の生産制御支援装置の変形例に係るブロック図。
【図８】図１の生産制御支援装置の他の変形例に係るブロック図。
【図９】図１の生産制御支援装置のさらに他の変形例に係るブロック図。
【図１０】図１の生産制御支援装置のハードウェアブロック図。
【発明を実施するための形態】
【０００８】
本発明の実施形態は、半導体製造に代表される、複数の工程が直列につながった生産ラインにおいて、生産ライン内の半製品数（ロット数）に上限（WIP上限と呼ぶ）を設ける制御方式に対して適用可能な、生産制御支援装置および自動制御方式に関する。以下、図面を参照しながら、本発明の実施形態について説明する。
【０００９】
図１は、本発明の実施形態に係る生産制御支援装置のブロック図である。図２は、図１の生産制御支援装置の動作のフローチャートである。図３は、本実施形態に係る生産ラインのモデルの模式図である。
【００１０】
本実施形態で対象とする生産ラインは、１つ以上の工程が直列につながった生産ラインであり、半導体生産プロセスの一部が想定される。半製品はロットであるとするが、これに限定されるものではない。なお、生産ラインは、投入から払出しまでの全工程列とみてもよいし、工程列の一部分を切り出した部分工程列とみてもよい。
【００１１】
図３において、工程１、工程２、・・・、工程ｍが直列につながっている。各工程には、ロットを処理するための加工装置（以下、単に装置と呼ぶ）が１台以上用意されており、これらの装置の前段には共通のバッファが配置されている。バッファの容量は無限大と仮定する。ロットは、一旦、バッファに格納され、装置が空いていない場合は、バッファで待機する。いずれかの装置が空いていれば、もしくは空けば、当該装置に投入され、処理が施される。処理の完了後、ロットは、次の工程のバッファに格納され、あるいは、処理された工程が最後の工程であれば、生産ラインから出力される。生産ライン内の半製品の個数（ロット数）が、上限値（WIP上限＝k）に達している場合、生産ラインに到着したロットは生産ライン手前で待機させられる。本実施形態では、生産ラインの手前で待機させられるロットは、最大で１つとし、ロットが待機させられている状態では、新たにロットは到着しないとする。図３内に記述された各パラメータについては後述する。なお、生産ライン内でバッファを介して各工程でロットを処理して次の工程に送りだす動作や、上限値（WIP上限＝k）に達している場合に、生産ラインに到着したロットを生産ライン手前で待機させる動作は、一般的なものであるため、これ以上の説明は行わない。生産ラインは、WIP上限を設定可能であり、設定されたWIP上限に応じて、内部の各工程の動作を制御可能になっている。このような構成も、一般的に生産ラインが備えている。
【００１２】
図１に示すように、生産制御支援装置は、工程列構成データ記憶部１１、装置能力データ記憶部１２、到着データ記憶部１３、待機率計算部１４、スループット計算部１５、WIP計算部１６、TAT計算部１７、出力装置１８を備えている。
【００１３】
工程列構成データ記憶部１１は、工程列に関する情報を表す工程列構成データを記憶している。工程列構成データは、工程数、工程の順序、各工程の並列装置台数等を含む。
【００１４】
装置能力データ記憶部１２は、装置能力に関する情報を表す装置能力データを記憶している。装置能力データは、例えば、各工程の装置の平均ロット処理時間と、その変動係数を含む。変動係数は、標準偏差を平均で割った値である。標準偏差は、分散の正の平方根であるので、変動係数の代わりに、標準偏差または分散を用いてもよい。変動係数、標準偏差または分散は、ばらつきを表す指標の例であり、ばらつき値と総称することもある。
【００１５】
到着データ記憶部１３は、ロット到着に関する情報を表す到着データを記憶している。到着データは、例えば、ロットの生産ラインへの平均到着間隔と、その変動係数等を含む。変動係数の代わりに、標準偏差または分散を用いてもよい。
【００１６】
ここで、本実施形態で用いる記号を定義する（図３参照）。
m：工程数
sn：n番目（n=1,…,m）の工程に存在する装置台数
t’0:生産ラインに到着するロットの平均時間間隔
c0:t’0の変動係数
tn：n番目の工程の装置１台が１ロットを処理するのに必要な平均時間
dn：tnの変動係数
t0(k):WIP上限がkの場合に、各工程に到着するロットの到着間隔（各工程で共通の値。定常状態を想定）
cn：n番目の工程に到着するロットの到着間隔に対する変動係数
PB (k)：生産ライン内の半製品数がWIP上限（k）に達しているために、ロットが生産ライン手前で待機させられている確率（待機率と呼ぶ）。この値が大きいほど、待機させられている時間が長いことを意味する。なお、PB (k)の記号は、図３には示されていない。
【００１７】
m（工程数）、sn（n番目（n=1,…,m）の工程に存在する装置台数）、t’0（生産ラインに到着するロットの平均時間間隔）、c0（t’0の変動係数）、tn（n番目の工程の装置１台が１ロットを処理するのに必要な平均時間）、dn（tnの変動係数）は、前述した工程列構成データ、装置能力データおよび到着データに含まれている。t0(k)、cn、PB (k)は、後述する本実施形態の動作によって計算される。
【００１８】
待機率計算部１４は、工程列構成データ記憶部１１、装置能力データ記憶部１２および到着データ記憶部１３に接続されており、これらの記憶部のデータに基づき、kと待機率との関係を表すPB (k)を求める。待機率計算部１４は、WIP上限が設定されている場合に、各工程に到着するロットの到着間隔に対する変動係数（ばらつき値）を計算する。当該変動係数を利用して、WIP上限の値の範囲に応じてそれぞれ与えられた異なる関数を計算することで、範囲ごとにWIP上限と待機率との関係を計算する。この際、各範囲の関数を結合した関数は、WIP上限の増加に応じて待機率の値が単調減少する。さらに、WIP上限の増加に応じて、WIP上限に対する待機率の傾きが大なってもよい。ここでは、PB (k)は、kが大きい範囲における関数PB1(k)と、kが小さい範囲における関数PB2 (k)の２つを計算し、それらを別の関数PB3(k)でつなげたものとする。図４は、待機率計算部１４の動作を説明するための図である。横軸がk、縦軸が待機率PB(k)の座標系に、各々破線で示されるPB1(k)とPB2 (k)とPB3(k)のグラフが描かれている。また、以下に述べる状態確率分布P (k)が描かれている。
【００１９】
kが大きい範囲におけるPB1 (k)は、k=∞の場合に、生産ライン内の半製品数が従う状態確率分布（P(w)と記述する）に一致すると仮定する。状態確率分布P(w)は、生産ライン内の半製品数がwである確率を表す。すなわち、kが大きい範囲では、PB (k)=P(k)と考える。状態確率分布P(k)は、生産ライン内の半製品数がkである確率である。仮にkが∞（生産ライン内の上限値が∞）では、P(k)の値（生産ライン内の半製品数が∞である確率）は限りなく小さい。kの値を小さくしていくと、P(k)の値が大きくなり、あるところで、その傾き（微分値）が大きく変化し始める。そこで、例えば、P(k)の傾き（微分値）が最小になる（負の値で、絶対値が最大になる）点を特定し、その点に対応するkの値以上の範囲を、kが大きい範囲と考える。その範囲では、PB (k)=P(k)と考える。これは、kを∞から下げていったときに、PB (k)がどの辺りで上がり始めるかは、P(k)が上がり始める位置に対応すると考えられるためである。このようにして、kが大きい範囲では、待機率PB (k)として、状態確率分布P(k)を利用する。PB1(k)が、kが大きい範囲での待機率PB (k)に相当する。
【００２０】
ここで、状態確率分布P(w)は、各工程の状態確率分布Pn (w)を計算し、それらを全工程にわたって足し込むことで計算される。工程nの状態確率分布Pn (w)は、以下の式を用いて計算される。ただし、uは装置の利用率を表しており、u=tn/(t'0×sn)である。また、下記の式は、公知の式を拡張したものであり、具体的に、公知の式にcnの項を追加（式（４）の算出式を参照）したものである。
【数１】
0006290029.tif 000002
前述したように、cnは、n番目の工程に到着するロットの到着間隔に対する変動係数（ばらつき値）である。
【００２１】
各工程の状態確率分布Pn (w)を、全工程にわたって足し込む操作は、計算機上でモンテカルロ法を用いて実行する。一例として、Pn (w)の確率に従って、wが得られるような乱数発生器を利用し、各工程から得られるwの和が出た回数をカウントするという手順を繰り返すことにより、P(w)の確率分布を得る。
【００２２】
一方、kが小さい範囲における待機率PB(k)（すなわちPB2(k)）は、
【数２】
0006290029.tif 000003
に従うと仮定する。以下、この式の導出過程を説明する。
【００２３】
kが小さいということは、生産ライン内にロットが少なく、装置前でロットが待たされる可能性が低くなる。すなわち、ロットが生産ラインに入力されてから、出力されるまでの時間（TAT）は、TAT=t1 + … + tmと近似できる（t1,...,tm：各工程の装置がロットを処理する時間）。この近似は、kが小さく、かつ、装置台数が多い程、近似精度が高くなるといえる。さらに、kが小さく、t'0に比べ t1 + … + tmが十分に大きい場合、生産ライン内のロットが出ていく時には、生産ライン手前でロットが待機している状態が発生しやすくなる。言い換えると、生産ラインからロットが１つ出ていくと、待機していたロットが即座に生産ラインに入ってくることになる。すなわち、生産ライン内のロット数（WIP）は、WIP= kと近似できる。一方で、スループットは、待機率PB(k)を用いて、スループット ＝ (1-PB(k)) / t'0で与えられる（t'0は、生産ラインに到着するロットの到着間隔である）。リトルの公式から、TAT=WIP数÷スループットという関係が知られているため、t1 + … + tm = k × (t'0 / (1-PB(k)))が得られる。この式を変換すると、最終的に k が小さいときに利用する待機率の式、PB(k) = 1 - k(t'0 / (t1 + … + tm))が得られる。
【００２４】
kが大きい範囲における待機率PB (k)(すなわちPB1(k))と、kが小さい範囲における待機率PB (k) (すなわちPB2(k))間は、PB (k)が単調減少となる関数(すなわちPB3(k))によりつなげる。この際、待機率PB (k)は、常に状態確率分布P (k)以上であると仮定して、PB3(k)が、状態確率分布P (k)を下回らないことを条件としてもよい。そのような関数を、kが小さい範囲とkが大きい範囲の間の範囲の待機率PB(k)（すなわちPB3(k)）とする。
【００２５】
具体的には、前述したような、状態確率分布P(k)における最小の傾きをα（＜０）とする。すなわち、状態確率分布の微分値を計算し、その最小値をαとする。その傾きとなる状態確率分布P (k)上の点をXとする。このとき、図４にあるように、点Xを通り傾きがαの直線を定義する。この直線と、kが小さい範囲における待機率PB (k)の交点Yに対応するk以下の範囲を、kが小さい範囲とする。また、点Xに対応するkの値以上の範囲を、kが大きい範囲とする。交点Yに対応するkより大きく、交点Xに対応するkより小さい範囲における上記の直線の関数をPB3(k)とする。この関数の値は、状態確率分布P (k)以上となっている。
【００２６】
ここでは、状態確率分布において、最小の傾きαをもつ点を用いたが、これは一例であり、P(w)が最大値となるwよりはkが等しいか大きい範囲でPB(k)=P(w)を利用すればよい。また、PB (k)が単調減少になれば、どのようにPB1(k)とPB2(k)をつなげてもよく、直線でも曲線でもかまわない。PB (k)≧P(k)の条件を追加してもよい。
【００２７】
以上の手順で、生産ラインのWIP上限をkとしたときの待機率PB (k)が得られる。
【００２８】
図１のスループット計算部１５は、到着データ記憶部１３に接続されており、この記憶部１３のデータと、待機率計算部１４が計算した待機率PB (k)（PB2(k)とPB3(k)とPB1(k)を結合したもの）を利用して、kとスループットとの関係
【数３】
0006290029.tif 000004
を計算する。
【００２９】
待機率は、生産ライン内の半製品がWIP上限kに達するために生産ライン手前でロットが待たされる確率（値が大きいほど待機時間が長い）であるので、待機率が大きいほど、生産ラインに入ってくるロットの間隔が広くなる。たとえば１００分間隔でロットが到着し、待機率が５０％であれば、１５０分ごとに、生産ラインにロットが入る。スループットは、単位時間当たりのロットの払出し数であり、生産ラインが定常状態にあるときには、生産ラインに入ってくる単位時間当たりのロット数とスループットは一致する。よって、下記の計算式から、
【数４】
0006290029.tif 000005
が得られる。
【数５】
0006290029.tif 000006
【００３０】
WIP計算部１６は、工程列構成データ記憶部１１、装置能力データ記憶部１２および到着データ記憶部１３に接続されている。WIP計算部１６は、これらの記憶部のデータと、スループット計算部１５で計算されたWIP上限kおよびスループット間の関係に基づき、kと生産ライン内の半製品数との関係W（k）を計算する。
【００３１】
W（k）の計算は、各工程における半製品数Wn(k)（n=1,2,…,m）を計算し、それらの和を計算することで得られる。
【００３２】
各工程の半製品数Wn(k)の計算は、例えば、
【数６】
0006290029.tif 000007
により計算できる。この式は、公知の式である。ただし、ここでは、u=tn/(t0×sn)である（前述したuの定義式のt'0がt0に代わっている点に注意する）。
【００３３】
または、Wn(k)を計算は、Toshikazu Kimura: Interpolation approximations for the mean waiting time in a multi-server queue, Journal of the Operations Research Society of Japan, Vol.35, pp.77-92, 1992.の論文で紹介されている計算式を利用することも可能である。本実施形態では、この論文の計算式を利用して、Wn(k)を計算する。この論文での式では、各工程へのロットの到着間隔（先に定義したt0(k)）を利用するが、この値は、スループット計算部１５の計算したスループット
【数７】
0006290029.tif 000008
の逆数を用いる。すなわち、
【数８】
0006290029.tif 000009
である。この値は、各工程で共通の値である。
【００３４】
W（k）は、次の式で計算される。
【数９】
0006290029.tif 000010
【００３５】
TAT計算部17は、スループット計算部１５により計算された関係
【数１０】
0006290029.tif 000011
と、WIP計算部１６が計算した関係W（k）を利用し、kとTATとの関係T(k)を計算する。T(k)の計算には、リトルの公式と呼ばれる公知の式を利用できる。すなわち、
【数１１】
0006290029.tif 000012
からkとTATとの関係が求められる。
【００３６】
出力装置１８は、スループット計算部１５により計算された関係
【数１２】
0006290029.tif 000013
と、TAT計算部１７により計算された関係T(k)を表すデータを出力する。出力の形式は、例えば、グラフ、表形式、関数形式など、任意でよい。出力装置１８として、データを画像表示する表示装置、または外部にデータを送信する通信装置などを用いることができる。図５および図６は、kとスループットとの関係、およびkとTATとの関係を、それぞれグラフ形式で出力した結果の例を示す。
【００３７】
図２は、図１の生産制御支援装置の動作のフローチャートである。
【００３８】
本生産制御支援装置は、工程列構成データ記憶部１１から工程列構成データを読み込み、装置能力データ記憶部１２から装置能力データを読み込み、到着データ記憶部１３から到着データを読み込む（Ｓ１、Ｓ２、Ｓ３）。
【００３９】
待機率計算部１４は、各記憶部から読み込んだデータに基づき、各工程に到着するロットの到着間隔に対する変動係数（ばらつき値）を計算し、WIP上限と待機率との関係を計算する（Ｓ４）。例えば、前述した式１〜式７を利用して、WIP上限と待機率との関係を算出する。
【００４０】
より詳細に、待機率計算部１４は、WIP上限が無限大の場合の生産ライン内の半製品数が従う状態確率分布において、状態確率分布の最大値を与える点に対応するWIP上限もしくはそれより大きな値である第１値以上の分布部分を、WIP上限が第１値以上の範囲での、上記WIP上限と待機率との関係として用いる。一例として、状態確率分布の微分値が最小となる点に対応するWIP上限を、前記第１値としてもよい。
【００４１】
また、待機率計算部１４は、WIP上限の値が０から第２値（第１値よりも小さい）の範囲までは、式（７）をWIP上限と待機率との関係として用いて計算する。
【００４２】
また、上記第２値より大きく第１値より小さい範囲では、WIP上限の増加に応じて待機率の値が単調減少する関数を、WIP上限と待機率との関係として用いて計算する。当該関数の値は、状態確率分布以上との条件を追加してもよい。
【００４３】
スループット計算部１５は、到着率計算部１４により計算されたWIP上限と待機率との関係、生産ラインに到着する半製品の時間間隔（到着データに含まれる）とに基づいて、WIP上限と、スループットとの関係を計算する（Ｓ５）。例えば、前述した式８に従って、WIP上限とスループットとの関係を計算する。
【００４４】
WIP計算部１６は、WIP上限と、生産ライン内の半製品の数との関係を計算する（Ｓ６）。例えば、スループットの逆数に基づき、前述した論文“Toshikazu Kimura”に記載の方法で計算する。あるいは、式９に従って、当該関係を計算してもよい。
【００４５】
TAT計算部１７は、WIP上限とスループットとの関係と、WIP上限と生産ライン内の半製品の数との関係とに基づいて、WIP上限とターンアラウンドタイムとの関係を計算する（Ｓ７）。例えば、前述した式１１に従って、当該関係を計算する。
【００４６】
出力装置１８は、ステップＳ５、Ｓ７で計算された関係、すなわち、WIP上限とスループットとの関係を表すデータと、WIP上限とターンアラウンドタイムとの関係を表すデータを出力する（Ｓ８）。出力するデータの形式は、グラフ形式、表形式または関数形式など、任意でよい。
【００４７】
ここで、待機率計算部１４、スループット計算部１５、WIP計算部１６およびTAT計算部１７で上述した各式を計算する際のkの上限値を、ユーザに指定させてもよい。例えば図７に示すように、計算上限入力部１９を図１の生産制御支援装置に追加し、計算上限入力部１９からユーザにkの上限値を入力させる。待機率計算部１４は、計算上限入力部１９からkの上限値を読み込み、当該上限値のkまで、式を計算する。kの下限値は予め決めておき、例えば０とする。他の処理部も、当該上限値のkまで、式を計算する。
【００４８】
また、kを大きくしていくと、待機率が0に近づくことを利用し、どの程度待機率が0に近づいたら計算を終了するかを示す待機率計算限界値を、ユーザに指定させてもよい。例えば図８に示すように、待機率計算限界入力部２０を図１の生産制御支援装置に追加し、待機率計算限界入力部２０から、ユーザに待機率計算限界値を入力させる。待機率計算部１４は、待機率計算部１４から待機率計算限界値を読み込み、待機率が待機率計算限界値以下になるkまで計算を行う。例えば、待機率計算限界値として10-8とした場合、待機率が10-8以下になるkまで計算を行う。なお、前述した図５および図６の結果は、待機率計算限界値として10-8とした場合の例である。
【００４９】
図５および図６の結果を得るために利用したデータは、工程数が20、装置台数は1工程につき最大で約100台の生産ラインを対象にしたデータである。図５および図６の結果を出力するのに要した計算時間は5秒程度で、非常に高速であると言える。また、従来のシミュレータを用いて計算した結果と比較しても、その誤差は5%以内であった。
【００５０】
図９は、図１の生産制御支援装置に目標値データ記憶部２１およびWIP上限決定部２２を追加するとともに、これらを追加した装置を、生産ラインのWIP上限設定システム２３に接続した構成の例を示す。本実施形態に係る生産制御支援装置を利用することで、ユーザによって指定された生産ラインの指標の目標値に対して、自動でWIP上限kを変更する生産制御方式が実現できる。
【００５１】
目標値データ記憶部２１は、目標待機率、目標スループット、目標半製品数、目標TATのいずれかに関する値のデータを記憶している。
【００５２】
目標待機率の場合、WIP上限決定部２２は、待機率計算部１４の計算結果（kと待機率との関係）を参照し、目標待機率となるkを検索する。WIP上限設定システム２３は、そのkを生産ラインに対しWIP上限として設定する。
【００５３】
目標スループットの場合、WIP上限決定部２２は、スループット計算部１５の結果（kとスループットとの関係）を参照し、指定のスループットとなるkを検索する。WIP上限設定システム２３は、そのkを生産ラインに対しWIP上限として設定する。
【００５４】
目標半製品数の場合、WIP上限決定部２２は、WIP計算部１６の結果（kと半製品数との関係）を参照し、指定の半製品数となるkを検索する。WIP上限設定システム２３は、そのkを生産ラインに対し、WIP上限として設定する。
【００５５】
目標TATの場合、WIP上限決定部２２は、TAT計算部１７の結果（kとTATとの関係）を参照し、指定のTATとなるkを検索する。WIP上限設定システム２３は、そのkを生産ラインに対し、WIP上限として設定する。
【００５６】
以上により、WIP上限を、目標値を満たすように、自動で決定して、生産ラインに設定できる。
【００５７】
図１０は、本発明の実施形態に係る生産制御支援装置のハードウェアブロック図である。生産制御支援装置は、コンピュータを備え、無線または有線による通信が可能な装置である。生産制御支援装置は、一例としてコンピュータによりプログラムを実行することにより、上述した図１、図７、図８、図９の各ブロックの機能を実現する。
【００５８】
生産制御支援装置は、ＣＰＵ１３１と、入力装置１３２と、表示装置１３３と、通信インターフェース１３４と、主記憶装置１３５と、外部記憶装置１３６とを備え、これらはバス１３７により相互に接続されている。
【００５９】
ＣＰＵ（中央演算装置）１３１は、主記憶装置１３５上で、制御プログラムを実行する。制御プログラムとは、制御装置１０１の各機能構成を実現するプログラムのことである。ＣＰＵ１３１が、制御プログラムを実行することにより、上述の各機能は実現される。
【００６０】
入力装置１３２は、制御装置１０１に外部からデータや命令を入力するための装置である。入力装置１３２は、例えば、キーボード、マウス、及びタッチパネルなどの、ユーザが直接的に入力するための装置であってもよい。また、入力装置１３２は、外部装置からの入力を可能にするＵＳＢなどの装置や、ソフトウエアであってもよい。
【００６１】
主記憶装置１３５は、制御プログラムの実行の際に、制御プログラム、制御プログラムの実行に必要なデータ（ステート情報を含んでよい）、及び制御プログラムの実行により生成されたデータなどを記憶する。制御プログラムは、主記憶装置１３５上で展開され、実行される。主記憶装置１３５は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。
【００６２】
外部記憶装置１３６は、制御プログラム、制御プログラムの実行に必要なデータ（ステート情報を含んでよい）、及び制御プログラムの実行により生成されたデータなどを記憶する。これらのプログラムやデータは、制御プログラムの実行の際に、主記憶装置１３５に読み出される。外部記憶装置１３６は、例えば、ハードディスク、ＳＳＤ、光ディスク、フラッシュメモリなどであるが、これに限られない。図１、図７、図８、図９の各記憶部は、この主記憶装置１３５および外部記憶装置１３６上の少なくとも一方に構築される。
【００６３】
表示装置１３３は、ＣＰＵ（中央演算装置）１３１から出力される映像信号を表示するディスプレイである。表示装置１３３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。図１、図７、図８、図９の各記憶部に保持された情報などを、この表示装置１３３により表示してもよい。
【００６４】
通信インターフェース１３４は、この図１、図７、図８、図９が、外部と通信するための装置である。生産制御支援装置は、通信インターフェース１３４を介して、外部の装置と所定の通信方式で無線または有線の通信を行うように構成されてもよい。
【００６５】
なお、制御プログラムは、コンピュータに予めインストールされていてもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶されていてもよい。また、制御プログラムは、インターネット上にアップロードされていてもよい。生産制御支援装置は、入力装置１０２、表示装置１０３および通信インターフェース１３４のうち少なくとも１つを備えない構成も可能である。
【００６６】
以上、本発明の実施形態によれば、待ち行列理論を応用した計算により、生産ライン内の半製品数の上限を適切に決定するための情報を高速に取得できる。例えば、WIP上限と待機率との関係、WIP上限と生産ライン内の半製品数との関係、WIP上限とスループットとの関係、および、WIP上限とTATとの関係を高速に算出できる。従来の生産シミュレータや実績値を利用する方法では、算出に多くの時間を要したが、本実施形態ではこのような問題は発生しない。
また、WIP上限とスループットとの関係、および、WIP上限とTATとの関係を用いて、適切なWIP上限を決定できる。また、これらの４つの関係の１つと、目標値（目標待機率、目標スループット、目標半製品数、目標TAT）と用いて、WIP上限を決定できる。このように決定したWIP上限を、生産ラインの制御に利用できる。従来の実績値を利用する仕組みでは、リードタイム（TATとも呼ばれる）が長い生産ラインでは、制御を変更するタイミングが遅れるが、本実施形態では、そのような問題は発生しない。
【符号の説明】
【００６７】
１１：工程列構成データ記憶部
１２：装置能力データ記憶部
１３：到着データ記憶部
１４：待機率計算部
１５：スループット計算部
１６：WIP計算部
１７：TAT計算部
１８：出力装置
１９：計算上限入力部
２０：待機率計算限界入力部
２１：目標値データ記憶部
２２：WIP上限決定部
２３：WIP上限設定システム
１３１：ＣＰＵ
１３２：入力装置
１３３：表示装置
１３４：通信インターフェース
１３５：主記憶装置
１３６：外部記憶装置
１３７：バス
【図１】
0006290029.tif 000016
【図２】
0006290029.tif 000017
【図３】
0006290029.tif 000018
【図４】
0006290029.tif 000019
【図５】
0006290029.tif 000020
【図６】
0006290029.tif 000021
【図７】
0006290029.tif 000022
【図８】
0006290029.tif 000023
【図９】
0006290029.tif 000024
【図１０】
0006290029.tif 000025