(57)【特許請求の範囲】
【請求項１】
コンピュータに、
複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間から所定数の生産対象物が生産される時間を示す第１の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の理想処理時間を用いて、前記複数の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第２の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、評価対象の工程の処理時間のサンプリング値を理想値に置き換え、前記評価対象の工程以外の工程の処理時間をサンプリング値とした場合の、所定数の生産対象物が生産される時間を示す第３の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、前記評価対象の工程の処理時間をサンプリング値とし、前記評価対象の工程以外の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第４の生産時間を算出し、
前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を算出する処理を、各工程のサンプリングする処理時間を変えて複数回繰り返し、
各回で算出された、前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を用いて、前記生産ラインにおける前記評価対象の工程のスループットへの影響度を評価する
処理を実行させることを特徴とする評価プログラム。
【請求項２】
前記評価する処理は、
各回で算出された、前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を用いて、前記生産時間の分布を算出する
ことを特徴とする請求項１に記載の評価プログラム。
【請求項３】
前記評価する処理は、
前記評価対象の工程のスループットへの影響度の上限と下限の分布を算出する
ことを特徴とする請求項１に記載の評価プログラム。
【請求項４】
複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間から所定数の生産対象物が生産される時間を示す第１の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の理想処理時間を用いて、前記複数の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第２の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、評価対象の工程の処理時間のサンプリング値を理想値に置き換え、前記評価対象の工程以外の工程の処理時間をサンプリング値とした場合の、所定数の生産対象物が生産される時間を示す第３の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、前記評価対象の工程の処理時間をサンプリング値とし、前記評価対象の工程以外の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第４の生産時間を算出する第１の算出部と、
前記第１の算出部による処理を、各工程のサンプリングする処理時間を変えて複数回繰り返す第２の算出部と、
各回で算出された、前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を用いて、前記生産ラインにおける前記評価対象の工程のスループットへの影響度を評価する評価部と
を有することを特徴とする評価装置。
【請求項５】
コンピュータが、
複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間から所定数の生産対象物が生産される時間を示す第１の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の理想処理時間を用いて、前記複数の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第２の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、評価対象の工程の処理時間のサンプリング値を理想値に置き換え、前記評価対象の工程以外の工程の処理時間をサンプリング値とした場合の、所定数の生産対象物が生産される時間を示す第３の生産時間を算出し、前記サンプリングした各生産対象物に対する各工程の処理時間および各工程の理想処理時間を用いて、前記評価対象の工程の処理時間をサンプリング値とし、前記評価対象の工程以外の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第４の生産時間を算出し、
前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を算出する処理を、各工程のサンプリングする処理時間を変えて複数回繰り返し、
各回で算出された、前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を用いて、前記生産ラインにおける前記評価対象の工程のスループットへの影響度を評価する
各処理を実行することを特徴とする評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価プログラム等に関する。
【背景技術】
【０００２】
複数工程を有する生産ラインでは、各工程により必要な処理時間は異なるが、複数工程のうち一番時間がかかる工程がボトルネックとなる。ボトルネックの工程によって、生産ラインのスループットが決められることが多い。ここでいうスループットとは、単位時間当たりに生産ラインから出力される完成品の数のことをいう。
【０００３】
生産ラインでは、処理対象物が、生産ラインの入り口から順に投入され、複数個の工程が、それぞれの装置により順に処理され、最終の工程が、投入された順で生産ラインの出口から完成品の処理対象物を出力する。１つの装置には、同時に１つの処理対象物しか載せられない。処理対象物の一例として、基板が挙げられる。
【０００４】
ここで、生産ラインには、処理を行う工程間に、バッファとなるタンクや、基板を退避させる仕組みがないものがある。このような生産ラインでは、例えば、前基板が工程Ｃで処理中であるため、後基板の処理が工程Ｃに進めず、前工程の工程Ｂ上で待ち時間が発生することがある。
【０００５】
また、バッファとなるタンクや、基板を退避させる仕組みはあるが、少量であるものがある。このような生産ラインでは、例えば工程Ｃと前工程の工程Ｂの間のタンクや基板を退避させる仕組みが少量しかないため、工程Ｂと工程Ｃの間のタンクもしくは基板を退避させる仕組みが、工程Ｂが終了し工程Ｃの開始を待っている基板で満たされ、前述のバッファとなるタンクや、基板を退避させる仕組みがないものと同様に、後基板の処理が工程Ｃに進めず、前工程の工程Ｂ上で待ち時間が発生することがある。
【０００６】
また、実際の各工程の処理時間は一定ではなく、トラブル等により偶発的に伸びが生じ変動する。ある工程の処理時間に伸びが生じると、その分その後工程の処理の開始時間が遅くなることに加え、前述のバッファがない、もしくは少量である生産ラインでは、前工程の処理の進行に影響を与える場合がある。例えば、前工程Ｂと工程Ｃの間のバッファが満たされており、そのため前工程Ｂ上で待ち時間が生じている場合を考える。この場合は工程Ｃ上の基板の処理が終わり次の工程に進むと前工程Ｂと工程Ｃの間のバッファにあった基板が工程Ｃに進み、工程Ｂ上で待っていた基板は前工程Ｂと工程Ｃの間のバッファに入る。この時に工程Ｃ上の基板の処理時間に伸びが生じなかったケースと、生じたケースでの工程Ｂ上の基板の待ち時間を比較すると、伸びが生じたケースの方が生じた伸びの分だけ待ち時間が長くなる。工程Ｂ上の基板の待ち時間が長くなれば次の基板の工程Ｂの処理の開始が遅くなる、つまり、工程Ｃに生じた伸びが前工程Ｂの処理の進行に影響を与えている。このように、ある工程に生じた伸びが、その工程の進行だけでなく、ある工程の前後の工程の進行に影響を与える場合がある。
【０００７】
伸びが工程の進行に影響を与え、その結果生産ラインのスループットに影響する場合があるが、一方で伸びが生じた工程、伸びの大きさ、前基板の処理のタイミング等によっては、生産ラインのスループットに影響しない場合もある。例えば前工程Ｂと工程Ｃの間のバッファが満たされており、前工程Ｂ上で待ち時間が発生しているケースを考える。このケースで前工程Ｂで伸びが生じ処理時間が長くなっても、その伸びが待ち時間より短ければ、いずれの工程の進行にも影響せず、スループットへも影響しない。
【０００８】
このように、伸びは、伸びが生じた工程、伸びの大きさ、前基板の処理のタイミング等により、生産ラインのスループットに影響したりしなかったりする。このため、単純にある工程の処理時間の伸びの量だけで、伸びが生じた工程のスループットへの影響を評価することは難しい。したがって、スループットの改善には、工程の処理時間の伸びの影響を定量的に評価することが重要となる。
【０００９】
複数の工程を有する生産ラインにおいて、各工程の工程処理時間が頻繁に変動する場合があっても、適切な生産計画を作成することができる生産計画作成装置に関する技術が開示されている（特許文献１参照）。かかる技術では、生産計画作成装置は、製造ライン上にある仕掛品の物理状態を検出し、検出した仕掛品の物理状態を用いて、仕掛品を各工程で処理するための所要時間である工程処理時間を算出する。そして、生産計画作成装置は、算出した工程処理時間を用いて、リードタイム延長による発生するコスト、工程処理時間の短縮により発生するコスト等からコスト指標を演算し、演算したコスト指標を最小化するように工程処理時間を更新する。そして、生産計画作成装置は、更新した工程処理時間を用いて生産計画を作成する。
【００１０】
また、処理時間に偶発的に伸びが生じる場合に各工程の負荷分布を求める手法が開示されている（特許文献２参照）。かかる技術では、生産スケジュール装置は、オーダ情報と製品情報をもとに、全オーダについて各工程の開始日時の分布とリードタイムの分布の項目で構成される製造日程情報を決める。そして、生産スケジュール装置は、オーダ情報と製品情報と製造日程情報をもとに、全オーダの各工程の負荷の分布を求める。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１２−１３３６３３号公報
【特許文献２】特開平０９−１６６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１，２の手法では複数の工程を有する生産ラインで、偶発的に伸びが生じる工程があり、かつ、バッファがない、もしくは少量しかないため、ある工程の伸びがその工程以降の工程だけでなくその前工程の処理の進行にも影響を与える場合に、スループットへの影響を定量的に精度良く評価することが難しいという問題がある。
【００１３】
特許文献１では、各工程の工程処理時間が仕掛品の物理状態に基づいて決定論的に決まることを利用し、制御可能な仕掛品の物理状態を最適に制御してコスト指標を最小化する方法であり、工程の処理時間に偶発的に伸びが生じる場合にスループットへの影響を定量的に求めているものではない。
【００１４】
また、特許文献２では、偶発的に伸びが生じる場合に各工程の負荷分布を求めているが、ある工程の伸びがその工程以降の工程に限って影響する生産ラインにおいて各工程の負荷分布を求めるもので、ある工程の伸びがその前工程の処理の進行にも影響を与える生産ラインにおいてスループットへの影響を定量的に求めているものではない。
【００１５】
１つの側面では、本発明は、前記の問題を解決すべくなされたもので、複数工程を有し、偶発的に伸びが生じる工程があり、かつ、バッファがない、もしくは少量しかないためある工程の伸びがその工程以降の工程だけでなくその前工程の処理の進行にも影響を与える場合がある生産ラインにおいて、スループットへの影響を定量的に精度良く評価することを目的とする。
【課題を解決するための手段】
【００１６】
本願の開示する評価プログラムは、コンピュータに、複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間を用いて、前記生産ラインが生産に要する時間である生産時間を算出し、前記生産時間を算出する処理を複数回繰り返し、各回で算出された生産時間を用いて、前記生産ラインのスループットを評価する処理を実行させる。
【発明の効果】
【００１７】
本願の開示する評価プログラムの１つの態様によれば、複数工程を有する生産ラインにおいて、スループットへの影響を定量的に精度良く評価することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、生産ラインの生産工程の一例を示す図である。
【図２Ａ】図２Ａは、単体工程の伸びがスループットに影響しない場合、する場合の一例を示す図である。
【図２Ｂ】図２Ｂは、単体工程の伸びがスループットに影響しない場合、する場合の別の例を示す図である。
【図２Ｃ】図２Ｃは、単体工程の伸びがスループットに影響しない場合、する場合の別の例を示す図である。
【図３】図３は、実施例に係る評価装置の構成を示す機能ブロック図である。
【図４】図４は、実施例に係る構成情報のデータ構造の一例を示す図である。
【図５】図５は、実施例に係るサンプリング生成を説明する図である。
【図６】図６は、実施例に係るサンプリング情報（処理時間）のデータ構造の一例を示す図である。
【図７】図７は、式（１）における漸化式の各変数の関係を示す図である。
【図８】図８は、実施例に係る生産時間分布計算の結果の一例を示す図である。
【図９】図９は、実施例に係る影響度分布計算の結果の一例を示す図である。
【図１０】図１０は、実施例に係る結果出力の一例を示す図である。
【図１１】図１１は、実施例に係る結果出力の別の例を示す図である。
【図１２】図１２は、実施例に係る評価処理の全体のフローチャートを示す図である。
【図１３】図１３は、全工程の処理時間をサンプリングした処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。
【図１４】図１４は、全工程の処理時間を理想処理時間に置き換えた場合の生産時間の計算処理のフローチャートを示す図である。
【図１５】図１５は、１つの工程を理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。
【図１６】図１６は、１つの工程をサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。
【図１７】図１７は、評価プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する評価プログラム、評価装置および評価方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００２０】
［生産ラインの生産工程の一例］
図１は、生産ラインの生産工程の一例を示す図である。図１に示すように、生産ラインは、Ｍ（Ｍは自然数）個の単体工程を有する。工程１は、例えば生産対象物である基板を受け入れ、一連の工程が処理されることで、工程Ｍは生産物として完成品の基板を出力する。
【００２１】
実施例に係る生産ラインには、次の４つの制約があるものとする。まず、一連の工程の処理の順番は、基板毎に変えられないという第１の制約がある。また、単体工程間にバッファとなるタンクや、基板を退避させる設備は配置されていない、もしくはバッファは少量である。各単体工程がコンベア等の搬送設備を配置している場合、搬送物を蓄積するように動作せず、一定速度で動作するコンベアはバッファとして機能しないものとする。したがって、例えば、前の基板が工程３で処理中であるとき、後の基板の処理が工程３に進めず、前工程の工程２上で待ち時間が発生することがある。一方、コンベアが搬送物を一時的に蓄積するように動作する時、例えば後の工程での前の基板の処理が終了するまでコンベア上に基板を留めるように動作するコンベアであるが、このようなコンベアは少量のバッファとして機能する。このようなコンベアがある生産ラインでは、例えば、前の基板が工程３で処理中であり、かつ工程３と前工程の工程２の間のコンベア上にも基板があるとき、工程２上の基板の処理が終わっても先に進めず、前工程の工程２上で待ち時間が発生することがある。すなわち、バッファがない場合もバッファが少量ある場合のどちらも、生産ラインには、後から投入された基板が、それ以前に投入された基板の処理を追い抜くことはできないという第２の制約がある。なお、「バッファが少量」であるとは、バッファの容量が規定量より少ない量であることを意味し、ここでいう規定量とは、ある工程の停滞が前工程に伝搬しないだけの十分な容量を意味する。
【００２２】
また、１つの基板に同時に複数の工程を行うことができないという第３の制約がある。また、１つの工程には、同時に１つの基板しか載せられない。すなわち、生産ラインには、複数の基板に同時に１つの工程を行うことができないという第４の制約がある。
【００２３】
また、実際の各工程の処理時間には、トラブル等による伸びが生じることがある。伸びは、伸びが生じた工程、伸びの大きさ、前基板の処理のタイミング等により、生産ラインのスループットに影響したり、しなかったりする。ここでいう「スループット」とは、単位時間当たりに生産ラインから出力される完成品の基板の数のことをいう。
【００２４】
図２Ａ〜図２Ｃは、バッファがない生産ラインにおいて、単体工程の伸びがスループットに影響しない場合、する場合の一例を示す図である。なお、処理１〜５は、それぞれ工程１〜５の処理であることを表す。また、処理３が、処理時間の一番長い処理であるボトルネック処理であるとする。
【００２５】
図２Ａ上段に示すように、第１〜第４の制約があるため、例えば、基板ｉ−１は、処理２を終了しても、前の基板ｉ−２では、まだボトルネック処理である処理３が行われているため、処理３に進めず、待ち時間が発生している（ａ１）。また、基板ｉでは、処理１で、処理時間について伸びを生じている（ａ２）。つまり、基板ｉでは、ボトルネック処理である処理３の直前より前の処理で、伸びを生じている。すると、基板ｉでは、前の基板ｉ−１のボトルネック処理中に処理１の処理で伸びた時間を挽回することが可能となる。したがって、伸びた時間がスループットに影響しない。
【００２６】
図２Ａ下段に示すように、第１〜第４の制約があるため、例えば、基板ｉ−１は、処理２を終了しても、前の基板ｉ−２では、まだボトルネック処理である処理３が行われているため、処理３に進めず、待ち時間が発生している（ａ１）。また、基板ｉでは、処理２で、処理時間について伸びを生じている（ａ３）。つまり、基板ｉでは、ボトルネック処理である処理３の直前の処理で、伸びを生じている。すると、基板ｉでは、前の基板ｉ−１のボトルネック処理中に処理２の処理で伸びた時間を挽回することができない。したがって、伸びた時間がスループットに影響する。
【００２７】
すなわち、伸びた時間が同じであっても、伸びが、ボトルネック処理の直前の処理（処理２）で起きるのか、直前より前の処理(処理１)で起きるのかで、スループットへの影響が異なる。
【００２８】
図２Ｂ上段に示すように、基板ｉ−２では、処理５で、処理時間について伸びを生じている（ａ４）。つまり、基板ｉ−２では、ボトルネック処理である処理３の直後より後の処理で、伸びを生じている。すると、基板ｉ−２では、後の基板ｉ−１のボトルネック処理（処理３）に影響を及ぼさない。したがって、伸びた時間がスループットに影響しない。
【００２９】
図２Ｂ下段に示すように、基板ｉ−２では、処理４で、処理時間について伸びを生じている（ａ５）。つまり、基板ｉ−２では、ボトルネック処理である処理３の直後の処理で、伸びを生じている。すると、基板ｉ−２では、後の基板ｉ−１のボトルネック処理が終了した後にも処理４が伸びているので、基板ｉ−１のボトルネック処理（処理３）後の待ちを発生させる。したがって、伸びた時間がスループットに影響する。
【００３０】
すなわち、伸びた時間が同じであっても、伸びが、ボトルネック処理の直後の処理（処理４）で起きるのか、直後より後の処理(処理５)で起きるのかで、スループットへの影響が異なる。
【００３１】
図２Ｃ上段に示すように、基板ｉでは、処理２で、処理時間について伸びを生じている（ａ６）。また、図２Ｃ中段に示すように、基板ｉでは、処理１で、処理時間について伸びを生じている（ａ７）。ところが、伸びを生じている処理は、それぞれ１つだけであるので、伸びた時間がスループットに影響しない。
【００３２】
図２Ｃ下段に示すように、基板ｉでは、処理１および処理２で、処理時間についてそれぞれ伸びを生じている（ａ８，ａ９）。すると、伸びを生じている処理が、同じ基板で複数あるので、伸びた時間がスループットに影響してしまう。
【００３３】
すなわち、１つの基板で伸びを生じている処理が１個の場合と、複数個の場合とで、スループットへの影響が異なる。
【００３４】
図２Ａ〜図２Ｃに示すように、処理時間の伸びを単体工程で評価するだけでは、スルーップットへの影響を精度良く評価できない。そこで、実施例では、後述する評価装置１が、工程間の制約を考慮しながら、生産ラインを実際に稼働させる前に、生産ラインのスループットへの影響を定量的に評価する。すなわち、評価装置１は、各工程の処理時間が理想的に行われた場合の時間（理想時間）から伸びが生じる場合がある状況下で、各工程の処理時間の確率分布モデルを入力する。そして、評価装置１は、入力した確率分布モデルを用いて、各工程の処理時間の伸びが生産ラインのスループットをどの程度悪化させるかを定量的に評価するための指標を導出する。なお、実施例では、伸びは正の値であるとする。
【００３５】
［評価装置の構成］
図３は、実施例に係る評価装置の構成を示す機能ブロック図である。図３に示すように、評価装置１は、制御部１０および記憶部２０を有する。評価装置１は、生産ラインを形成する複数の工程の処理時間の確率分布モデルを用いて、複数の基板が生産される場合の各基板に対する各工程の処理時間をサンプリングする。評価装置１は、サンプリングした各基板に対する各工程の処理時間を用いて、生産ラインが生産に要する時間である生産時間を算出する。評価装置１は、生産時間を算出する処理をサンプリングする処理時間を変えて複数回繰り返す。そして、評価装置１は、各回で算出された生産時間を用いて、生産ラインのスループットを評価する。なお、複数の基板が生産される場合の生産時間とは、複数の基板がＮ個である場合、１個目の基板が生産ラインから出力されてから、Ｎ個目の基板が生産ラインから出力されるまでの時間であるとする。
【００３６】
制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路の電子回路に対応する。または、制御部１０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。制御部１０は、入力データ解釈部１１、サンプリング生成部１２、処理時間調整部１３、生産ラインシミュレーション部１４、生産時間分布計算部１５、影響度分布計算部１６および結果出力部１７を有する。
【００３７】
記憶部２０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。また、記憶部２０は、例えばＲＡＭ（Random  Access  Memory）等の揮発性の半導体メモリ素子を利用した記憶装置に対応しても良い。この場合、記憶部２０は、不揮発性の半導体メモリ素子等の記憶装置からデータを適宜ロードするようにすれば良い。記憶部２０には、構成情報２１、サンプリング情報（処理時間）２２、生産時間分布情報２３および影響度分布情報２４が記憶される。
【００３８】
構成情報２１は、生産ラインを形成する各工程の構成を示す情報である。構成情報２１には、各工程の順番や理想処理時間が設定される。工程間にバッファが少量ある場合には工程間のバッファの量も構成情報２１に設定される。なお、構成情報２１は、例えば、入力データ解釈部１１によって生成される。サンプリング情報（処理時間）２２は、生産ラインによって生産される複数の基板毎且つ工程毎にサンプリングされる処理時間を示す情報である。サンプリング情報（処理時間）２２には、複数の基板に対して、各工程の処理時間の確率分布モデルを用いてサンプリングされる処理時間が設定される。なお、サンプリング情報（処理時間）２２は、サンプリング生成部１２によって生成される。生産時間分布情報２３は、生産時間の分布情報である。なお、生産時間分布情報２３は、生産時間分布計算部１５によって生成される。影響度分布情報２４は、各工程のスループットへの影響度の分布情報である。なお、影響度分布情報２４は、影響度分布計算部１６によって生成される。なお、構成情報２１、サンプリング情報（処理時間）２２および影響度分布情報２４のデータ構造の一例は、後述する。
【００３９】
入力データ解釈部１１は、入力データを解釈する。ここで、入力データとは、生産ラインの構成情報および各工程の処理時間の確率分布モデルのことをいう。
【００４０】
生産ラインの構成情報には、生産ラインを形成する各工程について、順番、工程名および理想処理時間、工程間にバッファが少量ある場合には工程間のバッファの量も加えて含まれる。入力データ解釈部１１は、入力データとしての生産ラインの構成情報を構成情報２１に記憶する。ここで、構成情報２１のデータ構造について、図４を参照して説明する。
【００４１】
図４は、実施例に係る構成情報のデータ構造の一例を示す図である。図４に示すように、構成情報２１には、工程順２１ａ、工程名２１ｂおよび理想処理時間２１ｃ、工程間バッファ量２１ｄが対応付けて設定される。工程順２１ａは、生産ラインにおける各工程の順番である。工程名２１ｂは、各工程の名称である。理想処理時間２１ｃは、各工程の理想処理時間である。理想処理時間２１ｃに設定される時間の単位は、例えば、秒単位である。工程間バッファ量２１ｄは連続する工程の間のバッファの量である。工程間バッファ量２１ｄに設定される量は、例えば基板の場合にはバッファに格納可能な基板の最大枚数である。なお、構成情報２１は、入力データ解釈部１１によって記憶されると説明したが、これに限定されず、例えば、生産ラインの管理者によって予め設定されるとしても良い。
【００４２】
一例として、構成情報２１は、工程順２１ａが「１」である場合に、工程名２１ｂとして「搬入１」、理想処理時間２１ｃとして「２」を設定している。
【００４３】
図３に戻って、入力データとしての各工程の処理時間の確率分布モデルには、例えば、以下のようなものがある。一例として、過去に同じ種類の基板を生産したときの処理時間の観測値の頻度分布が挙げられる。また、別の例として、過去に同じ種類の基板を生産したときの処理時間の観測値を既存の確率分布でモデル化したものが挙げられる。既存の確率分布には、指数分布、ポアソン分布、正規分布等がある。また、別の例として、処理時間の確率分布と、基板の特徴量との関係を表すモデルから予測した確率分布が挙げられる。ここでいう基板の特徴量とは、基板に用いられる部品数、部品サイズ、基板のサイズ等のことをいう。
【００４４】
サンプリング生成部１２は、各工程の処理時間の確率分布モデルを入力として、各工程について、複数の基板に対して、処理時間をサンプリングする。例えば、サンプリング生成部１２は、確率分布モデルが処理時間の観測値の頻度分布である場合には、頻度分布に従う乱数を生成し、生成した乱数を処理時間としてサンプリングする。サンプリング生成部１２は、確率分布モデルが既存の確率分布である場合には、モデル化した確率分布に従う乱数を生成し、生成した乱数を処理時間としてサンプリングする。サンプリング生成部１２は、確率分布モデルが処理時間の確率分布と基板の特徴量との関係を表すモデルから予測した確率分布である場合には、予測した確率分布に従う乱数を生成し、生成した乱数を処理時間としてサンプリングする。
【００４５】
また、サンプリング生成部１２は、各工程における複数の基板のサンプリングを１セットとして、複数セットの処理時間をサンプリングする。以降、この１セットの単位を１ロットというものとする。ここで、サンプリング生成部１２によるサンプリング生成を、図５を参照して説明する。
【００４６】
図５は、実施例に係るサンプリング生成を説明する図である。なお、図５では、処理時間の観測値の頻度分布を確率分布モデルとして用いる場合について説明する。また、工程の数は、Ｍ（Ｍは、２より大きい自然数）であるとする。基板の数は、Ｎ（Ｎは、２より大きい自然数）であるとする。サンプリングを生成するロットの数は、１０００であるとする。
【００４７】
図５に示すように、サンプリング生成部１２は、ロット毎に、工程毎の確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。
【００４８】
例えば、サンプリング生成部１２は、１ロット目について、工程１の確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間は、「２」とサンプリングされる。基板２に対する処理時間は、「３」とサンプリングされる。基板Ｎに対する処理時間は、「４．５」とサンプリングされる。
【００４９】
サンプリング生成部１２は、１ロット目について、工程２の確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間は、「３０」とサンプリングされる。基板２に対する処理時間は、「３２」とサンプリングされる。基板Ｎに対する処理時間は、「３０」とサンプリングされる。
【００５０】
サンプリング生成部１２は、１ロット目について、工程Ｍの確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間が「１」とサンプリングされる。基板２に対する処理時間が「１．５」とサンプリングされる。基板Ｎに対する処理時間が「２」とサンプリングされる。
【００５１】
同様に、サンプリング生成部１２は、１０００ロット目について、工程１の確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間は、「３」とサンプリングされる。基板２に対する処理時間は、「２」とサンプリングされる。基板Ｎに対する処理時間は、「２」とサンプリングされる。
【００５２】
サンプリング生成部１２は、１ロット目について、工程２の確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間は、「３０」とサンプリングされる。基板２に対する処理時間は、「３０」とサンプリングされる。基板Ｎに対する処理時間は、「３４」とサンプリングされる。
【００５３】
サンプリング生成部１２は、１ロット目について、工程Ｍの確率分布モデルを入力とし、基板１〜Ｎに対して、処理時間をサンプリングする。基板１に対する処理時間は、「１」とサンプリングされる。基板２に対する処理時間は、「１」とサンプリングされる。基板Ｎに対する処理時間は、「１」とサンプリングされる。
【００５４】
図３に戻って、サンプリング生成部１２は、複数ロットのサンプリングした処理時間をサンプリング情報（処理時間）２２に記憶する。ここで、サンプリング情報（処理時間）２２のデータ構造について、図６を参照して説明する。
【００５５】
図６は、実施例に係るサンプリング情報（処理時間）のデータ構造の一例を示す図である。図６に示すように、サンプリング情報（処理時間）２２には、ロットＩＤ（identification）２２ａ、基板ＩＤ２２ｂ、工程１処理時間２２ｃ１、工程２処理時間２２ｃ２、・・・、工程Ｍ処理時間２２ｃＭが対応付けて設定される。ロットＩＤ２２ａは、ロットを識別する識別子であり、例えば、連続した番号で表わされる。基板ＩＤ２２ｂは、基板を識別する識別子であり、例えば、連続した番号で表わされる。工程１処理時間２２ｃ１〜工程Ｍ処理時間２２ｃＭは、工程毎の確率分布モデルからサンプリングされた処理時間である。工程１処理時間２２ｃ１〜工程Ｍ処理時間２２ｃＭに設定される時間の単位は、例えば、秒単位である。
【００５６】
一例として、サンプリング情報（処理時間）２２は、ロットＩＤ２２ａが「１」、基板ＩＤ２２ｂが「１」である場合に、工程１処理時間２２ｃ１として「２」、工程２処理時間２２ｃ２として「３０」、工程Ｍ処理時間２２ｃＭとして「１」を設定している。ロットＩＤ２２ａが「１０００」、基板ＩＤ２２ｂが「Ｎ」である場合に、工程１処理時間２２ｃ１として「２」、工程２処理時間２２ｃ２として「３４」、工程Ｍ処理時間２２ｃＭとして「１」を設定している。
【００５７】
処理時間調整部１３は、基板毎の各工程の各種処理時間を調整する。
【００５８】
例えば、処理時間調整部１３は、各工程について、複数の基板に対して、処理時間を理想処理時間とするように調整する。なお、処理時間調整部１３は、複数ロットの処理時間を調整する。一例として、処理時間調整部１３は、構成情報２１を用いて、各工程に対する理想処理時間２１ｃを処理時間とする。
【００５９】
また、処理時間調整部１３は、複数の基板に対して、１つの工程を理想処理時間、それ以外の工程をサンプリングした処理時間とするように処理時間を調整する。なお、処理時間調整部１３は、複数ロットの処理時間を調整する。
【００６０】
また、処理時間調整部１３は、複数の基板に対して、１つの工程をサンプリングした処理時間、それ以外の工程を理想処理時間とするように処理時間を調整する。なお、処理時間調整部１３は、複数ロットの処理時間を調整する。
【００６１】
生産ラインシミュレーション部１４は、基板毎の各工程の各種処理時間を用いて、各種処理時間毎に、各基板の各工程を処理する時系列の位置をシミュレーションする。シミュレーションは、各基板の各工程を処理する時系列の位置が工程間の制約を満たすように行われる。そして、生産ラインシミュレーション部１４は、複数の基板が生産ラインから出てくるのにかかる時間（生産時間）を計算する。なお、生産ラインシミュレーション部１４は、複数ロットそれぞれのシミュレーションを行う。
【００６２】
例えば、生産ラインシミュレーション部１４は、サンプリングした処理時間を用いて、複数の基板の各工程を処理する時系列の位置をシミュレーションする（計算処理Ｒ）。また、生産ラインシミュレーション部１４は、理想処理時間を用いて、複数の基板の各工程を処理する時系列の位置をシミュレーションする（計算処理０）。また、生産ラインシミュレーション部１４は、１つの工程を理想処理時間、それ以外の工程をサンプリングした処理時間とする処理時間を用いて、複数の基板の各工程を処理する時系列の位置をシミュレーションする（計算処理Ａ）。また、生産ラインシミュレーション部１４は、１つの工程をサンプリングした処理時間、それ以外の工程を理想処理時間とする処理時間を用いて、複数の基板の各工程を処理する時系列の位置をシミュレーションする（計算処理Ｂ）。
【００６３】
ここで、サプリングした処理時間を用いたシミュレーションは、以下のように行われる。なお、工程は、１〜Ｍであるとし、基板は、１〜Ｎであるとして説明する。例えば、生産ラインシミュレーション部１４は、基板ｊでの工程ｉのサンプリングした処理時間をτ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）とする。工程間のバッファがない場合は、生産ラインシミュレーション部１４は、基板１の工程１の処理の開始時刻を起点として、基板ｊの工程ｉの処理の開始までの時間Ｓi,j、基板ｊの工程ｉを出るまでの時間Ｅi,jを、基板１から順番に、以下の漸化式、すなわち式（１）により算出する。
Ｓi,j＝ｍａｘ（Ｅi-1,j、Ｅi,j-1）、Ｅi,j＝ｍａｘ（Ｓi,j＋τ’i,j、Ｅi+1,j-1）・・・式（１）
また工程間のバッファが少量である場合は、工程iとi+1の間のバッファ量をＢiとして、以下の漸化式、すなわち式（１’）により算出する。
Ｓi,j＝ｍａｘ（Ｅi-1,j、Ｅi,j-1）、Ｅi,j＝ｍａｘ（Ｓi,j＋τ’i,j、Ｅi+1,j-1-Bi）・・・式（１’）
【００６４】
ここで、式（１）における漸化式の各変種の関係を、図７を参照して説明する。図７は、式（１）における漸化式の各変数の関係を示す図である。なお、処理１〜５は、それぞれ工程１〜５の処理であることを表す。各処理で区切られた処理時間は、理想処理時間であり、「伸」は、処理が伸びたことを示し、「待ち」は、処理を終えたが次の工程に移行できないことを示す。図７では、最後の工程を表すＭが５である場合とする。また、各処理で区切られた処理時間は、理想処理時間であるとする。
【００６５】
図７に示すように、例えば、基板ｊにおける工程２の処理の開始Ｓ２，ｊは、基板ｊにおける工程１を出るまでの時間Ｅ１、ｊと、基板ｊ−１における工程２を出るまでの時間Ｅ２，ｊ−１とのうち最大の方の時間となる。そして、基板ｊにおける工程２を出るまでの時間Ｅ２，ｊは、基板ｊにおける工程２の処理の開始Ｓ２，ｊにサンプリングした処理時間τ´２，ｊを加算した時間と、基板ｊ−１における工程３を出るまでの時間Ｅ３，ｊ−１とのうち最大の方の時間となる。ここでは、基板ｊにおける工程２のサンプリングした処理時間τ´２，ｊは、理想処理時間より伸びたので、Ｅ２，ｊは、Ｅ３,j-1よりＳ２,j＋τ’２,j、のうちＳ２,j＋τ’２,jが適用される。
【００６６】
そして、生産ラインシミュレーション部１４は、１個目の基板とＮ個目の基板がそれぞれ生産ラインから出力された出力時刻を用いて、生産時間を計算する。一例として、１個目の基板がＭ番目の工程から出力される時刻がＥＭ，１、Ｎ個目の基板がＭ番目の工程から出力された時刻がＥＭ，Ｎであるとすると、生産ラインシミュレーション部１４は、１ロットにおける生産時間Ｔを、以下の式（２）により算出する。
Ｔ＝ＥＭ，Ｎ−ＥＭ，１・・・式（２）
【００６７】
図３に戻って、全基板について、全工程の処理時間を理想処理時間とした場合の生産時間（計算処理０による生産時間）は、式（１）もしくは式（１‘）を用いて、以下のように計算される。すなわち、生産ラインシミュレーション部１４は、式（１）もしくは式（１‘）のサンプリングした処理時間τ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）をそれぞれ理想処理時間に置き換える。そして、生産ラインシミュレーション部１４は、生産時間Ｔを、式（２）により算出する。なお、計算処理０による生産時間はいかなるロットであっても同じ時間であるので、生産ラインシミュレーション部１４は、１度だけ計算すれば良い。
【００６８】
全基板について、１つの工程の処理を理想処理時間、それ以外の工程の処理をサンプリングした処理時間とした場合の生産時間（計算処理Ａによる生産時間）は、式（１）もしくは式（１‘）を用いて、以下のように計算される。すなわち、生産ラインシミュレーション部１４は、１つの工程について、式（１）もしくは式（１‘）のサンプリングした処理時間τ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）を理想処理時間に置き換える。そして、生産ラインシミュレーション部１４は、１つの工程以外の工程について、式（１）もしくは式（１‘）のサンプリングした処理時間τ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）をこのまま用いる。そして、生産ラインシミュレーション部１４は、生産時間Ｔを、式（２）により算出する。
【００６９】
全基板について、１つの工程の処理をサンプリングした処理時間、それ以外の工程の処理を理想処理時間とした場合の生産時間（計算処理Ｂによる生産時間）は、式（１）もしくは式（１‘）を用いて、以下のように計算される。すなわち、生産ラインシミュレーション部１４は、１つの工程について、式（１）もしくは式（１‘）のサンプリングした処理時間τ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）をこのまま用いる。そして、生産ラインシミュレーション部１４は、１つの工程について、式（１）もしくは式（１‘）のサンプリングした処理時間τ’i,j（ｉ＝１〜Ｍ、ｊ＝１〜Ｎ）を理想処理時間に置き換える。そして、生産ラインシミュレーション部１４は、生産時間Ｔを、式（２）により算出する。
【００７０】
生産時間分布計算部１５は、生産時間の分布を計算する。例えば、生産時間分布計算部１５は、生産ラインシミュレーション部１４によって計算される複数ロット分のサンプリングされた生産時間を用いて、生産時間に対する度数を計算する。生産時間分布計算部１５は、生産時間に対する度数のみならず、生産時間に対する累積確率を計算しても良い。そして、生産時間分布計算部１５は、計算された生産時間に対する度数および累積確率を生産時間分布情報２３に記憶する。ここで、生産時間分布情報２３のデータ構造について、図８を参照して説明する。
【００７１】
図８は、実施例に係る生産時間分布計算の結果の一例を示す図である。図８には、生産時間分布情報２３に、生産時間分布計算の結果の一例が示されている。図８に示すように、生産時間分布情報２３には、生産時間２３ａ、度数２３ｂおよび累積確率２３ｃが対応付けて設定されている。
【００７２】
一例として、生産時間２３ａが「１５」である場合に、度数２３ｂとして「０．００１」、累積確率２３ｃとして「０．００１」が記憶されている。生産時間２３ａが「１６」である場合に、度数２３ｂとして「０．０１４」、累積確率２３ｃとして「０．０１５」が記憶されている。生産時間２３ａが「２５」である場合に、度数２３ｂとして「０．００１」、累積確率２３ｃとして「０．９９９」が記憶されている。
【００７３】
図３に戻って、生産時間分布計算部１５は、スループットの推定値を計算する。例えば、生産時間分布計算部１５は、生産ラインシミュレーション部１４によって計算される複数ロット分のサンプリングされた生産時間を用いて、生産時間の平均値を計算する。そして、生産時間分布計算部１５は、計算された生産時間の平均値および基板の数を用いて、スループットの推定値を計算する。生産時間分布計算部１５は、スループットの推定値Ｖを、一例として、以下の式（３）により算出する。なお、Ｎは、基板の数であり、ＴＲは、生産時間であり、Ｔ´Ｒは、生産時間の平均値であるとする。
Ｖ＝Ｎ／Ｔ´Ｒ・・・式（３）
【００７４】
これにより、生産時間分布計算部１５は、計算される生産時間の分布および計算されるスループットの推定値によって、生産計画を精度良く見積もることができる。
【００７５】
影響度分布計算部１６は、各工程におけるスループットへの影響度を計算する。スループットへの影響度には、影響度の上限および影響度の下限が含まれる。
【００７６】
例えば、ｕ番目のロットについて、各種の生産時間を以下とする。全工程の処理時間をサンプリングした処理時間とした場合の生産時間をＴＲ（ｕ）とする。工程ｉだけ理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間をＴＡｉ（ｕ）とする。工程ｉだけサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間をＴＢｉ（ｕ）とする。１ロットについて、全工程を理想処理時間とした場合の生産時間をＴ０とする。
【００７７】
各種の生産時間を用いて、影響度分布計算部１６は、ｕ番目のロットについて、工程ｉ（ｉ＝１〜Ｍ）の影響度の上限Ｈｉ（ｕ）を、以下の式（４）により算出する。
【数１】
0006657562.tif 000002
【００７８】
各種の生産時間を用いて、影響度分布計算部１６は、ｕ番目のロットについて、工程ｉ（ｉ＝１〜Ｍ）の影響度の下限Ｌｉ（ｕ）を、以下の式（５）により算出する。
【数２】
0006657562.tif 000003
【００７９】
そして、影響度分布計算部１６は、各ロットにおけるＨｉ（ｕ）の度数分布をロットの数で割った結果を、スループットへの影響度の上限の分布とする。影響度分布計算部１６は、各ロットにおけるＬｉ（ｕ）の度数分布をロットの数で割った結果を、スループットへの影響度の下限の分布とする。影響度分布計算部１６は、工程ｉ毎の、上限の影響度の度数および累積確率を影響度分布情報２４に記憶する。ここで、影響度分布情報２４のデータ構造について、図９を参照して説明する。
【００８０】
図９は、実施例に係る影響度分布計算の結果の一例を示す図である。図９には、影響度分布情報２４に、影響度分布計算の結果の一例が示されている。図９に示すように、影響度分布情報２４には、工程毎の上限に対して、影響度２４ａ、度数２４ｂおよび累積確率２４ｃが対応付けて設定されている。工程毎の下限に対して、影響度２４ａ、度数２４ｂおよび累積確率２４ｃが対応付けて設定されている。
【００８１】
一例として、工程１の上限について、影響度２４ａが「０．１」である場合に、度数２４ｂとして「０．０１」、累積確率２４ｃとして「０．０１」が記憶されている。影響度２４ａが「０．２」である場合に、度数２４ｂとして「０．１４」、累積確率２４ｃとして「０．１５」が記憶されている。影響度２４ａが「１．５」である場合に、度数２４ｂとして「０．０１」、累積確率２４ｃとして「０．９９」が記憶されている。工程１の下限について、影響度２４ａが「０．１」である場合に、度数２４ｂとして「０．０１」、累積確率２４ｃとして「０．０１」が記憶されている。影響度２４ａが「０．２」である場合に、度数２４ｂとして「０．１４」、累積確率２４ｃとして「０．１５」が記憶されている。影響度２４ａが「１．５」である場合に、度数２４ｂとして「０．０１」、累積確率２４ｃとして「０．９９」が記憶されている。
【００８２】
図３に戻って、各ロットにおける工程ｉの影響度の上限Ｈｉ、下限Ｌｉは、以下の理由により式（４）、式（５）と表される。まず、上限Ｈｉ、下限Ｌｉの分母は、どちらもＴ０である。このＴ０は、全工程を理想処理時間とした場合の生産時間であり、必ず０以上の値になる。
【００８３】
分子の（ＴＲ−ＴＡｉ）は、仮に工程ｉに伸びがなかったとした場合、どれくらい生産時間が短くなるかを示す値である。工程ｉ以外の工程の伸びは、サンプリング値をそのまま使用するので、（ＴＲ−ＴＡｉ）は工程ｉの伸びの影響で生産時間が伸びる分の値を測る１つの値といえる。この値も、必ず０以上となる。
【００８４】
分子の（ＴＢｉ−Ｔ０）は、仮に工程ｉのみサンプリング値であった場合、どれくらい生産時間が長くなるかを示す値である。工程ｉ以外の工程は、理想処理時間を使用し、工程ｉのみサンプリング値を使用するので、（ＴＢｉ−Ｔ０）は工程ｉの伸びにより生産時間が伸びる分の値を測る１つの値といえる。この値も、必ず０以上となる。
【００８５】
そして、（ＴＲ−ＴＡｉ）と（ＴＢｉ−Ｔ０）の大小関係は、常時同じでないので、影響度分布計算部１６は、上限の場合ｍａｘを算出し、下限の場合ｍｉｎを算出する。そして、影響度分布計算部１６は、全工程を理想処理時間とした場合の生産時間Ｔ０の値に対し、工程ｉの伸びの影響で生産時間が伸びる分の値を影響度と定義する。なお、分子部分の工程ｉの伸びの影響で生産時間が伸びる分の値を影響度と定義しても良い。これにより、影響度分布計算部１６は、影響度を、短時間で高速に計算することができる。
【００８６】
結果出力部１７は、生産時間分布計算部１５によって計算された生産時間の分布を出力する。例えば、結果出力部１７は、生産時間分布情報２３を用いて、生産時間の度数分布を出力する。
【００８７】
また、結果出力部１７は、影響度分布計算部１６によって計算された、各工程のスループットへの影響度を出力する。例えば、結果出力部１７は、影響度分布情報２４を用いて、各工程におけるスループットへの影響度の上限、下限の度数分布を出力する。
【００８８】
図１０は、実施例に係る結果出力の一例を示す図である。図１０では、結果出力として、生産時間の度数分布が示されている。図１０に示すように、横軸は生産時間を示し、縦軸は度数を示している。結果出力部１７は、生産時間の度数分布を、折れ線グラフにより出力している。また、結果出力部１７は、全工程の処理時間を理想処理時間とした場合の生産時間Ｔ０を合わせて出力している。このようにして、結果出力部１７は、生産時間の度数分布を出力することで、サンプリングする際の工程毎の確率分布の見直しをさせるとともに、生産計画の見積もりを精度良く行わせることができる。
【００８９】
図１１は、実施例に係る結果出力の別の例を示す図である。図１１では、結果出力として各工程におけるスループットへの影響度の上限、下限の度数分布が示されている。図１１に示すように、各工程ともに、横軸はスループットへの影響度を示し、縦軸は度数を示している。また、各工程ともに、上側の度数分布を上限の度数分布、下側の度数分布を下限の度数分布として示している。ここでは、工程３の影響度が、上限、下限とも他の工程の影響度と比較して大きい。このようにして、結果出力部１７は、各工程におけるスループットへの影響度の上限、下限の度数分布を出力することで、スループットのサンプリングする際の工程毎の確率分布を変化させるとともに、悪化の主要因となる工程を特定することができる。この結果、結果出力部１７は、サンプリングする際の工程毎の確率分布を変化させるとともに、実際に、悪化の主要因となる工程を見直させることができる。
【００９０】
［評価処理の全体のフローチャート］
図１２は、実施例に係る評価処理の全体のフローチャートを示す図である。
【００９１】
図１２に示すように、入力データ解釈部１１は、入力データを受け取る（ステップＳ１１）。例えば、入力データ解釈部１１は、入力データとして生産ラインの構成情報および各工程の処理時間の確率分布モデルを受け取る。
【００９２】
すると、サンプリング生成部１２は、全基板について、全工程の処理時間を、入力データとして受け取られた確率分布モデルからサンプリングする（ステップＳ１２）。そして、サンプリング生成部１２は、Ｚ（Ｚは、１より大きい自然数）ロット分サンプリングしたか否かを判定する（ステップＳ１３）。Ｚロット分サンプリングしていないと判定した場合には（ステップＳ１３；Ｎｏ）、サンプリング生成部１２は、Ｚロット分サンプリングすべく、ステップＳ１２に移行する。
【００９３】
一方、Ｚロット分サンプリングしたと判定した場合には（ステップＳ１３；Ｙｅｓ）、生産ラインシミュレーション部１４は、ロットｕ（ｕ＝１〜Ｚ）単位で、全基板について、サンプリングした処理時間を用いた生産時間のシミュレーション処理を実行する（ステップＳ１４）。すなわち、生産ラインシミュレーション部１４は、ロット毎に、計算処理Ｒを実行する。なお、計算処理Ｒの処理フローは、後述する。計算処理Ｒによって計算されたロットｕの生産時間は、ＴＲ（ｕ）で表わされるとする。
【００９４】
そして、生産ラインシミュレーション部１４は、全基板について、全工程の処理時間を理想処理時間に置き換えた場合の生産時間のシミュレーション処理を実行する（ステップＳ１５）。すなわち、生産ラインシミュレーション部１４は、計算処理０を実行する。なお、計算処理０の処理フローは、後述する。計算処理０によって計算された生産時間は、Ｔ０で表わされるとする。
【００９５】
そして、生産ラインシミュレーション部１４は、ロットｕ単位で、全基板について、１つの工程ｉ（ｉ＝１〜Ｍ）を理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間のシミュレーション処理を実行する（ステップＳ１６）。すなわち、生産ラインシミュレーション部１４は、ロット毎に、計算処理Ａを実行する。なお、計算処理Ａの処理フローは、後述する。計算処理Ａによって計算されたロットｕの生産時間は、ＴＡｉ（ｕ）で表わされるとする。
【００９６】
そして、生産ラインシミュレーション部１４は、ロットｕ単位で、全基板について、１つの工程ｉをサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間のシミュレーション処理を実行する（ステップＳ１７）。すなわち、生産ラインシミュレーション部１４は、ロット毎に、計算処理Ｂを実行する。なお、計算処理Ｂの処理フローは、後述する。計算処理Ｂによって計算されたロットｕの生産時間は、ＴＢｉ（ｕ）で表わされるとする。
【００９７】
続いて、生産時間分布計算部１５は、複数ロット分のサンプリングされた生産時間を用いて、生産時間の分布を計算する（ステップＳ１８）。加えて、生産時間分布計算部１５は、スループットの推定値を計算する（ステップＳ１９）。例えば、生産時間分布計算部１５は、複数ロット分のサンプリングされた生産時間を用いて、生産時間の平均値を計算する。そして、生産時間分布計算部１５は、計算された生産時間の平均値および基板の数を用いて、スループットの推定値を計算する。
【００９８】
続いて、影響度分布計算部１６は、ロットｕ単位で、Ｔ０、ＴＲ（ｕ）、ＴＡｉ（ｕ）、ＴＢｉ（ｕ）を用いて、工程ｉ毎のスループットへの影響度の上下限（Ｈｉ（ｕ）、Ｌｉ（ｕ））を計算する（ステップＳ２０）。Ｈｉ（ｕ）は、ロットｕの工程ｉの影響度の上限であり、式（４）により計算される。Ｌｉ（ｕ）は、ロットｕの工程ｉの影響度の下限であり、式（５）により計算される。
【００９９】
そして、結果出力部１７は、生産時間分布計算部１５によって計算された生産時間の分布を出力する（ステップＳ２１）。結果出力部１７は、影響度分布計算部１６によって計算された各工程のスループットへの影響度を出力する（ステップＳ２２）。
【０１００】
［計算処理Ｒのフローチャート］
図１３は、工程間にバッファがない生産ラインにおいて全工程の処理時間をサンプリングした処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。なお、図１３では、変数ｊは、基板ＩＤの値を示し、１〜Ｎ（Ｎ：自然数）であるとする。変数ｉは、工程順を示し、１〜Ｍ（Ｍ：自然数）であるとする。以降では、説明の便宜上、変数ｊを基板ｊと説明し、変数ｉを工程ｉと説明するものとする。そして、変数τｉ，ｊは、工程ｉおよび基板ｊにおけるサンプリングした処理時間であるとする。
【０１０１】
まず、生産ラインシミュレーション部１４は、基板ｊに１を設定する（ステップＳ３１）。生産ラインシミュレーション部１４は、工程ｉに１を設定する（ステップＳ３２）。そして、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊを設定する（ステップＳ３３）。基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊは、サンプリング情報（処理時間）２２から取得される。
【０１０２】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ３４）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ３５）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ３５；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程の処理時間を設定すべく、ステップＳ３３に移行する。
【０１０３】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ３５；Ｙｅｓ）、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ３６）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ３７）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ３７；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の処理時間を設定すべく、ステップＳ３２に移行する。
【０１０４】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ３７；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊおよび基板ｊにおける工程ｉの出力時間Ｅi,jを計算する。生産ラインシミュレーション部１４は、基板１における工程１の開始時間Ｓ１，１を０に設定する。生産ラインシミュレーション部１４は、基板１における工程１の出力時間Ｅ１，１に、開始時間Ｓ１，１と処理時間τ´１，１を加算した値を設定する（ステップＳ３８）。ここでは、処理時間τ´１，１は、基板１における工程１のサンプリングした処理時間である。
【０１０５】
そして、生産ラインシミュレーション部１４は、工程ｉに２を設定する（ステップＳ３９）。生産ラインシミュレーション部１４は、基板１における工程ｉの開始時間Ｓｉ，１に、同じ基板１における１つ前の工程の出力時間Ｅｉ−１，１を設定する。生産ラインシミュレーション部１４は、基板１における工程ｉの出力時間Ｅｉ，１に、開始時間Ｓｉ，１に処理時間τ´ｉ，１を加算した値を設定する（ステップＳ４０）。
【０１０６】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ４１）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ４２）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ４２；Ｎｏ）、生産ラインシミュレーション部１４は、基板１における次の工程の開始時間、出力時間を計算すべく、ステップＳ４０に移行する。
【０１０７】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ４２；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊに２を設定する（ステップＳ４３）。生産ラインシミュレーション部１４は、基板ｊにおける工程１の開始時間Ｓ１，ｊに、１つ前の基板ｊ−１における同じ工程１の出力時間Ｅ１，ｊ−１を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程１の出力時間Ｅ１，ｊ−１に、開始時間Ｓ１，ｊと処理時間τ´１，ｊを加算した値を設定する（ステップＳ４４）。
【０１０８】
そして、生産ラインシミュレーション部１４は、工程ｉに２を設定する（ステップＳ４５）。そして、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓi,ｊに、同じ基板ｊにおける１つ前の工程ｉ−１の出力時間Ｅｉ−１，ｊと１つ前の基板における同じ工程ｉの出力時間Ｅｉ，ｊ−１の大きい方を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、処理時間τ´ｉ，ｊを加算した値と、１つ前の基板における次工程の出力時間Ｅｉ＋１，ｊ−１との大きい方を設定する（ステップＳ４６）。
【０１０９】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ４７）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍと一致するか否かを判定する（ステップＳ４８）。工程ｉが工程順の最大数Ｍと一致しない場合には（ステップＳ４８；Ｎｏ）、生産ラインシミュレーション部１４は、基板ｊにおける次の工程の開始時間、出力時間を計算すべく、ステップＳ４６に移行する。
【０１１０】
一方、工程ｉが工程順の最大数Ｍと一致する場合には（ステップＳ４８；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、同じ基板ｊにおける１つ前の工程ｉ−１の出力時間Ｅｉ−１，ｊと１つ前の基板における同じ工程ｉの出力時間Ｅｉ，ｊ−１の大きい方を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、処理時間τ´ｉ，ｊを加算した値を設定する（ステップＳ４９）。
【０１１１】
そして、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ５０）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ５１）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ５１；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の開始時間、出力時間を計算すべく、ステップＳ４４に移行する。
【０１１２】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ５１；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板Ｎにおける工程Ｍの出力時間ＥＭ，Ｎから基板１における工程Ｍの出力時間ＥＭ，１を減算する。そして、生産ラインシミュレーション部１４は、減算した値を生産時間ＴＲ（ｕ）として算出する（ステップＳ５２）。すなわち、生産ラインシミュレーション部１４は、ロットｕについて、全工程の処理時間をサンプリングした処理時間とした場合の生産時間を算出する。そして、生産ラインシミュレーション部１４は、ロットｕの計算処理Ｒを終了する。なお、計算処理ＲのステップＳ３８〜ステップＳ５１を「Ｓｉ，ｊ、Ｅｉ，ｊ計算処理」というものとする。
【０１１３】
［計算処理０のフローチャート］
図１４は、工程間にバッファがない生産ラインにおいて全工程の処理時間を理想処理時間に置き換えた場合の生産時間の計算処理のフローチャートを示す図である。なお、図１４では、変数ｊは、基板ＩＤの値を示し、１〜Ｎ（Ｎ：自然数）であるとする。変数ｉは、工程順を示し、１〜Ｍ（Ｍ：自然数）であるとする。以降では、説明の便宜上、変数ｊを基板ｊと説明し、変数ｉを工程ｉと説明するものとする。
【０１１４】
まず、生産ラインシミュレーション部１４は、基板ｊに１を設定する（ステップＳ６１）。生産ラインシミュレーション部１４は、工程ｉに１を設定する（ステップＳ６２）。そして、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、工程ｉの理想処理時間ｘｉを設定する（ステップＳ６３）。工程ｉの理想処理時間ｘｉは、構成情報２１から取得される。
【０１１５】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ６４）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ６５）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ６５；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程の処理時間を設定すべく、ステップＳ６３に移行する。
【０１１６】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ６５；Ｙｅｓ）、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ６６）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ６７）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ６７；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の処理時間を設定すべく、ステップＳ６２に移行する。
【０１１７】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ６７；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊおよび基板ｊにおける工程ｉの出力時間Ｅi,jを計算する。生産ラインシミュレーション部１４は、基板１における工程１の開始時間Ｓ１，１を０に設定する。生産ラインシミュレーション部１４は、基板１における工程１の出力時間Ｅ１，１に、開始時間Ｓ１，１と処理時間τ´１，１を加算した値を設定する（ステップＳ６８）。ここでは、処理時間τ´１，１は、基板１における工程１の理想処理時間である。
【０１１８】
そして、生産ラインシミュレーション部１４は、工程ｉに２を設定する（ステップＳ６９）。生産ラインシミュレーション部１４は、基板１における工程ｉの開始時間Ｓｉ，１に、同じ基板１における１つ前の工程の出力時間Ｅｉ−１，１を設定する。生産ラインシミュレーション部１４は、基板１における工程ｉの出力時間Ｅｉ，１に、開始時間Ｓｉ，１に処理時間τ´ｉ，１を加算した値を設定する（ステップＳ７０）。
【０１１９】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ７１）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ７２）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ７２；Ｎｏ）、生産ラインシミュレーション部１４は、基板１における次の工程の開始時間、出力時間を計算すべく、ステップＳ７０に移行する。
【０１２０】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ７２；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊに２を設定する（ステップＳ７３）。生産ラインシミュレーション部１４は、基板ｊにおける工程１の開始時間Ｓ１，ｊに、１つ前の基板ｊ−１における同じ工程１の出力時間Ｅ１，ｊ−１を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程１の出力時間Ｅ１，ｊ−１に、開始時間Ｓ１，ｊに処理時間τ´１，ｊを加算した値を設定する（ステップＳ７４）。
【０１２１】
そして、生産ラインシミュレーション部１４は、工程ｉに２を設定する（ステップＳ７５）。そして、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓi,ｊに、同じ基板ｊにおける１つ前の工程ｉ−１の出力時間Ｅｉ−１，ｊと１つ前の基板における同じ工程ｉの出力時間Ｅｉ，ｊ−１の大きい方を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、処理時間τ´ｉ，ｊを加算した値と、１つ前の基板における次工程の出力時間Ｅｉ＋１，ｊ−１との大きい方を設定する（ステップＳ７６）。
【０１２２】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ７７）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍと一致するか否かを判定する（ステップＳ７８）。工程ｉが工程順の最大数Ｍと一致しない場合には（ステップＳ７８；Ｎｏ）、生産ラインシミュレーション部１４は、基板ｊにおける次の工程の開始時間、出力時間を計算すべく、ステップＳ７６に移行する。
【０１２３】
一方、工程ｉが工程順の最大数Ｍと一致する場合には（ステップＳ７８；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、同じ基板ｊにおける１つ前の工程ｉ−１の出力時間Ｅｉ−１，ｊと１つ前の基板における同じ工程ｉの出力時間Ｅｉ，ｊ−１の大きい方を設定する。生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊに、処理時間τ´ｉ，ｊを加算した値を設定する（ステップＳ７９）。
【０１２４】
そして、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ８０）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ８１）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ８１；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の開始時間、出力時間を計算すべく、ステップＳ７４に移行する。
【０１２５】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ８１；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板Ｎにおける工程Ｍの出力時間ＥＭ，Ｎから基板１における工程Ｍの出力時間ＥＭ，１を減算した値を生産時間Ｔ０として算出する（ステップＳ８２）。すなわち、生産ラインシミュレーション部１４は、全工程の処理時間を理想処理時間とした場合の生産時間を算出する。そして、生産ラインシミュレーション部１４は、計算処理０を終了する。なお、計算処理０のステップＳ６８〜ステップＳ８１を「Ｓｉ，ｊ、Ｅｉ，ｊ計算処理」というものとする。
【０１２６】
［計算処理Ａのフローチャート］
図１５は、工程間にバッファがない生産ラインにおいて１つの工程を理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。なお、図１５では、変数ｊは、図１３同様に、基板ＩＤの値を示し、１〜Ｎ（Ｎ：自然数）であるとする。変数ｉおよび変数ｋは、図１３と同様に、工程順を示し、１〜Ｍ（Ｍ：自然数）であるとする。以降では、説明の便宜上、変数ｊを基板ｊと説明し、変数ｉを工程ｉと説明し、変数ｋを工程ｋと説明するものとする。そして、変数τｉ，ｊは、工程ｉおよび基板ｊにおけるサンプリングした処理時間であるとする。
【０１２７】
以降の処理では、生産ラインシミュレーション部１４が、ロットｕについて、工程ｋを理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間ＴＡｋを算出する。
【０１２８】
まず、生産ラインシミュレーション部１４は、工程ｋに１を設定する（ステップＳ９１）。そして、生産ラインシミュレーション部１４は、基板ｊに１を設定する（ステップＳ９２）。生産ラインシミュレーション部１４は、工程ｉに１を設定する（ステップＳ９３）。
【０１２９】
そして、生産ラインシミュレーション部１４は、工程ｉが工程ｋと一致する否かを判定する（ステップＳ９４）。工程ｉが工程ｋと一致する場合には（ステップＳ９４；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、工程ｉの理想処理時間ｘｉを設定する（ステップＳ９５）。工程ｉの理想処理時間ｘｉは、構成情報２１から取得される。一方、工程ｉが工程ｋと一致しない場合には（ステップＳ９４；Ｎｏ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊを設定する（ステップＳ９６）。基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊは、サンプリング情報（処理時間）２２から取得される。
【０１３０】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ９７）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ９８）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ９８；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程の処理時間を設定すべく、ステップＳ９４に移行する。
【０１３１】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ９８；Ｙｅｓ）、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ９９）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ１００）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ１００；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の処理時間を設定すべく、ステップＳ９３に移行する。
【０１３２】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ１００；Ｙｅｓ）、生産ラインシミュレーション部１４は、計算処理Ｒの「Ｓｉ，ｊ、Ｅｉ，ｊ計算処理」を実行する（ステップＳ１０１）。すなわち、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊおよび基板ｊにおける工程ｉの出力時間Ｅｉ，ｊを計算する。
【０１３３】
そして、生産ラインシミュレーション部１４は、基板Ｎにおける工程Ｍの出力時間ＥＭ，Ｎから基板１における工程Ｍの出力時間ＥＭ，１を減算する。そして、生産ラインシミュレーション部１４は、減算した値を生産時間ＴＡｋ（ｕ）として算出する（ステップＳ１０２）。すなわち、生産ラインシミュレーション部１４は、ロットｕについて、工程ｋを理想処理時間、それ以外の工程をサンプリングした処理時間とした場合の生産時間を算出する。
【０１３４】
そして、生産ラインシミュレーション部１４は、理想処理時間とする工程を変更すべく、工程ｋを１加算する（ステップＳ１０３）。生産ラインシミュレーション部１４は、工程ｋが工程の最大数Ｍより大きいか否かを判定する（ステップＳ１０４）。工程ｋが工程の最大数Ｍより大きくない場合には（ステップＳ１０４；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程ｋに対する生産時間ＴＡｋ（ｕ）を計算すべく、ステップＳ９２に移行する。
【０１３５】
一方、工程ｋが工程の最大数Ｍより大きい場合には（ステップＳ１０４；Ｙｅｓ）、生産ラインシミュレーション部１４は、ロットｕの計算処理Ａを終了する。
【０１３６】
［計算処理Ｂのフローチャート］
図１６は、工程間にバッファがない生産ラインにおいて１つの工程をサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間の計算処理のフローチャートを示す図である。なお、図１６では、変数ｊは、図１３と同様に、基板ＩＤの値を示し、１〜Ｎ（Ｎ：自然数）であるとする。変数ｉおよび変数ｋは、図１３と同様に、工程順を示し、１〜Ｍ（Ｍ：自然数）であるとする。以降では、説明の便宜上、変数ｊを基板ｊと説明し、変数ｉを工程ｉと説明し、変数ｋを工程ｋと説明するものとする。そして、変数τｉ，ｊは、工程ｉおよび基板ｊにおけるサンプリングした処理時間であるとする。
【０１３７】
以降の処理では、生産ラインシミュレーション部１４が、ロットｕについて、工程ｋをサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間ＴＢｋを算出する。
【０１３８】
まず、生産ラインシミュレーション部１４は、工程ｋに１を設定する（ステップＳ１１１）。そして、生産ラインシミュレーション部１４は、基板ｊに１を設定する（ステップＳ１１２）。生産ラインシミュレーション部１４は、工程ｉに１を設定する（ステップＳ１１３）。
【０１３９】
そして、生産ラインシミュレーション部１４は、工程ｉが工程ｋと一致する否かを判定する（ステップＳ１１４）。工程ｉが工程ｋと一致しない場合には（ステップＳ１１４；Ｎｏ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、工程ｉの理想処理時間ｘｉを設定する（ステップＳ１１５）。工程ｉの理想処理時間ｘｉは、構成情報２１から取得される。一方、工程ｉが工程ｋと一致する場合には（ステップＳ１１４；Ｙｅｓ）、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの処理時間τ´ｉ，ｊに、基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊを設定する（ステップＳ１１６）。基板ｊにおける工程ｉのサンプリングした処理時間τｉ，ｊは、サンプリング情報（処理時間）２２から取得される。
【０１４０】
そして、生産ラインシミュレーション部１４は、次の工程にすべく、工程ｉを１加算する（ステップＳ１１７）。生産ラインシミュレーション部１４は、工程ｉが工程順の最大数Ｍより大きいか否かを判定する（ステップＳ１１８）。工程ｉが工程順の最大数Ｍより大きくない場合には（ステップＳ１１８；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程の処理時間を設定すべく、ステップＳ１１４に移行する。
【０１４１】
一方、工程ｉが工程順の最大数Ｍより大きい場合には（ステップＳ１１８；Ｙｅｓ）、生産ラインシミュレーション部１４は、次の基板にすべく、基板ｊを１加算する（ステップＳ１１９）。生産ラインシミュレーション部１４は、基板ｊが基板の最大数Ｎより大きいか否かを判定する（ステップＳ１２０）。基板ｊが基板の最大数Ｎより大きくない場合には（ステップＳ１２０；Ｎｏ）、生産ラインシミュレーション部１４は、次の基板における各工程の処理時間を設定すべく、ステップＳ１１３に移行する。
【０１４２】
一方、基板ｊが基板の最大数Ｎより大きい場合には（ステップＳ１２０；Ｙｅｓ）、生産ラインシミュレーション部１４は、計算処理Ｒの「Ｓｉ，ｊ、Ｅｉ，ｊ計算処理」を実行する（ステップＳ１２１）。すなわち、生産ラインシミュレーション部１４は、基板ｊにおける工程ｉの開始時間Ｓｉ，ｊおよび基板ｊにおける工程ｉの出力時間Ｅｉ，ｊを計算する。
【０１４３】
そして、生産ラインシミュレーション部１４は、基板Ｎにおける工程Ｍの出力時間ＥＭ，Ｎから基板１における工程Ｍの出力時間ＥＭ，１を減算する。そして、生産ラインシミュレーション部１４は、基板Ｎにおける工程Ｍの出力時間ＥＭ，Ｎから基板１における工程Ｍの出力時間ＥＭ，１を減算する。そして、生産ラインシミュレーション部１４は、減算した値を生産時間ＴＢｋ（ｕ）として算出する（ステップＳ１２２）。すなわち、生産ラインシミュレーション部１４は、ロットｕについて、工程ｋをサンプリングした処理時間、それ以外の工程を理想処理時間とした場合の生産時間を算出する。
【０１４４】
そして、生産ラインシミュレーション部１４は、理想処理時間とする工程を変更すべく、工程ｋを１加算する（ステップＳ１２３）。生産ラインシミュレーション部１４は、工程ｋが工程の最大数Ｍより大きいか否かを判定する（ステップＳ１２４）。工程ｋが工程の最大数Ｍより大きくない場合には（ステップＳ１２４；Ｎｏ）、生産ラインシミュレーション部１４は、次の工程ｋに対する生産時間ＴＢｋ（ｕ）を計算すべく、ステップＳ１１２に移行する。
【０１４５】
一方、工程ｋが工程の最大数Ｍより大きい場合には（ステップＳ１２４；Ｙｅｓ）、生産ラインシミュレーション部１４は、ロットｕの計算処理Ｂを終了する。
【０１４６】
［実施例の効果］
上記実施例によれば、評価装置１は、複数の工程を有する生産ラインにおいて複数の工程の工程間にバッファが無い場合に、各工程の処理時間のモデルを用いて、所定数の基板が生産される際の各基板に対する各工程の処理時間をサンプリングする。評価装置１は、サンプリングした各基板に対する各工程の処理時間を用いて、生産ラインが生産に要する時間である生産時間を算出する。評価装置１は、生産時間を算出する処理を、サンプリングする処理時間を変えて複数回繰り返す。評価装置１は、各回で算出された生産時間を用いて、生産ラインのスループットを評価する。かかる構成によれば、評価装置１は、生産ラインのスループット、すなわち生産性を定量的に精度良く評価することが可能となる。
【０１４７】
また、上記実施例によれば、評価装置１は、各回で算出された生産時間を用いて、生産時間の分布を算出する。かかる構成によれば、評価装置１は、生産時間の分布を算出することで、例えば目的に応じた生産時間の改善を行わせることができる。例えば、評価装置１は、生産時間を平均的に短くする目的の場合には、度数の高い部分の原因を解消させることで、度数の高い部分を生産時間の方向を小さい方向へ移動させることができる。また、評価装置１は、度数が低い部分であっても生産時間が大きく伸びている部分を避ける目的の場合には、該部分の原因を解消させることで、該部分の度数を低い方向に移動させることができる。
【０１４８】
また、上記実施例によれば、評価装置１は、サンプリングした各基板に対する各工程の処理時間から所定数の基板が生産される時間を示す第１の生産時間を算出する。評価装置１は、複数の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の基板が生産される時間を示す第２の生産時間を算出する。評価装置１は、評価対象の工程の処理時間のサンプリング値を理想値に置き換え、評価対象の工程以外の工程の処理時間をサンプリング値とした場合の、所定数の基板が生産される時間を示す第３の生産時間を算出する。評価装置１は、評価対象の工程の処理時間をサンプリング値とし、評価対象の工程以外の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の基板が生産される時間を示す第４の生産時間を算出する。評価装置１は、第１の生産時間、第２の生産時間、第３の生産時間および第４の生産時間を用いて、評価対象の工程のスループットへの影響度を算出する。かかる構成によれば、評価装置１は、評価対象の工程と評価対象の工程以外の工程との依存関係を用いて、評価対象の工程のスループットへの影響を算出することで、評価対象の工程のスループットへの影響を精度良く評価できる。また、評価装置１は、それぞれの工程のスループットへの影響を算出することで、スループット悪化の要因となる工程を特定できることが可能となる。
【０１４９】
また、上記実施例によれば、評価装置１は、評価対象の工程のスループットへの影響度の上限と下限の分布を算出する。かかる構成によれば、評価装置１は、評価対象の工程のスループットへの影響度を定量的に評価できる。
【０１５０】
また、上記実施例によれば、評価装置１は、評価する処理によって算出された分布を出力する。かかる構成によれば、評価装置１は、視覚的にまたは聴覚的に、スループットへの影響を評価できる。
【０１５１】
［その他］
なお、評価装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記したサンプリング生成部１２、処理時間調整部１３、生産ラインシミュレーション部１４、生産時間分布計算部１５、影響度分布計算部１６等の各機能を搭載することによって実現することができる。
【０１５２】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、サンプリング生成部１２と、処理時間調整部１３とを１個の部として統合しても良い。一方、生産時間分布計算部１５を、生産時間に対する分布を計算する第１の計算部と、スループットの推定値を計算する第２の計算部とに分散しても良い。また、記憶部２０を評価装置１の外部装置に記憶するようにしても良いし、記憶部２０を記憶した外部装置を評価装置１とネットワーク経由で接続するようにしても良い。
【０１５３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図３に示した評価装置１と同様の機能を実現する評価プログラムを実行するコンピュータの一例を説明する。図１７は、評価プログラムを実行するコンピュータの一例を示す図である。
【０１５４】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１５５】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、評価プログラム２０５ａおよび評価処理関連情報２０５ｂを記憶する。
【０１５６】
ＣＰＵ２０３は、評価プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、評価装置１の各機能部に対応する。評価処理関連情報２０５ｂは、構成情報２１、サンプリング情報（処理時間）２２、生産時間分布情報２３および影響度分布情報２４等の各情報を記憶する。
【０１５７】
なお、評価プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから評価プログラム２０５ａを読み出して実行するようにしても良い。
【０１５８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５９】
（付記１）コンピュータに、
複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間を用いて、前記生産ラインが生産に要する時間である生産時間を算出し、
前記生産時間を算出する処理を、サンプリングする処理時間を変えて複数回繰り返し、
各回で算出された生産時間を用いて、前記生産ラインのスループットを評価する
処理を実行させることを特徴とする評価プログラム。
【０１６０】
（付記２）前記評価する処理は、
各回で算出された生産時間を用いて、前記生産時間の分布を算出する
ことを特徴とする付記１に記載の評価プログラム。
【０１６１】
（付記３）前記生産時間を算出する処理は、
前記サンプリングした各生産対象物に対する各工程の処理時間から所定数の生産対象物が生産される時間を示す第１の生産時間を算出し、
前記複数の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第２の生産時間を算出し、
評価対象の工程の処理時間のサンプリング値を理想値に置き換え、前記評価対象の工程以外の工程の処理時間をサンプリング値とした場合の、所定数の生産対象物が生産される時間を示す第３の生産時間を算出し、
前記評価対象の工程の処理時間をサンプリング値とし、前記評価対象の工程以外の工程の処理時間のサンプリング値を理想値に置き換えた場合の、所定数の生産対象物が生産される時間を示す第４の生産時間を算出し、
前記評価する処理は、前記第１の生産時間、前記第２の生産時間、前記第３の生産時間および前記第４の生産時間を用いて、前記評価対象の工程のスループットへの影響度を算出する
ことを特徴とする付記１に記載の評価プログラム。
【０１６２】
（付記４）前記評価する処理は、
前記評価対象の工程のスループットへの影響度の上限と下限の分布を算出する
ことを特徴とする付記３に記載の評価プログラム。
【０１６３】
（付記５）前記評価する処理によって算出された分布を出力する
ことを特徴とする付記２または付記４に記載の評価プログラム。
【０１６４】
（付記６）複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間を用いて、前記生産ラインが生産に要する時間である生産時間を算出する第１の算出部と、
前記第１の算出部による処理を、サンプリングする処理時間を変えて複数回繰り返す第２の算出部と、
各回で算出された生産時間を用いて、前記生産ラインのスループットを評価する評価部と
を有することを特徴とする評価装置。
【０１６５】
（付記７）コンピュータが、
複数の工程を有する生産ラインにおいて前記複数の工程の工程間にバッファが無い、もしくはバッファが有っても前記バッファの容量が規定量より少量である場合に、各工程の処理時間のモデルを用いて、所定数の生産対象物が生産される際の各生産対象物に対する各工程の処理時間をサンプリングし、前記サンプリングした各生産対象物に対する各工程の処理時間を用いて、前記生産ラインが生産に要する時間である生産時間を算出し、
前記生産時間を算出する処理を、サンプリングする処理時間を変えて複数回繰り返し、
各回で算出された生産時間を用いて、前記生産ラインのスループットを評価する
各処理を実行することを特徴とする評価方法。
【符号の説明】
【０１６６】
１  評価装置
１０  制御部
１１  入力データ解釈部
１２  サンプリング生成部
１３  処理時間調整部
１４  生産ラインシミュレーション部
１５  生産時間分布計算部
１６  影響度分布計算部
１７  結果出力部
２０  記憶部
２１  構成情報
２２  サンプリング情報（処理時間）
２３  生産時間分布情報
２４  影響度分布情報
【図１】
0006657562.tif 000004
【図２Ａ】
0006657562.tif 000005
【図２Ｂ】
0006657562.tif 000006
【図２Ｃ】
0006657562.tif 000007
【図３】
0006657562.tif 000008
【図４】
0006657562.tif 000009
【図５】
0006657562.tif 000010
【図６】
0006657562.tif 000011
【図７】
0006657562.tif 000012
【図８】
0006657562.tif 000013
【図９】
0006657562.tif 000014
【図１０】
0006657562.tif 000015
【図１１】
0006657562.tif 000016
【図１２】
0006657562.tif 000017
【図１３】
0006657562.tif 000018
【図１４】
0006657562.tif 000019
【図１５】
0006657562.tif 000020
【図１６】
0006657562.tif 000021
【図１７】
0006657562.tif 000022