JP4196764B2 - Cause / route estimation method and cause estimation apparatus - Google Patents

Cause / route estimation method and cause estimation apparatus Download PDF

Info

Publication number
JP4196764B2
JP4196764B2 JP2003205892A JP2003205892A JP4196764B2 JP 4196764 B2 JP4196764 B2 JP 4196764B2 JP 2003205892 A JP2003205892 A JP 2003205892A JP 2003205892 A JP2003205892 A JP 2003205892A JP 4196764 B2 JP4196764 B2 JP 4196764B2
Authority
JP
Japan
Prior art keywords
machine
component
buffer
time
cause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003205892A
Other languages
Japanese (ja)
Other versions
JP2005055956A (en
Inventor
ハーマン ローザー,クリストフ
冠 中野
稔 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2003205892A priority Critical patent/JP4196764B2/en
Publication of JP2005055956A publication Critical patent/JP2005055956A/en
Application granted granted Critical
Publication of JP4196764B2 publication Critical patent/JP4196764B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Description

【0001】
【発明の属する技術分野】
本発明は、被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、ある構成要素に遊休状態を発生させる原因を解析する技術に関し、特に、ある構成要素に遊休状態を発生させる別の構成要素である原因要素と、その原因要素から、前記遊休状態にある構成要素である遊休構成要素までの原因経路とを推定する技術に関する。
【0002】
【従来の技術】
被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数の構成要素が予め定められたフローに従って配置されて構成されたシステムが既に存在する。この種のシステムの一例は、部品に加工を施したり、別の部品と組み合わせたりして製品を生産する生産システムである。
【0003】
この生産システムの処理能力(スループット)を改善する上で最も簡単な方法は、その生産システムにバッファを割り当てることである。なぜなら、バッファの割り当ては、システムの迅速な変更を可能にするとともに、その変更のための初期費用が少なくて済むからである。その初期費用は、バッファを追加したり除去したりするための費用であって、その額は、通常、処理機械を加えるかまたはシステムのフローを変更する費用の一部にすぎない。
【0004】
しかしながら、バッファサイズを増加させれば、常に処理能力が増加するが、時には、仕掛在庫数および総処理時間も増加し、その結果、在庫および消費者に届くまでの時間が増加する。したがって、その処理能力と仕掛在庫数と総処理時間との間における背反(トレードオフ)に研究上、重要な関心が集まる。
【0005】
バッファは、システムにおいてボトルネックを構成する機械を原因とする、他の機械の遊休時間(機械がスターブまたはブロックされた時間)を減少させることにより、その機械の稼動率を改善することができる。機械がスターブする(部品が欠乏する)状態とは、機械に供給される部品が不足するために、その機械が作用できない状態を意味し、一方、機械がブロックされる(閉塞される)状態とは、機械が処理した部品を搬出できないために、その機械が作用できない状態を意味する。
【0006】
バッファは特に2つの目的を果たす。すなわち、バッファは、部品を追加することによって機械のスタービング時間を減少させるとともに、自由スペースを追加することによって機械のブロッキング時間を減少させ、それにより、システムの処理能力を改善するのである。
【0007】
バッファの割り当てに関する探索法が多数存在する。それら方法のうちの大半は、例えば、シミュレーテッド・アニーリング法、遺伝的アルゴリズム、ニューラルネットワーク、勾配に基づく探索、タブーサーチ法等を用いることにより、極めて多数回(例えば、数千回、数十万回)の反復を必要とするメタモデルの構築に基づいている。
【0008】
しかし、工業的には、そのメタモデルを用いるために必要な多数の反復実験値を取得することは通常困難であり、さらに、上記方法を利用することは非能率的である。
【0009】
最適なバッファサイズを探る最も単純な方法は、考え得るすべてのバッファサイズの組合せについてシミュレーションを適用して実行し、それぞれの実行結果を評価する方法である。この方法を採用する場合、例えば3台のバッファがそれぞれ、サイズ1から10までの値を取り得ると仮定すれば、わずか3台のバッファであっても、そのサイズ組合せの総数は1,000通りにもなる。
【0010】
この手法は現実的ではないため、多くの場合、システムの改善に効果があると経験的に予想されるバッファのみに着目し、そのようなバッファのサイズを離散的に変更してシミュレーションを適用するという方法を採用する。しかし、この方法は、真に最適なサイズ組合せを探り得るものではない。
【0011】
さらに、シミュレーション試行回数を減らす手法として、「実験計画法」を用いることも考えられるが、いずれにしても、最適なバッファサイズの組合せを求めるためには多数回のシミュレーションを行うことが必要であることは改めて指摘するまでもないことである。
【0012】
システムへのバッファの割り当てを最適化することが究極の課題であるが、そのためには、バッファがシステム中の各対象物(機械、別のバッファを含む)に与える効果、例えば、バッファの変更(変更位置または変更量)と各対象物のスタービング時間またはブロッキング時間の削減量との関係を定義して、バッファの変更からスタービング時間またはブロッキング時間の削減量を推定することが必要である。
【0013】
さらに、そのようなバッファの効果を精度よく推定するためには、システムの各構成要素(「各対象物」ともいう。例えば、生産ラインにおける加工設備が該当する。)のスターブまたはブロックの原因要素であるバッファと、そのバッファの影響が各対象物のスターブまたはブロックに及ぶ経路である原因経路とを精度よく推定することが必要である。
【0014】
以上説明した事情を背景とし、本発明は、被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、各構成要素を遊休状態に陥らせる原因を生成する原因要素と、その原因が各構成要素に波及する原因経路とを推定することを課題としてなされたものである。
【0015】
【課題を解決するための手段】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項に番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本明細書に記載の技術的特徴のいくつかおよびそれらの組合せのいくつかの理解を容易にするためであり、本明細書に記載の技術的特徴やそれらの組合せが以下の態様に限定されると解釈されるべきではない。
【0016】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈されるべきである。
【0017】
(1) 被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数個の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、ある構成要素に遊休状態を発生させる別の構成要素である原因要素と、その原因要素から、前記遊休状態にある構成要素である遊休構成要素までの原因経路とを推定する原因・経路推定方法であって、
前記システムにおける各構成要素の経時的な状態変化を表すシステムデータに基づき、前記遊休構成要素とそれに隣接する別の構成要素とのそれぞれの経時的な状態変化相互の関係を決定し、その決定された関係に基づき、前記遊休構成要素を第1の出発要素としてそれに隣接する別の構成要素を前記流れの正方向と逆方向とのうち対応する方向に追跡する第1の追跡工程と、
前記システムデータに基づき、かつ、予め定められた判定規則に従い、その追跡された構成要素が前記原因要素に該当するか否かを判定することにより、その原因要素を特定する原因特定工程と、
前記第1の追跡工程の実行結果のみでは前記原因特定工程において前記原因要素が特定されない場合に、それが特定されるまで、少なくとも1回の追跡の各々を、前記システムデータに基づき、最後に追跡された構成要素とそれに隣接する別の構成要素とのそれぞれの経時的な状態変化相互の関係を決定するとともに、その決定された関係に基づき、最後に追跡された構成要素を第2の出発要素としてそれに隣接する別の構成要素を前記流れの正方向と逆方向とのうち対応する方向に追跡する内容で行う第2の追跡工程と、
前記システムデータに基づき、前記原因特定工程によって特定された原因要素に関連付けて、その原因要素が前記遊休構成要素に影響を及ぼす経路を前記原因経路として特定する経路特定工程と
を含む原因・経路推定方法。
【0018】
システムにおける複数の構成要素のフローを特定して、そのシステム内における被処理要素の流れを特定すれば、経験則に従い、そのシステムにおいて互いに隣接した任意の2個の構成要素が相互に及ぼし得る影響のいくつかの可能性を推定することが可能である。このことは後に、図11および図12を参照して詳述する。
【0019】
このような環境において、そのシステムにおける各構成要素の経時的な状態変化を表すシステムデータを用いれば、任意の構成要素とそれに隣接する別の構成要素とのそれぞれの経時的な状態変化相互の関係を決定することが可能である。そして、その関係を用いれば、上述のいくつかの可能性の中から適当なものを選択し、それにより、互いに隣接した特定の2個の構成要素間の関係、例えば、一方の構成要素が遊休状態にあって、他方の構成要素がその遊休状態の原因を構成するとともに、それら2個の構成要素間の経路が、その原因が遊休状態の構成要素に波及する経路を構成するという関係を一義的に推定することが可能である。
【0020】
さらに、そのような推定は、そのシステムの挙動を時系列的に模擬するシミュレーションの多数回の繰返しに依存せずに短時間で効率よく行うことが可能である。
【0021】
以上説明した知見に基づき、本項に係る方法においては、システムにおける各構成要素の経時的な状態変化を表すシステムデータに基づき、遊休構成要素とそれに隣接する別の構成要素とのそれぞれの経時的な状態変化相互の関係が決定される。
【0022】
さらに、その決定された関係に基づき、遊休構成要素を出発要素としてそれに隣接する別の構成要素が、システムにおける被処理要素の流れの正方向と逆方向とのうち対応する方向に追跡される。
【0023】
それにより、ある構成要素に遊休状態を生じさせる別の構成要素である原因要素と、その原因要素から、遊休構成要素までの経路である原因経路とが推定される。
【0024】
したがって、この方法によれば、システムの挙動を時系列的に模擬するシミュレーションの多数回の繰返しに依存せずに原因要素および原因経路を推定することが可能となり、よって、シミュレーションに依存する場合より極めて短時間でその推定を行うことが可能となる。
【0025】
ところで、本項に係る方法を実施するためには、前記システムデータを事前に取得することが必要であり、このシステムデータは、そのシステムの挙動を時系列的に模擬するシミュレーションによって取得することが可能である。この場合には、そのシステムデータの取得と原因要素および原因経路の推定(「原因解析」または「原因調査」ともいう)とを含む一連の解析がシミュレーションに依存せざるを得ない。
【0026】
しかしながら、本項に係る方法を実施する場合には、原因解析がシミュレーションの多数回の繰返しに依存せずに済むため、システムデータの取得のための1回限りのシミュレーションによって上述の一連の解析を完了可能となる。
【0027】
よって、この方法によれば、システムのための一連の解析を効率よく短時間で行うことが可能となり、その実用性が向上する。
【0028】
本項における「第2の追跡工程」は、追跡を1回のみ行う場合や、複数回、反復して行う場合がある。後者の場合には、今回の追跡における「第2の出発要素」が、前回の追跡において最後に追跡された構成要素に一致し、このように、第2の出発要素は追跡が反復されるごとに更新される。このことは、下記の各項における「第2の出発要素」についても同様である。
【0029】
(2) さらに、前記システムデータに基づき、同じ遊休構成要素の複数の遊休期間について前記原因要素が少なくとも1個存在する場合に、各原因要素ごとに、それが前記遊休構成要素に及ぼす影響を、その影響が各原因要素から前記遊休構成要素に及ぶ各原因経路に関連付けて推定する影響推定工程を含む(1)項に記載の原因・経路推定方法。
【0030】
システムにおいては、同じ遊休構成要素の複数の遊休期間について原因要素が少なくとも1個存在する場合がある。この場合、本項に係る方法によれば、各原因要素ごとに、それが遊休構成要素の遊休状態に及ぼす影響が、その影響が各原因要素から遊休構成要素に及ぶ各原因経路に関連付けて推定される。
【0031】
さらに、この方法によれば、その影響の推定が、システムデータに基づいて行われる。
【0032】
したがって、この方法によれば、その影響の推定を、各原因要素ごとに個別に、かつ、シミュレーションの多数回の繰返しに依存せずに短時間で行うことが可能となる。
【0033】
(3) 前記第1および第2の追跡工程が、共に、前記追跡に先立ち、前記第1および第2の出発要素のうち対応するものの状態の種類に応じ、上流向きと下流向きとのうちのいずれかに前記追跡の向きを設定する向き設定工程を含む(1)または(2)項に記載の原因・経路推定方法。
【0034】
例えば、後に詳述するが、今回の遊休構成要素がスタービング状態にある場合には、その原因は、それより上流側に存在する可能性が高い。そのため、今回の遊休構成要素のための追跡は、それから上流に向かって行うべきである。
【0035】
これに対し、今回の遊休構成要素がブロッキング状態にある場合には、その原因は、それより下流側に存在する可能性が高い。そのため、今回の遊休構成要素のための追跡は、それから下流に向かって行うべきである。
【0036】
このような知見に基づき、本項に係る方法においては、追跡に先立ち、出発要素の状態の種類に応じた向きに追跡の向きが設定される。
【0037】
したがって、この方法によれば、原因・経路特定のための追跡を無駄なく短時間で行うことが容易となる。
【0038】
(4) 前記第1および第2の追跡工程が、共に、前記追跡に先立ち、前記第1および第2の出発要素のうち対応するものに隣接するすべての隣接構成要素にそれらの各状態に応じて順位を付与し、その付与された順位に従っていずれかの隣接構成要素を前記第1および第2の出発要素のうち対応するものとして選択する順位付け工程を含み、
前記経路特定工程が、各原因要素ごとに、それに付与された順位に基づき、前記遊休構成要素と各原因要素との間における各原因経路を特定する工程を含む(1)ないし(3)項のいずれかに記載の原因・経路推定方法。
【0039】
遊休構成要素を遊休状態に陥らせる原因およびその経路は、後に詳述するが、その遊休構成要素に隣接する別の構成要素の状態によって、いくつかのパターンに分類することができる。
【0040】
この知見に基づき、本項に係る方法においては、追跡に先立ち、出発要素に隣接するすべての隣接構成要素にそれらの各状態に応じて順位が付与される。さらに、各原因要素ごとに、それに付与された順位に基づき、遊休構成要素と各原因要素との間における各原因経路が特定される。
【0041】
(5) さらに、前記追跡中、前記システムデータに基づき、前記システムにおける各構成要素間の各バッファの位置ごとに、そのバッファの変更によって前記遊休構成要素の状態の持続時間が変化する量と、各バッファが前記原因要素であり続ける時間と、前記遊休構成要素に隣接する各隣接構成要素が前記原因経路上にあり続ける時間とのうちの少なくとも一つを含む統計値を計算する統計値計算工程を含む(1)ないし(4)項のいずれかに記載の原因・経路推定方法。
【0042】
本項および下記の各項における「バッファ」は、システムに実在するバッファを意味するように解釈したり、潜在的に存在するバッファを意味するように解釈することができる。後者の場合には、例えば、現実にバッファが存在し得る位置が特定されることとなる。
【0043】
(6) 被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数個の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、そのシステムの各構成要素間における各バッファの変更によってそのシステムの性能が改善される改善量を推定するシステム性能改善量推定方法であって、
前記システムにおける各構成要素の経時的な状態変化を表すシステムデータに基づき、各構成要素ごとに、前記バッファ内に存在する前記被処理要素の数が変化する第1の変化量と、前記バッファ内において前記被処理要素を一時的に収容可能なスペースの数が変化する第2の変化量とを推定する第1推定工程と、
それら推定された第1および第2の変化量に基づき、各構成要素ごとに、各構成要素が利用可能な被処理要素数が前記バッファの変更に起因して変化する第3の変化量と、各構成要素が利用可能なスペース数が前記バッファの変更に起因して変化する第4の変化量とを推定する第2推定工程と、
各構成要素ごとに、前記推定された第3および第4の変化量に基づき、各構成要素の遊休時間が前記利用可能な被処理要素数の変化に起因して変化する第1遊休時間変化量と、各構成要素の遊休時間が前記利用可能なスペース数の変化に起因して変化する第2遊休時間変化量との合計値を推定する第3推定工程と、
その推定された合計値をすべての構成要素について合計することにより、前記改善量を推定する第4推定工程と
を含むシステム性能改善量推定方法。
【0044】
この方法においては、(a)バッファ内に存在する被処理要素の数が変化する第1の変化量と、(b)バッファ内において被処理要素を一時的に収容可能なスペースの数が変化する第2の変化量と、(c)各構成要素が利用可能な被処理要素数がバッファ変更に起因して変化する第3の変化量と、(d)各構成要素が利用可能なスペース数がバッファ変更に起因して変化する第4の変化量とに基づき、バッファ変更に起因するシステム性能の改善量が推定される。
【0045】
さらに、本項に係る方法においては、その改善量の推定に用いるべき第1ないし第4の変化量が、前記システムデータに基づいて行われる。
【0046】
したがって、この方法によれば、シミュレーションの多数回の繰返しに依存することなく、バッファ変更に起因したシステム性能の改善量の推定を行うことが可能となり、よって、その推定を短時間で効率よく行うことが容易となる。
【0047】
ここに、「第1の変化量」は、例えば、バッファの変更に起因して、バッファ内に存在する被処理要素の数が変化する量として定義することができ、同様に、「第2の変化量」は、例えば、バッファの変更に起因して、バッファ内において被処理要素を一時的に収容可能なスペースの数が変化する量として定義することができる。
【0048】
(7) 前記第2推定工程が、前記第3および第4の変化量を、前記(5)項における統計値に基づいて推定する(6)項に記載のシステム性能改善量推定方法。
【0049】
(8) 前記第1推定工程が、
前記複数の構成要素のうち、各バッファより上流側におけるすべての構成要素についての代表的なボトルネック確率と、下流側におけるすべての構成要素についての代表的なボトルネック確率とに基づき、前記各バッファの満杯率と空乏率との少なくとも一方を推定し、その推定値に基づいて前記第1および第2の変化量を推定する(6)または(7)項に記載のシステム性能改善量推定方法。
【0050】
本項における「ボトルネック確率」は、例えば、システムにおける各構成要素が作用状態にある時間の長さの、全時間(例えば、システムにとっての総解析時間)に対する比率として定義することが可能である。このように定義されたボトルネック確率は、例えば、システムにおける各構成要素がボトルネックとして機能するボトルネック期間が全時間に占有するボトルネック期間占有率を意味する。ボトルネック期間占有率の計算手法の一例が本出願人の特願2002−81077号に記載されている。
【0051】
(9) (1)ないし(8)項のいずれかに記載の方法を実施するためにコンピュータにより実行されるプログラム。
【0052】
このプログラムがコンピュータにより実行されれば、前記(1)ないし(8)項のいずれかに記載の方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
【0053】
このプログラムは、それの機能を果たすためにコンピュータにより実行される指令の組合せのみならず、各指令に従ってコンピュータにより処理されるファイルやデータをも含むように解釈することが可能である。
【0054】
(10) (9)項に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
【0055】
この記録媒体に記録されたプログラムがコンピュータにより実行されれば、前記(1)ないし(8)項のいずれかに記載の方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
【0056】
本項における「記録媒体」は種々の形式を採用可能であり、例えば、フレキシブルディスク等の磁気記録媒体、CD、CD−ROM等の光記録媒体、MO等の光磁気記録媒体、ROM等のアンリムーバブル・ストレージ等の少なくとも1つを採用可能である。
【0057】
(11) 前記(1)ないし(8)項のいずれかに記載の方法をコンピュータを用いて実施するシステム解析装置。
【0058】
この装置によれば、前記(1)ないし(8)項のいずれかに記載の方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
【0059】
【発明の実施の形態】
以下、本発明のさらに具体的な実施の形態の一つを図面に基づいて詳細に説明する。
【0060】
本発明の一実施形態に従うバッファ予測方法は、概略的に説明すれば、図1に概念的にフローチャートで表すように、複数の構成要素を有する離散事象システム(以下、単に「システム」という。)において、各構成要素を遊休状態に陥らせる原因を構成する構成要素である原因要素と、その原因が各構成要素に波及する原因経路とを推定する原因・経路推定工程を含んでいる。このバッファ予測方法は、バッファ敷設効果予測方法に言換えることが可能である。
【0061】
このバッファ予測方法は、さらに、そのシステムにおけるバッファの変更(変更位置または変更量)と各構成要素のスタービング時間(部品不足状態の継続時間)またはブロッキング時間(部品搬出不能状態の継続時間)の削減量との間における、時間に依存しない数学的な関係に従い、バッファの変更からスタービング時間またはブロッキング時間の削減量を推定する削減スタービング/ブロッキング時間推定工程を含んでいる。
【0062】
このバッファ予測方法は、さらに、そのシステムへのバッファの割り当て(設置位置およびバッファ容量に関する)を最適化するバッファ最適化工程を含んでいる。
【0063】
そのシステムは、複数の要素であって様々な作用を行うものにより構成されている。このシステムは、作用を行わない被処理対象物を含まないか、または含んでいる。要素は、例えば、被処理対象物を加工したり(変形させたり)搬送することにより、その被処理対象物に対して作用を行うことが可能である。要素はさらに、他の要素に対して作用を行うことも可能である。
【0064】
そのようなシステムの一例が生産ラインに関するものである。そこでの被処理対象物は、処理、すなわち、結合、変形または分離が行われる部品である。その処理を行う要素は、その処理を行う機械である。
【0065】
しかしながら、要素は被処理対象物に対して変形を行うもののみではない。自動誘導車または作業者のように、被処理対象物を搬送する要素も存在することが可能である。いくつかの要素は、例えば、必要な場合に他の要素を修理する修理チームとして、他の要素に対してサービスを行うことが可能である。さらに、他の要素は、そのシステム内に被処理対象物を搬入したり、そのシステムからその被処理対象物を取り外したりするために利用することが可能である。最後に、いくつかの要素は、上述の複数の用途のうちのいくつかの組合せのために利用することが可能である。
【0066】
以上説明した要素は一般的なものであるが、ここに説明されていない他の要素についても、本発明を適用することが可能である。
【0067】
普通、それら要素のすべては、ある時間内に行うことが可能である作用の数によって制限される。そのため、システム全体は、ある時間内にそのシステムを通過可能である部品の数によって制限される。いくつかの要素は、他の要素より大きな影響をシステム全体の性能に与える。本実施形態においては、様々な要素がシステム全体の性能に与える影響が測定される。多くの場合には、いくつかの要素は、他の要素より多く、システム全体の処理能力(スループット)を制限する。それら要素は、一般に、ボトルネックまたはコンストレイントと称される。
【0068】
本実施形態においては、必要な情報を取得するために、作動中のシステムが観測される。この観測は、例えば、生産ラインを見たり、シミュレーション・データを収集することにより行われる。必要な情報は、各要素についてのデータ(時系列データ)のリストであって、各時期における各要素の状態を詳細に示すものである。
【0069】
図2は、ある時間中における機械(例えば、加工機)の状態の一例を示している。その機械は、いくつかの期間には部品に関して稼動し、別の期間には遊休状態の一例であるスタービング状態の一例となって新たな部品を待ち、別の期間には、搬出側の待ち行列がいっぱいであるためにブロッキング状態となって、処理済みの部品がすべて搬出されるのを待ち、そして、別の期間には故障して修理中となる。
【0070】
ここに、ブロッキング状態とは、例えば、その機械に続く装置、例えば、バッファ、別の機械、コンベヤベルト等が稼動状態で部品を取り扱うことができないため、その機械が、完成した部品を搬出することができない状態をいう。
【0071】
図3は、様々な機械についてのデータ集合の一例を示す。この例においては、機械の名称と時間とが、機械の状態の各変化ごとに与えられている。同図においては、状態0が稼動状態、状態1がスタービング状態、状態2がブロッキング状態、状態3が、故障して自己修理中である状態をそれぞれ示している。同図に示すデータのリストは、本実施形態を実施するために必要なものである。
【0072】
このバッファ予測方法につき、理論的背景および具体的手法を説明する。
1 シミュレーション例
【0073】
図4には、このバッファ予測方法が実施されるシステムの一例が概念的にブロック図で表されている。このバッファ予測方法は、そのシステムの時間的挙動であってコンピュータによる1回のシミュレーションによって解析されたもの(または現実のシステムを測定することによって取得されたもの)に基づいて実施される。したがって、図4に示す例は、シミュレーションの実施対象の一例でもある。
【0074】
ここに「シミュレーション」という用語は、例えば、「実体を模擬して、コンピュータ・プログラム言語によって表現されたモデルを時系列的に変化させ、それにより、実体の動的挙動に関する情報を取得する処理」として定義することが可能である。このように、シミュレーションは、時間に依存する処理であると考えることができるのである。
【0075】
上記のシステム例は、生産システムであり、図4に示すように、M1からM7までの名称が付された7台の機械を備えている。それら機械は、上流側の直線部と、2つの流れに分岐した分岐部と、下流側の直線部とによって構成される生産ラインに沿って流れるようになっている。
【0076】
さらに、この生産システムにおいては、各機械の前方または後方に9個のバッファ位置が設定されている。機械M3,M5およびM6の前方に設置されるバッファにはそれぞれBM3,BM5およびBM6という名称が付されており、これに対し、機械M1,M2,M3,M4,M5およびM6の後方に設置されるバッファにはそれぞれAM1,AM2,AM3,AM4,AM5およびAM6という名称が付されている。この生産システムにおいては、最初の機械M1は決してスターブしないし、最後の機械M7は決してブロックされない。
【0077】
この生産システムにおいては、機械のサイクルタイムは一定であるが、指数関数的に分布する故障時間によって機械が不規則に遅延するようになっている。あるシミュレーション・ソフトウェアを用いてこの生産システムについてシミュレーションを行ったところ、その時間は、シミュレーション500日分であった。
【0078】
この生産システムにおいては、機械M3が主要なボトルネックであり、機械M2、機械M5および機械M6が副次的なボトルネックであり、そのシステムはバランスが良い。そのシステムにおいては、55.7s(秒)ごとに1個の部品が完成し、すなわち、1時間当たり平均して64.7個の部品が完成する。
【0079】
2 バッファ予測モデル
【0080】
このバッファ予測方法は、バッファ予測モデルを想定して実施される。このバッファ予測モデルは、バッファのサイズの増加によってシステムの処理能力に生ずる効果を推定することを目的として構築されている。
【0081】
2.1 バッファ予測モデルの概要
【0082】
生産システムにおいてバッファサイズを変更したことによる効果を予測する方法を概略的に簡単に説明する。図5には、このバッファ予測モデルの概略がフローチャートで表されており、さらに、このバッファ予測方法において用いられるいくつかの記号が記載されている。図69および図70には、それら記号の定義が示されている。
【0083】
このバッファ予測方法を実施するに先立ち、初期のシステムについて統計的な解析を多数回行うことが必要である。この解析には、(a)機械の稼働率と、初期のシステムの性能と、機械の待ち時間(「遊休時間」ともいう)の分布とを決定するための基本的な統計的解析と、(b)システムの各構成要素がボトルネックとして作用するボトルネック確率を決定するためのボトルネック検出解析とがある。
【0084】
このバッファ予測方法は、さらに、機械のスタービングおよびブロッキングの原因要素と、ブロック/スターブ(「ブロックまたはスターブ」という意味である。以下、同じ。)された機械とそのブロック/スターブの原因要素との間におけるバッファとを特定するために、スタービングおよびブロッキングという事象の解析を必要とする。
【0085】
この初期の統計的解析の終了後、バッファ容量を選択して変更することができる。これは、解析者によって行われるか、または最適化プログラムによって自動的に行われる。ボトルネックの確率および他の情報に基づき、変更されたバッファ内の平均部品数および平均スペース数が推定される。
【0086】
この推定を行うために利用可能な方法が多数存在するが、本実施形態においては、全バッファ内の部品/スペース(「部品またはスペース」という意味である。以下、同じ。)の平均追加数と機械のブロッキングおよびスタービングの原因とに基づき、種々の機械iについて、平均部品数の追加量△Fiと、平均空スペース数の追加量△Eiとが推定される。
【0087】
次の工程においては、全機械について、遊休時間が減少する時間的割合が解析される。この工程はやや複雑で、例えば機械の待ち時間の分布、稼働率、1部品当たりの作用時間である単位作用時間(Time Per Part)など、更なるデータを多数必要とする。機械の遊休(ブロックまたはスターブされた)時間の減少量の推定値は、その後、ボトルネック確率を用いることにより、システムの性能の減少量の推定値にまとめられる。これにより最終的に、変更されたシステムの、システム全体の性能を予測することが可能になる。
【0088】
2.2 スタービングまたはブロッキングの原因
【0089】
バッファは、機械のブロッキングおよびスタービングの期間を削減し、システム内における物の流れを円滑化することを目的とする。そして、最初の工程においては、ブロックまたはスターブされた機械の原因が決定される。
【0090】
バッファの効果を知るためには、不十分なバッファ容量によってスターブまたはブロックされた機械がいずれであるかを知ることが必要である。したがって、ブロックまたはスターブの原因を構成する要素だけでなくブロッキングおよびスタービングの経路を決定するために、すべてのブロッキングおよびスタービングの事象が辿られる。このバッファ予測方法の全体を詳述する前に、まず、いくつかの事例研究の一覧を紹介する。
【0091】
2.2.1 事例研究
【0092】
2.2.1.1 直線的なライン
【0093】
最も単純な事例は直線的なラインである。図6は、3台の機械M1,M2,M3と2個のバッファB1,B2とを有する単純なラインを示している。
【0094】
明らかに、機械M2におけるブロックはバッファB2に起因する。しかし、バッファB2は必ずしもそのブロックの本来の原因であるとは限らない。バッファB2が満杯である場合には、そのブロックは同じライン上の最後の機械M3によって引き起こされる。したがって、機械M2におけるブロックはバッファB2を介して機械M3によって引き起こされたことになる。
【0095】
しかし、バッファB2が満杯ではなく、しかも、そのバッファB2の速度のみが機械M2のわずかな遅れを生じさせる可能性もまた存在する。この場合、そのブロックはバッファB2に起因する。
【0096】
同様の論理を機械M2のスタービングの解析に利用することが可能である。機械M2がスターブされる場合、そのスターブはバッファB1に起因する。バッファB1が空である場合には、そのスターブは最初の機械M1に起因する。バッファB1が空ではない場合には、スターブは、バッファB1の不十分な速度のせいで、そのバッファB1に起因する可能性がある。
【0097】
2.2.1.2 分枝したライン
【0098】
ラインが分枝している場合、全体のアプローチはより複雑になる。図7は、4台の機械を有する分枝システムを示している。説明を単純にするためにバッファは設定していない。機械M1がブロックされる場合、そのブロックは機械M2もしくは機械M3または両者を経由して発生する可能性があり、さらに、後続する3台の機械M2、機械M3および機械M4うちのいずれかに起因する可能性がある。
【0099】
ブロッキングが機械M4に起因する場合には、そのブロックの原因要素を決定することが重要であるのみならず、そのブロックの経路を決定することも重要である。例えば、機械M1が機械M2を経由して機械M4によってブロックされた場合には、機械M3は機械M1のブロックとは無関係であるため、機械M3の周辺のバッファの改善が必ずしもそのラインの処理能力の改善にはならない。
【0100】
2.2.1.3 リバース・ブロッキング
【0101】
更に複雑な事例については、ある機械が別の機械によりブロックされる可能性があり、その別の機械は、そのある機械より下流側にあるのでなく、並列または上流側にある可能性がある。
【0102】
図8の例においては、機械M1および機械M2は機械M3のために部品を供給し、機械M3は、稼動(work)するために機械M1および機械M2の双方から部品を必要とする(例えば、機械M3は機械M1からの部品と機械M2からの部品とを組み立てる)。
【0103】
機械M1がブロックされる場合、機械M3は機械M1から部品を受け取ることができない。これは、機械M3が稼動中であることが原因である可能性がある。しかし、機械M3は機械M2から部品を受け取れないためにスターブされる可能性もある。したがって、機械M1におけるブロックは機械M2に起因し、すなわち、そのブロックの原因は、機械M1から機械M3まで下流に向かって辿られ、その後、上流に向かって機械M2まで再び辿られる可能性がある。
【0104】
2.2.1.4 リバース・スタービング
【0105】
図9に示すように、同様の事例がスタービングの状態でも観察される。機械M2は、機械M1が機械M3によってブロックされているためスターブされる可能性がある。したがって、機械M2のスターブは機械M3に起因する。
【0106】
2.2.2 ブロッキングおよびスタービングについての一般的な理論
【0107】
スタービングおよびブロッキングという事象を上流側または下流側に辿るための論理を詳述する。その論理は大部分の事例に当てはまるが、時にブロックまたはスターブの正確な原因が決定しない状況が存在する。後述の論理は最良の推定を可能にするが、時には正確な原因を決定するために更なる情報を必要とする。また、複数の上流側もしくは下流側における機械またはバッファが利用可能である場合、ブロッキングまたはスタービングの最も確からしい原因を決定するために順位付けが行われる。
【0108】
2.2.2.1 スタービングについての一般的な理論
【0109】
上流側対象物については基本的に6つの可能性が存在する。図10は、図11および図12の表記法の解説を示す。
【0110】
1台の機械がスターブされたと仮定すると、スターブされた機械の上流側に対象物(バッファまたは機械)が1個存在する。図11には、可能性のある対象物が5個示されている。これら対象物は次のとおりである。
【0111】
スタービング状況(1)
【0112】
上流側対象物もまた、スターブされた機械である。この場合、スターブの原因調査は上流に向かって続けなければならない。
【0113】
スタービング状況(2)
【0114】
上流側対象物が空のバッファである。この場合、空のバッファの原因を決定することによってスタービングの原因調査を上流に向かって続けなければならない。
【0115】
スタービング状況(3)
【0116】
上流側対象物が、作用状態にある機械である。この場合、スタービングは、その作用状態にある機械によって引き起こされている。この場合、以上で、スタービングの原因調査が終了する。
【0117】
スタービング状況(4)
【0118】
上流側対象物が、ブロックされた機械である。この場合、スタービングは、ブロックされた上流側機械によって引き起こされており、したがって、そのスタービングの最終的な原因を決定するために、ブロックされた機械を下流に向かって辿らなければならない。
【0119】
スタービング状況(5)
【0120】
上流側対象物が、空でも満杯でもないバッファである。この場合は、決して明確ではないが、バッファがスターブされた機械に部品を出荷する途中であるが、その不十分なバッファ速度のせいで、(空ではない)バッファが下流側機械をスターブさせたと仮定する。この場合、以上で、そのスタービングの原因調査が終了する。
【0121】
2.2.2.2 ブロッキングについての一般的な理論
【0122】
上流側機械による1台の機械のスタービングの場合と同様に、1台の機械は下流側対象物によってブロックされ得る。図12は、ブロッキングの状況について5つの基本的な可能性を示している。
【0123】
ブロッキング状況(1)
【0124】
下流側対象物もまた、ブロックされた機械である。この場合、ブロッキングの原因調査は下流に向かって続けなければならない。
【0125】
ブロッキング状況(2)
【0126】
下流側対象物が満杯のバッファである。この場合、満杯のバッファの原因を決定することによってブロッキングの原因調査を下流に向かって続けなければならない。
【0127】
ブロッキング状況(3)
【0128】
下流側対象物が、作用状態にある機械である。この場合、ブロッキングは、作用状態にあるその機械によって引き起こされる。この場合、以上で、そのブロッキングの原因調査が終了する。
【0129】
ブロッキング状況(4)
【0130】
下流側対象物が、スターブされた機械である。この場合、ブロッキングは、スターブされた下流側機械によって引き起こされ、したがって、ブロッキングの最終的な原因を決定するために、スターブされた機械を上流に向かって辿らなければならない。
【0131】
ブロッキング状況(5)
【0132】
下流側対象物が空でも満杯でもないバッファである。この場合、決して明確ではないが、そのバッファがブロックされた機械から部品を受け取る途中であるが、その不十分なバッファの速度のせいで、(決して満杯ではない)バッファが上流側機械をブロックさせたと仮定する。この場合、以上で、そのブロッキングの原因調査が終了する。
【0133】
2.2.2.3 スタービングの順位付け
【0134】
1台の機械が、それのスタービングの原因要素として、上流側対象物または下流側対象物を1個のみ有するのではなく、上流側および下流側にある複数の対象物(例えば、1台の機械に関して互いに並列となる関係を有する複数の設備)を有する場合がある。この場合、スタービングの原因を調査するためにあるアルゴリズムを利用しなければならない。
【0135】
その調査のため、上流側および下流側にある複数の機械が順位付けされる。その重み付け法は、上流側に1個以上の同一の対象物が存在する場合に利用される。例えば、1台の機械をそれの上流側においてスターブさせる2台の機械であって共に作用状態にあるものが存在する場合、それら2台の機械は、そのスターブの原因を半分ずつ有すると判断される。スターブしている機械の上流側にある複数の対象物についての順位付けは次のように行われる。
【0136】
順位1:スタービング状況(1)
【0137】
スターブされた機械が上流側にもう1台存在する場合、そのスターブされた機械を上流に向かって辿る。スターブされた機械が上流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0138】
順位2:スタービング状況(2)
【0139】
上流側に空のバッファが存在する場合、この空のバッファを上流に向かって辿る。繰り返すが、空のバッファが上流側に複数個存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0140】
順位3:スタービング状況(3)
【0141】
作用状態にある機械が上流側に存在する場合、スタービングは、その作用状態にある機械によって引き起こされる。作用状態にある機械が上流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0142】
順位4:スタービング状況(4)
【0143】
ブロックされた機械が上流側に存在する場合、スタービングの原因でもあるブロッキングの原因を調査するために、そのブロックされた機械を下流に向かって辿る。ブロックされた機械が上流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0144】
順位5:スタービング状況(5)
【0145】
空でないバッファが上流側に存在する場合、問題の機械は上流側バッファの速度が原因でスターブされている。空でないバッファが上流側に複数個存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0146】
したがって、例えば、作用状態にある機械とスターブされた機械とが上流側に存在する場合、前記アルゴリズムは、作用状態にある機械(順位3)を無視し、スターブされた機械(順位1)を上流に向かって辿る。2個の対象物が同じ順位を有する場合、正確な原因は決定され得ないが、両方の対象物が辿られ、スタービングの原因要素が2つ存在する可能性があることになる。
【0147】
2.2.2.4 ブロッキングの順位付け
【0148】
スタービング状況と同様に、ブロッキング状況についても各対象物が順位付けされる。複数個の対象物が下流側に存在する場合、順位付けは次のように行われる。
【0149】
順位1:ブロッキング状況(1)
【0150】
ブロックされた機械が下流側にもう1台存在する場合、そのブロックされた機械を下流に向かって辿る。ブロックされた機械が下流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0151】
順位2:ブロッキング状況(2)
【0152】
下流側に空のバッファが存在する場合、この空のバッファを下流に向かって辿る。空のバッファが下流側に複数個存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0153】
順位3:ブロッキング状況(3)
【0154】
作用状態にある機械が下流側に存在する場合、そのブロッキングは、その作用状態にある機械によって引き起こされる。作用状態にある機械が下流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0155】
順位4:ブロッキング状況(4)
【0156】
スターブされた機械が下流側に存在する場合、ブロッキングの原因でもあるスタービングの原因を調査するために、そのスターブされた機械を上流に向かって辿る。スターブされた機械が下流側に複数台存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0157】
順位5:ブロッキング状況(5)
【0158】
空でないバッファが下流側に存在する場合、問題の機械は下流側バッファの速度が原因でブロックされている。空でないバッファが下流側に複数個存在する場合、それら各々を辿るとともに、それらの経路に同じ重みを与える。
【0159】
2.2.3 ブロッキングおよびスタービングの原因
【0160】
今回着目している生産システムは、全機械のブロッキングおよびスタービングの原因を決定するために解析された。図13は、各機械が別の機械によってスターブされる確率を示している。
【0161】
図13は、1台の機械(同図の右側における座標軸上にある)が別の機械(同図の下部における座標軸上にある)によってスターブされた時間的割合(スタービング時間が前記システムの全解析時間を占有する比率)をパーセントで示している。例えば、最大のスタービング可能性(最も高い柱)に注目すると、機械M4は機械M3によって約26パーセントの時間的割合でスターブされた。機械M3は前記システムのボトルネックであり、機械M4は、本生産システムにおいては、機械M3より非常に高速であるため、これは驚くことではない。
【0162】
更に興味深いことは機械M3のスタービングである。機械M3はシステムの主要なボトルネックであり、上流側にある機械M2によって約2パーセントの時間的割合でスターブされた。しかし、機械M3も、機械M5によって約2.1パーセントの時間的割合でスターブされた。しかしながら、機械M5は機械M3の上流側にも下流側にも存在しない。その代わりに、機械M5は機械M3と並列の経路上にある。このことは、機械M3は機械M2によってスターブされ、その機械M2は機械M5によってブロックされたことを意味する。いくつかの事例においては、機械M5が機械M2をブロックすることにより、機械M3が、機械M6および機械M7さえによっても(それぞれ0.8パーセントおよび0.7パーセントの時間的割合で)スターブされた。
【0163】
同様に、機械M5は、上流側の機械M2によって(3.2パーセントの時間的割合で)スターブされたのみならず、それと並列の機械M3によって(1.9パーセントの時間的割合で)スターブされた。
【0164】
図14は、各機械が別の機械によってブロッキングされる確率を示している。例えば、機械M1は、全解析時間の大半において、それに後続する機械M2によって(31パーセントの時間的割合)ブロックされ、機械M6は下流側の機械M7によって(27パーセントの時間的割合)ブロックされる。このシミュレーションにおいては、並列の経路におけるスタービングに起因したブロッキングは発生しない。
【0165】
2.2.4 ブロッキングおよびスタービングの経路
【0166】
ブロッキングおよびスタービングという挙動はさらに、図15および図16に示すように表現することもできる。
【0167】
図15は、機械M3について、それにブロッキングを発生させる経路とスタービングを発生させる経路とを示している。すべてのスタービング時間のうち、約30パーセントは機械M2に起因し、約60パーセントは機械M5に起因するかまたは機械M5を経由する。機械M5は、機械M3のスタービング時間の30パーセントを発生させ、機械M6および機械M7はそれぞれ、機械M5を通過することにより、スタービング時間の15パーセントを発生させる。
【0168】
機械M3はさらに、時々ブロックされる。すべてのブロッキングが機械M4を通過するが、機械M4に起因するブロッキングはほとんど存在しない。その代わりに、機械M3が機械M7によってほとんどブロックされ、さらに機械M6によってもブロックされる。
【0169】
図16には、同様のグラフが機械M5について作成されている。機械M5は上流側の機械M2によってスターブされるだけでなく、それと並列の機械M3によってもスターブされ、機械M4によってもスターブされる。下流側のブロッキングは、予想通り、機械M6および機械M7のみに起因する。
【0170】
2.2.5 ブロッキングおよびスタービングについての要説
【0171】
バッファの増加により、関連機械のブロッキングおよびスタービングが減少する。上記の項は、どのバッファが潜在的に機械のブロッキングおよびスタービングに影響を及ぼすかについて詳述している。理論的には、多数のバッファ位置を取り得る。説明を簡単にするために、このアルゴリズムでは、バッファが各機械の直前および直後に配置され得ると推定する。あるバッファが別の機械を緩和するモードが全部で4つ存在する。これら4つのモードは次に列記されており、さらに図17に表で表されている。
【0172】
モード1
【0173】
空のバッファの容量を増加させると、別の機械のブロッキングが減少する(例えば、図15においては、バッファAM4内のバッファ容量を増加させると機械M3のブロッキングが減少する)。
【0174】
モード2
【0175】
空のバッファ容量を増加させると、別の機械のスタービングが減少する(例えば、図16においては、バッファBM3内のバッファ容量を増加させると機械M5のスタービングが減少する)。
【0176】
モード3
【0177】
バッファ内の部品数を増加させると、別の機械のブロッキングが減少する(例えば、図8においては、機械M1の後方にあるバッファAM1内の部品数を増加させると機械M2のブロッキングが減少する)。
【0178】
モード4
【0179】
バッファ内の部品数を増加させると、別の機械のスタービングが減少する(例えば、図15においては、バッファBM3内の部品数を増加させると機械M3のスタービングが減少する)。
【0180】
したがって、ブロッキングおよびスタービングの状況を解析すると、あるバッファ位置が別の機械に影響を及ぼす時間的割合が決定される。その時間的割合が、前述のモード1ないし4についてそれぞれ、図18ないし図21に表で表されている。図18ないし図21に示す結果は、後述の図50または図51のルーチンがコンピュータ20によって実行されることによって取得される。
【0181】
図18は、モード1につき、各機械がブロックされる時間的割合(ブロックされる時間の、総時間に対する比率。以下、単に「時間の比率」ともいう。)を示しており、そのブロックという事象は、バッファ内に利用可能な自由なスペースがより多くあれば減少する可能性がある。
【0182】
例えば、機械M1は46.1パーセントの時間的割合でブロックされる。機械M1がブロックされるごとに、そのブロックは、それに隣接するバッファAM1を通過する。このバッファAM1に利用可能な自由なスペースが追加されれば、機械M1のブロッキングが減少する。
【0183】
しかし、機械M1がブロックされるのは4.4パーセントの時間的割合のみであり、そのブロックはバッファBM3を通過する。バッファBM3に利用可能なスペースを追加すれば、ブロッキング時間の減少によって、機械M1の搬出時間間隔TBPの4.4パーセントのみが減少することが可能である。バッファj内の空のスペースが機械iのブロッキングを減少させる時間的割合をPBEBj,iで表す。
【0184】
なお付言するに、搬出時間間隔TBPは、ある機械から、先行する処理済み部品が1個搬出された瞬間と、後続する処理済み部品が1個搬出された瞬間との間における時間間隔を意味し、搬出部品間隔ともいう。ただし、機械ごとの搬出時間間隔間隔と、システム全体としての搬出時間間隔とは必ずしも一致しない。
【0185】
図19は、モード2につき、各機械がスターブされる時間的割合を示しており、バッファ内の自由なスペースがより多く利用可能になれば、そのスターブは減少し得る。この現象は分枝システム内において時々発生し、その分枝システムにおいては、別の機械がブロックされるためにある機械がスターブされるとともに、別の機械のブロッキングが減少すればそのある機械のスターブが減少する。
【0186】
例えば、バッファBM5によって機械M2がブロックされるために、機械M3は3.4パーセントの時間的割合でスターブされる。バッファj内の空のスペースが機械iのスターブに与える効果をPBESj,iと称する。
【0187】
図20は、モード3につき、各機械がブロックされる時間的割合を示しており、別のバッファ内において利用可能な部品が増加すると、そのブロックは減少する。この現象は、分枝システム内において時々発生し、その分枝システムにおいては、別の機械がスターブされるためにある機械がブロックされるとともに、別の機械のスターブを減少させるとそのある機械のブロックが減少する。
【0188】
しかし、説明した例は、そのような効果を示しておらず、図20の表における各値はすべて0である。バッファj内の部品数の増加が機械iのブロッキングに与える効果をPBFBj,iで表す。
【0189】
図21は、モード4につき、各機械がスターブされる時間的割合を示しており、別のバッファ内において利用可能な部品が増加すると、そのブロックは減少する可能性がある。例えば、機械M6は、バッファAM4を介して6.5パーセントの時間的割合でスターブされる。バッファj内の部品数の増加が機械iのスタービングに与える効果をPBFSj,iと称する。
【0190】
3.3 有効バッファサイズ
【0191】
以上においては、部品数またはバッファの容量の増加が別の機械の遊休時間にどのようにして影響を与えるかを説明した。しかし、バッファにおいては、部品数または利用可能な容量は無限ではない。第1に、たいていのバッファはサイズによって制限される。第2に、部品または利用可能なバッファスペースの数は実際には、バッファ内の平均部品数およびバッファのサイズに依存している。
【0192】
例えば、図4に示す生産システムにおいては、バッファAM1は機械M1のブロッキングに影響を与える。バッファAM1内の自由なスペースを追加すると、機械M1がブロックされる可能性が減少する。しかし、バッファAM1はほとんど常に満杯である。そのバッファのスペースが少数増加しても、それらスペースはほとんど直ちに満杯になってしまい、長時間の挙動を見ると、機械M1に変わりはない。
【0193】
したがって、自由なスペースの平均数および利用可能な部品の平均数を推定するために、バッファ内の平均部品数を決定する必要がある。例えば、バッファAM3が10個というサイズを有していて、4個という平均部品数を有している場合、これは、平均して4個の部品が機械M4にとって利用可能であり、一方で、平均して6個のスペース(10個の容量から4個の部品を引き算する)が機械M3が部品を搬出するために利用可能であるということを意味する。
【0194】
図22に式で示すように、あるバッファjが満杯である平均満杯率がPBFjとして示され、それとバッファ内平均部品数BFjとの関係が、バッファ容量BCjを用いて構成される。この式によれば、バッファjにつき、平均満杯率PBFjとバッファ容量BCjとの積により、平均部品数BFjが計算される。この式はさらに、バッファjが空である平均空乏率PBEjと、バッファ内の平均自由スペース数BEjとの関係も示している。この式によれば、平均自由スペース数BEjが、平均空乏率PBEjとバッファ容量BCjとの積によって計算される。
【0195】
この式において、さらに、平均満杯率BFjと平均空乏率PBEjとの関係および平均部品数BFjと平均スペース数BEjとバッファ容量BCjとの関係も示されている。
【0196】
なお付言すれば、本実施形態において利用されるいくつかの数式は、時間を変数としないものと変数とするものとを含んでいる。時間を変数としない数式を利用する場合には、当然に、システムを時系列的に模擬するシミュレーションを行うことなく、解を求め得る。これに対し、時間を変数とする数式は、本実施形態においては、統計的な規則を表現するものであるため、この数式についても、システムを時系列的に模擬するシミュレーションを行うことなく、解を求め得る。
【0197】
したがって、本実施形態においては、必要な解をすべて、そのようなシミュレーションによることなく求めることができ、システム解析のためのコンピュータ計算時間の大幅な短縮が容易となる。
【0198】
3.3.1 実験的な解析
【0199】
バッファ内の平均部品数を決定するために、2つの基本的な手法が存在する。最も簡単な手法は、バッファ内の平均部品数を単に測定することである。これは、測定可能なバッファがシミュレーション内に存在することを前提とすれば、バッファ内の平均部品数を決定する測定する最も簡単な手法である。この手法は、バッファのサイズが0である場合には機能しない。
【0200】
さらに、システムによっては、バッファサイズが増加するとバッファ内の平均部品数が変化する可能性がある。例えば、図23は、バッファサイズが1である場合のバッファAM3をヒストグラムで示している。バッファ内の平均部品数は0.05部品、すなわち、5容量パーセント(全容量の5パーセント)である。
【0201】
しかし、バッファサイズが10に変化すると、それら値は変化する。図24は、サイズが10であるバッファをヒストグラムで示している。この例においては、いずれの時期においても、6個より多数の部品が存在することはない。このように、バッファサイズが10に変化すると、平均部品数は0.14すなわち1.4容量パーセントに変化する。したがって、平均部品数および容量の双方が変化する。そのため、バッファサイズを増加させる場合には、利用可能な部品数の予測がより困難になる。
【0202】
3.3.2 理論的な解析
【0203】
バッファ内の平均部品均数を実験的に解析する際の問題は、バッファがシミュレーション内に存在しなければならないということである。バッファが存在しない場合、平均部品数は測定できない。したがって、現実のバッファを実際に測定することなく、バッファ内の平均部品数を理論的に推定することは興味深いことである。
【0204】
このバッファ予測方法においては、現実のバッファの測定値なしでバッファ内の平均部品数が推定される。この推定は、あるシステム内においてある機械がボトルネックであるボトルネック確率に基づいている。その基礎的な概念は、ボトルネックの上流側にあるバッファは満杯である傾向があり、一方、ボトルネックの下流側にあるバッファは空である傾向があるというものである。
【0205】
上流側と下流側との間におけるボトルネック確率の関係から、バッファ内の平均部品数を推定することができる。ここで用いられている例は、図4に示されている例である。図25には、ほとんどすべてのバッファの容量が0または1である初期のシステムについてのボトルネック確率(全ボトルネック確率、すなわち、ある機械が単独でボトルネックである確率と、複数の機械間においてボトルネックがシフトするシフティング・ボトルネックである確率との合計値)が表で示されている。
【0206】
バッファAM1について次の例を仮定する。今回の手法における第1の工程は、バッファAM1の上流側と下流側とについてボトルネック確率の合計値を計算することである。
【0207】
上流側ボトルネック確率は、単に機械M1のボトルネック確率であり、それは0パーセントである。したがって、上流側ボトルネック確率の合計値は、0パーセントである。
【0208】
図26に示すように、機械M2の後方において今回のシステムは分枝するため、下流側ボトルネックは上流側ボトルネックよりわずかに複雑である。現在、その分岐部には、分枝したボトルネックの重みを1/2に減らすとともに、それぞれの分枝を最後まで辿る技術が組み合わされる。したがって、下流側ボトルネック確率の合計値は、機械M2のボトルネック確率に、第1の分枝部M3−M4−M6−M7についてのボトルネック確率の1/2(重み付けボトルネック確率)と、第2の分枝部M5−M6−M7についてのボトルネック確率の1/2(重み付けボトルネック確率)との和を加算したものである。
【0209】
機械M6および機械M7についてのボトルネック確率は、それぞれの分岐部において1/2として重み付けされており、よって、それらボトルネック確率は、それら機械M6およびM7の全ボトルネック確率の計算に用いられる。したがって、バッファAM1の下流側ボトルネック確率の合計値(全重み付けボトルネック確率)は、M2+(M3+M4+M6+M7)/2+(M5+M6+M7)/2=121パーセントである。この合計値は、シフティング・ボトルネックの影響と単独ボトルネックの影響との双方を含むため、100パーセントを超える可能性がある。
【0210】
したがって、バッファAM1の満杯率Zは、下流側ボトルネック確率Y(M2のボトルネック確率と(M3+M4+M6+M7)についての重み付けボトルネック確率と(M5+M6+M7)についての重み付けボトルネック確率との和)を上流側ボトルネック確率X(M1のボトルネック確率)と下流側ボトルネック確率Yとの合計値で割り算したものとして推定される。それら3者間の関係は、
Z=Y/(X+Y)
で表される。したがって、この例においては、バッファAM1はほぼ100パーセント満杯であると推定される。
【0211】
これに対し、バッファBM1の満杯率Zは、上流側ボトルネック確率Xを上流側ボトルネック確率Xと下流側ボトルネック確率Yとの合計値で割り算したものとして推定される。それら3者間の関係は、
Z=X/(X+Y)
で表される。
【0212】
図27には、バッファの満杯率に関し、測定結果(実測値)と比較しつつ推定値(予測値)が表で示されている。測定結果は、多種類のバッファの構成に起因するとともに、システムの変更がボトルネック確率に、ひいてはバッファの推定値に与える効果は含んでいない。いくつかのバッファについては、測定値がまったく取得されていない。
【0213】
図28には、複数のバッファにつき、バッファサイズと平均部品数との関係が測定値と予測値とに関して対比的に複数のグラフで示されている。ただし、それらグラフのスケールはすべて同じであるわけではない。
【0214】
図28に示す測定値および予測値は、初期のシステム(バッファの容量が増加させられる前のシステム)のボトルネック確率に基づいている。それら予測値を導いた予測モデルは、シミュレーションの初期設定(バッファAM1、AM2、AM3、BM6およびAM6は0の容量を有し、バッファBM3、AM4、BM5およびAM5は1の容量を有する)に基づいている。
【0215】
ほとんどのバッファについて今回の予測モデルが適切であるということが分かる。バッファAM2,BM3,BM5およびAM5についての予測値は、バッファ処理能力を解析するモデルにおいて使用するのに十分なほど正確である。
【0216】
3.3.2.1 ボトルネック確率の変化に起因する予測誤差
【0217】
バッファサイズが大きく変化すると、ボトルネック確率が変化する。バッファ内の平均部品数がボトルネック確率に基づくため、バッファ内の平均部品数の予測値もまた変化する。
【0218】
図29には、2種類のバッファ構成についてボトルネック確率(全体ボトルネック確率、すなわち、単独ボトルネック確率とシフティング・ボトルネック確率との合計値)が表で示されている。初期のバッファ(バッファAM1、AM2、AM3、BM6およびAM6は0の容量を有し、バッファBM3、AM4、BM5およびAM5は1の容量を有する)においては、機械M3が、62パーセントのボトルネック確率を有する主要なボトルネックであるが、機械M2、機械M5および機械M7もまた、20パーセントと30パーセントとの範囲内のボトルネック確率を有する重要な副次的なボトルネックである。
【0219】
図29中の最も右側の欄は、容量が20に増加させられたバッファAM2、BM3、AM3、AM4、BM5およびAM5についてボトルネック確率を示している。この場合、明らかに、機械M3は、99パーセントのボトルネック確率を有する主要かつ唯一のボトルネックであり、残りの機械は、2パーセント以下のボトルネック確率を有するそれほど重要ではないボトルネックである。
【0220】
図30には、初期のシステムと、容量が20に増加させられたバッファを有するシステムとの双方について、バッファの満杯率の測定値と予測値とが表で示されている。ボトルネック確率が変化したため、バッファの満杯率も変化した。
【0221】
図28を図31と比較する。図31も、バッファの満杯率の予測値と測定値との比較を示している。しかし、その予測値は、容量が20に増加させられたバッファAM2、BM3、AM3、AM4、BM5およびAM5についてのボトルネック確率に基づいている(図29において最も右側の欄参照)。バッファAM2、BM3、BM5およびAM5は相当に正確であり、バッファAM3およびAM4も真の測定値に近い。
【0222】
3.3.2.2 バッファ内平均部品数比率の減少に起因する予測誤差
【0223】
上記の予測モデルにおいては、バッファ内の平均部品数がバッファ容量のパーセント(バッファ内部品数比率)として与えられている。そのため、異なるバッファ間において計算および比較が容易にできる。
【0224】
しかし、バッファ内の部品数のパーセントは、バッファ容量の関数として変化する可能性もある。例えば、機械を1台のみ有する単純な待ち行列システムであって供給量を超える機械容量を有するものにおいては、バッファ内の平均部品数を計算することができる。例えば、その機械が1時間当たり6個の部品(指数分布)を加工することができるとともに、1時間当たり5個の部品(指数分布)が到着する場合、バッファの平均部品数を4.2個として計算し得る。大形のバッファ(容量>15)については、バッファ内の平均部品数は常に約4.2個である。
【0225】
したがって、バッファ内部品数比率は、バッファ容量が増加するとともに部品数が維持されることに伴って減少する。同様に、小形のバッファについては、バッファ内部品数比率が、待ち行列における待ち時間の分布によって増加する可能性がある。
【0226】
機械M4の後方にあるバッファAM4を例にとって説明する。このバッファはシステムの性能にほとんど効果を与えないため、この例は、変化するボトルネックにより干渉されることなく、種々のバッファサイズについて部品数を研究するのに好都合の例である。
【0227】
図32は、容量が5である場合についてバッファをヒストグラムで示している。そのバッファは、2個より多数の部品を収容することはほとんどなく、3個より多数の部品を収容する時期は皆無である。したがって、3個を超えるバッファサイズは、不使用のままである。
【0228】
このことは、図33にグラフで示されており、そこには、種々のバッファサイズについてのバッファ内平均部品数が左側の目盛り上に示されている。3個を超えるバッファサイズについては、平均部品数がほとんど変化しない。部品数が維持されるとともにバッファサイズが増加することに伴い、バッファ内部品数比率が減少する。このことは、図33において右側の目盛り上に示されている。
【0229】
したがって、特定のバッファサイズについてのバッファ内部品数比率の予測値は、別のバッファサイズのものとは大きく異なる可能性がある。この潜在的な誤差により、予測モデルの精度が減少する可能性がある。
【0230】
3.4 有効バッファ容量
【0231】
バッファの容量を増やすと、1台またはそれ以上の機械が影響を受ける。
【0232】
3.4.1 効果比率
【0233】
図18ないし図21においては、あるバッファが、ブロッキングまたはスタービングしている別の機械に影響を及ぼす時間(ブロッキング時間またはスタービング時間の減少量)の、総時間に対する割合である対総時間比率が考慮されている。この対総時間比率は、常に、その機械がブロックまたはスターブされる確率の合計値以下である。
【0234】
これに対し、あるバッファが別の機械に影響を及ぼす時間の、ブロッキング/スタービング時間に対する割合である対ブロッキング時間/スタービング時間比率(効果比率)が必要となる場合がある。
【0235】
この比率は、あるバッファが別の機械のブロッキングまたはスタービングに影響を及ぼす時間(減少ブロッキング時間または減少スタービング時間)の、総時間(前記システムの総解析時間)に対する比率を、その機械がブロックまたはスターブされる時間の、総時間に対する比率で割り算することによって計算できる。
【0236】
例えば、機械M3は、6.1パーセントの対総時間比率でブロックされる。さらに、バッファAM3の容量が増加すると機械M3のブロッキングが6.1パーセントの対総時間比率で減少する。したがって、バッファAM3により、機械M3のブロッキングが100パーセントの対ブロッキング時間比率で減少する。バッファAM6が機械M3のブロッキングを減少させる対総時間比率は2.8パーセントに過ぎないが、これは、45.9パーセントの対ブロッキング時間比率に相当する。
【0237】
図34には、バッファ位置内の容量が増加すると機械M3のブロッキングが減少する比率が対総時間比率と対ブロッキング時間比率とに関して表で示されている。機械M3は、6.1パーセントの対総時間比率でブロックされ、さらに、当然のことであるが、バッファAM3内のバッファ容量が増加すると、そのブロッキングが6.1パーセントの対総時間比率で、すなわち、100パーセントの対ブロッキング時間比率で減少する。
【0238】
あるバッファがブロックまたはスターブされている別の機械に与える効果比率を決定するために、図18ないし図21に示されている全データ(空スペースまたは部品を追加するとブロッキングまたはスタービングが減少する時間の、総時間に対する比率)を、その機械がスターブまたはブロックされる時間の、総時間に対する比率のうち対応するもので割り算する必要がある。
【0239】
図35に式で表すように、空のバッファjによってブロッキングが減少する場合に機械iがブロックされる時間の、そのブロッキング時間に対する比率PBEB−Ej,i(効果比率)は、バッファj内の空のスペースによって機械iのブロッキングが減少する時間の、総時間に対する比率PBEBj,iを、その機械iがブロックされる時間の、総時間に対する比率PM−Biで割り算することによって計算される。
【0240】
同様のことが、機械iがスターブされるとともに空のバッファjによってそのスタービングが減少する時間の、そのスタービング時間に対する比率PBES−Ej,i(効果比率)と、機械iがブロックされるとともに満杯のバッファjによってそのブロッキングが減少する時間の、そのブロッキング時間に対する比率PBFB−Ej,i(効果比率)と、機械iがスターブするとともに満杯のバッファjによってそのスタービングが減少する時間の、そのスタービング時間に対する比率PBFS−Ej,i(効果比率)とに当てはまる。
【0241】
図35においては、PBESj,iが、機械iがスターブされるとともに空のバッファjによってそのスタービングが減少する時間の、総時間に対する比率を表し、PM−Siが、そのスタービング時間の、総時間に対する比率を表している。
【0242】
さらに、図35においては、PBFBj,iが、機械iがブロックされるとともに満杯のバッファjによってそのブロッキングが減少する時間の、総時間に対する比率を意味している。さらに、PBFSj,iが、機械iがスターブされるとともに満杯のバッファjによってそのスタービングが減少する時間の、総時間に対する比率を意味している。
【0243】
3.4.2 隣接バッファの容量の代表値
【0244】
前述のように、バッファ内の平均部品数は、バッファjが空である空乏率PBFjと満杯である満杯率PBEjとによって決定される。ここでは、それらが、バッファ容量変化量△Bjと、満杯および空である種々のバッファが複数の機械のブロッキングおよびスタービングに与える効果の比率PBEB−Ej,i、PBES−Ej,i、PBFB−Ej,iおよびPBFS−Ej,iとに組み合わせることが必要である。
【0245】
隣接バッファ容量の代表値は、
バッファj内の空スペースの増加に起因する、機械iの後方における代表的追加空スペース数△BEB−Aj,iと、
バッファjの空スペースの増加に起因する、機械iの前方における代表的追加部品数△BES−Aj,iと、
バッファj内の部品の増加に起因する、機械iの後方における代表的追加空スペース数△BFB−Aj,iと、
バッファj内の部品の増加に起因する、機械iの前方における代表的追加部品数△BFS−Aj,iと
に区別される。このことがそれら4つの場合のすべてについて図36に式で表されている。
【0246】
例えば、機械iの後方におけるバッファjの容量を追加したときのそのバッファjの代表的追加空スペース数△BEB−Aj,iは、バッファj内に空スペースを追加すると機械iのブロッキングが減少する時間の、そのブロッキング時間に対する比率PBEB−Ej,iと、バッファjの空乏率PBEjと、バッファjの容量変化量ΔBjとの積により、計算される。
【0247】
また、機械iの前方におけるバッファjの容量を追加したときのそのバッファjの代表的追加部品数△BES−Aj,iは、バッファj内に空スペースを追加すると機械iのスタービングが減少する時間の、そのスタービング時間に対する比率PBES−Ej,iと、バッファjの空乏率PBEjと、バッファjの容量変化量ΔBjとの積により、計算される。
【0248】
例えば、バッファAM3のスペースが4個増加するとともに、バッファAM3が通常、その最大容量の23パーセントであるとすると(図27参照)、そのバッファ内には平均して、3.08個の追加空スペースと0.92個の追加部品とが存在する。
【0249】
さらに、バッファAM3内の容量の追加は機械M3のブロッキングに、100パーセントの時間的割合で影響し、そして、この追加容量は100パーセントの時間的割合で使用され得る。したがって、バッファAM3内に3.08個の追加空スペースが存在すると、機械M3のブロッキングは100パーセントの時間的割合で影響を受け、すなわち、その3.08個のスペースは機械M2のブロッキング減少に対して100パーセントの効果を示す。
【0250】
しかし、バッファBM6のスペースが4個増加すると、このバッファBM6は常に容量の26.2パーセントまで満たされているため、平均的に、2.96個のスペースと1.04個部品とが追加される。さらに、バッファBM6は、77.05パーセントの時間的割合でのみ機械M3のブロッキングに影響を与え、その2.96個のスペースの追加は、77.05パーセントの時間的割合だけ有効である。このことは、機械M3のブロッキングを緩和するために、その機械M3の直後に2.30個のスペース(2.96個x77.05パーセント)のみを追加することとして表現できる。
【0251】
あるバッファが別の機械のブロッキングに影響を与える時間的割合を、バッファサイズの増加量およびバッファ内部品数比率に組み合せることにより、その機械に隣接したバッファ内の部品/スペースの代表数を評価することが可能である。この計算は、下記に示すように、あるバッファが別の機械に影響を及ぼし得る種々の態様に関して、変更されたバッファが種々の機械に与える全効果について行うことが必要である。
・バッファ内の自由スペースの追加によりブロッキングが減少する態様
・バッファ内の自由スペースの追加によりスタービングが減少する態様
・バッファ内の利用可能部品の追加によりブロッキングが減少する態様
・バッファ内の利用可能部品の追加によりスタービングが減少する態様
【0252】
3.4.3 有効バッファ容量の組合せ
【0253】
すべてのバッファ増加量(自由スペースの増加量と部品の増加数とを含む)が種々の機械に与える効果を、それら機械に隣接する(仮想的な)バッファの代表的なバッファサイズに変換すれば、その代表的な隣接バッファ容量を、ブロッキングされている機械であるかスタービングされている機械であるかを区別しつつ、各機械ごとに加えることが可能である。
【0254】
ブロッキングを減少させるために機械iの後方に利用可能スペースを追加する追加量ΔEiは、図37に式で表すように、バッファjの空スペースの増加に起因する、機械iの後方における代表的追加空スペース数△BEB−Aj,iと、バッファj内の部品の増加に起因する、機械iの後方における代表的追加空スペース数△BFB−Aj,iとの合計値である。
【0255】
これに対し、スタービングを減少させるために機械iの前方に利用可能部品を追加する追加量ΔFiは、図37に式で表すように、バッファjの空スペースの増加に起因する、機械iの前方における代表的追加部品数△BES−Aj,iと、バッファj内の部品の増加に起因する、機械iの前方における代表的追加部品数△BFS−Aj,iとの合計値である。
【0256】
例えば、図4において、バッファBM3のスペースを4個増加させることが、機械M2に隣接した0.90個の空スペースを表し、バッファBM5のスペースを4個増加させることが、機械M2に隣接する1.67個の空スペースを表すとすると、それら空スペースは組み合わされて、機械M2のブロッキングを減少させるのに利用可能な総空スペースが2.57個となる。
【0257】
同様に、バッファBM3のスペースを4個増加させることと、バッファBM5のスペースを4個増加させることとがそれぞれ、機械M6が利用可能な追加部品が0.36個であることと0.37個であることとを表すとすると、それら利用可能な部品は組み合わされて、機械M6が利用可能な全部品は0.73個となる。この場合、この利用可能部品数の増加は2つの異なる効果に起因する。
【0258】
すなわち、まず、それらバッファBM3およびBM5内の利用可能部品の増加により、(0.26+0.10)=0.36という代表的隣接部品数を有する機械M6を含む下流側のスタービングが減少する。
【0259】
さらに、バッファBM3およびBM5内の利用可能な空スペースの増加によってそれより上流側のブロッキングが減少し、続いて、図1に示すシステムにおける並列分岐部における機械M3,M4およびM5のスタービングを減少させる可能性がある。
【0260】
例えば、バッファBM3のスペースが追加されると、バッファBM3が、機械M2をブロックさせることによって機械M5をスターブさせる可能性が低くなり、よって、バッファBM3内の利用可能スペースが機械M6をスターブさせる可能性も低くなる。したがって、機械M6が利用可能な部品の追加数は、(0.27+0.10)=0.37として表され、結局、機械M6のスタービングを緩和するために利用可能な部品の追加数の合計値が0.73(=0.36+0.37)となる。
【0261】
隣接する追加の空スペースであって代表的なものすべては、機械のために加えることが可能であり、さらに、隣接する追加の部品であって代表的なものすべては機械のために加えることが可能である。しかし、隣接する追加の空スペースであって代表的なものと、隣接する追加の部品であって代表的なものとは、互いに異なる効果を有するため、組み合わせることはしない。
【0262】
この計算後、各機械は、その機械の後方における代表的追加スペース数の、すべてのバッファj(j=1tom)についての合計値と、その機械の前方における代表的追加部品数の、すべてのバッファj(j=1tom)についての合計値とを有する。
【0263】
図38には、バッファBM3およびBM5のバッファ容量が5部品に増加された例について、代表的追加スペース数と代表的追加部品数とが表で示されている。この表は、機械M1の後方における追加空スペースが0.81個であることと、機械M2の後方における追加の空スペースが2.57個であることと、機械M3の前方における追加の部品が2.49個であることなどを表している。次の工程においては、それら追加スペース数および追加部品数が、削減遊休時間の推定値に変換される。
【0264】
3.5 削減待ち時間(削減遊休時間)
【0265】
次の工程においては、バッファサイズを増加させた場合に、種々の機械について削減待ち時間および削減ブロッキング時間が決定される。この決定には、種々の機械についての待ち時間の分布の測定値が必要である。
【0266】
3.5.1 単位作用時間TPP(Time Per Part)
【0267】
待ち時間に関連する基本的な問題は、スターブされた機械にとっては1個の部品、ブロックされた機械については1個のスペースが運転継続のために追加された場合に、どれくらいの時間が削減されるのかということである。今回のアルゴリズムにおいては、単位作用時間TPPiは、1個の部品が作用状態にある時間であると仮定されており、よって、修理時間および工具交換時間を含んでいる。機械iについての単位作用時間TPPiは、
TPPi=TBPi・PM−Ai
なる式を用いて計算される。すなわち、単位作用時間TPPiは、機械iの搬出時間間隔TBPiの平均値に、機械iが作用状態にある時間の比率である作用時間比率P−MAiを掛け算することによって計算されるのである。
【0268】
機械iの状態は、作用状態と非作用状態とに分類される。機械iの作用状態は、機械iの稼動状態と、他の作用状態すなわち例えば、修理状態および工具交換状態とを含んでいる。これに対し、機械iの非作用状態は、共に遊休状態であるブロッキング状態とスタービング状態とを含んでいる。
【0269】
機械iが稼動状態にある時間をサイクルタイムという。したがって、単位作用時間TPPは、サイクルタイムと、稼動状態を除く作用状態に機械iがある時間との和で表され、また、搬出時間間隔TBPは、単位作用時間TPPと機械iが非作用状態にある時間との和で表される。
【0270】
図39には、各機械ごとに、平均搬出時間間隔TBPiと、作用時間比率PM−Aiと、平均単位作用時間TPPiとが表で示されている。例えば、スターブされた機械M4に利用可能な部品を1個追加すると、この機械M4はさらに103.4s(秒)稼動する。同様に、ブロックされた機械M1に利用可能なスペースを1個追加すると、この機械M1はさらに30s稼動することになる。
【0271】
3.5.2 待ち時間の分布
【0272】
今回のアルゴリズムは、スタービング時間とブロッキング時間とを互いに区別しつつ、すべての機械事象に対して適用され、その結果、スタービング時間またはブロッキング時間である待ち時間の持続期間が決定される。それらデータは、ランダム分布関数すなわち確率密度関数として表現される。その関数は、機械iのブロッキングおよびスタービングの時間についての確率密度関数として、pdfM−Bi(t)およびpdfM−Si(t)で表す。それらの分布は、時間tの関数である。
【0273】
分布関数として標準的な分布関数(例えば指数関数)を使用し得る。しかし、取得されたデータによって規定される特別な分布関数を定義することが通常、より簡単でかつ正確である。すなわち、統計の教科書からの分布関数を前記取得データに適合させるか、またはこの分布を定義するために前記取得データを単に用いることにより、確率密度関数pdfまたは累積密度関数cdfを定義することが可能なのである。前記取得データを単に用いる手法は、簡単であると同時に正確であるように思われる。図40には、複数の待ち時間のうち選択されたものの累積密度関数がグラフで示されている。
【0274】
スタービング時間を減少させるために利用可能な部品を追加するか、またはブロッキング時間を減少させるために利用可能なスペースを追加すると、遊休時間のうちのどれくらいが減少するのかを推定することが可能である。例えば、機械M3に平均的に1個の自由スペースを追加すると、上述の式に示すように、その機械M3は、1回のサイクルタイム分、すなわち、147s長く、稼動することが可能である。
【0275】
この情報と、機械M3のブロッキング時間の分布とを組み合わせれば、削減ブロッキング時間を推定することが可能である。図41に示す式は、機械iについての搬出時間間隔TBPiの削減量比率PΔTiの数学的な計算であって、ブロッキング時間およびスタービング時間の分布と、その機械iの後方における利用可能スペース数ΔEiと、その機械iの前方における利用可能部品数ΔFiと、ブロッキングおよびスタービングの時間の、総時間(総解析時間、指定解析時間等)に対する比率PM−BiおよびPM−Siと、1個の部品を製造するのに必要な時間である単位作用時間TPPiとに基づくものを示している。この式は、確率密度関数pdfM−Bi(t)およびpdfM−Si(t)を用いて表現することができる。
【0276】
この式は、2つの項から成り、それは、減少ブロッキング時間に起因する削減量比率項(第1項)と、減少スタービング時間に起因する削減量比率項(第2項)とである。
【0277】
各削減量比率項は、ある機械がブロック/スターブされた時間の比率PM−Bi/PM−Siに、減少ブロッキング/スタービング時間の平均値の、総ブロッキング/スタービング時間の平均値に対する比率を掛け算することによって算出される。
【0278】
システムにおけるランダム変数(例えば、各機械iのスタービング時間、ブロッキング時間)の平均値は、確率密度関数pdfと時間tとの積を、下端(待ち時間の場合は通常0)と上端との間について積分することによって決定することができる。上端が無限大より小さい場合には、この上端以下のすべての時間についてランダム変数の平均値が与えられる。上端が無限である場合には、すべてのランダム変数の平均値が与えられる。
【0279】
上端は、スタービング時間については、追加部品数ΔFiと、単位作用時間TPPi(機械iの「サイクルタイム」ともいう)との積として決定することができ、ブロッキング時間については、追加スペース数ΔEiと、単位作用時間TPPiとの積として決定することができる。前者の積は、機械iのために部品を追加するとその機械iの作用時間が増加する最大量を意味し、同様に、後者の積は、機械iのためにスペースを追加するとその機械iの作用時間が増加する最大量を意味している。
【0280】
例えば、バッファBM3およびBM5スペースが5個増加すると、機械M2の後方における利用可能スペースが2.57個追加されることとなり、これは、単位作用時間TTPの減少量の近似値が8.31パーセントであることを意味する。同じバッファ構成は、機械M3が利用可能な部品の追加数が2.49個であることを示し、これは、機械M3のスタービングを5.29パーセント減少させる。
【0281】
次の工程においては、前記システムの新たな処理能力の予測モデルを作成するため、単位作用時間TPPiの削減量比率PΔTiが、ボトルネック確率および初期のシステムの処理能力に組み合わされる。機械iについての削減待ち時間の総比率がPΔTiで表される。
【0282】
3.6 予測モデル
【0283】
前記システムの搬出時間間隔TBPの有効削減量比率PΔTiを決定し、ひいてはこのシステムの新たな搬出時間間隔TBPの予測値を決定するために、種々の機械についての搬出時間間隔TBPの削減量比率PΔTiがボトルネック確率に組み合わされる。
【0284】
3.6.1 搬出時間間隔TBPの有効削減量比率
【0285】
上記においては、種々の機械について搬出時間間隔TBPの総削減量比率PΔTiが推定される。しかし、それら機械は、互いに独立しているのではなく、むしろ機械のネットワークの一部である。したがって、1台の機械の性能を改善すると、そのシステムの搬出時間間隔TBPに影響を及ぼす可能性もあり及ぼさない可能性もある。機械の搬出時間間隔TBPの改善がシステムの搬出時間間隔TBPに及ぼす影響の比率を決定するために、各機械iについてボトルネック確率PM−SBNiが使用される。システムの有効総削減量比率PΔTは、図42に式で示すように、機械iごとの、待ち時間の総削減量比率PΔTi(すなわち、待ち時間の削減量に起因する、搬出時間間隔TBPの削減量比率)と単独ボトルネック確率PM−SBNiとの積を、全機械(i=1ton)について合計したものである。
【0286】
例えば、機械M1は、搬出時間間隔TBPを24.18パーセントまで削減する可能性がある。しかし、機械M1は、決してボトルネックではなく、よって、機械M1を改善してもシステムの搬出時間間隔TBPの改善に決してならない。別の機械であるM3は、このシステムのボトルネックであって、32パーセントのボトルネック確率を有する。
【0287】
したがって、この機械M3の削減待ち時間のうちの32パーセントが、このシステムの搬出時間間隔TBPの改善になる。削減待ち時間の推定値は5.3パーセントであるため、有効削減量比率は、この値の32パーセントであり、このことは、全体のシステム性能が1.7パーセント(=32パーセントx1.7パーセント)改善される。
【0288】
図43には、バッファBM3およびBM5の各スペースを5個に増加させた例につき、削減待ち時間と、機械の単独ボトルネック確率と、それらを組み合わせた値である、機械の搬出時間間隔TBPの有効削減量とが表で示されている。全体として、全機械について搬出時間間隔TBPの有効削減量比率を合計することができる。この例においては、バッファBM3およびBM5を5個のスペース容量を有するように改善することによって総搬出時間間隔TBPが3.63パーセント減少する可能性がある。理論的には、単独ボトルネック確率ではなく全体ボトルネック確率を使用することがさらに可能である。しかし、予測結果は、単独ボトルネック確率を用いる場合の方が正確であった。
【0289】
3.6.2 改善された搬出時間間隔TBPの予測
【0290】
このシステムの搬出時間間隔TBPの有効削減量比率PΔTを計算した後、改善されたシステムについて搬出時間間隔TBPの新たな値を予測することは非常に簡単である。そのための計算式は、
TBP’=TBP・(1−PΔT)
であり、更新された搬出時間間隔TBP’を取得するため、初期のシステムの搬出時間間隔TBPが単に、前述のようにして算出された搬出時間間隔TBPの有効削減量比率PΔTだけ減少させられる。
【0291】
例えば、バッファBM3およびBM5の容量を5個に増加させると、システムの搬出時間間隔TBPが3.63パーセント減少する。システムの搬出時間間隔TBPの初期値は55.68sであったため、このシステムの搬出時間間隔TBPの新たな値は2.02s減少して53.66sとなる。このように、バッファBM3およびBM5のスペースを1から5に変化させると、このシステムの総搬出時間間隔TBPが3.63パーセント減少して55.68sから53.66sになる。
【0292】
以上、このバッファ予測方法の理論的背景および具体的手法を詳細に説明したが、次に、このバッファ予測方法を実施する具体的なアルゴリズムの一例をコンピュータ・プログラムを参照して説明する。
【0293】
図44には、上記バッファ予測方法を実施するためにユーザにより使用されるシステム解析装置10のハードウエア構成が概念的にブロック図で示されている。このシステム解析装置10は、バッファ予測装置の一例である。
【0294】
このシステム解析装置10は、よく知られているように、プロセシング・ユニット(同図において「PU」で表す。)12とストレージ14とがバス16により互いに接続されて構成されたコンピュータ20を備えている。
【0295】
このコンピュータ20は、ポインティング・デバイスとしてのマウスおよびキーボードを備えた入力装置30と、画像を画面上に表示する出力装置40とに接続されている。ストレージ14は、ROM,RAM,磁気ディスク,光ディスク等の記録媒体を含むように構成される。ユーザは、必要なデータを入力装置30を介してコンピュータ20に入力する。その入力に応答し、コンピュータ20によるデータ処理結果が出力装置40を介してユーザに可視化して提示される。
【0296】
ストレージ14には、このバッファ予測方法を実施するためにPU12により実行されるバッファ予測プログラムが予め記憶されている。このバッファ予測プログラムは、それが実行される対象であるシステムのフロー(そのシステムにおける複数の機械の位置および複数のバッファの位置相互の関係)に適合するように設計されている。さらに、このバッファ予測プログラムは、そのシステムにおける部品の流れに関する条件にも適合するように設計されている。したがって、このバッファ予測プログラムは、そのシステムの各構成要素の状態の経時的な変化を表すシステムデータさえ与えられれば、そのシステムにおける部品の流れを時間的にも位置的にも再現することができるようになっている。ストレージ14には、PU12がそのバッファ予測プログラムを実行する際に使用されるデータが適宜記憶されるようになっている。
【0297】
図45には、そのバッファ予測プログラムの内容が概念的にフローチャートで表されている。
【0298】
このバッファ予測プログラムにおいては、まず、ステップS100(以下、単に「S100」で表す。他のステップについても同じとする。)において、予測モデルが作成される。このステップの詳細が予測モデル作成ルーチンとして図46にフローチャートで概念的に表されている。
【0299】
この予測モデル作成ルーチンにおいては、まず、S101において、与えられた任意の時期における各機械/バッファの状態を含むシステムデータが取得される。
【0300】
このシステムデータは、図3におけると同様な形式で構成することが可能である。具体的には、このシステムデータは、例えば、要素すなわち機械の識別子(例えば、M1,M2,M3等)と、その機械の状態(例えば、前述の状態0、状態1、状態2、状態3等)と、各機械が各状態を示す期間を特定するための時間的情報とが互いに関連するように構成される。その時間的情報は、後述のように、各機械が各状態を示す期間の開始時期と終了時期とを含むように構成される。
【0301】
このシステムデータに基づき、各機械iの作用時間が、各作用期間の開始時期と終了時期とから計算により取得される。また、このシステムデータは、例えば、システムの過去における現実の作動状態を表すデータとしたり、そのシステムについてシミュレーションにより解析された仮想の作動状態を表すデータとすることができる。すなわち、このシステムデータは、例えば、1回のシミュレーションの実施によって取得したり、生産システムの測定によって取得することが可能なのである。
【0302】
次に、S102において、いくつかの統計値が解析される。それら統計値には、各機械iの搬出時間間隔TBPiの平均値と、各機械iが特定の状態にある時間の、総解析時間(指定解析時間)に対する比率(PM−SiおよびPM−Biを含む)と、各バッファj内の平均部品/スペース数BFj,BEjとが含まれる。
【0303】
続いて、S103において、各機械iのボトルネック確率が決定される。ボトルネック確率は、例えば、各機械iの作用時間の長さを総解析時間で割り算することによって決定することが可能であり、その一具体例が本出願人の特願2002−81077号出願明細書に詳細に記載されている。
【0304】
その後、S104において、全機械につき、ブロッキング時間の分布およびスタービング時間の分布が決定される。これにより、確率密度関数pdfM−BiおよびpdfM−Siが各機械iごとに定義される。
【0305】
以上で、この予測モデル作成ルーチンの一回の実行が終了する。
【0306】
その後、図45のS200において、スタービングおよびブロッキングの原因が解析される。この詳細が原因解析ルーチンとして図47にフローチャートで概念的に表されている。
【0307】
この原因解析ルーチンにおいては、まず、S201において、全機械のうちのいずれかが最初の機械(上流または下流に向かう追跡のための出発要素)として選択される。次に、S202において、各機械が取り得る複数の事象のうちのいずれかが、最初の機械について注目すべき事象(以下、「今回の機械事象」という)として選択される。
【0308】
続いて、S203において、重みが1に設定されるとともに、今回の注目期間が、今回の機械事象が継続する期間に設定される。
【0309】
その後、S204において、前記システムデータに基づき、前記最初の機械の状態が、ブロッキング状態であるか、スタービング状態であるか、それらのいずれでもないかが判定される。
【0310】
今回は、前記最初の機械の状態がブロッキング状態であると仮定すると、S600に移行する。このS600においては、前記最初の機械の次の下流側対象物が決定される。
【0311】
このS600の詳細が下流側対象物決定ルーチンとして図48にフローチャートで概念的に表されている。
【0312】
この下流側対象物決定ルーチンにおいては、まず、S601において、今回の機械に隣接したすべての下流側対象物が次のルールに従って順位付けされる。
【0313】
順位1:ブロックされた機械
順位2:満杯のバッファ
順位3:作用状態にある機械
順位4:スターブされた機械
順位5:満杯ではないバッファ
この順位付けにより、システムにおいて、各下流側対象物ごとに、前記最初の機械の遊休状態を発生させる経路が決定される。
【0314】
次に、S602において、前記最初の機械の遊休期間(今回は、仮定上、ブロッキング期間である)を発生させた原因要素に至る原因経路の一部に既になっている対象物が今回の解析対象から除外される。これは、原因解析のために各対象物を下流に向かって辿る際に無限ループ(デッドロッキング)が発生しないようにするためである。
【0315】
続いて、S603において、上述の隣接したすべての下流側対象物のうち、最上位に順位付けされたもの(複数存在する場合がある)が選択される。その後、S604において、そのようにして選択された対象物が存在しないか否かが判定される。今回は、存在しないと仮定すれば、判定がYESとなり、直ちにこの下流側対象物決定ルーチンの一回の実行が終了し、その後、図47のS205に移行する。
【0316】
これに対し、今回は、選択された対象物が存在すると仮定すれば、図48のS604の判定がNOとなり、S605に移行する。
【0317】
このS605においては、重みが、前回の対象物(前記最初の機械である場合と、それに隣接した対象物である場合と、さらに後続した対象物である場合とがある)について予め設定された重みをS603において選択された対象物の数(複数である場合がある)で割り算した値に設定される。例えば、システムのうちの二股分岐部については、選択された対象物の数が2であるため、各対象物の重みが共に1/2に設定される。その後、S606において、最上位の対象物(複数存在する場合がある)の中から最初の対象物が選択される。
【0318】
続いて、S607において、注目期間が、前回の対象物の状態の開始時期から、最上位に順位付けされた対象物(複数存在する場合がある)の次の状態変化の時期と、前記原因経路上にある前回の対象物の期間の終了時期とのうち早い時期までの期間に設定される。
【0319】
その後、S608において、今回の対象物の順位が4であるか否かが判定される。今回は、4ではないと仮定すると、判定がNOとなり、S800に移行する。このS800においては、設定された注目期間について対象物が下流に向かって辿られる。このS800の詳細が下流追跡ルーチンとして図50にフローチャートで概念的に表されている。
【0320】
この下流追跡ルーチンにおいては、まず、S801において、前記最初の機械がブロックされているか否かが判定される。今回は、ブロックされていると仮定されているため、判定がYESとなり、S802に移行する。
【0321】
このS802においては、S605または後述のS705の実行によって設定された重み(以下、単に「設定重み」という)と、S607または後述のS707の実行によって設定された注目期間(以下、単に「設定注目期間」という)の長さとの積(以下、単に「重み付けされた時間」という)が、今回の対象物の前方にあるバッファ内のスペースを追加すれば前記最初の機械のブロッキングが減少する時間に加算される。この時間は、前述のモード1に関連するとともに、前述の比率PBEB−Ej,iすなわち後述のデータ(3)の取得に利用される。
【0322】
その後、S803において、今回の重み付けされた時間が、前記最初の機械のブロッキングを発生させた経路(前記最初の機械と、それをブロックさせた原因要素である機械との間における経路)の一部であった(その経路上に位置していた)時間に加算される。この時間は、後述のデータ(7)の取得に利用される。
【0323】
続いて、S804において、今回の対象物が作用状態にあるか否かが判定される。今回は、今回の対象物が機械であり、かつ、それが作用状態にあると仮定すれば、判定がYESとなり、S805において、今回の対象物が、前記最初の機械のブロッキングの原因であると判定される。
【0324】
このS805においては、さらに、今回の重み付けされた時間が、今回の対象物が前記最初の機械のブロッキングを発生させる時間(今回の対象物が、前記最初の機械のブロッキングを発生させる原因であり続ける時間)に加算される。この時間は、後述のデータ(5)の取得に利用される。
【0325】
以上で、この下流追跡ルーチンの一回の実行が終了し、図48のS609に移行する。
【0326】
これに対し、今回は、今回の対象物が作用状態にはないと仮定すれば、図50のS804の判定がNOとなり、S806に移行する。
【0327】
このS806においては、今回の重み付けされた時間が、今回の対象物の後方にあるバッファ内のスペースを追加すれば前記最初の機械のブロッキングが減少する時間に加算される。
【0328】
その後、図48のS601に移行し、下流側対象物決定ルーチンが再度実行される。
【0329】
ここで、図68に示す例について図48の下流側対象物決定ルーチンと図50の下流追跡ルーチンとの実行内容を説明する。
【0330】
図50の下流追跡ルーチンは、機械M1が最初の機械であるため、機械M2と機械M3と機械M4とについて実行される。機械M1はブロッキング状態にあり、かつ、図48の下流側対象物決定ルーチンは、まず、機械M2を今回の対象物(機械M1に後続する対象物)として選択する。
【0331】
その後、図50の下流追跡ルーチンが、S801において、最初の機械M1がブロッキング状態にあるか否かを判定すると、その判定はYESであるため、S802において、機械M2の期間の長さ(S607において設定)と重み(S605において設定)との積である今回の重み付けされた時間が、機械M2の後方におけるバッファ内にスペースを追加すると機械M1のブロッキング状態が減少する時間に加算される。さらに、S803において、今回の重み付けされた時間が、機械M2が、機械M1のブロッキングを発生させた経路の一部であった時間に加算される。
【0332】
機械M2は、作用状態にはないため、S804の判定がNOとなり、その後、S806において、今回の重み付けされた時間が、機械M2の後方におけるバッファ内にスペースを追加すると機械M1のブロッキング状態が減少する時間に加算される。
【0333】
その後、図50の下流追跡ルーチンから図48の下流側対象物決定ルーチンに移行して、そこで、次の下流側対象物が探索される。下流側対象物決定ルーチンは、今回の対象物として機械M3を探索し、よって、再び図50の下流追跡ルーチンに移行する。
【0334】
この下流追跡ルーチンは、S801において、最初の機械である機械M1がブロッキング状態にあるか否かを再度判定し、その判定は今回もYESであるため、S802において、機械M3の期間の長さ(S607において設定)と重み(S605において設定)との積である今回の重み付けされた時間が、機械M3の後方におけるバッファ内にスペースを追加すると機械M1のブロッキング状態が減少する時間に加算される。さらに、S803において、今回の重み付けされた時間が、機械M3が、機械M1のブロッキングを発生させた経路の一部であった時間に加算される。
【0335】
機械M3は、作用状態にはないため、S804の判定がNOとなり、S806において、今回の重み付けされた時間が、機械M3の後方におけるバッファ内にスペースを追加すると機械M1のブロッキング状態が減少する時間に加算される。
【0336】
その後、図50の下流追跡ルーチンから図48の下流側対象物決定ルーチンに移行して、そこで、次の下流側対象物が探索される。下流側対象物決定ルーチンは、今回の対象物として機械M4を探索し、よって、再び図50の下流追跡ルーチンに移行する。
【0337】
この下流追跡ルーチンは、最初の機械である機械M1がブロッキング状態にあるか否かを再度判定し、その判定は今回もYESであるため、S802において、機械M4の期間の長さ(S607において設定)と重み(S605において設定)との積である今回の重み付けされた時間が、機械M4の後方におけるバッファ内にスペースを追加すると機械M1のブロッキング状態が減少する時間に加算される。さらに、S803において、今回の重み付けさされた時間が、機械M4が、機械M1のブロッキングを発生させた経路の一部であった時間に加算される。
【0338】
機械M4は、作用状態にあるため、S804の判定がYESとなり、S805において、機械M4が、最初の機械である機械M1のブロッキングのもともとの原因であったと判定されるとともに、今回の重み付けされた時間が、機械M4が機械M1のブロッキングを発生させる時間に加算される。
【0339】
以上で、下流追跡ルーチンの一回の実行が終了し、その後、図48のS609に移行する。機械M4が当該システムにおいて最後の対象物であるため、S609の判定はYESとなり、S610に移行する。
【0340】
以上、今回の対象物の順位が4ではない場合を説明したが、4である場合には、図48のS608の判定がYESとなり、S900において、設定された注目期間について対象物が上流に向かって辿られる。
【0341】
このS900の詳細が上流追跡ルーチンとして図51にフローチャートで概念的に表されている。この上流追跡ルーチンにおいては、まず、S901において、前記最初の機械がブロックされているか否かが判定される。今回は、ブロックされていると仮定されているため、判定がYESとなり、S902に移行する。
【0342】
このS902においては、今回の重み付けされた時間が、今回の対象物の後方にあるバッファ内の部品を追加すれば前記最初の機械のブロッキングが減少する時間に加算される。この時間は、前述のモード3に関連するとともに、前述の比率PBFB−Ej,iすなわち後述のデータ(2)の取得に利用される。
【0343】
続いて、S903において、今回の重み付けされた時間が、今回の対象物が前記最初の機械のブロッキングを発生させた経路の一部であった時間に加算される。この時間は、後述のデータ(7)の取得に利用される。
【0344】
その後、S904において、今回の対象物が作用状態にあるか否かが判定される。今回は、作用状態にあると仮定すれば、判定がYESとなり、S905に移行する。このS905においては、今回の対象物が、前記最初の機械のブロッキングの原因であると判定される。
【0345】
さらに、このS905においては、今回の重み付けされた時間が、今回の対象物が前記最初の機械のブロッキングを発生させる時間に加算される。この時間は、後述のデータ(5)の取得に利用される。
【0346】
以上で、この上流追跡ルーチンの一回の実行が終了し、その後、図48のS609に移行する。
【0347】
これに対し、今回は、今回の対象物が作用状態にはないと仮定すると、図51のS904の判定がNOとなり、S906において、今回の重み付けされた時間が、今回の対象物の前方にあるバッファ内の部品を追加すれば前記最初の機械のブロッキングが減少する時間に加算される。
【0348】
その後、図49のS701に移行し、後述の上流側対象物決定ルーチンが実行される。
【0349】
図48の下流側対象物決定ルーチンにおいては、S800またはS900の実行が終了すると、その後、S609において、選択されたすべての対象物について反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、次の対象物についてS607以下のステップが実行される。
【0350】
これに対し、今回は、選択されたすべての対象物について反復が終了したと仮定すれば、S609の判定がYESとなり、S610に移行する。
【0351】
このS610においては、前回の対象物の状態の全期間がカバーされるまでの反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、S601に戻るが、今回は、終了したと仮定すれば、S610の判定がYESとなり、この下流側対象物決定ルーチンの一回の実行が終了し、その後、図47のS205に移行する。
【0352】
ここで、図48の下流側対象物ルーチンの実行内容を図7に示す生産システムを例にとり、具体的に説明する。
【0353】
図68には、図7に示す生産システムにおける4台の機械M1ないしM4がブロッキング状態と作用状態とに変化する様子が時間tと共にタイムチャートで表されている。
【0354】
機械M1は、時刻t0と時刻t3との間においてブロッキング状態にある。このバッファ予測プログラムは、その機械M1のブロッキングの原因とそれの経路とを特定するために実行される。
【0355】
ここで、コンピュータ20が、このバッファ予測プログラムのうち、図48の下流側対象物決定ルーチンを実行する時点においては、前記最初の機械または前回の対象物(すなわち、いずれの場合にも、それらの遊休状態の原因が調査される対象物を意味する)が機械M1であって、注目期間として時刻t0と時刻t3との間の期間が設定されていると仮定する。その期間中、機械M1はブロッキング状態にある。
【0356】
この場合、S601の実行により、その機械M1にそれの下流側において隣接するすべての対象物、すなわち、機械M2および機械M3に対して順位付けが行われ、その後、S603の実行により、それら機械M2および機械M3が同じ順位を付与されたと判定されるとともに、それらが今回の対象物として選択される。
【0357】
それら機械M2および機械M3が選択されると、S605の実行により、前回の対象物である機械M1について設定された重み(すなわち、この例においては、機械M1について設定された1の重み)が、最上位に順位付けされた対象物の数(すなわち、この例においては、2)で割り算され、結局、下流側対象物M2,M3についての新たな重みがそれぞれ、1/2として設定されることになる。
【0358】
その後、S606の実行により、機械M2が、更なる調査のために、最上位を有する最初の対象物として選択されたと仮定する。この場合、続いて、S607の実行により、注目期間(今回の解析が実施されるべき対象期間)が、前回の対象物である機械M1のブロッキング期間の開始時期である時刻t0から、最上位に順位付けされた対象物(今回は、機械M2とM3)の次の状態変化の時刻(選択された対象物が複数存在する場合には、それらのうち最も早い時刻を意味し、この例においては、最上位に順位付けされた機械M2とM3のうち機械M2の次の状態変化の時刻t1が該当する)と、前回の対象物である機械M1のブロッキング期間の終了時期t3とのうち早い方までの期間として設定される。この例においては、時刻t1の方が時刻t3より早いため、今回の注目期間は、時刻t0とt1との間の期間として設定され、その設定された注目期間につき、今回の対象物である機械M2が追跡されることになる。
【0359】
同様な処理が次の対象物である機械M3についても行われる。この機械M3の重みも、上述のように、1/2に設定される。機械M3についての注目期間は、時刻t0から、最上位に順位付けされた対象物(今回は、機械M3のみ)の次の状態変化の時刻t1と、前回の対象物である機械M1のブロッキング期間の終了時期t3とのうち早い方までの期間として設定される。この機械M3についても、機械M2と同様に、今回の注目期間が、時刻t0とt1との間の期間として設定され、その設定された注目期間につき、機械M3が追跡されることになる。
【0360】
図48におけるS601ないしS609の実行は、前回の対象物である機械M1の特定状態の全期間、すなわち、時刻t0から時刻t3までの期間がカバーされるまで反復される。時刻t0から時刻t1までの期間は既に解析された(カバーされた)ため、今度は、時刻t1から時刻t3までの期間が解析される。その期間につき、下流側機械である機械M2および機械M3を順位付けすると、機械M2は作用状態にあるのに対し、機械M3はブロッキング状態にあるため、今回は、機械M3の順位の方が機械M2の順位より上位である。したがって、その期間については、最上位の機械が1台しか存在せず、その機械M3の重みは、今回は、最上位に順位付けされた対象物の数が1であるから、1のままとされる。
【0361】
機械M3についての注目期間(個別解析期間)が、時刻t1から、機械M3の次の状態変化の時刻t2と、全体の対象物である機械M1のブロッキング期間の終了時刻t3とのうち早い方である時刻t2までの期間として設定される。したがって、機械M1のブロッキングが、時刻t1から時刻t2までの期間につき、下流に向かって追跡されることになる。今回は、最上位に順位付けされた対象物が1個しか存在しないため、S609の判定はYESとなり、S610に移行する。
【0362】
現時点においては、時刻t0から時刻t1までの期間と、時刻t1から時刻t2までの期間とがいずれもカバーされており、残っている期間は、時刻t2から時刻t3までの期間である。この期間については、機械M2および機械M3が、共に、作用状態にあると仮定されているため、同じ順位を付与されるとともに、重みがそれぞれ1/2に設定される。
【0363】
S607、S608およびS800により構成されるループの実行が、機械M2と機械M3とについて反復され、そのS800の実行により、機械M1のブロッキングが下流に向かって追跡される。このS800の実行により、機械M2と機械M3とがいずれも、時刻t2から時刻t3までの期間について機械M1のブロッキングの原因であると決定され、各機械M2およびM3は、共に重みが1である。
【0364】
時刻t0から時刻t3までの全期間について解析が行われたならば、S601ないしS609により構成されるループの実行が終了する。
【0365】
以上、図47の原因解析ルーチンにおいて、前記最初の機械の状態がブロッキング状態であると仮定したが、スタービング状態であると仮定すると、S700において、前記最初の機械の次の上流側対象物が決定される。
【0366】
このS700の詳細が上流側対象物決定ルーチンとして図49にフローチャートで概念的に表されている。この上流側対象物決定ルーチンは、基本的には、図48の下流側対象物決定ルーチンと共通する。
【0367】
この上流側対象物決定ルーチンにおいては、まず、S701において、前記最初の機械に隣接したすべての上流側対象物が次のルールに従って順位付けされる。
【0368】
順位1:スターブされた機械
順位2:空のバッファ
順位3:作用状態にある機械
順位4:ブロックされた機械
順位5:空ではないバッファ
この順位付けにより、システムにおいて、各上流側対象物ごとに、前記最初の機械の遊休状態を発生させる経路が決定される。
【0369】
次に、S702において、前記最初の機械の遊休期間(今回は、仮定上、スタービング期間)の原因要素に至る原因経路の一部に既になっている対象物が除外される。無限ループを回避するためである。
【0370】
続いて、S703において、上述の、隣接したすべての上流側対象物のうち最上位のものが選択される。その後、S704において、そのようにして選択された対象物が存在しないか否かが判定される。
【0371】
今回は、存在しないと仮定すれば、判定がYESとなり、直ちに、この上流側対象物決定ルーチンの一回の実行が終了する。これに対し、今回は、選択された対象物が存在すると仮定すれば、判定がNOとなり、S705に移行する。
【0372】
このS705においては、重みが、前回の対象物について予め設定された重みをS703において選択された対象物の数で割り算した値に設定される。その後、S706において、最上位の対象物の中から最初の対象物が選択される。
【0373】
続いて、S707において、注目期間が、前回の対象物の状態の開始時期から、最上位に順位付けされた対象物(複数存在する場合がある)の次の状態変化の時期と、前記原因経路上にある前回の対象物の期間の終了時期とのうち早い時期までの期間に設定される。
【0374】
その後、S708において、選択された対象物の順位が4であるか否かが判定される。今回は、4ではないと仮定すれば、判定がNOとなり、S900において、図51の上流追跡ルーチンが実行されることにより、対象物が上流に向かって辿られる。
【0375】
この上流追跡ルーチンにおいては、まず、S901において、前記最初の機械がブロックされているか否かが判定される。今回は、スタービング状態にあると仮定されているため、判定がNOとなり、S807に移行する。
【0376】
このS807においては、今回の重み付けされた時間が、今回の対象物の前方にあるバッファ内のスペースを追加すれば前記最初の機械のスタービングが減少する時間に加算される。この時間は、前述のモード2に関連するとともに、前述の比率PBES−Ej,iすなわち後述のデータ(4)の取得に利用される。
【0377】
続いて、S808において、今回の重み付けされた時間が、今回の対象物が前記最初の機械のスタービングを発生させた経路の一部であった時間に加算される。この時間は、後述のデータ(8)の取得に利用される。
【0378】
その後、S809において、今回の対象物が作用状態にあるか否かが判定される。今回は、作用状態にあると仮定すれば、判定がYESとなり、S810において、今回の対象物が、前記最初の機械のスタービングの原因であると判定される。
【0379】
さらに、このS810においては、今回の重み付けされた時間が、今回の対象物が前記最初の機械のスタービングを発生させる時間に加算される。この時間は、後述のデータ(6)の取得に利用される。
【0380】
以上で、この下流追跡ルーチンの一回の実行が終了し、その後、図48のS609に移行する。
【0381】
これに対し、今回は、今回の対象物が作用状態にはないと仮定すれば、図50のS809の判定がNOとなり、S811に移行する。このS811においては、今回の重み付けされた時間が、今回の対象物の後方にあるバッファ内のスペースを追加すれば前記最初の機械のスタービングが減少する時間に加算される。
【0382】
その後、図48のS601に移行し、下流側対象物決定ルーチンが再度実行される。
【0383】
これに対し、今回は、選択された対象物の順位が4であると仮定すると、S708の判定がYESとなり、S800において、図50の下流追跡ルーチンが実行されることにより、対象物が下流に向かって辿られる。
【0384】
この下流追跡ルーチンにおいては、まず、S801において、前記最初の機械がブロックされているか否かが判定される。今回は、スタービング状態にあると仮定されているため、判定がNOとなり、S907に移行する。
【0385】
このS907においては、今回の重み付けされた時間が、今回の対象物の後方にあるバッファ内の部品を追加すれば前記最初の機械のスタービングが減少する時間に加算される。この時間は、前述のモード4に関連するとともに、前述の比率PBES−Ej,iすなわち後述のデータ(1)の取得に利用される。
【0386】
続いて、S908において、今回の重み付けされた時間が、今回の対象物が前記最初の機械のスタービングを発生させた経路の一部であった時間に加算される。この時間は、後述のデータ(8)の取得に利用される。
【0387】
その後、S909において、今回の対象物が作用状態にあるか否かが判定される。今回は、作用状態にあると仮定すれば、判定がYESとなり、S910に移行する。このS910においては、今回の対象物が、前記最初の機械のスタービングの原因であると判定される。
【0388】
さらに、このS910においては、今回の重み付けされた時間が、今回の対象物が前記最初の機械のスタービングを発生させる時間に加算される。この時間は、後述のデータ(6)の取得に利用される。
【0389】
以上で、この上流追跡ルーチンの一回の実行が終了し、その後、図48のS609に移行する。
【0390】
これに対し、今回は、今回の対象物が作用状態にはないと仮定すれば、図51のS909の判定がNOとなり、S911に移行する。このS911においては、今回の重み付けされた時間が、今回の対象物の前方にあるバッファ内の部品を追加すれば前記最初の機械のスタービングが減少する時間に加算される。
【0391】
その後、図49のS701に移行し、上流側対象物決定ルーチンが実行される。
【0392】
いずれの場合にも、その後、S709において、選択されたすべての対象物について反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、次の対象物についてS707以下のステップが実行される。
【0393】
これに対し、今回は、選択されたすべての対象物について反復が終了したと仮定すれば、S709の判定がYESとなり、S710に移行する。
【0394】
このS710においては、前回の対象物の状態の期間全体がカバーされるまでの反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、S701に戻るが、今回は、終了したと仮定すれば、S710の判定がYESとなり、この上流側対象物決定ルーチンの一回の実行が終了し、その後、図47のS205に移行する。
【0395】
以上、図47の原因解析ルーチンにおいて、前記最初の機械の状態がスタービング状態である場合を説明したが、ブロッキング状態でもスタービング状態でもない場合には、直ちにS205に移行する。
【0396】
いずれの場合にも、このS205においては、全機械事象についての反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、S206において、次の事象が、最初の機械についての事象として選択された後、S203に戻る。これに対し、今回は、全機械事象についての反復が終了したと仮定すると、S205の判定がYESとなる。
【0397】
この場合、その後、S207において、全機械についての反復が終了したか否かが判定される。今回は、未だ終了してはいないと仮定すれば、判定がNOとなり、S208において、次の機械が最初の機械として選択された後、S202に戻る。これに対し、今回は、全機械についての反復が終了したと仮定すると、S207の判定がYESとなる。
【0398】
その後、S209において、バッファ/部品の追加による効果の比率であるバッファ効果比率と、各機械が別の機械の遊休状態の原因を構成する比率である原因構成比率と、各機械が別の機械の遊休状態の原因の経路を構成する比率である経路構成比率とが計算される。この計算は、適宜、これまでに決定された複数の時間(図50の下流追跡ルーチンまたは図51の上流追跡ルーチンの実行によって取得された各種時間)の長さを総解析時間で割り算することにより、行われる。
【0399】
バッファ効果比率としては、
データ(1)
各バッファj内の部品を追加すれば各機械iのスタービングが減少する時間の、総解析時間に対する比率PBFS−Ej,iと、
データ(2)
各バッファj内の部品を追加すれば各機械iのブロッキングが減少する時間の、総解析時間に対する比率PBFB−Ej,iと、
データ(3)
各バッファj内のスペースを追加すれば各機械iのブロッキングが減少する時間の、総解析時間に対する比率PBEB−Ej,iと、
データ(4)
各バッファj内のスペースを追加すれば各機械iのスタービングが減少する時間の、総解析時間に対する比率PBES−Ej,iと
が含まれる。
【0400】
これに対し、原因構成比率としては、
データ(5)
ある機械が別の機械のブロックの原因であった時間の、総解析時間に対する比率と、
データ(6)
ある機械が別の機械のスターブの原因であった時間の、総解析時間に対する比率と
が含まれる。
【0401】
また、経路構成比率としては、
データ(7)
ある機械が別の機械のブロックの経路であった時間の、総解析時間に対する比率と、
データ(8)
ある機械が別の機械のスターブの経路であった時間の、総解析時間に対する比率と
が含まれる。
【0402】
ただし、上記データ(1)ないし(4)の比率は、各機械iの前後におけるバッファjの位置と各機械iとの組合せのすべてについて計算され、これに対し、上記データ(5)ないし(8)の比率は、機械i同士の組合せのすべてについて計算される。
【0403】
以上で、この原因解析ルーチンの一回の実行が終了し、その後、図45のS300に移行する。このS300においては、機械の前後におけるバッファのための追加バッファ容量が指定される。続いて、S400において、追加バッファ容量の効果が推定される。このS400の詳細がバッファ効果推定ルーチンとして図52にフローチャートで概念的に表されている。
【0404】
このバッファ効果推定ルーチンにおいては、まず、S1000において、各機械の前方および後方におけるバッファ内の平均部品数が推定される。このS1000の詳細が平均部品数推定ルーチンとして図53にフローチャートで概念的に表されている。
【0405】
この平均部品数推定ルーチンにおいては、まず、S1001において、別の機械が、スターブ中の今回の機械の経路の一部であった時間の、総解析時間に対する比率(前述のデータ(8))に、今回の機械のボトルネック確率が掛け算され、それにより、重み付け上流側ボトルネック確率が計算される。
【0406】
次に、S1002において、別の機械がブロック中の今回の機械の経路の一部であった時間の、総解析時間に対する比率(前述のデータ(7))に、今回の機械のボトルネック確率が掛け算され、それにより、重み付け下流側ボトルネック確率が計算される。
【0407】
続いて、S1003において、上記別の機械が全機械をカバーしたか否か、すなわち、全機械の範囲内で変化させられたか否かが判定される。今回は、全機械をカバーしてはいないと仮定すれば、判定がNOとなり、S1001以下のステップが再度、更新された別の機械について実行される。これに対し、今回は、全機械をカバーしたと仮定すれば、S1003の判定がYESとなり、S1004に移行する。
【0408】
このS1004においては、いくつかの機械についてのいくつかの重み付け上流側ボトルネック確率が合計されることにより、全重み付け上流側ボトルネック確率が計算される。さらに、いくつかの機械についてのいくつかの重み付け下流側ボトルネック確率が合計されることにより、全重み付け下流側ボトルネック確率が計算される。
【0409】
続いて、S1005において、今回の機械の前方におけるバッファj内の平均部品数BFjが計算される。具体的には、
BFj=バッファ容量x全重み付け上流側ボトルネック確率/(全重み付け上流側ボトルネック確率+全重み付け下流側ボトルネック確率+今回の機械のボトルネック確率)
なる式を用いて計算される。
【0410】
その後、S1006において、今回の機械の後方におけるバッファj内の平均部品数BFjが計算される。具体的には、
BFj=バッファ容量x(全重み付け上流側ボトルネック確率+今回の機械のボトルネック確率)/(全重み付け上流側ボトルネック確率+全重み付け下流側ボトルネック確率+今回の機械のボトルネック確率)
なる式を用いて計算される。
【0411】
続いて、S1007において、全機械について反復が終了したか否かが判定される。今回は、終了してはいないと仮定すれば、判定がNOとなり、S1001以下のステップが再度、更新された今回の機械について実行される。これに対し、今回は、全機械について反復が終了したと仮定すれば、S1007の判定がYESとなり、以上で、この平均部品数推定ルーチンの一回の実行が終了し、その後、図52のS1100に移行する。
【0412】
なお付言するに、図46のS102においては、バッファ内の平均部品数が計算されるが、この点、この平均部品数推定ルーチンと共通する。しかし、S102においては、シミュレーションのモデル内に現に存在するバッファ内の平均部品数が測定されるのであり、これに対し、この平均部品数推定ルーチンにおいては、仮想的なバッファ内に平均部品数が推定されるのであって、平均部品数が関連付けられるバッファの現実の存在が必要とはされない。
【0413】
このS1100においては、機械が利用可能な部品およびスペースの追加数が推定される。このS1100の詳細が追加部品/スペース数推定ルーチンとして図54にフローチャートで概念的に表されている。
【0414】
この追加部品/スペース数推定ルーチンにおいては、まず、S1101において、今回のバッファj内に部品を追加すれば今回の機械iのスタービングが減少する時間の比率PBFSj,i(前述のデータ(1))にバッファj内の平均部品数BFjが掛け算され、それが今回の機械iのための追加部品数ΔFiに加算される。
【0415】
次に、S1102において、今回のバッファj内にスペースを追加すれば今回の機械iのスタービングが減少する時間の比率PBESj,i(前述のデータ(4))にバッファj内の平均スペース数BEjが掛け算され、それが今回の機械iのための追加部品数ΔFiに加算される。
【0416】
続いて、S1103において、今回のバッファj内に部品を追加すれば今回の機械iのブロッキングが減少する時間の比率PBFBj,i(前述のデータ(2))にバッファj内の平均部品数BFjが掛け算され、それが今回の機械iのための追加スペース数ΔEiに加算される。
【0417】
その後、S1104において、今回のバッファj内にスペースを追加すれば今回の機械iのブロッキングが減少する時間の比率PBEBj,i(前述のデータ(3))にバッファj内の平均スペース数BEjが掛け算され、それが今回の機械iのための追加スペース数ΔEiに加算される。
【0418】
続いて、S1105において、全バッファについて反復が終了したか否か、すなわち、バッファjの更新が不要となったか否かが判定される。今回は、全バッファについて反復が終了したわけではないと仮定すれば、判定がNOとなり、バッファjが更新された後、S1101に戻る。これに対し、全バッファについて反復が終了したと仮定すれば、S1105の判定がYESとなり、S1106に移行する。
【0419】
このS1106においては、全機械について反復が終了したか否か、すなわち、機械iの更新が不要となったか否かが判定される。今回は、全機械について反復が終了したわけではないと仮定すれば、判定がNOとなり、機械iが更新された後、S1101に戻る。これに対し、全機械について反復が終了したと仮定すれば、S1106の判定がYESとなる。
【0420】
以上で、この追加部品/スペース数推定ルーチンの一回の実行が終了し、その後、図52のS1200に移行する。
【0421】
このS1200においては、機械の削減遊休時間比率が推定される。このS1200の詳細が削減遊休時間比率推定ルーチンとして図55にフローチャートで概念的に表されている。
【0422】
この削減遊休時間比率推定ルーチンにおいては、まず、S1201において、今回の機械iのために部品を追加すると今回の機械iの作用時間が増加する最大量である最大増加量が、今回の機械iのための追加部品数ΔFiに今回の機械iの搬出時間間隔TPPiを掛け算することによって決定される。
【0423】
次に、S1202において、今回の機械iのスタービング時間分布関数をそれの全変域について積分することにより、平均スタービング時間が決定される。
【0424】
続いて、S1203において、今回の機械iのスタービング時間分布関数を、0と、部品追加に起因した作用時間の最大増加量ΔFi・TPPiとの変域について積分することにより、減少スタービング時間が決定される。
【0425】
その後、S1204において、減少スタービング時間と平均スタービング時間との比に、今回の機械iがスターブされる時間の、総解析時間に対する比率PM−Siを掛け算し、それにより、今回の機械iのために部品を追加すると遊休時間が削減される時間の比率である削減遊休時間比率が決定される。
【0426】
続いて、S1205において、今回の機械iのためにスペースを追加すると今回の機械iの作用時間が増加する最大量である最大増加量が、その今回の機械iのための追加スペース数ΔEiにその今回の機械iの搬出時間間隔TPPiを掛け算することによって決定される。
【0427】
その後、S1206において、今回の機械iのブロッキング時間分布関数を、それの全変域について積分することにより、平均ブロッキング時間が決定される。
【0428】
続いて、S1207において、今回の機械iのブロッキング時間分布関数を、0と、スペース追加に起因した作用時間の最大増加量ΔEi・TPPiとの間の変域について積分することにより、減少ブロッキング時間が決定される。
【0429】
その後、S1208において、減少ブロッキング時間と平均ブロッキング時間との比に、今回の機械iがブロックされる時間の、総解析時間に対する比率PM−Biを掛け算することにより、今回の機械iのためのスペースを追加すると遊休時間が削減される時間の比率である削減遊休時間比率が決定される。
【0430】
続いて、S1209において、スペース追加による削減遊休時間比率と、部品追加による削減遊休時間比率とを合計することにより、今回の機械i全体としての削減遊休時間比率PΔTiが決定される。
【0431】
その後、S1210において、全機械について反復が終了したか否かが判定される。今回は、終了してはいないと仮定すれば、判定がNOとなり、次の機械iについてS1201に戻るが、今回は、終了したと仮定すれば、判定がYESとなる。
【0432】
以上で、この削減遊休時間比率推定ルーチンの一回の実行が終了し、その後、図52のS401に移行する。
【0433】
このS401においては、今回の機械iにつき、削減遊休時間比率PΔTiにその今回の機械iのボトルネック確率PM−SBNiを掛け算することにより、有効削減遊休時間比率PΔTiが決定される。
【0434】
その後、S402において、全機械について反復が終了したか否かが判定される。今回は、終了してはいないと仮定すれば、判定がNOとなり、次の機械iについてS401に移行する。これに対し、今回は、全機械について反復が終了したと仮定すれば、S402の判定がYESとなり、S403に移行する。
【0435】
このS403においては、決定された有効削減遊休時間比率PΔTiが全機械について合計され、これにより、システム全体の改善量PΔTが決定される。
【0436】
続いて、S404において、改善されたシステムの搬出時間間隔TBP’が、それの過去の搬出時間間隔TBPを改善量PΔTによって減少させることによって推定される。
【0437】
その後、S405において、改善されたシステムの仕掛在庫数が、全バッファ内の平均部品数の合計値と、機械が部品を収容する時間の比率に相当するその機械内における平均部品数との和として推定される。
【0438】
続いて、S406において、改善されたシステムの総処理時間(メークスパン)が、その改善されたシステムの仕掛在庫数と、その改善されたシステムの搬出時間間隔TBP’との積として推定される。
【0439】
以上で、このバッファ効果推定ルーチンの一回の実行が終了し、その後、図45のS500に移行する。
【0440】
このS500においては、その推定された総処理時間の長さ等に基づき、システムが最適化されたか否かが判定される。最適化されてはいない場合には、判定がNOとなり、S300に戻り、新たな追加バッファ容量が指定される。これに対し、今回は、システムが最適化されたと仮定すれば、S500の判定がYESとなり、このバッファ予測プログラムの一回の実行が終了する。
【0441】
以上の説明から明らかなように、本実施形態においては、S201,S204,S600およびS700が前記(1)項における「第1の追跡工程」の一例を構成し、S804,S805,S809,S810,S904,S905,S909およびS910が同項における「原因特定工程」の一例を構成し、S600およびS700が同項における「第2の追跡工程」の一例を構成し、S601,S603,S606,S701,S703およびS706が同項における「経路特定工程」の一例を構成しているのである。
【0442】
さらに、本実施形態においては、S204,S608およびS708が前記(3)項における「向き設定工程」の一例を構成しているのである。
【0443】
さらに、本実施形態においては、S601およびS701が前記(4)項における「順位付け工程」の一例を構成し、S603,S606,S608,S703,S706およびS708が同項における「各原因経路を特定する工程」の一例を構成しているのである。
【0444】
さらに、本実施形態においては、S800およびS900が前記(5)項における「統計値計算工程」の一例を構成しているのである。
【0445】
さらに、本実施形態においては、S1000が前記(6)項における「第1推定工程」の一例を構成し、S1100が同項における「第2推定工程」の一例を構成し、S1200が同項における「第3推定工程」の一例を構成し、S401ないしS406が同項における「第4推定工程」の一例を構成しているのである。
【0446】
さらに、本実施形態においては、S1100が前記(7)項における「第2推定工程」の一例を構成しているのである。
【0447】
さらに、本実施形態においては、S1000が前記(8)項における「第1推定工程」の一例を構成しているのである。
【0448】
さらに、本実施形態において、バッファ予測プログラムが前記(9)項に係る「プログラム」の一例を構成し、そのバッファ予測プログラムを予め記憶しているストレージ14が前記(10)項に係る「記録媒体」の一例を構成しているのである。
【0449】
次に、以上説明したバッファ予測方法を、それによる予測値と測定値との比較によって検証する。
【0450】
この検証においては、多種の予測モデルにつき、予測されたシステム処理能力の改善量が実際の改善量に単に比較される。全般的に見れば、予測値が必ずしも完全ではないが、通常、実用的な精度を有する。
【0451】
1 8台の機械を有する直線的な生産システム
【0452】
これは、1から8まで番号が付された8台の機械を有する直線的な生産システムの単純な例である。各機械の間にはバッファ位置が存在し、図56に示すように、AからGまでの番号が付されている。主要なボトルネックは、95パーセントの総ボトルネック確率を有する機械M4である。そのボトルネックに隣接する2個のバッファであるバッファCとバッファDが解析された。このシステムの性能は主に機械M4によって決まるため、このモデルの予測は非常に容易である。機械M4ははるかに大きなボトルネック確率を有するとともに、それら2つのバッファCおよびDであって解析されたものはそのボトルネックに隣接している。このことにより、予測モデルが非常に単純化されるとともに、その予測精度が非常に増加する。
【0453】
1.1 バッファC
【0454】
図57は、このバッファ予測方法を用いて得られたシステム処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファCのバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。全般的に見て、その予測値は非常に近似的に測定データに追従しており、ほとんどすべての予測値が測定データの95パーセントの信頼区間内にある。平均総二乗誤差の平方根は0.25sにすぎなかった。
【0455】
1.2 バッファD
【0456】
図58は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から5まで変化するバッファDのバッファサイズについての測定データとの比較を示している。短期間のシミュレーションであることとバッファの効果が小さいことに起因して、信頼区間は全体の改善と比較してやや大きい。それにもかかわらず、その予測値はほとんど常に95パーセントの信頼区間内にあり、その予測値は非常に正確である。
【0457】
2 7台の機械を有する分枝生産システム
【0458】
この例は、図4に示されている。バッファAM2、BM3、AM3およびAM4は詳細に調査された。バッファBM5およびAM5は簡単に調査された。
【0459】
2.1 バッファAM2
【0460】
図59は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファAM2のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。全般的に見て、その予測値は測定データに、その初期にあっては、非常によく追従しており、バッファサイズの大きな値については小さな誤差を有している。平均総二乗誤差の平方根は0.40sであった。
【0461】
2.2 バッファBM3
【0462】
図60は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファBM3のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。その予測値は測定データに非常によく追従しており、ほとんどすべての予測値が測定データの95パーセントの信頼区間内にある。平均総二乗誤差の平方根は0.22sにすぎなかった。
【0463】
2.3 バッファAM3
【0464】
図61は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファAM3のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。その予測値は、バッファサイズの最初の少数の値については、測定データに非常によく追従している。平均総二乗誤差の平方根は0.78sであった。
【0465】
2.4 バッファAM4
【0466】
図62は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファAM4のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。平均総二乗誤差の平方根は0.96sであった。
【0467】
2.5 バッファBM5
【0468】
図63は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファBM5のバッファサイズについての測定データとの比較を示している。しかし、このバッファBM5は簡単にしか調査されておらず、バッファサイズの初期値の他には、5である場合についてしか検証が行われなかった。その予測値は、測定データの95パーセント信頼区間内にあり、よって、妥当である。少ないデータ数のため、平均総二乗誤差の平方根は存在しない。
【0469】
2.6 バッファAM5
【0470】
図64は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファAM5のバッファサイズについての測定データとの比較を示している。繰り返すが、このバッファAM5も簡単にしか調査されておらず、バッファサイズの初期値の他には、5である場合についてしか検証が行われなかった。その予測値は、測定データの95パーセント信頼区間内にあり、よって、妥当である。少ないデータ数のため、平均総二乗誤差の平方根は存在しない。
【0471】
2.7 まとめ
【0472】
この予測モデルは、たいていの事例について正確な結果を与えるように見える。バッファAM2、BM3、BM5およびAM5については非常に正確である。バッファAM3における初期の傾向はよく予測された。
【0473】
それら実験に加えて、シミュレーションが1回、バッファの新たな組合せについて追加された。バッファAM2、BM3、AM3、AM4、BM5およびAM5はそれぞれ、20のスペースというようにやや大きな容量を有するように設定された。そのシミュレーションにより、48.89sという搬出時間間隔TBPが、それぞれの側において0.19sの信頼区間を有するように求められた。その予測値は、50.69sであり、決して的外れではない。それら間に約0.8sの差が存在するが、この誤差は、55.7sという初期値に対して小さく、その傾向は非常によく予測される。平均総二乗誤差の総平方根は0.82sであった。
【0474】
3 2台の機械が分岐するシステム
【0475】
図65に示すように、この例においては、2台の機械と3個のバッファとが設けられている。バッファBM0にはタイプA部品とタイプB部品とが到着する。到着したタイプA部品ごとに2個のタイプB部品が存在し、それら部品は無限に供給される。すべてのタイプA部品はバッファBM1を経由して機械M1に移行し、すべてのタイプB部品はバッファBM2を経由して機械M2に移行する。機械M1は、90パーセントの全ボトルネック確率を有する主要なボトルネックであり、機械M2は、30パーセントの全ボトルネック確率を有する副次的なボトルネックである。
【0476】
重要な2個のバッファはバッファBM1とBM2である。これらバッファは、後続の機械をスターブさせ得るし、さらに、並列の経路内の機械をブロックさせ得る。例えば、満杯のバッファBM1はバッファBM0をブロックさせる可能性があり、したがって、BM2をスターブさせる可能性がある。もちろん、空のバッファBM1は機械M1をスターブさせる。
【0477】
3.1 バッファBM1
【0478】
図66は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファBM1のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。全般的に見て、その予測値は測定データに、その初期にあっては、非常によく追従しており、バッファサイズの大きな値については小さな誤差を有している。平均総二乗誤差の平方根は0.44sであった。
【0479】
3.2 バッファBM2
【0480】
図67は、このバッファ予測方法を用いて得られた処理能力(搬出時間間隔TBP)の予測値と、スペースが0から10まで変化するバッファBM2のバッファサイズについての測定データとの比較を示している。測定データは、処理能力の95パーセント信頼区間と共に示されている。平均総二乗誤差の平方根は0.56sであった。
【0481】
3.3 まとめ
【0482】
この予測値は、バッファサイズの大きな変化量については必ずしも満足のいくものではない。それらデータについての平均二乗誤差の総平方根は0.51sであった。上記データの値に加えて、別のシミュレーションが、50スペースを有する非常に大きなバッファ2個と共に実行された。搬出時間間隔TBPの測定値は、36.50s(95パーセントの信頼区間についてプラス・マイナス0.14s)であったが、これは、予測値の大きな範囲の割に、実用的には36.81sという予測値に近い。
【0483】
4 総括
【0484】
全般的に見て、このバッファ予測方法は、バッファサイズの小さな変化量については実用的によく機能しており、直線的なシステムについては非常によく機能している。
【0485】
ところで、システムにおける各構成要素間にバッファのサイズを改善することが必要である場合、シミュレーションを用いた従来の試行錯誤的な探索的方法では、少なくともバッファの容量(サイズ)を変更するたびにシミュレーションのためのモデルの設定を変更し、再度シミュレーションを行うことが必要であった。そのため、そのモデルの変更作業にかかる時間と、シミュレーションの実行時間という2つの待ち時間が経過してからでないと、結果を得ることができなかった。
【0486】
また、多くの探索的方法の場合には、最適解が、探索結果として唯一誘導されることになるが、その最適解は、いずれのバッファが評価関数に対してどの程度の感度で効果をもたらすかについて示すものではない。そのため、設計者にその解、すなわち、バッファの改善策の妥当性を理解させることがしばしば困難であった。
【0487】
これに対し、本実施形態によれば、いずれのバッファをどのように改善すればよいのかを示すだけで、それによってもたらされる効果を瞬時に予測できる。したがって、設計者は、設計上の試行錯誤を、自らの思考過程を停止させることなく、繰り返すことが可能となる。
【0488】
以上、本発明の一実施形態を図面に基づいて詳細に説明したが、これは例示であり、前記[課題を解決するための手段]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態に従うバッファ予測方法を概念的に表すフローチャートである。
【図2】図1のバッファ予測方法が実施される生産システムにおける各機械の状態が時間と共に変化する一例を説明するためのタイムチャートである。
【図3】図1のバッファ予測方法を実施するために利用することが必要であるシステムデータの一例を表形式で説明するための図である。
【図4】図1のバッファ予測方法が実施される生産システムの一例を概念的に表すフローチャートである。
【図5】図1のバッファ予測方法が用いるバッファ予測モデルを概略的に表すフローチャートである。
【図6】3台の機械と2個のバッファとを直線的なライン上に備えたシステムを示す図である。
【図7】分岐部を有するライン上に4台の機械を備えたシステムを示す図である。
【図8】リバース・ブロッキングが発生するシステムの一例を示す図である。
【図9】リバース・スタービングが発生するシステムの一例を示す図である。
【図10】図11および図12における絵表示を解説するための図である。
【図11】機械Miが取り得る5つのスタービング状況を説明するための図である。
【図12】機械Miが取り得る5つのブロッキン状況を説明するための図である。
【図13】図4の生産システムにおいて各機械にスタービングが発生する確率を示すグラフである。
【図14】図4の生産システムにおいて各機械にブロッキングが発生する確率を示すグラフである。
【図15】図4の生産システムにおいて機械M3にブロッキングとスタービングとが発生する原因を説明するための図である。
【図16】図4の生産システムにおいて機械M5にブロッキングとスタービングとが発生する原因を説明するための図である。
【図17】システムにおいてバッファが機械に与える効果についてのモード1ないしモード4を表形式で示す図である。
【図18】上記モード1につき、ある機械がブロックされる時間的割合を表形式で示す図である。
【図19】上記モード2につき、ある機械がスターブされる時間的割合を表形式で示す図である。
【図20】上記モード3につき、ある機械がブロックされる時間的割合を表形式で示す図である。
【図21】上記モード4につき、ある機械がスターブされる時間的割合を表形式で示す図である。
【図22】有効バッファサイズに関連するいくつかの式を示す図である。
【図23】図4の生産システムにおける、サイズが1であるバッファAM3に部品が存在する確率を示すヒストグラムである。
【図24】図4の生産システムにおける、サイズが10であるバッファAM3に部品が存在する確率を示すヒストグラムである。
【図25】図4の生産システムの初期設定における各機械のボトルネック確率を表形式で示す図である。
【図26】図4の生産システムにおけるバッファAM1の下流側におけるボトルネック確率の配分を説明するための図である。
【図27】図4の生産システムにおける各バッファの満杯率の予測値と測定値とを対比的に表形式で示す図である。
【図28】図4の生産システムにつき、容量変更前の各バッファの満杯率の予測値と測定値とを対比的に示すグラフである。
【図29】図4の生産システムにつき、各機械のボトルネック確率を、バッファ容量の変更前と変更後とについて対比的に表形式で示す図である。
【図30】図4の生産システムにつき、各バッファの満杯率の予測値と測定値とを、バッファ容量の変更前と変更後とについて対比的に表形式で示す図である。
【図31】図4の生産システムにつき、容量変更後の各バッファの満杯率の予測値と測定値とを対比的に示すグラフである。
【図32】図4の生産システムにおける、サイズが5であるバッファAM4に部品が存在する確率を示すヒストグラムである。
【図33】図4の生産システムにおけるバッファAM4の平均部品数と平均部品数比率とを示すグラフである。
【図34】図4の生産システムにおける各バッファにスペースを追加すると機械M3のブロッキングが影響を受ける対総時間比率と対ブロッキング時間比率とを表形式で示す図である。
【図35】バッファ内にスペースまたは部品を追加することによる効果比率に関連するいくつかの式を示す図である。
【図36】隣接バッファ容量の代表値に関連するいくつかの式を示す図である。
【図37】有効バッファ容量の合成値に関連するいくつかの式を示す図である。
【図38】図4の生産システムにおいてバッファBM3およびBM5の容量を5に増加させた場合の各機械の代表的追加スペース数と代表的追加部品数とを表形式で示す図である。
【図39】図4の生産システムにおける各機械の搬出部品間隔と作用時間比率と単位作用時間とを表形式で示す図である。
【図40】図4の生産システムにつき、選択されたいくつかの機械の待ち時間についての累積分布関数の特性を示すグラフである。
【図41】各機械についての削減待ち時間に関連する式を示す図である。
【図42】全機械についての削減待ち時間に関連する式を示す図である。
【図43】図4の生産システムにおける各機械の削減待ち時間比率と単独ボトルネック確率と有効削減量比率とを表形式で示す図である。
【図44】前記バッファ予測方法を実施するために好適なシステム解析装置のハードウエア構成を示すブロック図である。
【図45】図44におけるバッファ予測プログラムの内容を概念的に表すフローチャートである。
【図46】図45におけるS100を予測モデル作成ルーチンとして概念的に表すフローチャートである。
【図47】図45におけるS200を原因解析ルーチンとして概念的に表すフローチャートである。
【図48】図47におけるS600を下流側対象物決定ルーチンとして概念的に表すフローチャートである。
【図49】図47におけるS700を上流側対象物決定ルーチンとして概念的に表すフローチャートである。
【図50】図48および図49におけるS800を下流追跡ルーチンとして概念的に表すフローチャートである。
【図51】図48および図49におけるS900を上流追跡ルーチンとして概念的に表すフローチャートである。
【図52】図45におけるS400をバッファ効果推定ルーチンとして概念的に表すフローチャートである。
【図53】図52におけるS1000を平均部品数推定ルーチンとして概念的に表すフローチャートである。
【図54】図52におけるS1100を追加部品/スペース数推定ルーチンとして概念的に表すフローチャートである。
【図55】図52におけるS1200を削減遊休時間比率推定ルーチンとして概念的に表すフローチャートである。
【図56】8台の機械を有する直線的な生産システムを示す図である。
【図57】図56におけるバッファCの搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図58】図56におけるバッファDの搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図59】図4におけるバッファAM2の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図60】図4におけるバッファBM3の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図61】図4におけるバッファAM3の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図62】図4におけるバッファAM4の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図63】図4におけるバッファBM5の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図64】図4におけるバッファAM5の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図65】2台の機械が分岐する生産システムを示す図である。
【図66】図65におけるバッファBM1の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図67】図65におけるバッファBM2の搬出時間間隔TBPの予測値と測定値とを対比的に示すグラフである。
【図68】図7の生産システムにおける各機械の状態の経時的な変化の一例を示すタイムチャートである。
【図69】前記実施形態の説明に用いるいくつかの記号の定義を表形式で説明するための図である。
【図70】前記実施形態の説明に用いる別の記号の定義を表形式で説明するための図である。
【符号の説明】
10 システム解析装置
12 プロセシング・ユニット
14 ストレージ
20 コンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention is configured in such a manner that a plurality of components to be processed are arranged in accordance with a predetermined flow in order to generate a flow from the upstream side to the downstream side of the processed element. In particular, the present invention relates to a technique for analyzing a cause that causes an idle state in a certain component, and in particular, a cause element that is another component that causes an idle state in a certain component and the cause element to be in the idle state The present invention relates to a technique for estimating a cause route to an idle component that is a component.
[0002]
[Prior art]
There is already a system in which a plurality of components to be processed are arranged according to a predetermined flow in order to generate a flow from the upstream side to the downstream side of the processed element. To do. An example of this type of system is a production system that produces products by processing parts or combining them with other parts.
[0003]
The simplest method for improving the processing capacity (throughput) of this production system is to allocate a buffer to the production system. This is because buffer allocation allows for rapid changes in the system and requires less initial cost for the change. The initial cost is the cost of adding or removing buffers, which is usually only part of the cost of adding a processing machine or changing the flow of the system.
[0004]
However, increasing the buffer size will always increase throughput, but sometimes the in-process inventory and total processing time will also increase, resulting in increased inventory and time to reach the consumer. Therefore, an important interest is gathered in research on the trade-off between the processing capacity, the number of in-process inventory and the total processing time.
[0005]
Buffers can improve the availability of other machines by reducing the idle time of other machines (the time the machine was starved or blocked) due to the machines that make up the bottleneck in the system. The state where the machine is starved (the parts are deficient) means that the machine cannot operate due to the lack of parts supplied to the machine, while the machine is blocked (closed). Means a state in which the machine cannot work because the machine cannot carry out the processed parts.
[0006]
The buffer serves two purposes in particular. That is, the buffer reduces the machine staging time by adding parts, and reduces the machine blocking time by adding free space, thereby improving the throughput of the system.
[0007]
There are many search methods for buffer allocation. Most of these methods, for example, use simulated annealing methods, genetic algorithms, neural networks, gradient-based search, tabu search methods, etc., very many times (eg, thousands of times, hundreds of thousands of times). Is based on the construction of a metamodel that requires iteration.
[0008]
However, industrially, it is usually difficult to obtain a large number of repeated experimental values necessary to use the metamodel, and further, it is inefficient to use the above method.
[0009]
The simplest method for finding the optimum buffer size is a method in which simulation is applied to all possible combinations of buffer sizes, and each execution result is evaluated. When this method is adopted, for example, assuming that each of three buffers can take a value of size 1 to 10, even if there are only three buffers, the total number of size combinations is 1,000. It also becomes.
[0010]
Since this method is not practical, in many cases, focus only on buffers that are empirically expected to be effective in improving the system, and apply simulations by discretely changing the size of such buffers. The method is adopted. However, this method cannot find a truly optimal size combination.
[0011]
Furthermore, as a technique for reducing the number of simulation trials, it is possible to use the “experiment design method”, but in any case, it is necessary to perform a large number of simulations in order to obtain the optimum combination of buffer sizes. This is not to be pointed out again.
[0012]
Optimizing the allocation of buffers to the system is the ultimate challenge, but to do so, the effect that the buffer has on each object in the system (including machines and other buffers), for example, changing the buffer ( It is necessary to define the relationship between the change position or change amount) and the reduction time of the stubbing time or blocking time of each object, and estimate the reduction amount of the staging time or blocking time from the change of the buffer.
[0013]
Furthermore, in order to accurately estimate the effect of such a buffer, the cause of the stave or block of each component of the system (also referred to as “each object”, for example, processing equipment in the production line) It is necessary to accurately estimate the buffer that is and the causal route that is the route in which the influence of the buffer reaches the stave or block of each object.
[0014]
Against the background described above, in the present invention, in order to cause the flow of the processed element from the upstream side to the downstream side, a plurality of components to be processed on the processed element are predetermined. For a system that is arranged according to the flow, the task is to estimate the cause element that causes each component to fall into an idle state and the cause path that causes the component to spread to each component It is.
[0015]
[Means for Solving the Problems]
The following aspects are obtained by the present invention. Each mode is divided into sections, each section is numbered, and is described in a form that cites other section numbers as necessary. This is to facilitate understanding of some of the technical features described herein and some of the combinations thereof. The technical features and combinations thereof described herein are It should not be construed as limited.
[0016]
Further, describing each section in the form of quoting the numbers of the other sections does not necessarily prevent the technical features described in each section from being separated from the technical features described in the other sections. It should not be construed as meaning, but it should be construed that the technical features described in each section can be appropriately made independent depending on their properties.
[0017]
(1) In order to generate a flow from the upstream side to the downstream side of the element to be processed, a plurality of components to be processed with respect to the element to be processed are arranged according to a predetermined flow. Cause / path for estimating a cause element that is another component that causes an idle state in a component and a cause path from the cause element to the idle component that is the component in the idle state An estimation method,
Based on the system data representing the change in the state of each component in the system over time, the relationship between the change in the state of the idle component and another component adjacent thereto is determined and determined. Based on the relationship, a first tracking step of tracking the idle component as a first starting element and another component adjacent thereto in a corresponding direction of the forward and reverse directions of the flow;
Based on the system data and according to a predetermined determination rule, by determining whether or not the traced component corresponds to the cause element, a cause identifying step for identifying the cause element,
If the causal element is not identified in the cause identifying step only by the execution result of the first tracking step, each of at least one tracking is finally traced based on the system data until it is identified. Determining a mutual relationship between each changed state state of the measured component and another adjacent component, and based on the determined relationship, the last tracked component is determined as the second starting component. A second tracking step performed with a content that tracks another component adjacent thereto in the direction corresponding to the forward direction or the reverse direction of the flow,
A path specifying step for identifying, as the causal path, a path that causes the causal element to affect the idle component in association with the causal element specified by the causal specifying process based on the system data;
Causal / route estimation method.
[0018]
If the flow of multiple components in a system is specified, and the flow of processed elements in the system is specified, the influence that any two adjacent components in the system can have on each other according to the rule of thumb It is possible to estimate several possibilities. This will be described in detail later with reference to FIGS.
[0019]
In such an environment, if system data representing the change in the status of each component in the system over time is used, the relationship between the change in the status over time of any component and another adjacent component can be obtained. Can be determined. The relationship is then used to select an appropriate one of the several possibilities described above, so that the relationship between two specific components adjacent to each other, eg, one component is idle. In the state, the other component constitutes the cause of the idle state, and the path between the two components constitutes a path that causes the cause to spread to the idle component It is possible to estimate it automatically.
[0020]
Furthermore, such estimation can be performed efficiently in a short time without depending on many iterations of simulation that simulates the behavior of the system in time series.
[0021]
Based on the knowledge described above, in the method according to this section, each of the idle component and another adjacent component is changed over time based on the system data representing the change in the state of each component in the system over time. The relationship between various state changes is determined.
[0022]
Further, based on the determined relationship, an idle component is used as a starting element, and another adjacent component is traced in a direction corresponding to the forward direction or the reverse direction of the flow of the processed element in the system.
[0023]
As a result, a cause element that is another component that causes an idle state in a certain component and a cause route that is a path from the cause element to the idle component are estimated.
[0024]
Therefore, according to this method, it is possible to estimate the causal element and the causal path without depending on many iterations of the simulation that simulates the behavior of the system in time series. The estimation can be performed in an extremely short time.
[0025]
By the way, in order to carry out the method according to this section, it is necessary to obtain the system data in advance, and this system data can be obtained by simulation that simulates the behavior of the system in time series. Is possible. In this case, a series of analyzes including acquisition of the system data and estimation of cause elements and cause paths (also referred to as “cause analysis” or “cause investigation”) must depend on simulation.
[0026]
However, when the method according to this section is implemented, the cause analysis does not have to depend on a large number of simulation iterations. Therefore, the series of analyzes described above is performed by a one-time simulation for acquiring system data. It can be completed.
[0027]
Therefore, according to this method, it becomes possible to perform a series of analyzes for the system efficiently and in a short time, and its practicality is improved.
[0028]
The “second tracking step” in this section may be performed only once or repeatedly several times. In the latter case, the “second starting element” in the current tracking matches the last tracked element in the previous tracking, and thus the second starting element is repeated each time the tracking is repeated. Updated to The same applies to the “second starting element” in the following items.
[0029]
(2) Further, when there is at least one cause element for a plurality of idle periods of the same idle component based on the system data, for each cause element, the effect on the idle component is expressed as follows: The cause / path estimation method according to (1), including an influence estimation step in which the influence is estimated in association with each cause path extending from each cause element to the idle component.
[0030]
In the system, there may be at least one cause element for a plurality of idle periods of the same idle component. In this case, according to the method according to this section, for each cause element, the influence of the cause element on the idle state of the idle component is estimated in relation to each cause route from the cause element to the idle component. Is done.
[0031]
Further, according to this method, the influence is estimated based on the system data.
[0032]
Therefore, according to this method, it is possible to estimate the influence individually for each cause element and in a short time without depending on many iterations of the simulation.
[0033]
(3) The first and second tracking steps are both upstream and downstream depending on the type of state of the corresponding one of the first and second starting elements prior to the tracking. The cause / path estimation method according to (1) or (2), including a direction setting step for setting the tracking direction to any one of the above.
[0034]
For example, as will be described in detail later, when the idle component of this time is in the starving state, there is a high possibility that the cause is upstream. Therefore, tracking for this idle component should then be done upstream.
[0035]
On the other hand, when the idle component of this time is in the blocking state, the cause is highly likely to exist on the downstream side. Therefore, tracking for the current idle component should then be done downstream.
[0036]
Based on such knowledge, in the method according to this section, the tracking direction is set in the direction corresponding to the type of the state of the starting element prior to tracking.
[0037]
Therefore, according to this method, tracking for specifying the cause / route can be easily performed in a short time without waste.
[0038]
(4) Both the first and second tracking steps are responsive to their respective states to all adjacent components adjacent to the corresponding one of the first and second starting elements prior to the tracking. A ranking step of selecting any adjacent component as a corresponding one of the first and second starting elements according to the assigned ranking,
The steps of (1) to (3), wherein the route specifying step includes a step of specifying each cause route between the idle component and each cause element based on the rank assigned to each cause element. The cause / route estimation method according to any one of the above.
[0039]
The cause of causing the idle component to fall into the idle state and the route thereof will be described in detail later, and can be classified into several patterns depending on the state of another component adjacent to the idle component.
[0040]
Based on this knowledge, in the method according to this section, prior to tracking, all adjacent components adjacent to the starting element are given ranks according to their respective states. Further, for each cause element, each cause route between the idle component and each cause element is specified based on the rank assigned thereto.
[0041]
(5) Further, during the tracking, based on the system data, for each buffer position between each component in the system, an amount by which the duration of the state of the idle component changes due to the change of the buffer; A statistical value calculation step of calculating a statistical value including at least one of a time during which each buffer continues to be the cause element and a time during which each adjacent component adjacent to the idle component remains on the cause path The cause / path estimation method according to any one of (1) to (4).
[0042]
The “buffer” in this section and the following sections can be interpreted to mean a buffer that exists in the system, or can be interpreted to mean a buffer that exists potentially. In the latter case, for example, a position where a buffer can actually exist is specified.
[0043]
(6) In order for the element to be processed to generate a flow from the upstream side to the downstream side, a plurality of components to be processed with respect to the element to be processed are arranged according to a predetermined flow. A system performance improvement amount estimation method for estimating an improvement amount for a system, in which the performance of the system is improved by changing each buffer between components of the system,
Based on system data representing a change in state of each component in the system over time, a first change amount in which the number of processed elements existing in the buffer changes for each component, and in the buffer A first estimation step of estimating a second change amount in which the number of spaces in which the element to be processed can be temporarily accommodated changes,
Based on the estimated first and second change amounts, for each component, a third change amount in which the number of processed elements that can be used by each component changes due to the change of the buffer; A second estimation step of estimating a fourth amount of change in which the number of spaces available to each component changes due to the change of the buffer;
A first idle time change amount in which the idle time of each component changes due to a change in the number of available processed elements for each component based on the estimated third and fourth change amounts And a third estimation step for estimating a total value of a second idle time change amount that changes due to a change in the number of available spaces,
A fourth estimation step for estimating the improvement amount by summing the estimated total values for all the components;
System performance improvement amount estimation method including
[0044]
In this method, (a) the first change amount in which the number of processed elements existing in the buffer changes, and (b) the number of spaces that can temporarily store the processed elements in the buffer change. A second variation, (c) a third variation in which the number of processed elements available to each component changes due to the buffer change, and (d) a number of spaces available to each component. Based on the fourth change amount that changes due to the buffer change, an improvement amount of the system performance due to the buffer change is estimated.
[0045]
Further, in the method according to this section, the first to fourth change amounts to be used for estimating the improvement amount are performed based on the system data.
[0046]
Therefore, according to this method, it is possible to estimate the amount of improvement in the system performance caused by the buffer change without depending on a large number of simulation iterations. Therefore, the estimation can be performed efficiently in a short time. It becomes easy.
[0047]
Here, the “first change amount” can be defined as an amount by which the number of elements to be processed existing in the buffer changes due to, for example, a change in the buffer. “Change amount” can be defined as, for example, an amount by which the number of spaces that can temporarily accommodate the processing target element in the buffer changes due to a change in the buffer.
[0048]
(7) The system performance improvement amount estimation method according to (6), wherein the second estimation step estimates the third and fourth change amounts based on the statistical value in the item (5).
[0049]
(8) The first estimation step includes
Based on the representative bottleneck probabilities for all components upstream of each buffer and the representative bottleneck probabilities for all components downstream of the plurality of components, the buffers The system performance improvement amount estimation method according to item (6) or (7), wherein at least one of a full rate and a depletion rate is estimated, and the first and second change amounts are estimated based on the estimated value.
[0050]
The “bottleneck probability” in this section can be defined, for example, as the ratio of the length of time each component in the system is active to the total time (eg, total analysis time for the system) . The bottleneck probability defined in this way means, for example, a bottleneck period occupancy rate in which a bottleneck period in which each component in the system functions as a bottleneck occupies the entire time. An example of a method for calculating the bottleneck period occupation rate is described in Japanese Patent Application No. 2002-81077 of the present applicant.
[0051]
(9) A program executed by a computer to implement the method according to any one of (1) to (8).
[0052]
If this program is executed by a computer, the same effect can be realized according to basically the same principle as in the method described in any one of the above items (1) to (8).
[0053]
This program can be interpreted to include not only a combination of instructions executed by a computer to fulfill its function, but also files and data processed by the computer according to each instruction.
[0054]
(10) A recording medium on which the program according to item (9) is recorded so as to be readable by a computer.
[0055]
If the program recorded on the recording medium is executed by a computer, basically the same effect can be realized according to the same principle as in the method described in any one of the above items (1) to (8).
[0056]
The “recording medium” in this section can adopt various formats, for example, a magnetic recording medium such as a flexible disk, an optical recording medium such as a CD and a CD-ROM, a magneto-optical recording medium such as an MO, and an ROM. At least one of removable storage and the like can be employed.
[0057]
(11) A system analysis apparatus that performs the method according to any one of (1) to (8) using a computer.
[0058]
According to this apparatus, the same effect can be realized in accordance with basically the same principle as in the method described in any one of the items (1) to (8).
[0059]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, one of more specific embodiments of the present invention will be described in detail with reference to the drawings.
[0060]
A buffer prediction method according to an embodiment of the present invention will be described briefly. As illustrated conceptually in a flowchart in FIG. 1, a discrete event system having a plurality of components (hereinafter simply referred to as “system”). 2 includes a cause / path estimation step of estimating a cause element that is a component that constitutes a cause of causing each component element to be in an idle state and a cause path that causes the cause to spread to each component element. This buffer prediction method can be restated as a buffer laying effect prediction method.
[0061]
This buffer prediction method further includes a buffer change (change position or change amount) in the system and a staging time (continuation time of parts shortage state) or blocking time (continuation time of parts unloadable state) of each component. It includes a reduced starving / blocking time estimation step that estimates the amount of reduction in starving time or blocking time from buffer changes according to a time independent mathematical relationship with the amount of reduction.
[0062]
The buffer prediction method further includes a buffer optimization step of optimizing the buffer allocation (with respect to installation position and buffer capacity) to the system.
[0063]
The system is composed of a plurality of elements that perform various actions. This system does or does not contain the object to be processed that does not act. The element can act on the object to be processed by, for example, processing (deforming) or conveying the object to be processed. Elements can also act on other elements.
[0064]
An example of such a system is for a production line. The object to be processed there is a part to be processed, that is, combined, deformed or separated. The element that performs the process is a machine that performs the process.
[0065]
However, the elements are not only those that deform the object to be processed. There may also be elements that carry the object to be processed, such as automated guided vehicles or workers. Some elements can be serviced against other elements, for example, as a repair team that repairs other elements when necessary. Furthermore, other elements can be used to carry the object to be processed into the system and to remove the object to be processed from the system. Finally, some elements can be utilized for some combinations of the above mentioned applications.
[0066]
Although the elements described above are general, the present invention can be applied to other elements not described here.
[0067]
Usually all of these elements are limited by the number of actions that can be performed in a certain amount of time. Thus, the entire system is limited by the number of parts that can pass through the system in a certain amount of time. Some factors have a greater impact on the overall system performance than others. In this embodiment, the effect of various factors on the overall system performance is measured. In many cases, some factors are more than others and limit the overall system throughput (throughput). These elements are commonly referred to as bottlenecks or constraints.
[0068]
In this embodiment, the operating system is observed to obtain the necessary information. This observation is performed, for example, by looking at the production line or collecting simulation data. The necessary information is a list of data (time-series data) for each element, and indicates the state of each element in each period in detail.
[0069]
FIG. 2 shows an example of the state of a machine (for example, a processing machine) during a certain period of time. The machine operates on a part for some period, waits for a new part as an example of a staging state, which is an example of an idle state in another period, and waits on the unloading side in another period. The queue is full because the queue is full, waits for all processed parts to be ejected, and fails for another period to be repaired.
[0070]
Here, the blocking state means that, for example, a device following the machine, such as a buffer, another machine, or a conveyor belt, cannot handle the part in an operating state, so that the machine carries out the finished part. It means a state that can not be.
[0071]
FIG. 3 shows an example of a data set for various machines. In this example, a machine name and time are given for each change in machine state. In the figure, the state 0 is the operating state, the state 1 is the staging state, the state 2 is the blocking state, and the state 3 is a state where a failure occurs and self-repair is being performed. The list of data shown in the figure is necessary for carrying out this embodiment.
[0072]
The theoretical background and specific method of this buffer prediction method will be described.
1 Simulation example
[0073]
FIG. 4 conceptually shows a block diagram of an example of a system in which this buffer prediction method is implemented. This buffer prediction method is implemented based on the temporal behavior of the system analyzed by a single computer simulation (or obtained by measuring a real system). Therefore, the example illustrated in FIG. 4 is also an example of a simulation target.
[0074]
Here, the term “simulation” is, for example, “a process of simulating an entity and changing a model expressed in a computer program language in time series, thereby acquiring information on the dynamic behavior of the entity”. Can be defined as In this way, the simulation can be considered as a time-dependent process.
[0075]
The above system example is a production system, and includes seven machines with names M1 to M7 as shown in FIG. These machines flow along a production line constituted by an upstream straight portion, a branch portion branched into two flows, and a downstream straight portion.
[0076]
Furthermore, in this production system, nine buffer positions are set in front of or behind each machine. The buffers installed in front of the machines M3, M5 and M6 are labeled BM3, BM5 and BM6, respectively, whereas they are installed behind the machines M1, M2, M3, M4, M5 and M6. The buffers are labeled AM1, AM2, AM3, AM4, AM5 and AM6, respectively. In this production system, the first machine M1 is never starved and the last machine M7 is never blocked.
[0077]
In this production system, the cycle time of the machine is constant, but the machine is irregularly delayed by exponentially distributed failure times. When a simulation was performed on this production system using a certain simulation software, the time was 500 days for the simulation.
[0078]
In this production system, the machine M3 is a main bottleneck, and the machines M2, M5, and M6 are secondary bottlenecks, and the system is well balanced. In that system, one part is completed every 55.7 s (seconds), that is, an average of 64.7 parts are completed per hour.
[0079]
2 Buffer prediction model
[0080]
This buffer prediction method is implemented assuming a buffer prediction model. This buffer prediction model is constructed for the purpose of estimating the effect on the processing capacity of the system due to the increase in the size of the buffer.
[0081]
2.1 Overview of buffer prediction model
[0082]
A method for predicting the effect of changing the buffer size in the production system will be briefly described briefly. FIG. 5 is a flowchart showing an outline of the buffer prediction model, and further describes some symbols used in the buffer prediction method. 69 and 70 show definitions of these symbols.
[0083]
Prior to implementing this buffer prediction method, it is necessary to perform statistical analysis on the initial system many times. This analysis includes (a) basic statistical analysis to determine machine availability, initial system performance, and machine latency (also referred to as “idle time”) distribution; b) There is bottleneck detection analysis for determining the bottleneck probability that each component of the system acts as a bottleneck.
[0084]
The buffer prediction method further includes a cause factor of machine staging and blocking, a block / starve (meaning “block or starve”, and the same shall apply hereinafter) and a cause / factor of the block / starve. In order to identify the buffer in between, it is necessary to analyze the events of starving and blocking.
[0085]
After completion of this initial statistical analysis, the buffer capacity can be selected and changed. This can be done by an analyst or automatically by an optimization program. Based on the probability of bottlenecks and other information, the average number of parts and average number of spaces in the modified buffer are estimated.
[0086]
There are many methods that can be used to make this estimation. In this embodiment, the average added number of parts / spaces in all buffers (meaning “parts or spaces”; the same applies hereinafter) and Based on the cause of machine blocking and stubbing, for each machine i, an additional amount of average parts ΔFi and an additional amount of average empty space ΔEi are estimated.
[0087]
In the next step, the time proportion at which idle time is reduced is analyzed for all machines. This process is somewhat complicated and requires a lot of additional data, such as machine waiting time distribution, operating rate, unit action time (Time Per Part) which is the action time per part. The estimated decrease in machine idle (blocked or starved) time is then summarized into an estimate of the decrease in system performance by using the bottleneck probability. This ultimately makes it possible to predict the overall system performance of the modified system.
[0088]
2.2 Causes of starving or blocking
[0089]
The buffer is intended to reduce machine blocking and staging periods and to facilitate the flow of objects in the system. Then, in the first step, the cause of the blocked or starved machine is determined.
[0090]
To know the effectiveness of the buffer, it is necessary to know which machine is starved or blocked by insufficient buffer capacity. Thus, all blocking and staging events are followed to determine the blocking and staging path as well as the elements that make up the cause of the block or stave. Before detailing the overall buffer prediction method, we first introduce a list of some case studies.
[0091]
2.2.1 Case study
[0092]
2.2.1.1 Straight line
[0093]
The simplest case is a straight line. FIG. 6 shows a simple line with three machines M1, M2, M3 and two buffers B1, B2.
[0094]
Obviously, the block in machine M2 is due to buffer B2. However, the buffer B2 is not necessarily the original cause of the block. If buffer B2 is full, the block is caused by the last machine M3 on the same line. Thus, the block in machine M2 is caused by machine M3 via buffer B2.
[0095]
However, there is also the possibility that buffer B2 is not full and only the speed of that buffer B2 causes a slight delay of machine M2. In this case, the block is attributed to buffer B2.
[0096]
Similar logic can be used to analyze the staging of machine M2. When machine M2 is starved, it will be attributed to buffer B1. If buffer B1 is empty, the stave is attributed to the first machine M1. If the buffer B1 is not empty, the stave may be attributed to that buffer B1 due to the insufficient speed of the buffer B1.
[0097]
2.2.1.2 Branched line
[0098]
If the line is branched, the overall approach becomes more complex. FIG. 7 shows a branching system with four machines. No buffer is set for simplicity. If machine M1 is blocked, the block may occur via machine M2 or machine M3, or both, and is due to any of the following three machines M2, machine M3, and machine M4. there's a possibility that.
[0099]
If blocking is due to machine M4, it is important not only to determine the causal element of the block, but also to determine the path of the block. For example, if the machine M1 is blocked by the machine M4 via the machine M2, the machine M3 is not related to the block of the machine M1, so the improvement of the buffer around the machine M3 is not necessarily the processing capacity of the line. It will not improve.
[0100]
2.2.1.3 Reverse blocking
[0101]
For more complex cases, a machine may be blocked by another machine, which may be in parallel or upstream rather than downstream from the machine.
[0102]
In the example of FIG. 8, machine M1 and machine M2 supply parts for machine M3, and machine M3 requires parts from both machine M1 and machine M2 to work (eg, Machine M3 assembles parts from machine M1 and parts from machine M2).
[0103]
If machine M1 is blocked, machine M3 cannot receive parts from machine M1. This may be because the machine M3 is in operation. However, machine M3 may be starved because it cannot receive parts from machine M2. Thus, the block in machine M1 is attributed to machine M2, that is, the cause of that block may be traced downstream from machine M1 to machine M3 and then back to machine M2 upstream. .
[0104]
2.2.1.4 Reverse staging
[0105]
As shown in FIG. 9, a similar case is observed even in the stubbing state. Machine M2 may be starved because machine M1 is blocked by machine M3. Therefore, the stave of machine M2 is attributed to machine M3.
[0106]
2.2.2 General theory of blocking and staging
[0107]
The logic for tracing the events of starving and blocking upstream or downstream will be described in detail. While that logic applies to most cases, there are situations where the exact cause of a block or stave is sometimes not determined. The logic described below allows the best estimation, but sometimes requires more information to determine the exact cause. Also, if multiple upstream or downstream machines or buffers are available, a ranking is performed to determine the most probable cause of blocking or staging.
[0108]
2.2.2.1 General theory of stubbing
[0109]
There are basically six possibilities for upstream objects. FIG. 10 shows an explanation of the notation of FIG. 11 and FIG.
[0110]
Assuming that one machine has been starved, there is one object (buffer or machine) upstream of the starved machine. FIG. 11 shows five possible objects. These objects are as follows.
[0111]
Starving situation (1)
[0112]
The upstream object is also a starved machine. In this case, the cause investigation of stave must continue upstream.
[0113]
Starving situation (2)
[0114]
The upstream object is an empty buffer. In this case, the staging cause investigation must continue upstream by determining the cause of the empty buffer.
[0115]
Starving situation (3)
[0116]
An upstream object is a machine in an active state. In this case, starving is caused by the machine in its working state. In this case, the investigation of the cause of starving is completed.
[0117]
Starving situation (4)
[0118]
The upstream object is a blocked machine. In this case, stubbing is caused by the blocked upstream machine, and therefore the blocked machine must be followed downstream to determine the ultimate cause of that staging.
[0119]
Starving situation (5)
[0120]
The upstream object is a buffer that is neither empty nor full. In this case, it is never clear, but it is in the process of shipping the part to the machine where the buffer is starved, but because of its insufficient buffer speed, the buffer (not empty) has caused the downstream machine to star. Assume. In this case, the staging cause investigation is completed.
[0121]
2.2.2.2 General theory of blocking
[0122]
Similar to the case of single machine staging by an upstream machine, a single machine can be blocked by a downstream object. FIG. 12 shows five basic possibilities for the blocking situation.
[0123]
Blocking situation (1)
[0124]
The downstream object is also a blocked machine. In this case, the investigation of the cause of blocking must continue downstream.
[0125]
Blocking situation (2)
[0126]
The downstream object is a full buffer. In this case, the cause of blocking must be continued downstream by determining the cause of the full buffer.
[0127]
Blocking status (3)
[0128]
A downstream object is a machine in an active state. In this case, blocking is caused by the machine in action. In this case, the cause investigation of the blocking is completed.
[0129]
Blocking status (4)
[0130]
The downstream object is a starved machine. In this case, blocking is caused by the starved downstream machine, and therefore the starved machine must be traced upstream to determine the ultimate cause of blocking.
[0131]
Blocking status (5)
[0132]
The downstream object is a buffer that is neither empty nor full. In this case, it is never clear, but the buffer is in the process of receiving parts from the blocked machine, but due to its insufficient buffer speed, the buffer (which is never full) will block the upstream machine. Assuming that In this case, the cause investigation of the blocking is completed.
[0133]
2.2.2.3 Ranking of starving
[0134]
A single machine does not have only one upstream or downstream object as a causal factor for its staging, but a plurality of objects on the upstream and downstream sides (for example, one A plurality of facilities having a parallel relationship with each other). In this case, an algorithm must be used to investigate the cause of starving.
[0135]
For the investigation, a plurality of machines on the upstream side and the downstream side are ranked. The weighting method is used when one or more identical objects exist on the upstream side. For example, if there are two machines that stir a machine upstream of it, both of which are in action, it is determined that the two machines have half the cause of the stave. The Ranking is performed for a plurality of objects upstream of the machine being starved as follows.
[0136]
Rank 1: Starving situation (1)
[0137]
If another starved machine is present upstream, follow the starved machine upstream. When there are a plurality of machines that have been starved on the upstream side, each of them is traced and the same weight is given to those paths.
[0138]
Rank 2: Starving situation (2)
[0139]
If an empty buffer exists on the upstream side, the empty buffer is traced upstream. Again, if there are a plurality of empty buffers on the upstream side, each of them is traced and the same weight is given to those paths.
[0140]
Rank 3: Starving status (3)
[0141]
If there is a machine in action upstream, stubbing is caused by the machine in action. When there are a plurality of machines in the active state on the upstream side, they follow each of them and give the same weight to their routes.
[0142]
Rank 4: Starving status (4)
[0143]
If a blocked machine is present upstream, the blocked machine is traced downstream to investigate the cause of blocking, which is also the cause of starving. When there are a plurality of blocked machines on the upstream side, each of them is traced and the same weight is given to those paths.
[0144]
Rank 5: Starving situation (5)
[0145]
If a non-empty buffer is present upstream, the machine in question is starved due to the speed of the upstream buffer. When there are a plurality of non-empty buffers on the upstream side, each of them is traced and the same weight is given to those paths.
[0146]
Thus, for example, if the active machine and the starved machine are upstream, the algorithm ignores the active machine (rank 3) and the starved machine (rank 1) upstream. Trace towards If two objects have the same rank, the exact cause cannot be determined, but both objects will be traced and there may be two causative factors of starving.
[0147]
2.2.2.4 Ranking blocking
[0148]
Similar to the starving situation, each object is ranked in the blocking situation. When there are a plurality of objects on the downstream side, the ranking is performed as follows.
[0149]
Rank 1: Blocking status (1)
[0150]
If there is another blocked machine downstream, follow the blocked machine downstream. When there are a plurality of blocked machines on the downstream side, each of them is traced and the same weight is given to the paths.
[0151]
Rank 2: blocking status (2)
[0152]
When an empty buffer exists on the downstream side, the empty buffer is traced downstream. When there are a plurality of empty buffers downstream, each of them is traced and the same weight is given to those paths.
[0153]
Rank 3: Blocking status (3)
[0154]
If there is a machine in action downstream, the blocking is caused by the machine in action. When there are a plurality of machines in the operating state on the downstream side, they follow each of them and give the same weight to their paths.
[0155]
Rank 4: Blocking status (4)
[0156]
If a starved machine is present downstream, the starved machine is traced upstream to investigate the cause of stubbing, which is also the cause of blocking. When there are a plurality of machines that are starved on the downstream side, each of them is traced and the same weight is given to the paths.
[0157]
Rank 5: Blocking status (5)
[0158]
If a non-empty buffer is present downstream, the machine in question is blocked due to the speed of the downstream buffer. When there are a plurality of non-empty buffers on the downstream side, each of them is traced and the same weight is given to those paths.
[0159]
2.2.3 Causes of blocking and stubbing
[0160]
The production system we are focusing on this time was analyzed to determine the cause of blocking and staging of all machines. FIG. 13 shows the probability that each machine is starved by another machine.
[0161]
FIG. 13 shows the percentage of time in which one machine (on the coordinate axis at the right side of the figure) was starved by another machine (on the coordinate axis at the bottom of the figure). The ratio of occupying the analysis time) is shown as a percentage. For example, noting the maximum stirability (highest pillar), machine M4 was starved by machine M3 at a time rate of about 26 percent. This is not surprising since machine M3 is the bottleneck of the system and machine M4 is much faster than machine M3 in this production system.
[0162]
Even more interesting is the staging of machine M3. Machine M3 was the main bottleneck of the system and was starved by the upstream machine M2 at a rate of approximately 2 percent. However, machine M3 was also starved by machine M5 at a rate of about 2.1 percent. However, the machine M5 does not exist upstream or downstream of the machine M3. Instead, machine M5 is on a path in parallel with machine M3. This means that machine M3 was starved by machine M2, which was blocked by machine M5. In some cases, machine M5 blocked machine M2, causing machine M3 to be starved by machine M6 and even machine M7 (at 0.8 percent and 0.7 percent time rates, respectively). .
[0163]
Similarly, machine M5 is not only starved by upstream machine M2 (at a rate of 3.2 percent) but also starred by machine M3 in parallel (at a rate of 1.9 percent). It was.
[0164]
FIG. 14 shows the probability that each machine is blocked by another machine. For example, machine M1 is blocked by a subsequent machine M2 (31 percent time percentage) and machine M6 is blocked by a downstream machine M7 (27 percent time percentage) for most of the total analysis time. . In this simulation, blocking due to stubbing in parallel paths does not occur.
[0165]
2.2.4 Blocking and staging paths
[0166]
The behavior of blocking and starving can also be expressed as shown in FIGS.
[0167]
FIG. 15 shows a path for generating blocking and a path for generating staring for the machine M3. Of all staging times, about 30 percent is attributed to machine M2, and about 60 percent is attributed to or through machine M5. Machine M5 generates 30 percent of the staging time of machine M3, and machine M6 and machine M7 each generate 15 percent of stubbing time by passing through machine M5.
[0168]
Machine M3 is further blocked from time to time. All blocking passes through machine M4, but there is little blocking due to machine M4. Instead, machine M3 is mostly blocked by machine M7 and further blocked by machine M6.
[0169]
In FIG. 16, a similar graph is created for the machine M5. Machine M5 is not only stared by upstream machine M2, but is also starved by machine M3 in parallel with it and is also starved by machine M4. Downstream blocking is due to machine M6 and machine M7 only, as expected.
[0170]
2.2.5 Briefing on blocking and staging
[0171]
The increase in buffer reduces the blocking and staging of associated machines. The above section details which buffers potentially affect machine blocking and staging. Theoretically, a large number of buffer positions can be taken. For simplicity of explanation, the algorithm assumes that buffers can be placed immediately before and after each machine. There are a total of four modes in which one buffer relaxes another machine. These four modes are listed next and are further tabulated in FIG.
[0172]
Mode 1
[0173]
Increasing the capacity of the empty buffer reduces the blocking of another machine (eg, in FIG. 15, increasing the buffer capacity in buffer AM4 reduces the blocking of machine M3).
[0174]
Mode 2
[0175]
Increasing the empty buffer capacity decreases the staging of another machine (eg, in FIG. 16, increasing the buffer capacity in buffer BM3 decreases the staging of machine M5).
[0176]
Mode 3
[0177]
Increasing the number of parts in the buffer reduces the blocking of another machine (eg, in FIG. 8, increasing the number of parts in the buffer AM1 behind machine M1 reduces the blocking of machine M2). .
[0178]
Mode 4
[0179]
Increasing the number of parts in the buffer decreases the staging of another machine (eg, in FIG. 15, increasing the number of parts in the buffer BM3 decreases the staging of the machine M3).
[0180]
Thus, when analyzing the blocking and staging situations, the percentage of time that one buffer position affects another machine is determined. The time ratios are shown in tables in FIGS. 18 to 21 for the above-described modes 1 to 4, respectively. The results shown in FIG. 18 to FIG. 21 are obtained by the computer 20 executing the routine shown in FIG.
[0181]
FIG. 18 shows the time ratio (the ratio of the blocked time to the total time. Hereinafter, also simply referred to as “time ratio”) for each mode. May be reduced if more free space is available in the buffer.
[0182]
For example, machine M1 is blocked at a time rate of 46.1 percent. Each time the machine M1 is blocked, the block passes through its adjacent buffer AM1. If free space available for this buffer AM1 is added, the blocking of the machine M1 is reduced.
[0183]
However, machine M1 is blocked only at a time percentage of 4.4 percent, and that block passes through buffer BM3. By adding available space to the buffer BM3, it is possible to reduce only 4.4% of the unloading time interval TBP of the machine M1 by reducing the blocking time. Let PBEBj, i represent the percentage of time that the empty space in buffer j reduces the blocking of machine i.
[0184]
In addition, the unloading time interval TBP means the time interval between the moment when one preceding processed component is unloaded from a certain machine and the moment when one subsequent processed component is unloaded. Also called unloading part interval. However, the unloading time interval for each machine does not necessarily match the unloading time interval for the entire system.
[0185]
FIG. 19 shows, for mode 2, the percentage of time each machine is starved, which can be reduced if more free space in the buffer becomes available. This phenomenon sometimes occurs in a branching system, where one machine is starved because another machine is blocked and another machine's starving is reduced if the blocking of another machine is reduced. Decrease.
[0186]
For example, because machine M2 is blocked by buffer BM5, machine M3 is starred at a time rate of 3.4 percent. The effect that the empty space in buffer j has on the stave of machine i is called PBESj, i.
[0187]
FIG. 20 shows the percentage of time each machine is blocked for mode 3, with the block decreasing as more parts are available in another buffer. This phenomenon sometimes occurs in a branching system, where one machine is blocked because another machine is starved, and when another machine's starve is reduced, that machine's Block is reduced.
[0188]
However, the described example does not show such an effect, and each value in the table of FIG. The effect that the increase in the number of parts in the buffer j has on the blocking of the machine i is represented by PBFBj, i.
[0189]
FIG. 21 shows the percentage of time that each machine is starved for mode 4, and that block may decrease as more parts are available in another buffer. For example, machine M6 is starved at a rate of 6.5 percent through buffer AM4. The effect that the increase in the number of parts in the buffer j has on the staging of the machine i is referred to as PBFSj, i.
[0190]
3.3 Effective buffer size
[0191]
The above describes how an increase in the number of parts or the capacity of the buffer affects the idle time of another machine. However, in the buffer, the number of parts or available capacity is not infinite. First, most buffers are limited by size. Secondly, the number of parts or available buffer space is actually dependent on the average number of parts in the buffer and the size of the buffer.
[0192]
For example, in the production system shown in FIG. 4, the buffer AM1 affects the blocking of the machine M1. Adding free space in the buffer AM1 reduces the possibility of the machine M1 being blocked. However, the buffer AM1 is almost always full. Even if the buffer space is increased by a small amount, the space is almost immediately filled, and the machine M1 is not changed when the long-time behavior is observed.
[0193]
Therefore, in order to estimate the average number of free spaces and the average number of available parts, it is necessary to determine the average number of parts in the buffer. For example, if the buffer AM3 has a size of 10 and has an average number of parts of 4, this means that on average 4 parts are available for the machine M4, On average 6 spaces (subtracting 4 parts from 10 capacities) mean that the machine M3 is available for unloading parts.
[0194]
As shown by an equation in FIG. 22, an average full rate at which a certain buffer j is full is indicated as PBFj, and the relationship between the average full number of parts BFj in the buffer is configured using the buffer capacity BCj. According to this equation, the average number of parts BFj is calculated for the buffer j by the product of the average fullness rate PBFj and the buffer capacity BCj. This equation also shows the relationship between the average depletion rate PBEj in which the buffer j is empty and the average number of free spaces BEj in the buffer. According to this equation, the average free space number BEj is calculated by the product of the average depletion rate PBEj and the buffer capacity BCj.
[0195]
In this equation, the relationship between the average fullness rate BFj and the average depletion rate PBEj and the relationship between the average number of parts BFj, the average number of spaces BEj, and the buffer capacity BCj are also shown.
[0196]
In addition, some mathematical expressions used in the present embodiment include those not using time as a variable and those using time as a variable. When a mathematical expression that does not use time as a variable is used, a solution can naturally be obtained without performing a simulation that simulates the system in time series. In contrast, in this embodiment, a mathematical expression using time as a variable expresses a statistical rule. Therefore, this mathematical expression is also solved without performing a simulation that simulates the system in time series. Can ask for.
[0197]
Therefore, in the present embodiment, all necessary solutions can be obtained without such a simulation, and the computer calculation time for system analysis can be greatly reduced.
[0198]
3.3.1 Experimental analysis
[0199]
There are two basic approaches to determine the average number of parts in the buffer. The simplest approach is simply to measure the average number of parts in the buffer. This is the simplest method of measuring to determine the average number of parts in a buffer, assuming that a measurable buffer exists in the simulation. This technique does not work when the buffer size is zero.
[0200]
Furthermore, in some systems, the average number of parts in the buffer may change as the buffer size increases. For example, FIG. 23 shows a histogram of the buffer AM3 when the buffer size is 1. The average number of parts in the buffer is 0.05 parts, or 5 volume percent (5 percent of the total volume).
[0201]
However, when the buffer size changes to 10, these values change. FIG. 24 shows a buffer with a size of 10 as a histogram. In this example, there are no more than six parts at any time. Thus, when the buffer size changes to 10, the average number of parts changes to 0.14 or 1.4 volume percent. Therefore, both the average number of parts and the capacity change. Therefore, when the buffer size is increased, it becomes more difficult to predict the number of available parts.
[0202]
3.3.2 Theoretical analysis
[0203]
The problem in experimentally analyzing the average part average in the buffer is that the buffer must be in the simulation. If there is no buffer, the average number of parts cannot be measured. It is therefore interesting to theoretically estimate the average number of parts in a buffer without actually measuring the actual buffer.
[0204]
In this buffer prediction method, the average number of parts in the buffer is estimated without actual buffer measurement values. This estimate is based on the bottleneck probability that a machine is a bottleneck in a system. The basic concept is that buffers upstream of the bottleneck tend to be full, while buffers downstream of the bottleneck tend to be empty.
[0205]
The average number of parts in the buffer can be estimated from the relationship between the bottleneck probabilities between the upstream side and the downstream side. The example used here is the example shown in FIG. FIG. 25 shows the bottleneck probability for an initial system with almost all buffer capacities of 0 or 1 (total bottleneck probability, ie, the probability that a machine is a bottleneck alone and The sum of the probability that the bottleneck is a shifting bottleneck that shifts) is shown in the table.
[0206]
Assume the following example for buffer AM1. The first step in the present technique is to calculate the total value of the bottleneck probabilities for the upstream side and the downstream side of the buffer AM1.
[0207]
The upstream bottleneck probability is simply the bottleneck probability of machine M1, which is 0 percent. Therefore, the total value of the upstream bottleneck probability is 0 percent.
[0208]
As shown in FIG. 26, the downstream bottleneck is slightly more complicated than the upstream bottleneck because the current system branches behind the machine M2. Currently, the branching part is combined with a technique of reducing the weight of the branched bottleneck to ½ and tracing each branch to the end. Therefore, the total value of the downstream bottleneck probabilities is equal to the bottleneck probability of the machine M2 and 1/2 the bottleneck probability (weighted bottleneck probability) for the first branch M3-M4-M6-M7. It is the sum of the bottleneck probability ½ (weighted bottleneck probability) for the second branch M5-M6-M7.
[0209]
The bottleneck probabilities for machine M6 and machine M7 are weighted as ½ at their respective branches, so they are used to calculate the total bottleneck probabilities for these machines M6 and M7. Therefore, the total value of the downstream bottleneck probabilities (total weighted bottleneck probability) of the buffer AM1 is M2 + (M3 + M4 + M6 + M7) / 2 + (M5 + M6 + M7) / 2 = 121 percent. This total value can exceed 100 percent because it includes both shifting bottleneck effects and single bottleneck effects.
[0210]
Therefore, the fullness rate Z of the buffer AM1 is obtained by setting the downstream bottleneck probability Y (the sum of the bottleneck probability of M2 and the weighted bottleneck probability for (M3 + M4 + M6 + M7) and the weighted bottleneck probability for (M5 + M6 + M7)) to the upstream bottle. It is estimated as the result of dividing by the total value of the neck probability X (bottleneck probability of M1) and the downstream bottleneck probability Y. The relationship between those three is
Z = Y / (X + Y)
It is represented by Thus, in this example, buffer AM1 is estimated to be nearly 100 percent full.
[0211]
On the other hand, the fullness ratio Z of the buffer BM1 is estimated as the upstream bottleneck probability X divided by the total value of the upstream bottleneck probability X and the downstream bottleneck probability Y. The relationship between those three is
Z = X / (X + Y)
It is represented by
[0212]
In FIG. 27, the estimated value (predicted value) is shown in a table with respect to the buffer fullness rate while being compared with the measurement result (actual value). The measurement result is caused by the configuration of various types of buffers, and does not include the effect that the change of the system has on the bottleneck probability and thus on the estimated value of the buffer. For some buffers, no measurements have been taken.
[0213]
In FIG. 28, the relationship between the buffer size and the average number of parts for a plurality of buffers is shown in a plurality of graphs in comparison with the measured value and the predicted value. However, the scales of these graphs are not all the same.
[0214]
The measured values and predicted values shown in FIG. 28 are based on the bottleneck probability of the initial system (the system before the buffer capacity is increased). The prediction model from which these prediction values are derived is based on the simulation default settings (buffers AM1, AM2, AM3, BM6 and AM6 have a capacity of 0 and buffers BM3, AM4, BM5 and AM5 have a capacity of 1). ing.
[0215]
It can be seen that this prediction model is appropriate for most buffers. The predicted values for buffers AM2, BM3, BM5, and AM5 are accurate enough to be used in a model that analyzes the buffer throughput.
[0216]
3.3.2.1 Prediction error due to change in bottleneck probability
[0217]
When the buffer size changes greatly, the bottleneck probability changes. Since the average number of parts in the buffer is based on the bottleneck probability, the predicted value of the average number of parts in the buffer also changes.
[0218]
FIG. 29 shows a table of bottleneck probabilities (overall bottleneck probabilities, that is, total values of single bottleneck probabilities and shifting bottleneck probabilities) for two types of buffer configurations. In the initial buffer (buffers AM1, AM2, AM3, BM6 and AM6 have a capacity of 0 and buffers BM3, AM4, BM5 and AM5 have a capacity of 1), machine M3 has a bottleneck probability of 62 percent. Machine M2, Machine M5 and Machine M7 are also important secondary bottlenecks with bottleneck probabilities in the range of 20 percent and 30 percent.
[0219]
The rightmost column in FIG. 29 shows the bottleneck probabilities for the buffers AM2, BM3, AM3, AM4, BM5, and AM5 whose capacity has been increased to 20. In this case, clearly, machine M3 is the main and only bottleneck with a 99% bottleneck probability and the remaining machines are less important bottlenecks with a bottleneck probability of 2% or less.
[0220]
FIG. 30 tabulates the buffer fullness measurements and predictions for both the initial system and the system with the buffer increased in capacity. As the bottleneck probability has changed, the buffer fullness has also changed.
[0221]
FIG. 28 is compared with FIG. FIG. 31 also shows a comparison between the predicted value of the buffer fullness and the measured value. However, the predicted value is based on the bottleneck probability for the buffers AM2, BM3, AM3, AM4, BM5 and AM5 whose capacity has been increased to 20 (see the rightmost column in FIG. 29). Buffers AM2, BM3, BM5 and AM5 are fairly accurate, and buffers AM3 and AM4 are also close to true measurements.
[0222]
3.3.2.2 Prediction error due to decrease in average number of parts in buffer
[0223]
In the above prediction model, the average number of components in the buffer is given as a percentage of the buffer capacity (ratio of the number of components in the buffer). Therefore, calculation and comparison can be easily performed between different buffers.
[0224]
However, the percentage of parts in the buffer can vary as a function of buffer capacity. For example, in a simple queuing system with only one machine that has a machine capacity that exceeds the supply, the average number of parts in the buffer can be calculated. For example, if the machine can process 6 parts per hour (exponential distribution) and 5 parts per hour (exponential distribution) arrive, the average number of parts in the buffer is 4.2 Can be calculated as For large buffers (capacity> 15), the average number of parts in the buffer is always about 4.2.
[0225]
Accordingly, the ratio of the number of components in the buffer decreases as the buffer capacity increases and the number of components is maintained. Similarly, for small buffers, the in-buffer component ratio may increase due to the waiting time distribution in the queue.
[0226]
A description will be given by taking the buffer AM4 at the rear of the machine M4 as an example. Since this buffer has little effect on the performance of the system, this example is a convenient example for studying component counts for various buffer sizes without being interfered by changing bottlenecks.
[0227]
FIG. 32 shows the buffer as a histogram when the capacity is 5. The buffer rarely accommodates more than two parts and has no time to accommodate more than three parts. Therefore, buffer sizes greater than 3 remain unused.
[0228]
This is illustrated graphically in FIG. 33, where the average number of parts in the buffer for various buffer sizes is shown on the left scale. For buffer sizes greater than three, the average number of parts hardly changes. As the number of components is maintained and the buffer size increases, the ratio of the number of components in the buffer decreases. This is shown on the right scale in FIG.
[0229]
Therefore, the predicted value of the number of parts in the buffer for a specific buffer size may be significantly different from that for another buffer size. This potential error can reduce the accuracy of the prediction model.
[0230]
3.4 Effective buffer capacity
[0231]
Increasing the capacity of the buffer affects one or more machines.
[0232]
3.4.1 Effect ratio
[0233]
18 to 21, the ratio of the time that a buffer affects another machine that is blocking or starving (the amount of decrease in blocking time or staging time) to the total time, as a percentage of the total time. Has been taken into account. This to total time ratio is always less than or equal to the total probability that the machine will be blocked or starved.
[0234]
On the other hand, there may be a need for a blocking time / starving time ratio (effect ratio), which is a ratio of the time at which one buffer affects another machine to the blocking / starving time.
[0235]
This ratio blocks the ratio of the time that one buffer affects the blocking or staging of another machine (decreased blocking time or reduced staging time) to the total time (total analysis time of the system). Or it can be calculated by dividing by the ratio of the time to be starved to the total time.
[0236]
For example, machine M3 is blocked at a 6.1 percent to total time ratio. Furthermore, increasing the capacity of the buffer AM3 reduces the blocking of the machine M3 at a 6.1% to total time ratio. Thus, the buffer AM3 reduces the blocking of the machine M3 with a 100% blocking time ratio. Although the buffer AM6 reduces the blocking of machine M3 to the total time ratio is only 2.8 percent, this corresponds to a 45.9 percent to blocking time ratio.
[0237]
In FIG. 34, the ratio at which machine M3 blocking decreases as the capacity in the buffer position increases is tabulated with respect to the total time ratio and the blocking time ratio. Machine M3 is blocked at a 6.1 percent to total time ratio, and, of course, if the buffer capacity in buffer AM3 increases, its blocking will be at a 6.1 percent to total time ratio, That is, it decreases with a 100 percent blocking time ratio.
[0238]
To determine the effect ratio that a buffer has on another machine that is blocked or starved, the total data shown in FIGS. 18-21 (the time that blocking or starving is reduced by adding empty space or parts) Ratio of total time) must be divided by the corresponding ratio of the time that the machine is starved or blocked to the total time.
[0239]
As represented by the equation in FIG. 35, the ratio PBEB-Ej, i (effect ratio) of the time for which the machine i is blocked when the blocking is reduced by the empty buffer j to the blocking time is the empty in the buffer j. Is calculated by dividing the ratio PBEBj, i of the time for which the blocking of machine i is reduced by the space to the total time by the ratio PM-Bi of the time for which machine i is blocked to the total time.
[0240]
The same is true for the ratio PBES-Ej, i (effect ratio) of the time that machine i is starved and its staging is reduced by empty buffer j to the staging time, and machine i is blocked. The ratio of the time that blocking is reduced by a full buffer j to the blocking time PBFB-Ej, i (effect ratio), and the time that the staring is reduced by a full buffer j as the machine i is starved This is true for the ratio PBFS-Ej, i (effect ratio) to the staging time.
[0241]
In FIG. 35, PBESj, i represents the ratio of the time that the staging is reduced by the empty buffer j as machine i is starved to the total time, and PM-Si is the total of the staging time. It represents the ratio to time.
[0242]
Further, in FIG. 35, PBFBj, i means the ratio of the time that machine i is blocked and its blocking is reduced by a full buffer j to the total time. Furthermore, PBFSj, i means the ratio of the time that machine i is starved and its staging is reduced by a full buffer j to the total time.
[0243]
3.4.2 Typical value of adjacent buffer capacity
[0244]
As described above, the average number of parts in the buffer is determined by the depletion rate PBFj where the buffer j is empty and the full rate PBEj where the buffer j is full. Here, they are the ratios of the buffer capacity change ΔBj and the effects of various buffers that are full and empty on the blocking and staging of multiple machines PBEB-Ej, i, PBES-Ej, i, PBFB- It is necessary to combine with Ej, i and PBFS-Ej, i.
[0245]
The typical value of the adjacent buffer capacity is
A representative additional empty space number ΔBEB-Aj, i behind machine i due to an increase in empty space in buffer j;
A representative number of additional parts ΔBES-Aj, i in front of machine i due to an increase in empty space in buffer j;
A representative number of additional empty spaces ΔBFB−Aj, i behind machine i due to the increase in parts in buffer j;
Due to the increase in the number of parts in buffer j, the number of representative additional parts ΔBFS−Aj, i in front of machine i and
Are distinguished. This is represented by the equations in FIG. 36 for all four cases.
[0246]
For example, when the capacity of the buffer j at the rear of the machine i is added, the representative additional empty space number ΔBEB-Aj, i of the buffer j is reduced when the empty space is added in the buffer j. It is calculated by the product of the ratio PBEB-Ej, i of the time to the blocking time, the depletion rate PBEj of the buffer j, and the capacity change amount ΔBj of the buffer j.
[0247]
Further, when the capacity of the buffer j in front of the machine i is added, the representative number of additional parts ΔBES-Aj, i of the buffer j is reduced by adding an empty space in the buffer j. It is calculated by the product of the ratio PBES-Ej, i of the time to the staging time, the depletion rate PBEj of the buffer j, and the capacity change amount ΔBj of the buffer j.
[0248]
For example, if the space of the buffer AM3 is increased by 4 and the buffer AM3 is usually 23% of its maximum capacity (see FIG. 27), an average of 3.08 additional empty spaces in the buffer. There is space and 0.92 additional parts.
[0249]
Further, the addition of capacity in buffer AM3 affects the blocking of machine M3 at a 100 percent time rate, and this additional capacity can be used at a 100 percent time rate. Thus, if there are 3.08 additional empty spaces in the buffer AM3, the blocking of the machine M3 will be affected at a time rate of 100 percent, i.e. the 3.08 spaces will reduce the blocking of the machine M2. 100% effect on.
[0250]
However, if the space of the buffer BM6 is increased by four, the buffer BM6 is always filled to 26.2% of the capacity, so on average, 2.96 spaces and 1.04 parts are added. The Furthermore, buffer BM6 affects the blocking of machine M3 only at a time rate of 77.05 percent, and the addition of 2.96 spaces is valid by a time rate of 77.05 percent. This can be expressed as adding only 2.30 spaces (2.96 x 77.05 percent) immediately after machine M3 to alleviate the blocking of machine M3.
[0251]
Evaluate a representative number of parts / spaces in a buffer adjacent to that machine by combining the percentage of time that one buffer affects the blocking of another machine with the increase in buffer size and the number of parts in the buffer. It is possible. This calculation needs to be done for the full effect that the modified buffer has on the various machines with respect to the various ways that one buffer can affect another machine, as shown below.
・ Mode of reducing blocking by adding free space in the buffer
A mode in which stubbing is reduced by adding free space in the buffer
-Aspect where blocking is reduced by the addition of available parts in the buffer
A mode in which stubbing is reduced by adding available parts in the buffer
[0252]
3.4.3 Combination of effective buffer capacity
[0253]
By converting the effect that all buffer increments (including the increase in free space and the number of parts) have on various machines to the typical buffer size of the (virtual) buffers adjacent to those machines The typical adjacent buffer capacity can be added for each machine, distinguishing whether it is a blocked machine or a starred machine.
[0254]
The additional amount ΔEi that adds available space behind machine i to reduce blocking is a typical addition behind machine i due to the increase in empty space in buffer j, as shown in the equation in FIG. The total value of the number of empty spaces ΔBEB−Aj, i and the number of representative additional empty spaces ΔBFB−Aj, i behind the machine i due to the increase in the number of parts in the buffer j.
[0255]
On the other hand, the additional amount ΔFi of adding available parts in front of machine i to reduce stubbing is that of machine i due to the increase in empty space in buffer j, as represented by the equation in FIG. This is the total value of the number of representative additional parts ΔBES−Aj, i in front and the number of representative additional parts ΔBFS−Aj, i in front of the machine i due to the increase in the number of parts in the buffer j.
[0256]
For example, in FIG. 4, increasing the space of buffer BM3 by 4 represents 0.90 empty space adjacent to machine M2, and increasing the space of buffer BM5 by 4 is adjacent to machine M2. Given 1.67 empty spaces, these empty spaces are combined to give 2.57 total empty space available to reduce machine M2 blocking.
[0257]
Similarly, increasing the space of the buffer BM3 by 4 and increasing the space of the buffer BM5 by 4 respectively means that 0.36 additional parts and 0.37 are available for the machine M6. This means that these available parts are combined, and the total number of parts that can be used by the machine M6 is 0.73. In this case, this increase in the number of available parts is due to two different effects.
[0258]
That is, first, due to the increase in available parts in the buffers BM3 and BM5, downstream staging including the machine M6 having a representative number of adjacent parts of (0.26 + 0.10) = 0.36 is reduced.
[0259]
In addition, more upstream empty space in the buffers BM3 and BM5 reduces the upstream blocking, which in turn reduces the stagnation of the machines M3, M4 and M5 in the parallel branch in the system shown in FIG. There is a possibility to make it.
[0260]
For example, if space for buffer BM3 is added, buffer BM3 is less likely to star machine M5 by blocking machine M2, so the available space in buffer BM3 can star machine M6. The nature is also lowered. Thus, the additional number of parts available to machine M6 is expressed as (0.27 + 0.10) = 0.37, and eventually the total number of additional parts available to mitigate machine M6 staging. The value is 0.73 (= 0.36 + 0.37).
[0261]
All of the additional adjacent empty spaces that are representative can be added for the machine, and moreover, all the additional adjacent parts that are representative can be added for the machine. Is possible. However, the adjacent additional empty space, which is representative, and the adjacent additional part, which is representative, have different effects and are not combined.
[0262]
After this calculation, each machine has a total value for all buffers j (j = 1 tom) of the number of typical additional spaces behind the machine and all buffers of the number of typical additional parts in front of the machine. and the total value for j (j = 1 tom).
[0263]
FIG. 38 shows a table of typical additional space numbers and representative additional component numbers for an example in which the buffer capacities of the buffers BM3 and BM5 are increased to five components. This table shows that there is 0.81 additional empty space behind machine M1, 2.57 additional empty space behind machine M2, and additional parts in front of machine M3. 2.49 and so on. In the next step, the number of additional spaces and the number of additional parts are converted into estimated values of reduced idle time.
[0264]
3.5 Reduction waiting time (reduction idle time)
[0265]
In the next step, reduced waiting time and reduced blocking time are determined for various machines when the buffer size is increased. This determination requires measurements of latency distribution for various machines.
[0266]
3.5.1 Unit action time TPP (Time Per Part)
[0267]
The basic problem associated with latency is how much time is saved when one piece of space is added for continued operation, one part for a starved machine and one for a blocked machine. That is. In this algorithm, the unit action time TPPi is assumed to be a time during which one part is in an action state, and thus includes a repair time and a tool change time. Unit action time TPPi for machine i is
TPPi = TBPi · PM-Ai
It is calculated using the following formula. That is, the unit action time TPPi is calculated by multiplying the average value of the unloading time interval TBPi of the machine i by the action time ratio P-MAi that is the ratio of the time during which the machine i is in the action state.
[0268]
The state of the machine i is classified into an operation state and a non-operation state. The operational state of the machine i includes an operating state of the machine i and other operational states, for example, a repair state and a tool change state. On the other hand, the non-operating state of the machine i includes a blocking state and a staging state, both of which are idle.
[0269]
The time during which the machine i is in the operating state is referred to as cycle time. Therefore, the unit action time TPP is expressed as the sum of the cycle time and the time when the machine i is in the action state except the operating state, and the unloading time interval TBP is a state where the unit action time TPP and the machine i are not acting. It is expressed as the sum of the time in
[0270]
In FIG. 39, the average carry-out time interval TBPi, the action time ratio PM-Ai, and the average unit action time TPPi are shown in a table for each machine. For example, when one available part is added to the starved machine M4, the machine M4 further operates for 103.4 s (seconds). Similarly, adding one available space to the blocked machine M1 will cause this machine M1 to operate for an additional 30s.
[0271]
3.5.2 Waiting time distribution
[0272]
The present algorithm is applied to all machine events, distinguishing starving time and blocking time from each other, so that the duration of the waiting time, which is starving time or blocking time, is determined. These data are expressed as a random distribution function, that is, a probability density function. The function is expressed as pdfM-Bi (t) and pdfM-Si (t) as probability density functions for the blocking and staging times of machine i. Their distribution is a function of time t.
[0273]
A standard distribution function (for example, an exponential function) may be used as the distribution function. However, it is usually easier and more accurate to define a special distribution function defined by the acquired data. That is, a probability density function pdf or a cumulative density function cdf can be defined by adapting a distribution function from a statistical textbook to the acquired data or simply using the acquired data to define this distribution. That's it. The approach of simply using the acquired data seems simple and accurate. In FIG. 40, a cumulative density function of a plurality of waiting times selected is shown in a graph.
[0274]
It is possible to estimate how much of the idle time will be reduced by adding available parts to reduce starving time or adding available space to reduce blocking time. is there. For example, when one free space is added to the machine M3 on average, the machine M3 can be operated for one cycle time, that is, 147s longer as shown in the above formula.
[0275]
If this information is combined with the distribution of the blocking time of the machine M3, it is possible to estimate the reduced blocking time. The equation shown in FIG. 41 is a mathematical calculation of the reduction ratio PΔTi of the unloading time interval TBPi for the machine i, and the distribution of the blocking time and the staging time, and the number of available spaces behind the machine i ΔEi. And the number of available parts ΔFi in front of the machine i, the ratio PM-Bi and PM-Si to the total time (total analysis time, designated analysis time, etc.) of blocking and starving time, and one part Is based on the unit action time TPPi, which is the time required to produce the. This equation can be expressed using probability density functions pdfM-Bi (t) and pdfM-Si (t).
[0276]
This equation consists of two terms, a reduction ratio term due to the reduced blocking time (first term) and a reduction ratio term due to the reduced staging time (second term).
[0277]
Each reduction ratio term gives the ratio of the time that a machine is blocked / starved to the ratio PM-Bi / PM-Si, the ratio of the average reduced blocking / starving time to the average total blocking / starving time. Calculated by multiplication.
[0278]
The average value of random variables in the system (for example, the staging time and blocking time of each machine i) is the product of the probability density function pdf and time t, between the lower end (usually 0 for latency) and the upper end. Can be determined by integrating over. If the upper end is less than infinity, the average value of the random variable is given for all times below this upper end. If the upper end is infinite, the average value of all random variables is given.
[0279]
The upper end can be determined as the product of the number of additional parts ΔFi for the staging time and the unit action time TPPi (also referred to as “cycle time” of the machine i), and the number of additional spaces ΔEi for the blocking time. , And can be determined as a product of the unit action time TPPi. The former product means the maximum amount that the working time of the machine i increases when a part is added for the machine i, and similarly, the latter product is that of the machine i when adding space for the machine i. It means the maximum amount that the action time increases.
[0280]
For example, an increase of 5 buffer BM3 and BM5 spaces will add 2.57 available space behind machine M2, which is an approximate reduction in unit action time TTP of 8.31 percent. It means that. The same buffer configuration shows that the additional number of parts available to machine M3 is 2.49, which reduces machine M3's staging by 5.29 percent.
[0281]
In the next step, the reduction rate ratio PΔTi of the unit action time TPPi is combined with the bottleneck probability and the initial system processing capacity in order to create a prediction model of the new processing capacity of the system. The total proportion of reduction waiting time for machine i is represented by PΔTi.
[0282]
3.6 Prediction model
[0283]
In order to determine the effective reduction rate ratio PΔTi of the unloading time interval TBP of the system and thus to determine the predicted value of the new unloading time interval TBP of this system, the reduction rate ratio PΔTi of the unloading time interval TBP for various machines. Is combined with the bottleneck probability.
[0284]
3.6.1 Effective reduction ratio of unloading time interval TBP
[0285]
In the above, the total reduction amount ratio PΔTi of the unloading time interval TBP is estimated for various machines. However, they are not independent of each other, but rather are part of the machine network. Thus, improving the performance of one machine may or may not affect the unloading time interval TBP of the system. The bottleneck probability PM-SBNi is used for each machine i to determine the ratio of the impact of improving the machine unload time interval TBP on the unload time interval TBP of the system. The effective total reduction ratio PΔT of the system is the total waiting time reduction ratio PΔTi for each machine i (that is, the reduction of the carry-out time interval TBP caused by the waiting time reduction amount, as shown by the equation in FIG. 42). The product of the quantity ratio) and the single bottleneck probability PM-SBNi is the sum of all machines (i = 1 ton).
[0286]
For example, the machine M1 may reduce the unloading time interval TBP to 24.18%. However, the machine M1 is by no means a bottleneck, and thus improving the machine M1 never improves the system take-out time interval TBP. Another machine, M3, is the bottleneck of this system and has a bottleneck probability of 32 percent.
[0287]
Therefore, 32% of the reduction waiting time of this machine M3 is an improvement in the unloading time interval TBP of this system. Since the estimated reduction latency is 5.3 percent, the effective reduction ratio is 32 percent of this value, which means that the overall system performance is 1.7 percent (= 32 percent x 1.7 percent). ) Improved.
[0288]
FIG. 43 shows a reduction waiting time, a single bottleneck probability of the machine, and a combination value of the machine unloading time interval TBP for the example in which the spaces of the buffers BM3 and BM5 are increased to five. The effective reduction amount is shown in the table. As a whole, the effective reduction amount ratio of the unloading time interval TBP can be totaled for all machines. In this example, the total carry-out time interval TBP may be reduced by 3.63 percent by improving the buffers BM3 and BM5 to have 5 space capacities. Theoretically, it is further possible to use the overall bottleneck probability rather than the single bottleneck probability. However, the prediction results were more accurate when using a single bottleneck probability.
[0289]
3.6.2 Improved Transport Time Interval TBP Prediction
[0290]
After calculating the effective reduction ratio PΔT of the carry-out time interval TBP of this system, it is very easy to predict a new value of the carry-out time interval TBP for the improved system. The formula for that is
TBP ′ = TBP · (1−PΔT)
In order to obtain the updated carry-out time interval TBP ′, the carry-out time interval TBP of the initial system is simply decreased by the effective reduction amount ratio PΔT of the carry-out time interval TBP calculated as described above.
[0291]
For example, increasing the capacity of the buffers BM3 and BM5 to 5 reduces the system export time interval TBP by 3.63 percent. Since the initial value of the system export time interval TBP was 55.68 s, the new value of the system export time interval TBP decreased by 2.02 s to 53.66 s. Thus, changing the space of buffers BM3 and BM5 from 1 to 5 reduces the total unload time interval TBP of this system by 3.63 percent from 55.68s to 53.66s.
[0292]
The theoretical background and specific method of this buffer prediction method have been described in detail above. Next, an example of a specific algorithm for implementing this buffer prediction method will be described with reference to a computer program.
[0293]
FIG. 44 conceptually shows a hardware configuration of the system analysis apparatus 10 used by the user to implement the buffer prediction method in a block diagram. The system analysis device 10 is an example of a buffer prediction device.
[0294]
As is well known, the system analysis apparatus 10 includes a computer 20 configured by connecting a processing unit (represented by “PU” in the figure) 12 and a storage 14 to each other via a bus 16. Yes.
[0295]
The computer 20 is connected to an input device 30 having a mouse and a keyboard as a pointing device, and an output device 40 that displays an image on a screen. The storage 14 is configured to include a recording medium such as a ROM, a RAM, a magnetic disk, and an optical disk. The user inputs necessary data to the computer 20 via the input device 30. In response to the input, the data processing result by the computer 20 is visualized and presented to the user via the output device 40.
[0296]
The storage 14 stores in advance a buffer prediction program executed by the PU 12 in order to implement this buffer prediction method. This buffer prediction program is designed to match the flow of the system on which it is executed (the relationship between the positions of the machines in the system and the positions of the buffers). In addition, the buffer prediction program is designed to meet the requirements for component flow in the system. Therefore, this buffer prediction program can reproduce the flow of parts in the system both in time and position as long as it is given system data that represents the change in the state of each component of the system over time. It is like that. Data used when the PU 12 executes the buffer prediction program is appropriately stored in the storage 14.
[0297]
FIG. 45 conceptually shows the contents of the buffer prediction program in a flowchart.
[0298]
In this buffer prediction program, first, a prediction model is created in step S100 (hereinafter simply expressed as “S100”, and the same applies to other steps). Details of this step are conceptually shown in a flowchart in FIG. 46 as a prediction model creation routine.
[0299]
In this prediction model creation routine, first, in S101, system data including the state of each machine / buffer at a given given time is acquired.
[0300]
This system data can be configured in the same format as in FIG. Specifically, the system data includes, for example, an element, that is, an identifier of a machine (for example, M1, M2, M3, etc.) and a state of the machine (for example, the above-described state 0, state 1, state 2, state 3, etc. ) And temporal information for specifying a period in which each machine indicates each state are related to each other. As will be described later, the time information is configured to include a start time and an end time of a period in which each machine indicates each state.
[0301]
Based on this system data, the operation time of each machine i is obtained by calculation from the start time and end time of each operation period. The system data can be, for example, data representing an actual operating state of the system in the past, or data representing a virtual operating state analyzed by simulation for the system. That is, this system data can be acquired, for example, by performing a single simulation or by measuring a production system.
[0302]
Next, in S102, some statistical values are analyzed. The statistical values include the average value of the unloading time interval TBPi of each machine i and the ratio (PM-Si and PM-Bi) to the total analysis time (designated analysis time) of the time when each machine i is in a specific state. And the average number of parts / spaces BFj and BEj in each buffer j.
[0303]
Subsequently, in S103, the bottleneck probability of each machine i is determined. The bottleneck probability can be determined, for example, by dividing the length of the working time of each machine i by the total analysis time, and one specific example thereof is the specification of the applicant's Japanese Patent Application No. 2002-81077. Detailed in the document.
[0304]
Thereafter, in S104, the distribution of blocking time and the distribution of staging time are determined for all machines. Thereby, probability density functions pdfM-Bi and pdfM-Si are defined for each machine i.
[0305]
This completes one execution of the prediction model creation routine.
[0306]
Thereafter, in S200 of FIG. 45, the cause of stubbing and blocking is analyzed. This detail is conceptually shown in the flowchart of FIG. 47 as a cause analysis routine.
[0307]
In this cause analysis routine, first, in S201, one of all the machines is selected as the first machine (starting element for tracking upstream or downstream). Next, in S202, any one of a plurality of events that can be taken by each machine is selected as an event to be noted for the first machine (hereinafter referred to as “the current machine event”).
[0308]
Subsequently, in S203, the weight is set to 1 and the current attention period is set to a period in which the current machine event continues.
[0309]
Thereafter, in S204, based on the system data, it is determined whether the state of the first machine is a blocking state, a staging state, or none of them.
[0310]
This time, assuming that the state of the first machine is a blocking state, the process proceeds to S600. In S600, the next downstream object of the first machine is determined.
[0311]
Details of S600 are conceptually shown in a flowchart in FIG. 48 as a downstream object determination routine.
[0312]
In the downstream object determination routine, first, in S601, all downstream objects adjacent to the current machine are ranked according to the following rule.
[0313]
Rank 1: Machine blocked
Rank 2: Full buffer
Rank 3: machine in action
Rank 4: Starved machine
Rank 5: Buffer not full
By this ranking, a path for generating the idle state of the first machine is determined for each downstream object in the system.
[0314]
Next, in S602, an object that is already part of the causal path leading to the causal element that caused the idle period of the first machine (this time is the blocking period) is analyzed. Excluded from. This is to prevent an infinite loop (deadlocking) from occurring when tracing each object downstream for cause analysis.
[0315]
Subsequently, in S603, among all the adjacent downstream objects described above, the one ranked in the highest order (there may be a plurality of objects) is selected. Thereafter, in S604, it is determined whether or not there is an object thus selected. If it is assumed that it does not exist this time, the determination is YES, immediately after one execution of this downstream object determination routine is completed, and then the process proceeds to S205 in FIG.
[0316]
On the other hand, this time, if it is assumed that the selected object exists, the determination in S604 in FIG. 48 is NO, and the process proceeds to S605.
[0317]
In S605, weights set in advance for the previous object (the case of the first machine, the object adjacent thereto, and the object following the object) may be set in advance. Is divided by the number of objects selected in S603 (may be plural). For example, for the bifurcated branch in the system, since the number of selected objects is 2, the weight of each object is set to 1/2. Thereafter, in S606, the first target object is selected from the highest-order target object (there may be a plurality of target objects).
[0318]
Subsequently, in S607, the period of interest is the next state change time of the object (there may be a plurality of objects) ranked highest from the start time of the state of the previous object, and the cause path It is set to the period up to the earlier of the end time of the previous object period above.
[0319]
Thereafter, in S608, it is determined whether or not the current order of the object is 4. If it is assumed that it is not 4 this time, the determination is no and the process moves to S800. In S800, the object is traced downstream for the set attention period. Details of S800 are conceptually shown in a flowchart in FIG. 50 as a downstream tracking routine.
[0320]
In this downstream tracking routine, first, in S801, it is determined whether or not the first machine is blocked. Since it is assumed that it is blocked this time, the determination is YES, and the process proceeds to S802.
[0321]
In S802, the weight set by execution of S605 or S705 described later (hereinafter simply referred to as “set weight”) and the attention period set by execution of S607 or S707 described later (hereinafter simply referred to as “set attention period”). )) (Which is simply referred to as “weighted time”) to the time when the first machine blocking is reduced by adding space in the buffer ahead of the current object. Is done. This time is related to the above-described mode 1 and is used to acquire the above-described ratio PBEB-Ej, i, that is, data (3) described later.
[0322]
After that, in S803, the current weighted time is a part of the path that caused the blocking of the first machine (the path between the first machine and the machine that caused the blocking). It was added to the time (which was located on the route). This time is used to acquire data (7) described later.
[0323]
Subsequently, in S804, it is determined whether or not the current target object is in an operating state. This time, if it is assumed that the current object is a machine and it is in an active state, the determination is YES, and in S805, the current object is the cause of blocking of the first machine. Determined.
[0324]
In S805, the current weighted time is the time that the current object causes blocking of the first machine (the current object continues to be the cause of causing blocking of the first machine). Time). This time is used for acquiring data (5) described later.
[0325]
Thus, one execution of the downstream tracking routine is completed, and the process proceeds to S609 in FIG.
[0326]
On the other hand, if it is assumed that the current object is not in the active state this time, the determination in S804 in FIG. 50 is NO, and the process proceeds to S806.
[0327]
In S806, the current weighted time is added to the time when the first machine blocking is reduced by adding a space in the buffer behind the current object.
[0328]
Thereafter, the process proceeds to S601 in FIG. 48, and the downstream object determination routine is executed again.
[0329]
Here, the execution contents of the downstream object determination routine of FIG. 48 and the downstream tracking routine of FIG. 50 will be described for the example shown in FIG.
[0330]
The downstream tracking routine of FIG. 50 is executed for machine M2, machine M3, and machine M4 because machine M1 is the first machine. The machine M1 is in the blocking state, and the downstream object determination routine of FIG. 48 first selects the machine M2 as the current object (the object following the machine M1).
[0331]
Thereafter, when the downstream tracking routine of FIG. 50 determines in S801 whether or not the first machine M1 is in the blocking state, the determination is YES, so in S802, the length of the period of the machine M2 (in S607) This weighted time, which is the product of the setting) and the weight (set in S605), is added to the time when the blocking state of the machine M1 decreases when a space is added in the buffer behind the machine M2. Further, in S803, the current weighted time is added to the time when the machine M2 was part of the path that caused the machine M1 to block.
[0332]
Since the machine M2 is not in the active state, the determination in S804 is NO, and then, in S806, if a space is added in the buffer behind the machine M2, the blocking state of the machine M1 decreases. It is added to the time to do.
[0333]
Thereafter, the process proceeds from the downstream tracking routine of FIG. 50 to the downstream object determination routine of FIG. 48, where the next downstream object is searched. The downstream object determination routine searches for the machine M3 as the current object, and therefore shifts again to the downstream tracking routine of FIG.
[0334]
In S801, the downstream tracking routine determines again whether or not the first machine M1 is in a blocking state. Since this determination is also YES this time, in S802, the length of the period of the machine M3 ( The current weighted time, which is the product of the setting (set in S607) and the weight (set in S605), is added to the time when the blocking state of the machine M1 decreases when a space is added in the buffer behind the machine M3. Further, in S803, the current weighted time is added to the time when the machine M3 was part of the path that caused the machine M1 to block.
[0335]
Since the machine M3 is not in the operating state, the determination in S804 is NO, and in S806, the current weighted time is the time that the blocking state of the machine M1 decreases when a space is added in the buffer behind the machine M3. Is added to
[0336]
Thereafter, the process proceeds from the downstream tracking routine of FIG. 50 to the downstream object determination routine of FIG. 48, where the next downstream object is searched. The downstream object determination routine searches for the machine M4 as the current object, and thus shifts again to the downstream tracking routine of FIG.
[0337]
This downstream tracking routine determines again whether or not the first machine, M1, is in a blocking state, and since this determination is also YES this time, in S802, the length of the period of the machine M4 (set in S607) ) And the weight (set in S605) is added to the time when the blocking state of the machine M1 decreases when a space is added in the buffer behind the machine M4. Further, in S803, the current weighted time is added to the time when the machine M4 was part of the path that caused the machine M1 to block.
[0338]
Since the machine M4 is in the operating state, the determination in S804 is YES, and in S805, the machine M4 is determined to be the original cause of the blocking of the first machine, the machine M1, and is weighted this time. Time is added to the time at which machine M4 causes blocking of machine M1.
[0339]
Thus, one execution of the downstream tracking routine is completed, and thereafter, the process proceeds to S609 in FIG. Since the machine M4 is the last object in the system, the determination in S609 is YES, and the process proceeds to S610.
[0340]
As described above, the case where the order of the target object is not 4 has been described, but when the target order is 4, the determination in S608 in FIG. 48 is YES, and in S900, the target object moves upstream in the set attention period. Followed.
[0341]
The details of S900 are conceptually shown in the flowchart of FIG. 51 as an upstream tracking routine. In this upstream tracking routine, first, in S901, it is determined whether or not the first machine is blocked. Since it is assumed that it is blocked this time, the determination is YES, and the flow proceeds to S902.
[0342]
In this S902, the current weighted time is added to the time when the blocking of the first machine is reduced if a part in the buffer behind the current object is added. This time is related to the above-described mode 3 and is used for acquiring the above-described ratio PBFB-Ej, i, that is, data (2) described later.
[0343]
Subsequently, in S903, the current weighted time is added to the time when the current object was part of the path that caused the blocking of the first machine. This time is used to acquire data (7) described later.
[0344]
After that, in S904, it is determined whether or not the current object is in the operating state. This time, if it is assumed that it is in the operating state, the determination is YES, and the process proceeds to S905. In S905, it is determined that the current object is the cause of blocking of the first machine.
[0345]
In S905, the current weighted time is added to the time at which the current object causes the first machine to block. This time is used for acquiring data (5) described later.
[0346]
Thus, one execution of this upstream tracking routine is completed, and thereafter, the process proceeds to S609 in FIG.
[0347]
On the other hand, this time, assuming that the current object is not in the active state, the determination in S904 in FIG. 51 is NO, and in S906, the current weighted time is ahead of the current object. Adding parts in the buffer adds to the time when the first machine blocking is reduced.
[0348]
Thereafter, the process proceeds to S701 in FIG. 49, and an upstream object determination routine described later is executed.
[0349]
In the downstream object determination routine of FIG. 48, when the execution of S800 or S900 is completed, it is then determined in S609 whether or not the iteration has been completed for all selected objects. If it is assumed that the process has not been completed yet, the determination is no, and the steps from S607 onward are executed for the next object.
[0350]
On the other hand, if it is assumed that the iteration has been completed for all the selected objects this time, the determination in S609 is YES, and the process proceeds to S610.
[0351]
In S610, it is determined whether or not the iteration until the entire period of the previous object state is covered is completed. If it is assumed that the process has not been completed yet, the determination is NO and the process returns to S601. However, if it is assumed that the process has been completed this time, the determination in S610 is YES, and one of the downstream object determination routines. Is completed, and then the process proceeds to S205 in FIG.
[0352]
Here, the execution contents of the downstream object routine of FIG. 48 will be specifically described taking the production system shown in FIG. 7 as an example.
[0353]
FIG. 68 is a time chart showing how the four machines M1 to M4 in the production system shown in FIG. 7 change between the blocking state and the working state along with the time t.
[0354]
The machine M1 is in a blocking state between time t0 and time t3. This buffer prediction program is executed to identify the cause of the blocking of the machine M1 and its path.
[0355]
Here, at the time when the computer 20 executes the downstream object determination routine of FIG. 48 in the buffer prediction program, the first machine or the previous object (that is, in any case, those Assume that the machine M1 is an object whose cause of the idle state is investigated), and a period between the time t0 and the time t3 is set as the attention period. During that period, the machine M1 is in a blocking state.
[0356]
In this case, the execution of S601 ranks all objects adjacent to the machine M1 on the downstream side thereof, that is, the machine M2 and the machine M3, and then the execution of S603 causes the machines M2 to be ranked. And it is determined that the machine M3 is given the same rank, and they are selected as the current object.
[0357]
When the machine M2 and the machine M3 are selected, the weight set for the machine M1 that is the previous object (that is, the weight of 1 set for the machine M1 in this example) is obtained by executing S605. Dividing by the number of objects ranked highest (ie, 2 in this example), the new weights for downstream objects M2, M3 will each be set as 1/2. .
[0358]
Thereafter, it is assumed that the execution of S606 has selected machine M2 as the first object with the top for further investigation. In this case, subsequently, by executing S607, the target period (the target period in which the current analysis is to be performed) becomes the highest level from time t0, which is the start time of the blocking period of the machine M1, which is the previous target object. Time of the next state change of the ranked objects (this time machines M2 and M3) (if there are multiple selected objects, it means the earliest time among them, in this example Among the machines M2 and M3 ranked at the top, the time t1 of the next state change of the machine M2 is applicable) and the end time t3 of the blocking period of the machine M1, which is the previous object. It is set as the period until. In this example, since the time t1 is earlier than the time t3, the current attention period is set as a period between the times t0 and t1, and the machine that is the current object is set for the set attention period. M2 will be tracked.
[0359]
Similar processing is performed for the machine M3 as the next object. The weight of the machine M3 is also set to 1/2 as described above. The attention period for the machine M3 is the time t1 of the next state change of the object ranked at the top (this time only the machine M3) from the time t0, and the blocking period of the machine M1, which is the previous object. Is set as the period up to the earlier of the end time t3. For this machine M3 as well as the machine M2, the current attention period is set as a period between times t0 and t1, and the machine M3 is tracked for the set attention period.
[0360]
The execution of S601 to S609 in FIG. 48 is repeated until the entire period of the specific state of the machine M1, which is the previous object, that is, the period from time t0 to time t3 is covered. Since the period from time t0 to time t1 has already been analyzed (covered), the period from time t1 to time t3 is now analyzed. When the machines M2 and M3, which are the downstream machines, are ranked for that period, the machine M2 is in the working state while the machine M3 is in the blocking state. It is higher than the ranking of M2. Therefore, for that period, there is only one top-level machine, and the weight of the machine M3 remains 1 because the number of objects ranked at the top is 1 this time. .
[0361]
The attention period (individual analysis period) for the machine M3 is the earlier of the time t2 of the next state change of the machine M3 and the end time t3 of the blocking period of the machine M1, which is the entire object, from the time t1. It is set as a period until a certain time t2. Therefore, the blocking of the machine M1 is tracked downstream for the period from time t1 to time t2. Since there is only one target ranked at the top this time, the determination in S609 is YES, and the process proceeds to S610.
[0362]
At present, both the period from time t0 to time t1 and the period from time t1 to time t2 are covered, and the remaining period is the period from time t2 to time t3. For this period, since both the machine M2 and the machine M3 are assumed to be in the working state, the same rank is given and the weight is set to ½.
[0363]
The execution of the loop constituted by S607, S608 and S800 is repeated for machine M2 and machine M3, and the execution of S800 tracks the blocking of machine M1 downstream. By executing S800, both the machine M2 and the machine M3 are determined to be the cause of the blocking of the machine M1 in the period from the time t2 to the time t3, and each of the machines M2 and M3 has a weight of 1. .
[0364]
If the analysis is performed for the entire period from time t0 to time t3, execution of the loop constituted by S601 to S609 ends.
[0365]
As described above, in the cause analysis routine of FIG. 47, it is assumed that the state of the first machine is the blocking state. However, if it is assumed that the state is the staging state, the next upstream object of the first machine is determined in S700. It is determined.
[0366]
Details of S700 are conceptually shown in a flowchart in FIG. 49 as an upstream object determination routine. This upstream object determination routine is basically the same as the downstream object determination routine of FIG.
[0367]
In this upstream object determination routine, first, in S701, all upstream objects adjacent to the first machine are ranked according to the following rules.
[0368]
Rank 1: Starved machine
Rank 2: empty buffer
Rank 3: machine in action
Rank 4: Machine blocked
Rank 5: Non-empty buffer
By this ranking, a path for generating the idle state of the first machine is determined for each upstream object in the system.
[0369]
Next, in S702, an object that is already part of the causal route leading to the causal element of the first machine idle period (this time, the staving period is assumed) is excluded. This is to avoid an infinite loop.
[0370]
Subsequently, in S703, the uppermost one of all the adjacent upstream objects described above is selected. Thereafter, in S704, it is determined whether or not there is an object selected in this way.
[0371]
If it is assumed that it does not exist this time, the determination is YES, and one execution of this upstream object determination routine is immediately terminated. On the other hand, this time, if it is assumed that the selected object exists, the determination is no and the process proceeds to S705.
[0372]
In S705, the weight is set to a value obtained by dividing the weight set in advance for the previous object by the number of objects selected in S703. Thereafter, in S706, the first object is selected from among the highest-order objects.
[0373]
Subsequently, in S707, the period of interest is the next state change time of the object (there may be a plurality of objects) ranked highest from the start time of the state of the previous object, and the cause path It is set to the period up to the earlier of the end time of the previous object period above.
[0374]
Thereafter, in S708, it is determined whether or not the order of the selected object is 4. If it is assumed that the current time is not 4, the determination is NO, and the object is traced upstream in S900 by executing the upstream tracking routine of FIG.
[0375]
In this upstream tracking routine, first, in S901, it is determined whether or not the first machine is blocked. Since it is assumed that the current state is the starving state this time, the determination is NO and the process proceeds to S807.
[0376]
In this step S807, the current weighted time is added to the time when the staging of the first machine is reduced by adding a space in the buffer ahead of the current object. This time is related to the above-described mode 2 and is used to acquire the above-described ratio PBES-Ej, i, that is, data (4) described later.
[0377]
Subsequently, in S808, the current weighted time is added to the time when the current object was part of the path that caused the first machine staging. This time is used for acquiring data (8) described later.
[0378]
Thereafter, in step S809, it is determined whether or not the current object is in an operating state. If it is assumed that it is in the working state this time, the determination is YES, and it is determined in S810 that the current object is the cause of the staging of the first machine.
[0379]
Further, in S810, the current weighted time is added to the time at which the current object causes the first machine to stave. This time is used for acquisition of data (6) described later.
[0380]
Thus, one execution of this downstream tracking routine is completed, and thereafter, the process proceeds to S609 in FIG.
[0381]
On the other hand, if it is assumed that the current object is not in the active state this time, the determination in S809 in FIG. 50 is NO, and the process proceeds to S811. In S811, the current weighted time is added to the time when the staging of the first machine is reduced by adding a space in the buffer behind the current object.
[0382]
Thereafter, the process proceeds to S601 in FIG. 48, and the downstream object determination routine is executed again.
[0383]
On the other hand, this time, assuming that the rank of the selected object is 4, the determination in S708 is YES, and in S800, the object is moved downstream by executing the downstream tracking routine of FIG. It is traced toward.
[0384]
In this downstream tracking routine, first, in S801, it is determined whether or not the first machine is blocked. Since it is assumed that the current state is the starving state this time, the determination is no and the process proceeds to S907.
[0385]
In this S907, the current weighted time is added to the time when the staging of the first machine is reduced if a part in the buffer behind the current object is added. This time is related to the above-described mode 4 and is used to acquire the above-described ratio PBES-Ej, i, that is, data (1) described later.
[0386]
Subsequently, in S908, the current weighted time is added to the time when the current object was part of the path that caused the first machine staging. This time is used for acquiring data (8) described later.
[0387]
Thereafter, in S909, it is determined whether or not the current target object is in an operating state. If it is assumed that the device is in the operating state this time, the determination is YES, and the flow proceeds to S910. In S910, it is determined that the current object is the cause of the staging of the first machine.
[0388]
Further, in S910, the current weighted time is added to the time at which the current object causes the first machine to stave. This time is used for acquisition of data (6) described later.
[0389]
Thus, one execution of this upstream tracking routine is completed, and thereafter, the process proceeds to S609 in FIG.
[0390]
On the other hand, if it is assumed that the current object is not in the active state this time, the determination in S909 in FIG. 51 is NO, and the process proceeds to S911. In S911, the current weighted time is added to the time when the staging of the first machine is reduced by adding a part in the buffer ahead of the current object.
[0390]
Thereafter, the process proceeds to S701 in FIG. 49, and an upstream object determination routine is executed.
[0392]
In either case, after that, in S709, it is determined whether or not the iteration has been completed for all the selected objects. If it is assumed that the process has not been completed this time, the determination is NO, and the steps after S707 are executed for the next object.
[0393]
On the other hand, if it is assumed that the iteration has been completed for all the selected objects this time, the determination in S709 is YES, and the process proceeds to S710.
[0394]
In S710, it is determined whether or not the iteration until the entire period of the previous object state is covered is completed. If it is assumed that the process has not been completed yet, the determination is NO and the process returns to S701. However, if it is assumed that the process has been completed this time, the determination in S710 is YES, and one of the upstream object determination routines. Is completed, and then the process proceeds to S205 in FIG.
[0395]
As described above, in the cause analysis routine of FIG. 47, the case where the state of the first machine is the stubbing state has been described, but if it is neither the blocking state nor the staging state, the process immediately proceeds to S205.
[0396]
In any case, in this S205, it is determined whether or not the iteration for all machine events has been completed. If it is assumed that the process has not been completed yet, the determination is no, and the next event is selected as the event for the first machine in S206, and then the process returns to S203. On the other hand, this time, if it is assumed that the iteration for all machine events is completed, the determination in S205 is YES.
[0397]
In this case, after that, in S207, it is determined whether or not the repetition for all the machines has been completed. If it is assumed that the process has not been completed yet, the determination is no, and after the next machine is selected as the first machine in S208, the process returns to S202. On the other hand, if it is assumed that the iterations for all machines have been completed this time, the determination in S207 is YES.
[0398]
After that, in S209, the buffer effect ratio that is the ratio of the effect due to the addition of the buffer / part, the cause component ratio that is the ratio that each machine constitutes the cause of the idle state of another machine, A path configuration ratio that is a ratio that configures a path that causes an idle state is calculated. This calculation is performed by appropriately dividing the length of a plurality of times determined so far (various times acquired by executing the downstream tracking routine of FIG. 50 or the upstream tracking routine of FIG. 51) by the total analysis time. Done.
[0399]
As the buffer effect ratio,
Data (1)
A ratio PBFS-Ej, i with respect to the total analysis time of the time when the stubbing of each machine i is reduced by adding the components in each buffer j,
Data (2)
If a part in each buffer j is added, a ratio PBFB-Ej, i of a time for blocking of each machine i to a total analysis time is reduced.
Data (3)
If the space in each buffer j is added, the ratio PBEB-Ej, i of the time for which the blocking of each machine i is reduced to the total analysis time,
Data (4)
If the space in each buffer j is added, the ratio of the time for which the staring of each machine i is reduced to the total analysis time PBES-Ej, i
Is included.
[0400]
On the other hand, as the cause component ratio,
Data (5)
The ratio of the time that one machine was responsible for blocking another machine to the total analysis time,
Data (6)
The ratio of the time that one machine was responsible for starving another machine to the total analysis time
Is included.
[0401]
In addition, as the route composition ratio,
Data (7)
The ratio of the time that one machine was in the path of another machine's block to the total analysis time,
Data (8)
The ratio of the time that one machine was on the stave path of another machine to the total analysis time
Is included.
[0402]
However, the ratios of the data (1) to (4) are calculated for all combinations of the position of the buffer j and the machines i before and after each machine i, while the ratios of the data (5) to (8) are calculated. ) Ratio is calculated for all combinations of machines i.
[0403]
Thus, one execution of the cause analysis routine is completed, and thereafter, the process proceeds to S300 in FIG. In S300, additional buffer capacities for buffers before and after the machine are specified. Subsequently, in S400, the effect of the additional buffer capacity is estimated. Details of S400 are conceptually shown in a flowchart in FIG. 52 as a buffer effect estimation routine.
[0404]
In this buffer effect estimation routine, first, in S1000, the average number of parts in the buffer in front and rear of each machine is estimated. Details of S1000 are conceptually shown in a flowchart in FIG. 53 as an average component number estimation routine.
[0405]
In this average number-of-parts estimation routine, first, in S1001, the ratio of the time during which another machine was part of the path of the current machine being starved to the total analysis time (the above data (8)) is set. , The bottleneck probability of this machine is multiplied, thereby calculating the weighted upstream bottleneck probability.
[0406]
Next, in S1002, the ratio of the time when another machine is part of the path of the current machine in the block to the total analysis time (the above-mentioned data (7)) shows the bottleneck probability of the current machine. Multiply, thereby calculating the weighted downstream bottleneck probability.
[0407]
Subsequently, in S1003, it is determined whether or not the other machine has covered the entire machine, that is, whether or not the other machine has been changed within the range of the entire machine. If it is assumed that the entire machine is not covered this time, the determination is NO, and the steps after S1001 are executed again for another updated machine. On the other hand, if it is assumed that all machines are covered this time, the determination in S1003 is YES, and the process proceeds to S1004.
[0408]
In S1004, several weighted upstream bottleneck probabilities for several machines are summed to calculate a total weighted upstream bottleneck probability. Further, the total weighted downstream bottleneck probabilities for several machines are summed to calculate the total weighted downstream bottleneck probability.
[0409]
Subsequently, in S1005, the average number of parts BFj in the buffer j in front of the current machine is calculated. In particular,
BFj = buffer capacity × total weighted upstream bottleneck probability / (total weighted upstream bottleneck probability + total weighted downstream bottleneck probability + current machine bottleneck probability)
It is calculated using the following formula.
[0410]
Thereafter, in S1006, the average number of parts BFj in the buffer j behind the current machine is calculated. In particular,
BFj = buffer capacity x (total weighted upstream bottleneck probability + current machine bottleneck probability) / (total weighted upstream bottleneck probability + total weighted downstream bottleneck probability + current machine bottleneck probability)
It is calculated using the following formula.
[0411]
Subsequently, in S1007, it is determined whether or not the iteration has been completed for all the machines. If it is assumed that the process has not been completed this time, the determination is no, and the steps after S1001 are executed again for the updated machine. On the other hand, if it is assumed that the iteration has been completed for all machines this time, the determination in S1007 is YES, and one execution of this average component number estimation routine is completed, and then S1100 in FIG. Migrate to
[0412]
In addition, in S102 of FIG. 46, the average number of parts in the buffer is calculated. This point is common to this average part number estimation routine. However, in S102, the average number of parts in the buffer that actually exists in the simulation model is measured. On the other hand, in this average part number estimation routine, the average number of parts in the virtual buffer is measured. It is estimated that the actual existence of a buffer with which the average number of parts is associated is not required.
[0413]
In S1100, the number of additional parts and spaces available to the machine is estimated. Details of S1100 are conceptually shown in a flowchart of FIG. 54 as an additional component / space number estimation routine.
[0414]
In this additional part / space number estimation routine, first, in S1101, if a part is added to the current buffer j, the ratio of time PBFSj, i (the above-mentioned data (1)) ) Is multiplied by the average number of parts BFj in the buffer j and added to the number of additional parts ΔFi for the current machine i.
[0415]
Next, in S1102, if the space is added to the current buffer j, the time ratio PBESj, i (the above-mentioned data (4)) in which the staring of the current machine i is reduced is added to the average number of spaces BEj in the buffer j. Is added to the number of additional parts ΔFi for the current machine i.
[0416]
Subsequently, in S1103, if the part is added to the current buffer j, the average ratio BFj in the buffer j is equal to the time ratio PBFBj, i (the above-mentioned data (2)) in which blocking of the current machine i is reduced. Multiply and add to the additional space number ΔEi for machine i this time.
[0417]
Thereafter, in S1104, the time ratio PBEBj, i (the above-mentioned data (3)) in which the blocking of the current machine i is reduced if a space is added to the current buffer j is multiplied by the average number of spaces BEj in the buffer j. It is added to the number of additional spaces ΔEi for the current machine i.
[0418]
Subsequently, in S1105, it is determined whether or not the iteration has been completed for all the buffers, that is, whether or not updating of the buffer j is unnecessary. If it is assumed that the iteration has not been completed for all the buffers this time, the determination is no, the buffer j is updated, and the process returns to S1101. On the other hand, if it is assumed that the iteration has been completed for all the buffers, the determination in S1105 is YES, and the process proceeds to S1106.
[0419]
In S1106, it is determined whether or not the iteration has been completed for all the machines, that is, whether or not the update of the machine i is unnecessary. If it is assumed that the iteration has not been completed for all the machines this time, the determination is NO, and after the machine i is updated, the process returns to S1101. On the other hand, if it is assumed that the iteration has been completed for all the machines, the determination in S1106 is YES.
[0420]
Thus, one execution of this additional part / space number estimation routine is completed, and thereafter, the process proceeds to S1200 in FIG.
[0421]
In S1200, the reduced idle time ratio of the machine is estimated. Details of S1200 are conceptually shown in a flowchart of FIG. 55 as a reduced idle time ratio estimation routine.
[0422]
In this reduced idle time ratio estimation routine, first, in S1201, when a part is added for the current machine i, the maximum increase amount, which is the maximum amount that the working time of the current machine i increases, This is determined by multiplying the number of additional parts ΔFi for this by the unloading time interval TPPi of the current machine i.
[0423]
Next, in S1202, the average stubbing time is determined by integrating the current staging time distribution function of the machine i with respect to all the domains thereof.
[0424]
Subsequently, in S1203, by integrating the staging time distribution function of the current machine i with respect to the range of 0 and the maximum increase amount ΔFi · TPPPi of the working time due to the component addition, the reduced stubbing time is calculated. It is determined.
[0425]
Thereafter, in S1204, the ratio PM-Si of the time when the current machine i is starved to the total analysis time is multiplied by the ratio of the reduced staging time and the average staging time, thereby obtaining the current machine i's ratio. Therefore, when a part is added, a reduced idle time ratio, which is a ratio of time during which idle time is reduced, is determined.
[0426]
Subsequently, in S1205, when a space is added for the current machine i, the maximum increase amount, which is the maximum amount that the working time of the current machine i increases, is added to the additional space number ΔEi for the current machine i. It is determined by multiplying the unloading time interval TPPi of the current machine i.
[0427]
Thereafter, in S1206, the average blocking time is determined by integrating the blocking time distribution function of the current machine i with respect to all the domains thereof.
[0428]
Subsequently, in S1207, the blocking time distribution function of the current machine i is integrated with respect to the range between 0 and the maximum increase amount ΔEi · TPPi of the action time caused by the space addition, thereby reducing the blocking time. It is determined.
[0429]
Thereafter, in S1208, the ratio of the reduced blocking time to the average blocking time is multiplied by the ratio PM-Bi of the time when the current machine i is blocked to the total analysis time, thereby obtaining the space for the current machine i. Is added, a reduced idle time ratio, which is a ratio of time during which idle time is reduced, is determined.
[0430]
Subsequently, in S1209, the reduced idle time ratio PΔTi for the current machine i as a whole is determined by summing the reduced idle time ratio by adding a space and the reduced idle time ratio by adding a part.
[0431]
Thereafter, in S1210, it is determined whether or not the iteration has been completed for all the machines. If it is assumed that the process has not been completed this time, the determination is NO and the process returns to S1201 for the next machine i. However, if it is assumed that the process has been completed this time, the determination is YES.
[0432]
Thus, one execution of this reduced idle time ratio estimation routine is completed, and thereafter, the process proceeds to S401 in FIG.
[0433]
In S401, for the current machine i, the effective idle time ratio PΔTi is determined by multiplying the reduced idle time ratio PΔTi by the bottleneck probability PM-SBNi of the current machine i.
[0434]
Thereafter, in S402, it is determined whether or not the iteration has been completed for all the machines. If it is assumed that the process has not been completed this time, the determination is no, and the process proceeds to S401 for the next machine i. On the other hand, if it is assumed that the iteration has been completed for all machines this time, the determination in S402 is YES, and the process proceeds to S403.
[0435]
In S403, the determined effective reduction idle time ratio PΔTi is totaled for all the machines, thereby determining the improvement amount PΔT of the entire system.
[0436]
Subsequently, in S404, the improved system carry-out time interval TBP 'is estimated by reducing its previous carry-out time interval TBP by the improvement amount PΔT.
[0437]
Thereafter, in S405, the in-process inventory quantity of the improved system is the sum of the average value of the average number of parts in all the buffers and the average number of parts in the machine corresponding to the ratio of the time for which the machine accommodates the parts. Presumed.
[0438]
Subsequently, in S406, the improved system total processing time (makespan) is estimated as the product of the improved system in-process inventory and the improved system take-out time interval TBP '.
[0439]
Thus, one execution of this buffer effect estimation routine is completed, and thereafter, the process proceeds to S500 in FIG.
[0440]
In S500, it is determined whether or not the system is optimized based on the estimated total processing time and the like. If it has not been optimized, the determination is no, the process returns to S300, and a new additional buffer capacity is designated. On the other hand, this time, if it is assumed that the system has been optimized, the determination in S500 is YES, and one execution of this buffer prediction program ends.
[0441]
As is clear from the above description, in this embodiment, S201, S204, S600, and S700 constitute an example of the “first tracking step” in the item (1), and S804, S805, S809, S810, S904, S905, S909, and S910 constitute an example of the “cause identification step” in the same term, S600 and S700 constitute an example of the “second tracking step” in the term, and S601, S603, S606, S701, S703 and S706 constitute an example of the “route specifying step” in the same section.
[0442]
Furthermore, in the present embodiment, S204, S608, and S708 constitute an example of the “orientation setting step” in the item (3).
[0443]
Furthermore, in this embodiment, S601 and S701 constitute an example of the “ranking step” in the above section (4), and S603, S606, S608, S703, S706, and S708 are “identifying each cause route”. It constitutes an example of “step to do”.
[0444]
Further, in the present embodiment, S800 and S900 constitute an example of the “statistical value calculation step” in the above item (5).
[0445]
Further, in the present embodiment, S1000 constitutes an example of the “first estimation step” in the above item (6), S1100 constitutes an example of the “second estimation step” in the same term, and S1200 corresponds to the same term. An example of the “third estimation step” is configured, and S401 to S406 configure an example of the “fourth estimation step” in the same section.
[0446]
Furthermore, in the present embodiment, S1100 constitutes an example of the “second estimation step” in the item (7).
[0447]
Furthermore, in the present embodiment, S1000 constitutes an example of the “first estimation step” in the item (8).
[0448]
Furthermore, in the present embodiment, the buffer prediction program constitutes an example of the “program” according to the item (9), and the storage 14 that stores the buffer prediction program in advance includes the “recording medium” according to the item (10). "Is an example.
[0449]
Next, the buffer prediction method described above is verified by comparing the predicted value with the measured value.
[0450]
In this verification, the predicted improvement in system throughput is simply compared to the actual improvement for various prediction models. In general, the predicted value is not always perfect, but usually has practical accuracy.
[0451]
1 Linear production system with 8 machines
[0452]
This is a simple example of a linear production system with 8 machines numbered from 1 to 8. Buffer positions exist between the machines, and numbers A to G are assigned as shown in FIG. The main bottleneck is machine M4 with a total bottleneck probability of 95 percent. Two buffers adjacent to the bottleneck, buffer C and buffer D, were analyzed. Since the performance of this system is mainly determined by the machine M4, the prediction of this model is very easy. Machine M4 has a much larger bottleneck probability and the two analyzed buffers C and D are adjacent to the bottleneck. This greatly simplifies the prediction model and greatly increases its prediction accuracy.
[0453]
1.1 Buffer C
[0454]
FIG. 57 shows a comparison between the predicted value of the system processing capacity (unloading time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer C in which the space changes from 0 to 10. ing. Measurement data is shown with a 95 percent confidence interval for throughput. Overall, the predicted value follows the measured data very approximately, and almost all predicted values are within the 95 percent confidence interval of the measured data. The square root of the mean total square error was only 0.25 s.
[0455]
1.2 Buffer D
[0456]
FIG. 58 shows a comparison between the predicted value of the processing capacity (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer D in which the space changes from 0 to 5. Yes. Due to the short-term simulation and the small buffer effect, the confidence interval is slightly larger than the overall improvement. Nevertheless, the predicted value is almost always within the 95 percent confidence interval, and the predicted value is very accurate.
[0457]
2 Branch production system with 7 machines
[0458]
An example of this is shown in FIG. Buffers AM2, BM3, AM3 and AM4 were investigated in detail. Buffers BM5 and AM5 were briefly investigated.
[0459]
2.1 Buffer AM2
[0460]
FIG. 59 shows a comparison between the predicted value of the processing capacity (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer AM2 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. Overall, the predicted value follows the measured data very well in the early stages, and has a small error for values with a large buffer size. The square root of the mean total square error was 0.40 s.
[0461]
2.2 Buffer BM3
[0462]
FIG. 60 shows a comparison between the predicted value of the processing capacity (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer BM3 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. The predicted value follows the measured data very well, and almost all predicted values are within the 95 percent confidence interval of the measured data. The square root of the mean total square error was only 0.22 s.
[0463]
2.3 Buffer AM3
[0464]
FIG. 61 shows a comparison between the predicted value of the processing capability (export time interval TBP) obtained by using this buffer prediction method and the measurement data on the buffer size of the buffer AM3 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. The predicted value follows the measured data very well for the first few values of the buffer size. The square root of the mean total square error was 0.78 s.
[0465]
2.4 Buffer AM4
[0466]
FIG. 62 shows a comparison between the predicted value of the processing capability (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer AM4 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. The square root of the mean total square error was 0.96 s.
[0467]
2.5 Buffer BM5
[0468]
FIG. 63 shows a comparison between the predicted value of the processing capability (export time interval TBP) obtained using this buffer prediction method and the measured data on the buffer size of the buffer BM5 in which the space changes from 0 to 10. Yes. However, this buffer BM5 has been investigated only briefly, and verification was performed only for the case of 5 in addition to the initial value of the buffer size. The predicted value is within the 95 percent confidence interval of the measured data and is therefore valid. Due to the small number of data, there is no square root of the mean total square error.
[0469]
2.6 Buffer AM5
[0470]
FIG. 64 shows a comparison between the predicted value of the processing capability (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer AM5 in which the space changes from 0 to 10. Yes. Again, this buffer AM5 has only been investigated easily, and verification has been performed only for the case of 5 in addition to the initial value of the buffer size. The predicted value is within the 95 percent confidence interval of the measured data and is therefore valid. Due to the small number of data, there is no square root of the mean total square error.
[0471]
2.7 Summary
[0472]
This predictive model appears to give accurate results for most cases. The buffers AM2, BM3, BM5 and AM5 are very accurate. The initial trend in buffer AM3 was well predicted.
[0473]
In addition to these experiments, a simulation was added once for a new combination of buffers. The buffers AM2, BM3, AM3, AM4, BM5 and AM5 were each set to have a slightly large capacity, such as 20 spaces. The simulation determined that a carry-out time interval TBP of 48.89 s had a confidence interval of 0.19 s on each side. The predicted value is 50.69 s, which is never wrong. There is a difference of about 0.8 s between them, but this error is small relative to the initial value of 55.7 s and the trend is very well predicted. The total square root of the mean total square error was 0.82 s.
[0474]
3 A system where two machines branch
[0475]
As shown in FIG. 65, in this example, two machines and three buffers are provided. Type A parts and Type B parts arrive at the buffer BM0. There are two type B parts for each type A part that arrives, and these parts are supplied indefinitely. All type A parts go to machine M1 via buffer BM1, and all type B parts go to machine M2 via buffer BM2. Machine M1 is the primary bottleneck with a 90% total bottleneck probability and machine M2 is a secondary bottleneck with a 30% total bottleneck probability.
[0476]
Two important buffers are buffers BM1 and BM2. These buffers can star subsequent machines and can also block machines in parallel paths. For example, a full buffer BM1 may cause buffer BM0 to block and thus may cause BM2 to star. Of course, the empty buffer BM1 staves the machine M1.
[0477]
3.1 Buffer BM1
[0478]
FIG. 66 shows a comparison between the predicted value of the processing capability (export time interval TBP) obtained using this buffer prediction method and the measured data on the buffer size of the buffer BM1 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. Overall, the predicted value follows the measured data very well in the early stages, and has a small error for values with a large buffer size. The square root of the mean total square error was 0.44 s.
[0479]
3.2 Buffer BM2
[0480]
FIG. 67 shows a comparison between the predicted value of the processing capacity (export time interval TBP) obtained by using this buffer prediction method and the measured data on the buffer size of the buffer BM2 in which the space changes from 0 to 10. Yes. Measurement data is shown with a 95 percent confidence interval for throughput. The square root of the mean total square error was 0.56 s.
[0481]
3.3 Summary
[0482]
This predicted value is not always satisfactory for large changes in buffer size. The total square root of the mean square error for those data was 0.51 s. In addition to the above data values, another simulation was performed with two very large buffers having 50 spaces. The measured value of the export time interval TBP was 36.50 s (plus or minus 0.14 s for the 95 percent confidence interval), which is practically 36.81 s for a large range of predicted values. It is close to the predicted value.
[0483]
4 Summary
[0484]
Overall, this buffer prediction method works well in practice for small changes in buffer size and works very well for linear systems.
[0485]
By the way, when it is necessary to improve the size of the buffer between each component in the system, the conventional trial-and-error exploratory method using simulation simulates at least whenever the capacity (size) of the buffer is changed. It was necessary to change the model settings for and to perform simulation again. Therefore, a result cannot be obtained unless two waiting times, that is, the time required to change the model and the execution time of the simulation have elapsed.
[0486]
In addition, in the case of many exploratory methods, the optimal solution is only derived as a search result, but the optimal solution has an effect on how sensitive each buffer is to the evaluation function. It does not indicate what. For this reason, it has often been difficult for designers to understand the solution, that is, the appropriateness of buffer improvement measures.
[0487]
On the other hand, according to the present embodiment, it is possible to instantaneously predict the effect brought about by merely indicating how to improve which buffer. Therefore, the designer can repeat trial and error in design without stopping his thought process.
[0488]
As mentioned above, although one embodiment of the present invention was described in detail based on a drawing, this is an illustration, and it is based on the knowledge of those skilled in the art including the aspect described in the section of [Means for Solving the Problems]. The present invention can be implemented in other forms based on various modifications and improvements.
[Brief description of the drawings]
FIG. 1 is a flowchart conceptually showing a buffer prediction method according to an embodiment of the present invention.
FIG. 2 is a time chart for explaining an example in which the state of each machine in the production system in which the buffer prediction method of FIG. 1 is implemented changes with time;
FIG. 3 is a diagram for explaining an example of system data that needs to be used to implement the buffer prediction method of FIG. 1 in a table format;
4 is a flowchart conceptually showing an example of a production system in which the buffer prediction method of FIG. 1 is implemented.
FIG. 5 is a flowchart schematically showing a buffer prediction model used by the buffer prediction method of FIG. 1;
FIG. 6 shows a system with three machines and two buffers on a straight line.
FIG. 7 is a diagram showing a system including four machines on a line having a branch portion.
FIG. 8 is a diagram illustrating an example of a system in which reverse blocking occurs.
FIG. 9 is a diagram illustrating an example of a system in which reverse stubbing occurs.
10 is a diagram for explaining the picture display in FIGS. 11 and 12. FIG.
FIG. 11 is a diagram for explaining five stubbing situations that the machine Mi can take;
FIG. 12 is a diagram for explaining five blockin situations that the machine Mi can take;
13 is a graph showing the probability of stubbing occurring in each machine in the production system of FIG.
14 is a graph showing the probability that blocking will occur in each machine in the production system of FIG. 4; FIG.
15 is a diagram for explaining the cause of blocking and stubbing in the machine M3 in the production system of FIG. 4;
16 is a diagram for explaining the cause of blocking and staging in the machine M5 in the production system of FIG. 4;
FIG. 17 is a diagram showing, in tabular form, modes 1 to 4 regarding the effect that a buffer has on a machine in the system.
FIG. 18 is a diagram showing, in a tabular form, a time ratio at which a certain machine is blocked in the mode 1;
FIG. 19 is a diagram showing, in tabular form, a time ratio at which a certain machine is stared in the mode 2;
FIG. 20 is a diagram showing, in a tabular form, a time ratio at which a certain machine is blocked in the mode 3;
FIG. 21 is a diagram showing, in tabular form, a time ratio at which a certain machine is stared in the mode 4;
FIG. 22 shows several formulas related to the effective buffer size.
FIG. 23 is a histogram showing a probability that a part exists in a buffer AM3 having a size of 1 in the production system of FIG. 4;
24 is a histogram showing the probability that a part exists in a buffer AM3 having a size of 10 in the production system of FIG.
25 is a table showing the bottleneck probability of each machine in the initial setting of the production system of FIG. 4 in a table format.
FIG. 26 is a diagram for explaining distribution of bottleneck probabilities on the downstream side of the buffer AM1 in the production system of FIG. 4;
27 is a diagram showing, in a tabular form, a predicted value and a measured value of the fullness rate of each buffer in the production system of FIG. 4 in contrast.
FIG. 28 is a graph showing the predicted value and the measured value of the fullness rate of each buffer before capacity change in the production system of FIG. 4 in comparison.
29 is a diagram showing, in a tabular form, the bottleneck probability of each machine for the production system of FIG. 4 before and after the change of the buffer capacity.
30 is a diagram showing, in a tabular form, the predicted value and the measured value of the fullness rate of each buffer in the production system of FIG. 4 before and after the change of the buffer capacity.
FIG. 31 is a graph showing the predicted value and the measured value of the fullness rate of each buffer after capacity change in comparison with the production system of FIG. 4;
32 is a histogram showing a probability that a part exists in a buffer AM4 having a size of 5 in the production system of FIG. 4;
33 is a graph showing the average number of parts and the average part number ratio of the buffer AM4 in the production system of FIG. 4;
FIG. 34 is a diagram showing, in a tabular form, a total time ratio and a blocking time ratio that are affected by the blocking of the machine M3 when a space is added to each buffer in the production system of FIG.
FIG. 35 illustrates several equations related to the effect ratio by adding space or parts in the buffer.
FIG. 36 is a diagram illustrating several expressions related to the representative value of the adjacent buffer capacity.
FIG. 37 is a diagram illustrating several expressions related to a composite value of effective buffer capacities.
FIG. 38 is a diagram showing, in a tabular form, the number of representative additional spaces and the number of representative additional parts of each machine when the capacity of the buffers BM3 and BM5 is increased to 5 in the production system of FIG.
FIG. 39 is a diagram showing, in a tabular form, carry-out part intervals, action time ratios, and unit action times of each machine in the production system of FIG.
FIG. 40 is a graph showing the characteristics of the cumulative distribution function for the waiting time of several selected machines for the production system of FIG. 4;
FIG. 41 is a diagram illustrating an expression related to a reduction waiting time for each machine.
FIG. 42 is a diagram illustrating an expression related to a reduction waiting time for all machines.
43 is a table showing the reduction waiting time ratio, the single bottleneck probability, and the effective reduction amount ratio of each machine in the production system of FIG. 4 in a table format.
FIG. 44 is a block diagram showing a hardware configuration of a system analysis apparatus suitable for carrying out the buffer prediction method.
45 is a flowchart conceptually showing the contents of a buffer prediction program in FIG. 44. FIG.
FIG. 46 is a flowchart conceptually showing S100 in FIG. 45 as a prediction model creating routine.
FIG. 47 is a flowchart conceptually showing S200 in FIG. 45 as a cause analysis routine.
FIG. 48 is a flowchart conceptually showing S600 in FIG. 47 as a downstream object determination routine.
FIG. 49 is a flowchart conceptually showing S700 in FIG. 47 as an upstream object determination routine.
FIG. 50 is a flowchart conceptually showing S800 in FIGS. 48 and 49 as a downstream tracking routine.
FIG. 51 is a flowchart conceptually showing S900 in FIGS. 48 and 49 as an upstream tracking routine.
FIG. 52 is a flowchart conceptually showing S400 in FIG. 45 as a buffer effect estimation routine.
FIG. 53 is a flowchart conceptually showing S1000 in FIG. 52 as an average component number estimation routine.
FIG. 54 is a flowchart conceptually showing S1100 in FIG. 52 as an additional component / space number estimation routine.
FIG. 55 is a flowchart conceptually showing S1200 in FIG. 52 as a reduced idle time ratio estimation routine.
FIG. 56 is a diagram showing a linear production system having eight machines.
57 is a graph showing the predicted value and measured value of the carry-out time interval TBP of the buffer C in FIG. 56 in comparison.
58 is a graph showing the predicted value and measured value of the export time interval TBP of the buffer D in FIG. 56 in comparison.
59 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer AM2 in FIG.
60 is a graph showing a comparison between a predicted value and a measured value of the unloading time interval TBP of the buffer BM3 in FIG.
61 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer AM3 in FIG.
62 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer AM4 in FIG.
63 is a graph showing a comparison between a predicted value and a measured value of the unloading time interval TBP of the buffer BM5 in FIG.
64 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer AM5 in FIG.
FIG. 65 is a diagram showing a production system in which two machines are branched.
66 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer BM1 in FIG. 65. FIG.
67 is a graph showing a comparison between a predicted value and a measured value of the carry-out time interval TBP of the buffer BM2 in FIG. 65. FIG.
68 is a time chart showing an example of a change over time in the state of each machine in the production system of FIG. 7. FIG.
FIG. 69 is a diagram for describing definitions of some symbols used in the description of the embodiment in a tabular format.
FIG. 70 is a diagram for describing another symbol definition used in the description of the embodiment in a table format;
[Explanation of symbols]
10 System analyzer
12 Processing Unit
14 Storage
20 computers

Claims (8)

被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数個の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、ある構成要素に遊休状態を発生させる別の構成要素である原因要素と、その原因要素から、前記遊休状態にある構成要素である遊休構成要素までの原因経路とを、プロセッサおよびストレージを有するコンピュータが推定する原因・経路推定方法であって、
前記プロセッサが、前記ストレージから、前記システムにおける各構成要素の経時的な状態変化を表すシステムデータを読み出す読み出し工程と、
前記プロセッサが、前記ストレージから読み出されたシステムデータに基づき、前記遊休構成要素がブロッキング状態にあるかスタービング状態にあるかを判定する判定工程と、
前記遊休構成要素がブロッキング状態にあると判定された場合に、前記プロセッサが、前記複数個の構成要素のうち前記遊休構成要素にそれの下流側において隣接する別の構成要素を、前記遊休構成要素を出発要素として、その出発要素から、前記流れの正方向に追跡するとともに、前記ストレージから読み出されたシステムデータのうち、その追跡された構成要素に関連するデータに基づき、その追跡された構成要素が作用状態にあるか否かを判定し、今回追跡された構成要素が作用状態にあると判定された場合に、今回追跡された構成要素を、前記遊休構成要素のブロッキングを発生させた原因要素として特定する第1の原因特定工程と、
前記遊休構成要素がスタービング状態にあると判定された場合に、前記プロセッサが、前記複数個の構成要素のうち前記遊休構成要素にそれの上流側において隣接する別の構成要素を、前記遊休構成要素を出発要素として、その出発要素から、前記流れの逆方向に追跡するとともに、前記ストレージから読み出されたシステムデータのうち、その追跡された構成要素に関連するデータに基づき、その追跡された構成要素が作用状態にあるか否かを判定し、今回追跡された構成要素が作用状態にあると判定された場合に、今回追跡された構成要素を、前記遊休構成要素のスタービングを発生させた原因要素として特定する第2の原因特定工程と、
前記プロセッサが、前記ストレージから読み出されたシステムデータに基づき、前記第1および第2の原因特定工程によって特定された原因要素に関連付けて、その原因要素が前記遊休構成要素に影響を及ぼす経路を前記原因経路として特定する経路特定工程と
含み、
前記第1および第2の原因特定工程は、共に、前記プロセッサが、前記追跡に先立ち、前記遊休構成要素に隣接するすべての隣接構成要素にそれらの各状態に応じて予め定められたルールに従って順位を付与し、その付与された順位に従っていずれかの隣接構成要素を、追跡すべき構成要素として選択する順位付け工程を含み、
前記経路特定工程は、前記プロセッサが、各原因要素ごとに、それに付与された順位に基づき、前記遊休構成要素と各原因要素との間における各原因経路を特定する工程を含む原因・経路推定方法。
In order to generate a flow from the upstream side to the downstream side of the processed element, a system in which a plurality of components to be processed with respect to the processed element are arranged according to a predetermined flow. A computer having a processor and a storage includes a cause element that is another component that causes an idle state in a certain component and a cause path from the cause element to the idle component that is the idle state component. A cause / path estimation method for estimation,
A step in which the processor reads from the storage system data representing a change in state of each component of the system over time;
A step of determining whether the processor is in a blocking state or a staging state based on system data read from the storage;
When it is determined that the idle component is in a blocking state, the processor replaces the idle component with another component that is adjacent to the idle component among the plurality of components. As a starting element from the starting element, and the tracked configuration based on data related to the tracked component of the system data read from the storage. Cause of determining whether an element is in an active state and causing the currently tracked component to block the idle component when it is determined that the component tracked this time is in an active state A first cause identifying step identified as an element;
When it is determined that the idle component is in the staging state, the processor selects another component of the plurality of components adjacent to the idle component upstream of the idle component. An element as a starting element is tracked from the starting element in the reverse direction of the flow, and is tracked based on data related to the tracked component of the system data retrieved from the storage. It is determined whether or not the component is in an active state, and when it is determined that the component tracked this time is in an active state, the component tracked this time is caused to cause staging of the idle component. A second cause identifying step that identifies the cause element,
Based on the system data read from the storage, the processor associates the cause element identified by the first and second cause identification processes with the cause element affecting the idle component. A route specifying step that specifies the cause route , and
In both the first and second cause identification steps, prior to the tracking, the processor ranks all adjacent components adjacent to the idle component according to a predetermined rule according to their respective states. And a ranking step of selecting any adjacent component as a component to be tracked according to the assigned ranking,
The route specifying step includes a step in which the processor specifies each cause route between the idle component and each cause element based on the rank assigned to each cause element. .
さらに、前記プロセッサが、前記ストレージから読み出されたシステムデータに基づき、同じ遊休構成要素の複数の遊休期間について前記原因要素が少なくとも1個存在する場合に、各原因要素ごとに、それが前記遊休構成要素に及ぼす影響を、その影響が各原因要素から前記遊休構成要素に及ぶ各原因経路に関連付けて推定する影響推定工程を含む請求項1に記載の原因・経路推定方法。Further, when the processor has at least one cause element for a plurality of idle periods of the same idle component based on the system data read from the storage, the processor sets the idle element for each idle element. The cause / path estimation method according to claim 1, further comprising an influence estimation step of estimating an influence on the component in association with each cause path from the cause element to the idle component. 前記順位付け工程は、前記遊休構成要素がブロッキング状態にある場合に、前記プロセッサが、前記ストレージから読み出されたシステムデータに基づき、かつ、
順位1:構成要素が、ブロックされた機械である場合
順位2:構成要素が、満杯のバッファである場合
順位3:構成要素が、作用状態にある機械である場合
順位4:構成要素が、スターブされた機械である場合
順位5:構成要素が、満杯ではないバッファである場合
というルールに従って、各隣接構成要素を対象物としてその対象物に順位を付与する工程を含み、
前記第1の原因特定工程は、前記対象物に前記順位4が付与された場合には、前記システムにおける複数の隣接構成要素を、前記対象物から前記流れの逆方向に追跡する工程を含む請求項1または2に記載の原因・経路推定方法。
The ranking step includes the processor based on system data read from the storage when the idle component is in a blocking state; and
Rank 1: When the component is a blocked machine
Rank 2: When the component is a full buffer
Rank 3: When the component is a machine in an active state
Rank 4: When the component is a starved machine
Rank 5: If the component is a buffer that is not full
In accordance with the rule, including the step of assigning a rank to the target object as each adjacent component,
The first cause identifying step includes a step of tracking a plurality of adjacent components in the system from the object in a reverse direction of the flow when the order is given to the object. The cause / path estimation method according to Item 1 or 2 .
前記順位付け工程は、前記遊休構成要素がスタービング状態にある場合に、前記プロセッサが、前記ストレージから読み出されたシステムデータに基づき、かつ、
順位1:構成要素が、スターブされた機械である場合
順位2:構成要素が、空のバッファである場合
順位3:構成要素が、作用状態にある機械である場合
順位4:構成要素が、ブロックされた機械である場合
順位5:構成要素が、空ではないバッファである場合
というルールに従って、各隣接構成要素を対象物としてその対象物に順位を付与する工程を含み、
前記第2の原因特定工程は、前記対象物に前記順位4が付与された場合には、前記システムにおける複数の隣接構成要素を、前記対象物から前記流れの正方向に追跡する工程を含む請求項1ないし3のいずれかに記載の原因・経路推定方法。
The ranking step is based on system data read from the storage by the processor when the idle component is in a starving state, and
Rank 1: When the component is a starved machine
Rank 2: When the component is an empty buffer
Rank 3: When the component is a machine in an active state
Rank 4: If the component is a blocked machine
Rank 5: If the component is a non-empty buffer
In accordance with the rule, including the step of assigning a rank to the target object as each adjacent component,
The second cause identifying step includes a step of tracking a plurality of adjacent components in the system in the forward direction of the flow from the object when the order is given to the object. 4. The cause / route estimation method according to any one of Items 1 to 3 .
さらに、前記プロセッサが、前記追跡中、前記ストレージから読み出されたシステムデータに基づき、前記システムにおける各構成要素間の各バッファの位置ごとに、そのバッファの変更によって前記遊休構成要素の状態の持続時間が変化する量と、各バッファが前記原因要素であり続ける時間と、前記遊休構成要素に隣接する各隣接構成要素が前記原因経路上にあり続ける時間とのうちの少なくとも一つを含む統計値を計算する統計値計算工程を含む請求項1ないし4のいずれかに記載の原因・経路推定方法。Further, the processor maintains the state of the idle component by changing its buffer for each buffer position between components in the system based on system data read from the storage during the tracking. A statistical value including at least one of an amount of time change, a time during which each buffer continues to be the cause element, and a time during which each adjacent component adjacent to the idle component remains on the cause path The cause / path estimation method according to claim 1, further comprising a statistical value calculation step of calculating. 請求項1ないし5のいずれかに記載の方法を実施するためにコンピュータにより実行されるプログラム。A program executed by a computer to carry out the method according to any one of claims 1 to 5. 請求項6に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。The recording medium which recorded the program of Claim 6 so that computer reading was possible. 被処理要素が上流側から下流側に向かう流れを生起するために、その被処理要素に対して処理を施すべき複数個の構成要素が予め定められたフローに従って配置されて構成されたシステムについて、ある構成要素に遊休状態を発生させる別の構成要素である原因要素を、プロセッサおよびストレージを有するコンピュータを用いて、推定する原因推定装置であって、In order to generate a flow from the upstream side to the downstream side of the processed element, a system in which a plurality of components to be processed with respect to the processed element are arranged according to a predetermined flow. A cause estimation device for estimating a cause element, which is another component that causes an idle state in a certain element, using a computer having a processor and a storage,
前記ストレージから、前記システムにおける各構成要素の経時的な状態変化を表すシステムデータを読み出す読み出し手段と、  Reading means for reading system data representing a change in state of each component in the system over time from the storage;
前記ストレージから読み出されたシステムデータに基づき、前記遊休構成要素がブロッキング状態にあるかスタービング状態にあるかを判定する判定手段と、  Determining means for determining whether the idle component is in a blocking state or a staging state based on system data read from the storage;
前記遊休構成要素がブロッキング状態にあると判定された場合に、前記複数個の構成要素のうち前記遊休構成要素にそれの下流側において隣接する別の構成要素を、前記遊休構成要素を出発要素として、その出発要素から、前記流れの正方向に追跡するとともに、前記ストレージから読み出されたシステムデータのうち、その追跡された構成要素に関連するデータに基づき、その追跡された構成要素が作用状態にあるか否かを判定し、今回追跡された構成要素が作用状態にあると判定された場合に、今回追跡された構成要素を、前記遊休構成要素のブロッキングを発生させた原因要素として特定する第1の原因特定手段と、  When it is determined that the idle component is in a blocking state, another component adjacent to the idle component on the downstream side of the plurality of components is used as the starting component. Tracking the forward direction of the flow from the starting element, and based on the data related to the tracked component of the system data read from the storage, the tracked component is activated If the component tracked this time is determined to be in an active state, the component tracked this time is identified as the cause factor that caused the blocking of the idle component First cause identification means;
前記遊休構成要素がスタービング状態にあると判定された場合に、前記複数個の構成要素のうち前記遊休構成要素にそれの上流側において隣接する別の構成要素を、前記遊休構成要素を出発要素として、その出発要素から、前記流れの逆方向に追跡するとともに、前  When it is determined that the idle component is in the staging state, another component adjacent to the idle component upstream of the idle component among the plurality of components is used as the starting component. As well as tracing from the starting element in the reverse direction of the flow 記ストレージから読み出されたシステムデータのうち、その追跡された構成要素に関連するデータに基づき、その追跡された構成要素が作用状態にあるか否かを判定し、今回追跡された構成要素が作用状態にあると判定された場合に、今回追跡された構成要素を、前記遊休構成要素のスタービングを発生させた原因要素として特定する第2の原因特定手段とBased on the data related to the tracked component among the system data read from the storage, it is determined whether or not the tracked component is in an active state. A second cause identifying means for identifying the component tracked this time as the cause element that caused the staging of the idle component when it is determined that the active component is in an active state;
を含み、  Including
前記第1および第2の原因特定手段は、共に、前記追跡に先立ち、前記遊休構成要素に隣接するすべての隣接構成要素にそれらの各状態に応じて予め定められたルールに従って順位を付与し、その付与された順位に従っていずれかの隣接構成要素を、追跡すべき構成要素として選択する順位付け手段を含む原因推定装置。  Both the first and second cause identifying means give priorities to all adjacent components adjacent to the idle component in accordance with a predetermined rule according to their respective states prior to the tracking, A cause estimation apparatus including ranking means for selecting any adjacent component as a component to be tracked according to the given ranking.
JP2003205892A 2003-08-05 2003-08-05 Cause / route estimation method and cause estimation apparatus Expired - Fee Related JP4196764B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003205892A JP4196764B2 (en) 2003-08-05 2003-08-05 Cause / route estimation method and cause estimation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003205892A JP4196764B2 (en) 2003-08-05 2003-08-05 Cause / route estimation method and cause estimation apparatus

Publications (2)

Publication Number Publication Date
JP2005055956A JP2005055956A (en) 2005-03-03
JP4196764B2 true JP4196764B2 (en) 2008-12-17

Family

ID=34362942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003205892A Expired - Fee Related JP4196764B2 (en) 2003-08-05 2003-08-05 Cause / route estimation method and cause estimation apparatus

Country Status (1)

Country Link
JP (1) JP4196764B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5710435B2 (en) * 2011-09-16 2015-04-30 株式会社日立製作所 Production line design apparatus and production line design method
JP6290029B2 (en) * 2014-07-30 2018-03-07 株式会社東芝 Production control support device, production control support method and program
JP6928182B1 (en) * 2019-11-08 2021-09-01 三菱電機インフォメーションシステムズ株式会社 Stop cause identification support device, stop cause identification support program and method
WO2022137513A1 (en) * 2020-12-25 2022-06-30 富士通株式会社 Information processing device, designation method, and designation program

Also Published As

Publication number Publication date
JP2005055956A (en) 2005-03-03

Similar Documents

Publication Publication Date Title
Asad et al. An approach for software reliability model selection
EP1835426A1 (en) Estimating software power consumption
Khemakhem et al. Efficient robustness measures for the resource-constrained project scheduling problem
US7761272B1 (en) Method and apparatus for processing a dataflow description of a digital processing system
Trivedi et al. Techniques and tools for reliability and performance evaluation: Problems and perspectives
Karrer Engineering production control strategies: a guide to tailor strategies that unite the merits of push and pull
Riesener et al. A model for dependency-oriented prototyping in the agile development of complex technical systems
Roser et al. Buffer allocation model based on a single simulation
JP4196764B2 (en) Cause / route estimation method and cause estimation apparatus
JPWO2015146100A1 (en) LOAD ESTIMATION SYSTEM, INFORMATION PROCESSING DEVICE, LOAD ESTIMATION METHOD, AND COMPUTER PROGRAM
US20110313736A1 (en) Method and Algorithm for Modeling and Simulating A Discrete-Event Dynamic System
JP2005049922A (en) Evaluation system for job execution plan
US7979860B2 (en) Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths
Andersson et al. A design process modeling approach incorporating nonlinear elements
US20210365189A1 (en) Performance analysis apparatus and performance analysis method
Hewitt Comparing analytical and discrete-event simulation models of manufacturing systems
JP2021174330A (en) Prediction device by ensemble learning of heterogeneous machine learning
JP7373384B2 (en) Verification method for computer systems and scheduling systems
Wu et al. State Aggregation and Lower Bound-Based ADP Approach for Dynamic Pick-Up Routing Problem With Capacity Constraint
Jin Simulation-based retrospective optimization of stochastic systems: a family of algorithms
JP7311270B2 (en) Scheduling system, schedule generator, preference value calculator, program, and method thereof
JP5984686B2 (en) Information processing apparatus and program
Zhang Resource allocation problems in manufacturing systems using white-box-simulation-based cut generation approach
JP2023098481A (en) Job shop work time estimation device, total work time estimation device, job shop work time estimation program, and job shop work time estimation method
JP7436854B2 (en) Information processing device, control method, program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees