(57)【特許請求の範囲】
【請求項１】
１つ以上の製品の生産計画と、該製品を構成する品目に特有のデータおよびそれら品目と品目との親子関係を示すデータからなる部品表と、それぞれの品目についての在庫および納入予定データを入力とし、資材所要量計算（ＭＲＰ計算）を行って前記製品を生産するのに必要な品目および該品目の要求量を含む計算結果を出力する生産計画システムであって、
前記ＭＲＰ計算は、前記生産計画で設定された全ての製品に関し、その製品を製造する際に必要となる全ての品目について部品展開計算を行うものであり、
該生産計画システムは、ＭＲＰ計算を行う１つ以上のＭＲＰ計算部と、前記ＭＲＰ計算部の状態を管理するとともに前記ＭＲＰ計算部に作業指示を行う作業指示部とを有し、
前記ＭＲＰ計算部は、
メモリを備え該メモリへの各品目に関するデータの入出力の管理と親子品目間の要求量を含む計算結果の授受の管理と全ての親品目から要求量を含む計算結果を受けた品目を部品展開計算可能な品目として計算可能品目管理部に送るデータ管理部と、
前記計算可能品目の管理と部品展開計算部への投入を行う計算可能品目管理部と、
投入された品目の部品展開計算を行い該品目の子品目および該子品目の要求量を含む計算結果を算出し、前記データ管理部または要求量送受信部に送る１つ以上の部品展開計算部と、
部品展開計算部より受け取った要求量を含む計算結果を送信バッファに書き込み、他のＭＲＰ計算部へ送る要求量送受信部とを有し、
前記データ管理部のメモリ上にはデータを品目ごとに記述した品目セルを有し、該品目セルに該品目の親品目の総数を格納する親品目数と、要求量を含む計算結果を受け取った親品目の数を計数する親品目カウンタとを有するようにし、
また、前記要求量送受信部に、要求量を含む計算結果を受け取ったの親品目の数を計数するための親品目カウンタを設け、該要求量送受信部は要求量を含む計算結果とともに該計数した親品目数を他のＭＲＰ計算部に送信し、
前記データ管理部においては、該メモリ上の親品目数と親品目カウンタの計数値が一致した品目を、全ての親品目から要求量を含む計算結果を受けた計算可能品目として計算可能品目管理部に送ることを特徴とする生産計画システム。
【請求項２】
前記データ管理部の品目セルの親品目数は、入力データである部品表のデータを前記品目セルに格納する際、該部品表に含まれる品目と品目との親子関係を示すデータに基いて計数して設定することを特徴とする請求項１に記載の生産計画システム。
【請求項３】
前記部品展開計算は、計算対象品目の所要量を、予め定められた期間まとめた総所要量を、前記入力された在庫および納入予定データに引き当て必要な正味所要量を算出する正味所要量計算を含み、
前記部品展開計算部において、計算対象品目の総所要量を該品目の在庫および納入予定データに引き当てた結果、在庫および納入予定でまかなえる場合には、該品目の正味所要量を０として該品目の部品展開計算を行うことを特徴とする請求項１に記載の生産計画システム。
【請求項４】
１つ以上の製品の生産計画と、該製品を構成する品目に特有のデータおよびそれら品目と品目との親子関係を示すデータからなる部品表と、それぞれの品目についての在庫および納入予定データを入力とし、資材所要量計算（ＭＲＰ計算）を行って前記製品を生産するのに必要な品目および該品目の要求量を含む計算結果を出力する生産計画方法であって、
前記ＭＲＰ計算は、前記生産計画で設定された全ての製品に関し、その製品を製造する際に必要となる全ての品目について部品展開計算を行うものであり、
該生産計画方法は、1つ以上のＣＰＵとメモリとハードディスクを有する計算機において実現され、
前記入力された生産計画と部品表と在庫および納入予定データを、前記メモリ上に品目ごとに設けられた品目セルに格納し、前記部品表に含まれる品目と品目との親子関係を示すデータに基づいて親品目が存在しない品目を計算可能品目として抽出して登録し、登録した品目について部品展開計算を行って該品目の子品目および該子品目の要求量を含む計算結果を算出し、該計算結果を前記品目セルに書き込むとともに、親子品目間の要求量を含む計算結果の授受の管理し、全ての親品目から要求量を含む計算結果を受けた品目を部品展開計算可能な品目として抽出して登録し、登録した品目についてさらに部品展開計算を行い該品目の子品目および該子品目の要求量を含む計算結果を算出、該計算結果を前記品目セルに格納し、親子品目間の要求量を含む計算結果の授受の管理および全ての親品目から要求量を含む計算結果を受けた品目を部品展開計算可能な品目として抽出、抽出した品目の部品展開計算を全ての品目について行うものであり、
前記メモリ上の品目セルに該品目の親品目の総数を親品目数として格納しておき、要求量を含む計算結果を受け取った親品目の数を計数し、該メモリ上の親品目数と要求量を含む計算結果を受け取った親品目の数の計数値が一致した品目を、全ての親品目から要求量を含む計算結果を受けた計算可能品目として抽出することを特徴とする生産計画方法。
【請求項５】
前記品目セルの親品目数は、入力データである部品表のデータを前記品目セルに格納する際、該部品表に含まれる品目と品目との親子関係を示すデータに基いて計数して設定することを特徴とする請求項４に記載の生産計画方法。
【請求項６】
前記部品展開計算は、計算対象品目の所要量を、予め定められた期間まとめた総所要量を、前記入力された在庫および納入予定データに引き当て必要な正味所要量を算出する正味所要量計算を含み、
前記部品展開計算において、計算対象品目の総所要量を該品目の在庫および納入予定データに引き当てた結果、在庫および納入予定でまかなえる場合には、該品目の正味所要量を０として該品目の部品展開計算を行うことを特徴とする請求項４に記載の生産計画方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は生産計画が入力されたとき、この生産計画によって生産される製品を生産するのに必要な各種部品、原材料を求める生産計画方法及び生産計画システムに関する。
【０００２】
【従来の技術】
モータ等の一つの製品が指定された場合、この製品を作るのに必要な部品の種類とその個数とを自動的に算出する方法の一つとして、資材所要量計画（Ｍａｔｅｒｉａｌ  Ｒｅｑｕｉｒｅｍｅｎｔｓ  Ｐｌａｎｎｉｎｇ、以下ＭＲＰと呼ぶ）が知られている。資材所要量計算方式及び装置とは、このＭＲＰのための計算方式及び装置を指す。以下、資材所要量計算をＭＲＰ計算を呼ぶ。
【０００３】
ＭＲＰ及び従来のＭＲＰ計算方式は、例えば「図説ＭＲＰ用語５００選」（日刊工業新聞社：昭和５８年発行）等に記載があるが、以下、従来のＭＲＰ計算方式について簡単に説明する。
【０００４】
ＭＲＰ計算では、立案された製品レベルの生産計画（Ｍａｓｔｅｒ  Ｐｒｏｄｕｃｔｉｏｎ  Ｓｃｈｅｄｕｌｅ、以下ＭＰＳと呼ぶ）を基に、部品、原材料などの品目について”必要なものを（品目）、必要な時に（納期）、必要なだけ（所要量）”購買したり、製造したりするための手配計画を計算する。この計算では大きく以下の３つの情報を必要とする。
【０００５】
（１）ＭＰＳ
一般には、部品展開図でトップレベルにある品目（製品）の生産計画。基準生産計画ともいう。
【０００６】
（２）部品表
「品目データ」と呼ばれる品目に特有のデータと、「製品構成データ」と呼ばれる、製品と部品、部品と部品、部品と原材料といった品目と品目の関連を示したデータとの２つのマスターデータからなる一覧表をいう。
【０００７】
品目データとしては例えば、その部品を製造したり、購買したりするときに必要となる時間（以下リードタイムと呼ぶ）等がある。また、製品構成データによって、例えばある品目を製造するのに必要な子品目は何で、製造する品目一つに対し、それぞれの子品目が幾つ必要になるか（これを各子品目の員数と呼ぶ）といった情報を得ることができる。
【０００８】
（３）在庫・注残
それぞれの品目について現時点での在庫や仕掛数、あるいは既に発注済みで将来納品される予定の品目の納期時期と予定数（注残情報）をいう。
【０００９】
このような情報をもとに、ＭＲＰ計算では、各品目に関して以下の５つの計算を行なう。
【００１０】
（１）総所要量計算
その品目の所要量データを読み込み、要求されている量をある期間にまとめて、期間別の総所要量を算出する。以下、説明を簡単にするため、期間は１日として、日別の計画立案について説明する。
【００１１】
（２）正味所要量計算
算出された総所要量を基に、在庫や注残への引当を行ない、日別に必要な正味所要量を算出する。
【００１２】
（３）ロットまとめ
算出された日別の正味所要量を基に、品目に設定されているロットサイズを用いて、手配に最も適した数量にまとめる。
【００１３】
（４）リードタイム計算
ロットまとめされた数量の納期からリードタイムを差し引き、その発注日または着手日を算出してオーダを作成する。
【００１４】
（５）所要量展開
部品表を用いて下位品目へと、作成したオーダを展開する。具体的には、オーダの着手日の前日を要求日として、製品構成データの子品目と員数をもとに、各子品目の要求量を算出し、各品目の所要量データに書き込む。
【００１５】
上記の（１）から（５）までの計算を総称して以下、部品展開計算と呼ぶこととする。
【００１６】
ＭＲＰ計算は、ＭＰＳで設定された全ての製品に関し、その製品を製造する際に必要となる全ての品目の部品展開計算を行なう。
【００１７】
この時、注意しなければならないのは各品目の部品展開計算を行なうタイミングである。
【００１８】
例えば、図２の部品展開図に示すような構成の製品の場合、品目ＣＬは、品目ＨＣ及び品目ＲＣの子品目となっている。そのため品目ＣＬの総所要量は、品目ＨＣ及び品目ＲＣからの要求量の和となり、品目ＣＬの部品展開計算は、品目ＨＣ及び品目ＲＣの部品展開計算が終了してから行なわなければならない。すなわち、品目ＣＬは、親品目である品目ＨＣ及び品目ＲＣの部品展開計算が終了してはじめて「計算可能品目」となる。
【００１９】
この例では、一製品だけの比較的簡単な部品構成であったが、実際には数百から数千の製品が、数万に及ぶ品目で複雑に構成された状態での計算を行なう必要があり、各品目は、種々のタイミングで計算可能品目となり、その後で計算されることになる。
【００２０】
そこで、従来のＭＲＰ計算では、ローレベルコードを導入し、キューを用いて各品目の部品展開計算の制御を行なっている。キューの代わりにアクティビティチェーンと呼ばれるポインタを使うものも一般的であるが、制御の方式としては本質的に全く同じものであるので、以下、キューを用いた方式を例に従来のＭＲＰ計算について説明をする。
【００２１】
図２に示すようにある製品の部品展開図をもとに、各品目には部品構成上のどの階層に属するかでレベルコードを付与することができる。品目によっては、ある製品の中で複数の階層に属する場合や、あるいは複数の製品において異なる階層に属する場合があり、その品目は複数のレベルコードを持ちうる。そこで、その中でも最も下位のレベルコードをローレベルコードとする。ここで、下位とは、部品展開図上でより基本的な品目のレベルに進む方向を指す。通常、レベルコードは製品レベルを０レベルとして、基本的な品目に向かって階層が進むに従ってレベルコードの数が増える。従って、ローレベルコードは、その品目が持つレベルコードのうち最大の値のレベルコードとなっている。また、このことは、レベルコードとは異なりローレベルコードに関しては各品目においてそれぞれただ一つだけ定まるということである。各品目のローレベルコードは、ＭＲＰ計算が始まる前に部品表の全ての品目を検索することで設定されており、品目特有の情報として品目データに書き込まれている。
【００２２】
このように、ローレベルコードを設定すれば、あるレベルより上の品目の部品展開計算が全て終了していれば、次のレベルに属する品目は全て「計算可能品目」となっていることを保証できる。
【００２３】
そこで、従来のＭＲＰ計算は、ローレベルコードを利用し、レベル・バイ・レベルで各品目の部品展開計算の順番を決定している。具体的には、以下の手順で処理が進められる。
【００２４】
（１）ＭＰＳの読み込み
ＭＰＳの中の製品レベルの品目に対し、ＭＰＳから読み込んだ要求量を書き込む。また、この時、レベル０のキューにその品目名を入れる。
【００２５】
（２）レベル０のキューから計算開始
ＭＰＳの読み込みが全て終了した時点で、レベル０のキューから品目名を一つ取り出し、その品目の部品展開計算を行なう。終了すればキューから次の品目名を取り出す。ここで、部品展開計算の中の所要量展開時に、子品目名をその子品目のローレベルコードのキューに入れる。但し、既にキューに入っている場合は何もしない。
【００２６】
（３）レベル・バイ・レベルの展開
あるレベルのキューが空になったとき、次の下位のレベルのキューから品目名を一つ取り出し、その品目の部品展開計算を行なう。空になるまではそのレベルのキューから取り出し続ける。部品展開計算の所要量展開時に、子品目名をその子品目のローレベルコードのキューへ入れる。但し、既にキューに入っている場合は何もしない。
【００２７】
（４）ＭＲＰ計算の終了
全てのレベルのキューが空になった時点で計算終了。
【００２８】
また、従来のＭＲＰ計算方式の改良として、特開平３−２２６８４５号公報記載の「ツリー構造データ多重処理方式」がある。これは、部品表のようにレベルが設定されているツリー構造データを、一つの対象レベル制御部と複数のデータ処理部を用いて並列に処理するものである。対象レベル制御部は、全てのデータ処理部であるレベルの処理が終了するまで、次のレベルの計算指示を出さない。各データ処理部は、対象レベル制御部の指示があるまで、次のレベルの計算を始めない。このように、レベル毎に同期をとって並列処理の進行制御を行なうものであり、レベル毎に各品目の部品展開計算を複数のデータ処理部で行えば、先に説明した従来のＭＲＰ計算と同等の処理結果を得られる。
【００２９】
【発明が解決しようとする課題】
既に説明したように、従来の「図説ＭＲＰ用語５００選」記載のようなＭＲＰ計算は、各品目の部品展開計算がその親品目の部品展開計算が全て終了してから必ず行なわれるようにローレベルコードとキューを用いて制御されている。しかしながら、この制御方式は、その結果として各品目の部品展開計算を一つづつ逐次的に行なうものであり、製品数、部品数、計画期間が大きい場合、膨大な処理時間が必要となっている。そのため、このＭＲＰ計算を頻繁に行なうことができず、例えば市場動向に応じて生産計画を立案し直したい場合や、在庫、注残等の変更があった場合にも、細かく対応することができない。
【００３０】
また、特開平３−２２６８４５号公報記載の「ツリー構造データ多重処理方式」は、並列処理によりＭＲＰ計算の高速化を目的としたものであるが、従来のＭＲＰ計算と同様にローレベルコードを用いており、そのため、ローレベルコード設定処理が必要となる。この設定処理も、部品数が大きい場合は膨大な処理時間が必要となる。そのため、設計変更等で部品表を更新した場合、その新しいデータをすぐに活用することができない。
【００３１】
本発明の目的は、従来の問題点を解決し、ＭＲＰ計算の処理時間を短縮することにある。
【００３２】
【課題を解決するための手段】
本発明は、上記目的を達成するために、ローレベルコードを用いずにＭＲＰ計算を行なうとともに、その部品展開計算を分割して並列処理する。
【００３３】
具体的に説明すると、本発明は、複数のプロセスのそれぞれに対して製品の構成品目のうちの複数の品目を取り扱うように定義し、その複数のプロセスを並列処理させることで該製品の資材所要量を算出する生産計画方法であって、それぞれのプロセスは予め定められた全ての親品目の計算結果を該プロセス自身もしくは他のプロセスから受信することで取り扱う複数品目の中から処理すべき品目を抽出して所要量計算する。
【００３４】
もしくは、複数のＭＲＰ計算部を並列処理させることで製品の資材所要量を算出する生産計画システムであって、ローレベルコードを用いずに計算可能品目を抽出するデータ管理部と、その抽出された計算可能品目を部品展開計算する部品展開計算部と、その部品展開計算された結果を送受信するデータ送受信部とからなる複数のＭＲＰ計算部と、該製品を構成する複数の品目を関連のある複数の品目群に分割して、その品目群を該複数のＭＲＰ計算部のいづれかに割り当てる手段とを備え、該データ管理部が割り当てられた品目群から処理すべき品目を抽出する場合に、予め定められた全ての親品目からの計算結果を該ＭＲＰ計算部自身もしくは他のＭＲＰ計算部から受信することにより抽出する。
【００３５】
このように予め定められた全ての親品目の計算結果を該プロセス自身もしくは他のプロセスから受信することで取り扱う複数品目の中から処理すべき品目を抽出して所要量計算すれば、複数品目を同一プロセスで取り扱ったとしてもどのタイミングでどの品目を処理するかを順序づけでき、矛盾無く複数のプロセスを並列処理することができる。
【００３６】
なお、前記所要量計算を複数の所要量計算部で行い、前記抽出された品目を該所要量計算部のいずれかに割り当て、該抽出された複数の品目を並列処理してそれぞれの所要量計算をすれば、さらにＭＲＰ計算の処理速度を向上することができる。つまり、本発明は、いわゆる共有メモリ型並列計算機に適用することもでき、それぞれＭＲＰ計算の処理速度を向上することができる。
【００３７】
また、前記抽出された品目をバッファリングし、そのバッファリングされた品目の中から計算可能な品目を所要量計算した方が好ましい。
【００３８】
計算可能として抽出される品目は複数になる場合がある。このような場合に計算可能になった品目を順にバッファリングしておけば１つの品目の所要量計算が終わったと同時に残りのバッファリングされている品目の所要量計算に着手できるので、１つの品目の所要量計算から他の所要量計算に移行するまでの時間を短縮することができ、ＭＲＰ計算の処理速度を向上することができる。
【００３９】
さらに、バッファリングした品目の中から計算可能な品目を所容量計算する場合に、第一の品目の所要量計算が終了するまでは第二の品目の所要量計算を行わないような投入順序ルールを予め定めておき、その投入順序ルールに従って計算可能な品目を所要量計算しても良い。その投入順序ルールとしては、例えば、対象となる製品の品目構成を階層的に表した場合に、その上位階層に属する品目を優先的に処理するように設定したり、対象となる品目の子品目数が多い品目を優先的に処理するように設定する。これにより複数のプロセス間での待ち時間を低減でき、ＭＲＰ計算時間を短縮できる。
【００４０】
次に、複数のプロセスを利用する場合、プロセス間でのデータの授受が必要となる。
【００４１】
本発明は、プロセス内のデータ転送時間に比べて、プロセス間のデータ転送時間はかなり遅いことに着目し、プロセス間のデータ転送効率を向上させてＭＲＰ計算時間を短縮する。つまり、プロセスの計算結果を他のプロセスに送信する場合、前記計算結果は所定のデータ量になるまで保持され、前記計算結果が所定のデータ量となった場合にそのデータを前記他のプロセスに送信するようにした。
【００４２】
そして、新たに算出された計算結果が送られてくると、既に保持されている計算結果と同一品目があるかを検索し、同一品目がある場合、その保持されている計算結果に新たに送られてきた計算結果を加えることで、さらにデータ転送効率を向上させる。本発明では予め定められた全ての親品目の計算結果を該プロセス自身もしくは他のプロセスから受信することで取り扱う複数品目の中から処理すべき品目を抽出して所要量計算するので、単に送信すべき同一品目の計算結果を加えただけでは、予め定められた全ての親品目からの計算結果が送られてきたかを判断できないので、前述の加算結果にいくつの親品目から送られてきたデータであるかがわかる情報を付加することが好ましい。
【００４３】
以上の本発明の生産計画方法／システムを図１に具体的に示す。
【００４４】
図１では、ＭＲＰ計算を行うための初期処理を行う初期処理部（１）が一つと、各品目に関するデータの入出力を行なうデータ保持部（３２）と、各親子品目間の要求量授受を管理し計算可能品目を抽出する計算可能品目抽出部（３３）とをそれぞれ一つずつ備えたデータ管理部（２）が一つと、全ての親品目から要求量を受けた品目を管理し、その品目を部品展開計算可能な品目として部品展開計算部へ投入する計算可能品目管理部（３）が一つと、各品目の部品展開計算を行なう部品展開計算部（４）が一つないし複数個と、親子品目間の要求量授受に必要な処理を行う要求量送受信部（５）が一つと、メッセージ送受信を管理するメッセージ管理部（６）が一つとで構成されるＭＲＰ計算部（７）を一つないし複数個と、各ＭＲＰ計算部の状態を管理して作業指示を全てのＭＲＰ計算部に行なう作業指示部（８）を一つとを有し、ローレベルコードを用いずに各品目の部品展開計算を並列に進めている。
【００４５】
一つないし複数個のＭＲＰ計算部（７）は、メッセージ管理部（６）で作業指示部（８）からＭＲＰ計算開始指示を受けると、初期処理部（１）に処理開始指示を送る。
【００４６】
初期処理部は、データ管理部（２）に対し、各種製品の要求量であるＭＰＳデータの内容を、製品毎に該当品目の所要量のデータエリアに書き込むよう指示する。そして、データ管理部に対し、親品目が存在しない全ての品目のデータアドレスを計算可能品目管理部（３）へ送るよう指示する。
【００４７】
計算可能品目管理部は、データ管理部からデータアドレスを受け取ると、それを計算可能品目として、キューに登録する。その後、キューからデータアドレスを取り出し、部品展開計算部へ送る。
【００４８】
部品展開計算部（４）は、計算可能品目管理部（３）から計算可能な品目のデータアドレスを受け取ると、該品目の部品展開計算を行なう。該部品展開計算で算出された子品目の要求量は、該子品目が同じＭＲＰ計算部の計算対象ならデータ管理部へ、他のＭＲＰ計算部の計算対象ならば要求量送受信部（５）へ送られる。
【００４９】
データ管理部は、各品目の要求量をデータ保持部（３２）へ送り、該当品目の所要量のデータエリアに書き込む。
【００５０】
要求量送受信部は、各品目の要求量を送信バッファに書き込む。送信バッファが一杯になると、その都度メッセージ管理部（６）を経て、他のＭＲＰ計算部へ送信バッファを送る。送信先のＭＲＰ計算部では、要求量送受信部がメッセージ管理部を経て、送信バッファを受信すると、その内容を各品目の要求量としてデータ管理部へ送る。データ管理部は、各品目の要求量をデータ保持部へ送り、該当品目の所要量のデータエリアに書き込む。データ管理部は、計算可能品目抽出部（３３）で親子品目間の要求量授受を管理し、全ての親品目からの要求量が、所要量のデータエリアに書き込まれた品目があれば、該品目を計算可能品目とし、該品目のデータアドレスを計算可能品目管理部へ送る。
【００５１】
計算可能品目管理部は、品目のデータアドレスを受け取ると、それを計算可能品目としてキューに登録する。計算可能品目管理部から送られたデータアドレスの品目の部品展開計算を終えた部品展開計算部は、計算可能品目管理部へ展開終了を報告する。その報告を受けた計算可能品目管理部は、計算終了品目を管理し、該ＭＲＰ計算部に割り当てられた全ての品目の計算が終了すれば、要求量送受信部の送信バッファを全て送信し、その後、作業指示部へメッセージ管理部を介して計算終了報告を行う。一致してなければ、キューから品目のデータアドレスを取り出し、部品展開計算部へ送る。全てのＭＲＰ計算部から計算終了報告を受けた作業指示部は、終了指示を全てのＭＲＰ計算部に送る。これにより、ＭＲＰ計算が終了する。
【００５２】
さらには本発明の考え方は、シングルＣＰＵ型計算機にも適用できる。つまり製品の資材所要量を１つのプロセスにより算出する生産計画方法であって、該プロセスは予め定められた全ての親品目の計算結果を受信することで取り扱う複数品目の中から処理すべき品目を抽出して部品展開計算すれば、ローレベルコードを用いずにＭＲＰ処理ができる。より具体的には、製品の資材所要量を１つのＭＲＰ計算部により算出する生産計画システムであって、ローレベルコードを用いずに計算可能品目を抽出するデータ管理部と、その抽出された計算可能品目を部品展開計算する部品展開計算部とからなるＭＲＰ計算部を備え、該データ管理部が製品を構成する複数品目から処理すべき品目を抽出する場合に、予め定められた全ての親品目からの計算結果を受信するようにシステムを構成すればよい。
【００５３】
【発明の実施の形態】
本発明は、基盤となる情報処理環境によって構成が変わるが、ローレベルコードを用いずに、親子品目間の要求量授受を管理することで計算可能品目を抽出するという、基本的な方式は変わらない。以下、図３から図２０を用いて、様々な情報処理環境における本発明の実施例を説明する。
【００５４】
まず最初に、分散メモリ型並列計算機における本発明の実施例を説明する。ここで想定する計算機は、図３のようにＣＰＵとメモリをそれぞれ１つずつ備えたＰＥ（Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）が複数存在し、それらがネットワークによって結合されたものである。この様分散メモリ型並列計算機で、複数の品目の部品展開計算を各ＰＥに生成されるＭＲＰ計算プロセスで同時に行う場合、各々のＰＥもしくはＭＲＰ計算プロセスに計算する品目を割り当てる必要がある。
【００５５】
その割り当て処理のタイミングとして、３通り考えられる。
【００５６】
１つ目は、割り当て処理をＭＲＰ計算処理と同時に行う方法である。例えば、計算する全ての品目を一括管理する処理部が存在し、該処理部が複数あるＭＲＰ計算プロセスに計算すべき品目を割り当て、各ＭＲＰ計算プロセスは、割り当てられた品目の計算を行う。該計算を終えたＭＲＰ計算プロセスは、また一括管理する処理部に計算品目の割り当て要求をする方法である。
【００５７】
２つ目は、割り当て処理をＭＲＰ計算処理の前に行う方法である。例えば、ＭＲＰ計算を行う前に、各ＰＥに対し、それぞれが計算すべき品目を分配する。そして、ＭＲＰ計算時は、各ＰＥに生成されたＭＲＰ計算プロセスが、該ＰＥに分配された品目だけを処理する方法である。
【００５８】
３つ目は、１つ目と２つ目を組み合わせた方法である。例えば、ＭＲＰ計算を行う前に、各ＰＥに計算すべき品目を分配する。そして、ＭＲＰ計算時は、各ＰＥに生成されたＭＲＰ計算プロセスが、基本的には、該ＰＥにあらかじめ割り当てられた品目に従って処理を進める。しかし、該ＰＥの負荷バランスが悪い場合には、負荷が重いＰＥから軽いＰＥへと、計算品目を割り当て変更を行う方法である。
【００５９】
本実施例では、２つ目の方法を用いた場合を説明する。ここで、本実施例が前提とする割り当て処理について簡単に説明する。
【００６０】
割り当て処理は、部品表から品目を読み込み、各ＰＥに割り当て、該ＰＥ番号を属性として該品目の割当ＰＥ番号を格納するデータエリアに設定する。割当ＰＥを決定する方法としては、様々な方法がある。
【００６１】
例えば、最も簡単な割当決定方法は、部品表の品目を順番に各ＰＥに割り当てるというものである。このような割当決定方法を用いて、全ての品目に関して割当ＰＥを決定した後、品目に関するＭＰＳ、部品表、在庫・注残等のデータを、各品目の割当ＰＥ番号に従って分散配置し、終了する。
【００６２】
分散メモリ型並列計算機での本発明の構成は、図４のようにＰＥ毎にＭＲＰ計算部（７）に相当するＭＲＰ計算プロセス（９）を配置し、この複数あるＭＲＰ計算プロセスの処理状態を管理し、ＭＲＰ計算の開始・終了指示等を行なう作業指示部（８）を備えた制御プロセス（１０）を一つ用意する。
【００６３】
ＭＲＰ計算プロセスは、データ管理部でメモリ上のデータの入出力を管理する。メモリ上には部品表データ、在庫・注残データ等を品目毎にまとめた品目セル（１１）を持ち、この品目セルに該品目の親品目の総数を格納する親品目数（１２）と、要求量を受けた親品目の数をカウントする親品目カウンタ（１３）とを設ける。計算可能品目管理部は、計算可能な品目の品目セル先頭アドレスを格納する計算可能ジョブキュー（１４）を備え、また、該ＭＲＰ計算プロセスに割り当てられた品目の数を格納する割当品目数（１５）と、計算終了した品目の数をカウントする計算終了品目カウンタ（１６）を設ける。要求量送受信部には、他のＭＲＰ計算プロセスに割り当てられた品目へ要求量を送るための送信バッファである要求量キャリア（１７）を、他のＭＲＰ計算プロセス分だけ設ける。そして、この要求量キャリアにも、親品目カウンタ（３４）を設ける。制御プロセスには、ＭＲＰ計算の終了判定を行う為の、計算終了報告を受けたＭＲＰ計算プロセスをカウントするＭＲＰ計算終了カウンタ（１８）を用意する。
【００６４】
次に、分散メモリ型並列計算機での本発明の具体的な処理の流れを図５から図１２を用いて説明する。
【００６５】
図５は制御プロセスのフローチャートである。
【００６６】
制御プロセスは、まず最初に各ＰＥにＭＲＰ計算プロセスを生成し、生成したＭＲＰ計算プロセスから、該ＭＲＰ計算プロセスのＰＥ番号とプロセス番号を受信する。受信した情報から、ＭＲＰ計算プロセスが存在するＰＥの名前とＭＲＰ計算プロセス番号の一覧表を作成し、全ＭＲＰ計算プロセスに配布する。ＭＲＰ計算プロセスは、この配布した一覧表をもとに要求量キャリアを作成する。制御プロセスは、一覧表を配布した後、全てのＭＲＰ計算プロセスに対してＭＲＰ計算に必要な部品表等のデータの一括読み込み指示を行い、ＭＲＰ計算プロセスからの一括読み込み終了報告を待つ。全てのＭＲＰ計算プロセスから一括読み込み終了報告を受けると、次に、全てのＭＲＰ計算プロセスに対してＭＲＰ計算開始指示を行い、ＭＲＰ計算プロセスからの全品目計算終了報告を待つ。全てのＭＲＰ計算プロセスから全品目計算終了報告を受けると、今度は、全てのＭＲＰ計算プロセスに対して、ＭＲＰ計算結果である各品目の所要量データ等の一括書き込み指示を行い、ＭＲＰ計算プロセスからの一括書き込み終了報告を待つ。全てのＭＲＰ計算プロセスから一括書き込み終了報告を受けると、最後に全てのＭＲＰ計算プロセスに対してＭＲＰ計算終了指示を行い、制御プロセスも終了する。
【００６７】
一般に生産管理においては、製造現場の能力、在庫状況、等を参照しながら、ＭＲＰをシミュレーション的に活用し、現状に最も適した生産計画を立案することが求められている。
【００６８】
本実施例では、メモリ上に展開したデータに対して変更を行い、ＭＲＰ計算指示処理（１９）を繰り返し、幾つかの生産計画案を作成することで、このようなＭＲＰのシミュレーション的活用を実現できる。また、ＭＲＰ計算プロセスもしくはＭＲＰ計算部は、基本的にＣＰＵ毎に一つずつ生成するが、一つのＣＰＵに複数個のＭＲＰ計算プロセスを生成することも可能である。
【００６９】
図６はＭＲＰ計算プロセスのフローチャートである。
【００７０】
ＭＲＰ計算プロセスは、制御プロセスにより生成された後、該ＭＲＰ計算プロセスが存在するＰＥのＰＥ番号と、該ＭＲＰ計算プロセスのプロセス番号を制御プロセスに送信し、制御プロセスからＭＲＰ計算プロセス番号一覧表を受信する。受信した一覧表から、他のＭＲＰ計算プロセスへ割り当てられた子品目へ要求量を送信するための要求量キャリアを、自分以外のＭＲＰ計算プロセス毎に作成する。そして、制御プロセスからの作業指示メッセージ受信待ち状態になり、制御プロセスの作業指示に従って、以下の４つの処理を行う。
【００７１】
（１）一括読み込み処理
一括読み込み処理は、ハードディスクから、割り当てられた品目に関するＭＰＳ、部品表等のＭＲＰ計算に必要なデータを、一括してメモリに展開する。この時、品目に関する部品表、在庫・注残、等のデータは、各品目毎に品目セル（１１）を作成し、図１３に示すような該品目セルの各データエリアに格納する。そして、部品表を読み込み子品目データを品目セルに格納する際、全ての子品目の品目セルを検索し、該品目セルの親品目数（２５）をインクリメントする。このようにして親品目数を設定する。全てのデータをメモリに展開した後は、制御プロセスに一括読み込み終了報告を行い、作業指示メッセージ受信待ち状態になる。各品目の親品目数の設定は、前述の割り当て処理の際に、同様の処理で設定してもよい。
【００７２】
ここで、ユーザの観点からすると、従来ＭＲＰとローレベルコード設定処理とを一体化してしまえば、これは、本特許と同様にローレベルコードが不要なＭＲＰとなる。この方法は、特開平３−２７８１７２号公報に記載されている。しかし、例えば、部品表をハードディスクからメモリに展開する際にローレベルコードを設定する場合、部品表がローレベルコード順にソートされてなければ、図２１に示すようにローレベルコードの上書きが幾度も発生する。レベルの階層が深ければ深いほど、上書きの回数は増加し、それに伴って設定処理も多くの処理時間を要する。また、ソートされていれば上書きは発生しないが、ソート処理に時間がかかる。前述した本実施例の親品目数の設定処理では、ソート処理は不要で、しかも上書きは発生しない。なぜなら、ある品目の部品表情報から該品目の子品目情報を読み込んだとき、各子品目の品目セルの親品目数（２５）をインクリメントするだけで、該子品目以下の品目には全く影響しないからである。そのため、従来ＭＲＰとローレベルコード設定処理とを一体化したものと比べ、一括読み込み処理に要する時間は少ない。
【００７３】
（２）ＭＲＰ計算処理
図７はＭＲＰ計算処理のフローチャートである。
【００７４】
図１３の品目関連データ構造、図１４の計算可能ジョブキューデータ構造も用いて説明する。ＭＲＰ計算処理は、各種カウンタの初期化を行った後、メモリ上にあるＭＰＳデータを一件ずつ読み込み、該当品目の所要量データに書き込む。全てのＭＰＳデータに対して、該当品目セルの所要量データ（２０）への書き込みを終えると、次に、親品目が存在しない部品構成上トップレベルの品目の品目セルアドレスを投入優先順位（２１）が０の計算可能ジョブキューに登録し、メッセージ受信チェックを行う。メッセージ受信チェックで、要求量キャリアを示すＣａｒｒｙ＿ＭＳＧを受信していた場合、「Ｃａｒｒｙ＿ＭＳＧ対応処理」を行う。Ｃａｒｒｙ＿ＭＳＧを受信してなければ、ジョブキューに計算可能品目が登録されているか否かのチェックを行う。登録されていなければメッセージ受信チェックに戻る。登録されていれば投入優先順位が最小値の品目セルアドレスを読み込む。
【００７５】
ここで、投入優先順位について説明する。
【００７６】
計算可能ジョブキューに登録されている品目は、一般に複数存在する。投入優先順位は、この複数品目の計算の順番を制御するためのものであり、各品目毎に設定される。具体的には、計算可能ジョブキューに登録されている品目のうち、投入優先順位の値の小さいものから計算される。この投入優先順位の設定方法は、投入順序のルールによって決まる。投入順序ルールは複数存在する。例えば、最も簡単なのは、「先に登録したものを先に計算する」という先入れ先出しルールである。
【００７７】
また、投入後の処理の進行を考慮した投入順序ルールも考えられる。投入後の処理の進行を考慮した投入順序ルールが有用なのは、次のような状況が想定されるためである。もし、計算可能ジョブキューに登録されているものを、簡単な先入れ先出しルールで部品展開計算を行った場合、親品目が同じＰＥに存在する品目が、要求量授受にバッファリングとデータ転送が発生しない分、先に計算可能ジョブキューに登録され計算されていく可能性が高い。一方、親品目が他のＰＥに存在する品目は、計算可能ジョブキューへの登録が遅れやすく部品展開計算が遅れ、その結果、その子品目以下の品目がすべて待ち状態になる可能性が高い。すなわち、各々のＰＥで、親品目が同じＰＥに存在する品目の割当数に差がある場合、割当数の少ないＰＥのＭＲＰ計算プロセスでは、処理の途中で、この要求量待ち状態の品目だけが残り、計算が中断されることになる。その結果、ＭＲＰ計算全体の処理時間が増大するという問題がおきる。そこで、投入後の処理の進行を考慮した投入優先順位を各品目に付与し、各ＰＥでバランス良く処理が進むような順番で部品展開計算部に計算品目セルアドレスを投入する。これにより、各ＭＲＰ計算プロセスで計算中断の発生を未然に防ぐことができる。
【００７８】
このような、投入後の処理の進行を考慮した投入順序ルールの例として「部品構成で上位の品目から投入する」というルールがある。これは具体的には、次のような方法で投入優先順位を設定する。
【００７９】
「親品目が存在しない品目を０とし、所要量展開の際、該品目の子品目に該品目投入優先順位＋１の値を渡す。もし、複数の親品目が存在し、それぞれの親品目から違う値の投入優先順位を受けた時は、大きいほうの値を該品目の投入優先順位として、品目セルの投入優先順位（２２）に書き込む。」
このように付けられた投入優先順位は、結果的に品目が部品構成上どの階層に属するかを表している。その意味で、ローレベルコードとこの投入優先順位は、全く同等である。
【００８０】
但し、ローレベルコードは投入優先順位と異なり、ＭＲＰ計算を行う前に各品目の属性として設定される。従来のＭＲＰ計算は、このように品目の属性として設定されたローレベルコードを用いて、処理の順番を制御している。具体的には、必ずあるローレベルコードに属する全て品目の部品展開計算が終了してから、次のローレベルコードの部品展開計算に進む。言い換えれば、ローレベルコードを用いて、計算可能品目を抽出している。一方、前述の方法で設定された投入優先順位は、ＭＲＰの計算前に設定されるべき品目の属性ではない。この投入優先順位は、所要量展開処理中に設定される。また、この投入優先順位は、計算可能品目の抽出に用いるのではなく、計算可能品目を部品展開計算部へ投入する際、「部品構成で上位の品目から投入する」という投入順序ルールに用いている。従って、例えば、部品展開計算部がある投入優先順位の品目の処理が終了したのち、計算可能品目管理部にジョブ要求を行った際、終了した品目よりも上位の投入優先順位の品目が、他の部品展開計算部の処理によって、新たに計算可能品目ジョブキューに登録されている場合がある。本実施例では、ジョブキューに登録されている計算可能品目のなかで、投入優先順位が最小値の品目を優先する為、部品構成で下位のレベルの品目の計算の後で、上位のレベルの計算を行うということが発生する。これは、従来のローレベルコードを用いた処理では、絶対に起きない順番である。
【００８１】
この他、投入後の処理の進行を考慮した投入順序ルールとしては、例えば、ある品目を構成する子品目以下全ての品目を構成品目と呼ぶとすると「構成品目の多い品目から投入する」、他には「子品目が他のＰＥに存在する品目から投入する」等がある。以下の本実施例では、「部品構成で上位の品目から投入する」というルールの例で説明する。
【００８２】
ＭＲＰ計算処理は、計算可能ジョブキューから投入優先順位が最小値の品目セルアドレスを取り出すと、「部品展開計算処理」を行う。そして、計算終了カウンタをインクリメントし、メッセージ受信チェックに戻る。計算終了カウンタのインクリメントした結果、該カウンタの値が割当品目数と一致したならば、制御プロセスに全品目計算終了報告を行ってＭＲＰ計算処理を終了する。
【００８３】
図８は「部品展開計算処理」のフローチャートである。
【００８４】
図１３の品目関連データ構造も用いて説明する。部品展開計算処理は、「従来の技術」で「図説ＭＲＰ用語５００選」を例に説明した通り、総所要量計算、正味所要量計算、ロットまとめ、リードタイム計算、所要量展開の順で各処理を行う。
【００８５】
ここで注意しなければならないのは、ある品目の正味所要量計算で在庫・注残への引き当て処理を行った結果、総所要量の全てがまかなえる場合である。この場合、該品目の子品目以下の品目の部品展開計算を省くと、各子品目の親カウンタと親品目数が一致せず、計算可能品目ジョブキューに登録されなくなり、ＭＲＰの計算結果が正しいものとならない。これを解決するためにいくつか方法があるが、本実施例では、在庫・注残でまかなえたとしても、それは正味所要量を「０」として、該品目の子品目以下の品目に関しても部品展開計算を行うこととする。
【００８６】
正味所要量計算の他に従来のＭＲＰと違うところは、「複数ＰＥで処理を行う」為、それに関連する処理が所要量展開に加わる。要求量授受が複数ＰＥにまたがるか否かの判定、複数ＰＥにまたがる場合の処理、そして所要量展開処理の後に、ジョブキューに登録品目があるか否かの判定と登録品目がない場合の要求量キャリアの送信処理が加わる。
【００８７】
具体的には図８に示すように、子品目の割当ＰＥ番号（２３）が親品目と同一のＰＥであれば、該子品目の品目セルを検索し、全ロットに対する納期と要求量を算出し、「品目セル書き込み処理」を行う。該子品目が親品目と違う割当ＰＥ番号の場合は、「要求量キャリア書き込みデータエリア決定処理」を行う。そして、同一ＰＥと同様に全ロットに対する納期と要求量を算出し、「要求量キャリア書き込み処理」を行う。所要量展開処理を終えると、計算可能ジョブキューに登録品目があるか否かの判定を行い、あればそのまま終了し、無ければ空のままになっている要求量キャリア以外は全て送信し、初期化してから終了する。
【００８８】
図９は「要求量キャリア書き込みデータエリア決定処理」のフローチャートである。
【００８９】
図１３の品目関連データ構造、図１５の要求量キャリアデータ構造と併せて説明する。要求量キャリア書き込みデータエリア決定処理は、要求量キャリアの行先ＰＥ番号（２６）が、子品目データの割当ＰＥ番号（２３）と同じ要求量キャリアを検索する。そして、該要求量キャリアに同じ子品目の要求量が、既に書き込まれているか否かのチェックを行う。書き込まれていれば、そのデータエリアを該子品目の書き込みエリアとする。書き込まれてなければ、新規のデータエリアを該子品目の書き込みエリアとする。このとき、要求量キャリアがいっぱいで、新規のデータエリアが得られなければ、該要求量キャリアをメッセージ管理部を介して送信する。送信後、該要求量キャリアを初期化し、新規データエリアを該子品目の書き込みエリアとする。
【００９０】
図１０は「品目セル書き込み処理」のフローチャートである。
【００９１】
図１３の品目関連データ構造も用いて説明する。子品目セル書き込み処理は、子品目の納期と要求量を、該子品目の品目セルの所要量データに追加する。そして、該要求量が最終ロットのものでなければ終了し、最終ロットのものであれば該子品目の投入優先順位（２２）を設定し、該子品目の親品目カウンタ（２４）をインクリメントし終了する。インクリメントした結果、カウンタの値が該子品目の親品目数（２５）と一致すれば、該品目セルのアドレスを該品目投入優先順位の計算可能ジョブキューに登録して終了する。
【００９２】
図１１は「要求量キャリア書き込み処理」のフローチャートである。
【００９３】
図１５の要求量キャリアデータ構造も用いて説明する。要求量キャリア書き込み処理は、子品目の納期と要求量を、該子品目のデータエリアに追加する。そして、該要求量が最終ロットのものでなければ終了する。最終ロットのものであれば該子品目の投入優先順位を設定し、要求量キャリアの投入優先順位（２７）に書き込み、要求量キャリアの親品目カウンタ（２８）をインクリメントして終了する。
【００９４】
ここで、要求量キャリアの親品目カウンタの必要性について説明する。
【００９５】
要求量キャリアへの要求量書き込み処理において、図９の「要求量キャリア書き込みデータエリア決定処理」で説明したように、同じ品目の要求量は、同じデータエリアに書き込むようにしている。これは、親品目からの要求量をそのまま要求量キャリアに書き込むと、必要となるデータエリアの数は増え、その結果、データ転送のオーバヘッドが増大してしまうためである。しかし、要求量をまとめることで、受信側の子品目からは、受け取った要求量がいくつの親品目からのものかが判らず、該品目の親品目カウンタを正しくインクリメントすることができない。その結果、計算可能ジョブキューへの登録も不完全となってしまう。そこで、要求量キャリアにも品目セルと同様に親品目カウンタを設け、親品目が最終ロットの要求量を書き込む際、この親品目カウンタをインクリメントすることで、子品目がいくつの親品目からの要求量かを判るようにする。この値をもとにすれば、該子品目の品目セルの親品目カウンタのインクリメントを正確に行うことが可能となる。
【００９６】
図１２は「Ｃａｒｒｙ＿ＭＳＧ対応処理」のフローチャートである。図１３の品目関連データ構造、図１５の要求量キャリアデータ構造も用いて説明する。Ｃａｒｒｙ＿ＭＳＧ対応処理は、受信した要求量キャリアから、格納された全ての子品目の納期、要求量、投入優先順位、親品目カウンタを読み込む。そして、納期と要求量は該子品目の品目セルに書き込み、投入優先順位（２７）は、該品目セルの投入優先順位（２２）の値と比較し、大きければ要求量キャリアの投入優先順位（２７）を該品目セルの投入優先順位（２２）に書き込む。また、親品目カウンタ（２８）は、該品目セルの親品目カウンタ（２４）に足しこみ、その結果、該品目セルの親品目カウンタ（２４）の値が該品目セルの親品目数の値と一致すれば、該品目セルのアドレスを該品目投入優先順位の計算可能ジョブキューに登録する。
【００９７】
（３）一括書き込み処理
一括書き込み処理は、メモリ上にあるＭＲＰ計算の出力結果である各品目の所要量データを、一括してハードディスクに書き込む。書き込みを行った後は、制御プロセスに一括書き込み終了報告を行い、作業指示メッセージ受信待ち状態になる。
【００９８】
（４）終了処理
プロセスの終了処理を行う。
【００９９】
次に、共有メモリ型並列計算機における本発明の実施例を説明する。
【０１００】
ここで想定する計算機は、図１６のように複数個のＣＰＵが存在し、それらが内部バスによって接続され、一つのメモリとハードディスクを共有するものである。この様な共有メモリ型並列計算機での本発明の構成は、図１７のように作業指示部を一つと、分散メモリ型並列計算機上のものと同様の、初期処理部とデータ管理部を一つずつと、計算可能品目管理部を一つと、部品展開計算部を複数個とを備えたＭＲＰ計算プロセス（２９）を一つ用意する。そして、部品展開計算部を各ＣＰＵに一つずつ配置する。計算可能品目管理部には、計算可能ジョブキューと登録品目カウンタ（３０）を設ける。ＭＲＰ計算の終了判定は、この登録品目カウンタで行う。計算可能ジョブキューに品目セルアドレスを登録した時に登録品目カウンタをインクリメントし、部品展開計算終了時にデクリメントする。そして、登録品目カウンタの値が０になったところで、ＭＲＰ計算を終了する。この方法の他にも、分散メモリ型並列計算機上の実施例と同様の計算可能品目管理部を用意し、割当品目数と計算終了品目カウンタの値を比較して一致したら終了する方法もある。この方法は、分散メモリ型並列計算機上の実施例で紹介したので、共有メモリ型並列計算機上の実施例では、別の終了判定方法を用いて説明する。また、共有メモリ型並列計算機上の実施例は、単一プロセス内でＭＲＰ計算を行う方法なので、複数プロセス間で通信を行うメッセージ管理部と、複数ＭＲＰ計算プロセス間で要求量授受を行うための処理をする要求量送受信部と、複数ＭＲＰ計算プロセスの実行状況を管理して、作業指示を行う制御プロセスは不要となる。
【０１０１】
次に、共有メモリ型並列計算機での本発明の具体的な処理の流れを図１８から図２０を用いて説明する。
【０１０２】
図１８はＭＲＰ計算プロセスのフローチャートである。
【０１０３】
ＭＲＰ計算プロセスは、最初にハードディスクから、ＭＰＳ、部品表等のＭＲＰ計算に必要なデータを一括してメモリに展開する。次に「ＭＲＰ計算処理」を行う。そして、最後に、メモリ上にあるＭＲＰ計算の出力結果である各品目の所要量データを、一括してハードディスクに書き込む。分散メモリ型並列計算機上の実施例と同様に、シミュレーショ．ン的にＭＲＰを活用する場合には、ＭＲＰ計算処理（３１）を繰り返し、幾つかの生産計画案を作成することになる。
【０１０４】
図１９は「ＭＲＰ計算処理」のフローチャートである。
【０１０５】
ＭＲＰ計算処理は、分散メモリ型並列計算機上の実施例と同様に、メモリ上のＭＰＳデータを全て該当品目セルの所要量データに展開し、親品目が存在しない全ての品目を計算可能ジョブキューに登録する。登録した後、登録した分だけ、登録品目カウンタをインクリメントする。そして、各部品展開計算部は、計算可能ジョブキューに登録品目セルアドレスの有無をチェックし、無ければ、登録品目カウンタが０か否かのチェックを行う。０であれば終了し、０でなければ計算可能品目セルの有無チェックに戻る。また、計算可能な品目セルがあれば、ジョブキューから登録品目セルアドレスを読み込み、該品目セルアドレスを抹消する。そして、「部品展開計算処理」後、登録品目カウンタのデクリメントし、計算可能品目セルの有無チェックに戻る。
【０１０６】
図２０は「部品展開計算処理」のフローチャートである。
【０１０７】
部品展開計算処理は、分散メモリ型並列計算機のものとほぼ同様である。総所要量計算、正味所要量計算、ロットまとめ、リードタイム計算、所要量展開の順で各処理を行い、終了する。ただ、共有メモリ型並列計算機上での実施例の所要量展開は、複数ＰＥにまたがった親子品目間の要求量授受がなくなるので、分散メモリ型並列計算機の実施例で行っていた、要求量授受が複数ＰＥにまたがるか否かの判定文と、所要量展開後のジョブキュー登録品目有無の判定と、それに伴う要求量キャリアの送信処理がなくなる。そして、要求量授受が同一ＰＥで行われる場合の処理と同じになる。また、「品目セル書き込み処理」も分散メモリ型並列計算機上の実施例のものとまったく同じなので、ここでの説明は省く。
【０１０８】
以上、分散メモ１リ型並列計算機と共有メモリ型並列計算機の実施例を説明した。しかし、本発明は、この２つの情報処理環境だけでなく、従来のシングルＣＰＵの計算機においても、共有メモリ型並列計算機の実施例を利用できる。また、分散メモリ型と共有メモリ型を組み合わせた超並列計算機と呼ばれるものにおいても、分散メモリ型と共有メモリ型の本実施例の組み合わせで利用することができる。
【０１０９】
【発明の効果】
複数のＭＲＰ計算部もしくは部品展開計算部により、複数品目の部品展開計算を同時に行うことができ、親子品目間の要求量授受を管理することで、各品目では必ず全ての親品目が終了してから計算が始められることを保証できる。これにより、従来の逐次的なＭＲＰ計算と同等の計算結果を、短時間で得ることが可能となる。
【０１１０】
また、処理の課程でローレベルコードを使用しないため、従来必要であったローレベルコード設定処理を行なわずに、従来のローレベルコードを利用したＭＲＰ計算と同等の計算結果を得ることが可能となる。
【０１１１】
このため、営業、設計、資材、現場からの日々発生する変更事項を即座に生産計画に反映させ、変更によって生じる問題の抽出、対処を速やかに行なうことができる。
【図面の簡単な説明】
【図１】全体のブロック図である。
【図２】部品展開図とローレベルコードの説明図である。
【図３】分散メモリ型並列計算機の説明図である。
【図４】分散メモリ型並列計算機上での本発明の構成図である。
【図５】制御プロセスのフローチャートの説明図である。
【図６】ＭＲＰ計算プロセスのフローチャートの説明図である。
【図７】ＭＲＰ計算処理のフローチャートの説明図である。
【図８】部品展開計算処理のフローチャートの説明図である。
【図９】要求量キャリア書き込みデータエリア決定処理のフローチャートの説明図である。
【図１０】子品目セル書き込み処理のフローチャートの説明図である。
【図１１】要求量キャリア書き込み処理のフローチャートの説明図である。
【図１２】Ｃａｒｒｙ＿ＭＳＧ対応処理のフローチャートの説明図である。
【図１３】品目関連データを格納するデータ構造の説明図である。
【図１４】計算可能ジョブキューのデータ構造の説明図である。
【図１５】要求量キャリアのデータ構造の説明図である。
【図１６】共有メモリ型並列計算機の説明図である。
【図１７】共有メモリ型並列計算機上での本発明の構成図である。
【図１８】共有メモリ型並列計算機上でのＭＲＰ計算プロセスのフローチャートの説明図である。
【図１９】共有メモリ型並列計算機上でのＭＲＰ計算処理のフローチャートの説明図である。
【図２０】共有メモリ型並列計算機上での部品展開計算処理のフローチャートの説明図である。
【図２１】ローレベルコード設定処理における問題点の説明図である。
【符号の説明】
１    …  初期処理部
２    …  データ管理部
３    …  計算可能管理部
４    …  部品展開計算部
５    …  要求量送受信部
６    …  メッセージ管理部
７    …  ＭＲＰ計算部
８    …  作業指示部
９    …  分散メモリ型並列計算機上でのＭＲＰ計算プロセス
１０  …  分散メモリ型並列計算機上での制御プロセス
１１  …  品目セル
１２  …  親品目数
１３  …  親カウンタ
１４  …  計算可能ジョブキュー
１５  …  割当品目数
１６  …  計算終了品目カウンタ
１７  …  要求量キャリア
１８  …  ＭＲＰ計算終了カウンタ
１９  …  ＭＲＰ計算指示処理
２０  …  品目セルの所要量データ
２１  …  計算可能ジョブキューの投入優先順位
２２  …  品目セルの投入優先順位
２３  …  品目セル子品目データの割当ＰＥ番号
２４  …  品目セルの親品目カウンタ
２５  …  品目セルの親品目数
２６  …  要求量キャリアの行先ＰＥ番号
２７  …  要求量キャリアの投入優先順位
２８  …  要求量キャリアの親品目カウンタ
２９  …  共有メモリ型並列計算機上でのＭＲＰ計算プロセス
３０  …  登録品目カウンタ
３１  …  共有メモリ型並列計算機上でのＭＲＰ計算処理
３２  …  データ保持部
３３  …  計算可能品目抽出部
３４  …  要求量キャリアの親カウンタ
【図１】
0003610681.tif 000002
【図２】
0003610681.tif 000003
【図３】
0003610681.tif 000004
【図４】
0003610681.tif 000005
【図５】
0003610681.tif 000006
【図６】
0003610681.tif 000007
【図７】
0003610681.tif 000008
【図８】
0003610681.tif 000009
【図９】
0003610681.tif 000010
【図１０】
0003610681.tif 000011
【図１１】
0003610681.tif 000012
【図１２】
0003610681.tif 000013
【図１３】
0003610681.tif 000014
【図１４】
0003610681.tif 000015
【図１５】
0003610681.tif 000016
【図１６】
0003610681.tif 000017
【図１７】
0003610681.tif 000018
【図１８】
0003610681.tif 000019
【図１９】
0003610681.tif 000020
【図２０】
0003610681.tif 000021
【図２１】
0003610681.tif 000022