JP3621467B2 - 資材所要量計算の負荷分散方法及び装置 - Google Patents
資材所要量計算の負荷分散方法及び装置 Download PDFInfo
- Publication number
- JP3621467B2 JP3621467B2 JP12796595A JP12796595A JP3621467B2 JP 3621467 B2 JP3621467 B2 JP 3621467B2 JP 12796595 A JP12796595 A JP 12796595A JP 12796595 A JP12796595 A JP 12796595A JP 3621467 B2 JP3621467 B2 JP 3621467B2
- Authority
- JP
- Japan
- Prior art keywords
- item
- unit
- calculation unit
- shared
- calculation
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
- Multi Processors (AREA)
Description
【産業上の利用分野】
本発明は生産計画が入力されたとき、この計画の中の製品を生産するために必要な各種部品、原材料を求める資材所要量計算を、複数の計算機を用いて並列に処理する際、どの品目のデータをどの計算機にロードするか、もしくはどの品目をどの計算機で処理するかを決定する負荷分散方法及び装置に関する。
【0002】
【従来の技術】
製品の種類と個数が指定された場合、これを作るのに必要な部品の種類とその個数とを自動的に算出する方法の一つとして資材所要量計画(Material Requirements Planning)が知られている。資材所要量計画については、例えば、「図説MRP用語500選」(日刊工業新聞社:昭和58年発行)等に記載がある。
【0003】
資材所要量計算は、従来、逐次処理で行なわれていた。この資材所要量計算はその処理量が膨大であるため、高速の計算機を用いてもその処理には長時間を要していた。
【0004】
そのため、近年、並列処理の手法を適用することで処理の高速化を図った資材所要量計算システムが提案されている。このような並列処理を適用した資材所要量計算システムとしては、例えば、特開平3−226845号がある。
【0005】
【発明が解決しようとする課題】
並列処理によって高速化を図るには、負荷をどのように分散させるかという点が重要になる。一般的な負荷分散方法としては、データ量が均一になるように適当に決定するという方法がある。しかしながら、一般的な負荷分散方式によって得られた配置では通信量が増大し、処理時間は却って増大する可能性もあった。にもかかわらず、従来提案されている並列システムにおいては、各品目のデータロードもしくは所要量計算をどの計算機上で行なうべきかという負荷分散は考慮していなかった。
【0006】
本発明は、並列的に実行する資材所要量計算に適した資材所要量計算の負荷分散方法及び装置を提供することを目的とする。
【0007】
さらには、負荷分散の計算自体を高速で行うことのできる資材所要量計算の負荷分散方法及び装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
本願発明者は、上記目的を達成するために、資材所要量計算を並列して行う場合の通信について詳細に検討した。その結果、並列資材所要量計算では、親子関係にある品目の間でのみデータの授受が発生し、各品目間でランダムに発生することはない。従って、親子関係にある品目は同一の計算機もしくは近隣の計算機に配置することによって、計算機間の通信量を減らし、並列資材所要量計算の処理時間を短縮することが可能であることに気付いた。
【0009】
本発明はこのような観点からなされたものである。本発明では、基準となる生産計画の対象品目を読み込み、複数の展開計算部に分配する手段と、各展開計算部において与えられた品目を部品構成表を用いて子部品展開し、共有品目以外については、その展開計算部で配置場所を決定する手段と、共有品目配置部において各展開計算部での品目配置状況に応じて、共有品目の配置場所を決定する手段と、各展開計算部で同期して処理を進められるように制御する手段と、を備えることで上記目的を達成した。
【0010】
本発明の構成をより具体的に述べれば以下のとおりである。
【0011】
本発明の第1の態様としては、複数の所要量計算部によって資材所要量計算を並列に処理する際の負荷分散を決定する資材所要量計算の負荷分散装置において、MPS読み込み部と、共有品目配置部と、上記所要量計算部毎に設けられた展開計算部と、を備え、上記MPS読み込み部は、別途作成された生産計画に含まれている品目を読み込んで、各品目を配置する所要量計算部を決定し、当該所要量計算部に対応する展開計算部にその旨を通知するものであり、上記共有品目配置部は、上記展開計算部から通知された品目を配置する所要量計算部を決定し、当該所要量計算部に対応する展開計算部にその旨を通知するものであり、上記展開計算部は、上記MPS読み込み部または上記共有配置部から上記通知を受けた品目を、自らに対応する所要量計算部に配置するものであり、上記展開計算部は、さらに、自らに対応する所要量計算部に配置されている品目の子に相当する品目を確認する展開処理を実行し、該展開処理によって確認された子に相当する品目のうち、複数の品目に共有されている品目については上記共有品目配置部に通知し、一方、共有されていない品目については自らに対応する所要量計算部に配置するものであること、を特徴とする資材所要量の負荷分散装置が提供される。
【0012】
この場合、展開制御部を備え、上記展開計算部は、各品目間の親子関係を示す部品構成上のレベルごとに上記展開処理を行うものであって、あるレベルの展開処理が完了した場合にはその旨を上記展開制御部に通知するとともに上記展開制御部から展開処理の再開指示を受けるまでその展開処理を一時停止するものであり、上記展開制御部は、上記展開計算部のすべてから上記展開処理の完了の通知を受け取った後、上記共有品目配置部に上記配置先決定の開始を指示するものであり、且つ、上記共有品目配置部からその時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した旨の通知を受けた後、上記展開計算部に展開処理再開を指示するものであり、上記共有品目配置部は、上記展開制御部から上記開始の指示を受けた時点で、上記配置先の決定を開始するものであり、且つ、その時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した後は、その旨を上記展開制御部に通知するものであることが好ましい。
【0013】
上記共有品目配置部は、上記展開計算部から通知された品目の親に相当する品目が配置されている所要量計算部のなかから、当該品目を配置する所要量計算部を決定するものであることが好ましい。
【0014】
上記共有品目配置部は、上記展開計算部から通知された品目の親に相当する品目が配置されている所要量計算部のうち、その時点で配置されている品目数が最も少ないものを、当該品目の配置先として決定するものであることがより好ましい。
【0015】
上記所要量計算部と、既に当該所要量計算部に配置されている品目と、の対応関係を格納するための配置状況テーブルを備えた記憶部を有し、
上記共有品目配置部は、上記配置先の決まった品目の配置場所を上記配置状況テーブルに順次記載するとともに、該配置状況テーブルを参照することで上記品目の配置先を決定するものであることが好ましい。
【0016】
本発明の第2の態様としては、複数の所要量計算部によって資材所要量計算を並列に処理する際の負荷分散を決定する資材所要量計算の負荷分散方法において、別途作成された生産計画に含まれている品目を読み込んで、各品目を配置する所要量計算部を決定するとともに、当該品目の子に相当する品目を確認する展開処理を行い、該子に相当する品目のうち、他の品目と共有されていない品目については当該所要量計算部に配置し、一方、共有されている品目については、その親に相当する品目が配置されている所要量計算部のうちのいずれかに配置すること、を特徴とする資材所要量計算の負荷分散方法が提供される。
【0017】
子の場合、上記展開処理および該展開処理で確認された子に相当する品目の配置を、部品構成上のレベルごとに進めてもよい。
【0018】
【作用】
以下においては、子に相当する品目を単に”子”,”子品目”と、親に相当する品目を単に”親”、”親品目”と呼ぶ場合がある。
【0019】
MPS読み込み部は、別途作成された生産計画に含まれている品目を読み込む。そして、該読み込んだ品目を配置する所要量計算部を決定し、その所要量計算部に対応する展開計算部にその旨を通知する。
【0020】
展開計算部は、MPS読み込み部から通知を受けた品目を、自らに対応する所要量計算部に配置する。さらに、展開処理を実行することで、自らに対応する所要量計算部に配置されている品目の子品目を確認する。そして、確認された子品目のうち、複数の品目に共有されている品目については共有品目配置部に通知する。一方、共有されていない品目については自らに対応する所要量計算部に配置する。
【0021】
共有品目配置部は、展開計算部から通知された品目を配置する所要量計算部を決定する。例えば、展開計算部から通知された子品目の親品目が配置されている所要量計算部のなかから、配置先を選ぶようにすれば、資材所要量計算における通信量を少なくできる。さらには、この中でも配置されている品目数が少ない所要量計算部を選択するようにすれば、負荷の均一化を図ることができる。このような配置先の決定は、所要量計算部と、既に当該所要量計算部に配置されている品目と、の対応関係を格納するための配置状況テーブルを用意し、配置先の決まった品目の配置場所をこの配置状況テーブルに順次記載するとともに、配置先を決定する際にはこの配置状況テーブルを参照するようにすることで容易に可能である。
【0022】
共有品目配置部は、このようにして決定した配置先(所要量計算部)に対応する展開計算部にその旨を通知する。展開計算部は、共有配置部から通知を受けた品目を、自らに対応する所要量計算部に配置する。
【0023】
なお、上述した処理をレベルごとに進めていく場合には、展開制御部によって、各展開計算部間の同期をとるようにする。つまり、展開計算部は、あるレベルの展開処理が完了した場合にはその旨を展開制御部に通知する。そして、展開処理を一時停止するようにする。展開制御部は、展開計算部のすべてから展開処理の完了の通知を受け取った後、共有品目配置部に配置先決定の開始を指示する。共有品目配置部は、展開制御部から開始の指示を受けた時点で、配置先の決定を開始する。また、共有品目配置部は、その時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した後は、その旨を展開制御部に通知する展開制御部は、共有品目配置部からその時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した旨の通知を受けた後、展開計算部に展開処理の再開を指示する。該再開指示を受け取った展開計算部は、展開処理を再開する。
【0024】
【実施例】
本発明の一実施例を図1から図8を用いて説明する。
【0025】
本実施例の負荷分散装置は、図1に示すとおり、MPS読み込み部1が1個、展開計算部2が4個、共有品目配置部3が1個、展開制御部4が1個から構成されている。この負荷分散装置が対象とする資材所要量計算装置は、図2に具体的ハードウエアを示したようなものであるとする。該ハードウエアは、4台の疎結合並列計算機からなり、資材所要量計算の負荷分散の決定処理を並列に実行できるようになっている。以下、並列計算機を構成する4つのPE(Processing Element)のそれぞれを区別して、”PE0”,”PE1”,”PE2”,”PE3”と呼ぶこととする。つまり、本実施例の負荷分散装置は、資材所要量計算における計算対象となる各品目のデータを、これら4つのPE(これが、特許請求の範囲において言う”所要量計算部”に相当する。)のいずれに配置するかを決定するものである。本実施例における最大の特徴は、各品目の、PE0〜PE3への配置(あるいは割当て)の仕方にある。該配置の仕方は、直接的には、後述する品目配置テーブル5(図3)の内容に反映されるものである。
【0026】
MPS読み込み部1は、基準生産計画デ−タを読み込むとともに、その中に含まれている品目を各展開計算部2に割り当てるものである。割り当ての仕方にはいろいろな方法がある。最も簡単なのは、各展開計算部2に送信される品目数がほぼ同数になるように分ける方法である。基準生産計画データにおいて、各品目が、その品目の子品目の総数という情報を持っている場合がある。この場合には、各展開計算部2に配置される子品目の総数がほぼ同数になるように分ける方法もある。また、在庫情報を利用して割り当てる方法も可能である。
【0027】
展開計算部2は、別途割り当てられた品目について、部品展開計算を実行するものである。部品展開計算とは、ある品目を構成する子品目を明らかにする処理である。この部品展開計算は、各品目間の親子関係を明記した部品構成表を参照すること等で行う。部品構成表とは、各部品(あるいは、品目)間での親子関係を記載したものであり、資材所要量計算で一般に用いられている。該部品構成表は、各展開計算部2の内部(あるいは、展開計算部2がアクセス可能な記憶装置)にあらかじめ格納されているものである。
【0028】
また、展開計算部2のそれぞれは、レベルごとのキューと、各自の品目配置テーブル5(図3参照)と、を備えている。レベルごとのキューは、子部品展開計算をレベル・バイ・レベルで実行するために用いられる。さらに、各展開計算部2は、自らに対応するPE(図2参照)に配置することが決定された品目を、自らの品目配置テーブル5に記載するようになっている。各展開計算部2は、図2における各PEに一対一で対応している。従って、ここでは便宜上、該対応関係にあわせて各展開計算部2を”PE0”,”PE1”等と呼んで区別する場合がある。
【0029】
なお、該展開計算部2は、後述する処理動作に際して、そのとき展開処理を行っているレベルを管理するためのレベルカウンタ、品目を管理するための品目カウンタを備えている。
【0030】
展開制御部4は、各展開計算部2による展開計算をレベルバイレベルで進めるべく、各展開計算部2および共有品目配置部3の処理動作の同期をとるためのものである。各展開計算部2は、該展開制御部4からのメッセージを受けた後、一斉に展開計算を開始するようになっている。また、当該レベルの展開計算が完了した際も、該展開制御部4にメッセージを送るようになっている。共有品目配置部3も同様に、該展開制御部4からのメッセージを受けて共有品目の配置先を決定する処理を開始し、該処理の完了時に該展開制御部4へメッセージの送るようになっている。なお、該展開制御部4は、そのとき展開処理を行っているレベルを管理するためのレベルカウンタ、展開計算部を管理するための展開計算部カウンタを備えている。
【0031】
共有品目配置部3は、複数の品目に共有される品目(共有品目)をいずれの展開計算部2に配置するかを決定するものである。該共有品目配置部3は、品目配置テーブル5(図3)、共有品目テーブル6(図6)、配置状況テーブル7(図7)を備えている。
【0032】
共有品目テーブル6は、図6に示すとおり、PE名称をリストとして持つ品目番号のリストの先頭ポインタが要素となっている配列である。この共有品目テーブル6により、あるレベルにどのような共有品目があるか、またそれらの各共有品目は、どのPEで共有されているかを容易に知ることができる。該共有品目テーブル6の内容はあらかじめ用意されているものではない。後述する処理動作の過程において、適宜、作成・使用されるものである。
【0033】
配置状況テーブル7は、図7に示すとおり、各PEが各レベルで品目が何個配置されているかを示したものである。該配置状況テーブル7の内容はあらかじめ用意されているものではない。後述する処理動作によって、各レベルごとに得られる配置状況を、順次、該テーブル7に格納してゆくことで作られるものである。
【0034】
品目配置テーブル5(図3参照)は、MPS読み込み部1,展開制御部4等によってなされた配置結果を格納したものである。該品目配置テーブル5は、展開計算部2毎に設けられている。各展開計算部2が備える品目配置テーブル5には、当該展開計算部2(すなわち、該展開計算部2に対応するPE(資材所要量計算部))に配置されている品目のみが記載されるようになっている。これに対し、共有品目配置部3が備える品目配置テーブル5には、全ての品目についていずれの部分に配置されているかが記載されるようになっている。
【0035】
資材所要量計算を行う際には、各展開計算部2の有する品目配置テーブル5は、図2の各PEが有する記憶手段(メモリ、ハードディスク)に格納されて、以下のような場合に用いられる。例えば、各PEに独立したデ−タベースシステムを設けている場合には、資材所要量計算を行なう際に各品目のデ−タレコードがどのPEのデ−タベースに存在するかを確認するのに用いるものである。また、並列計算機上に分散デ−タベースシステムが構築され、各品目のデ−タレコードの場所をデ−タベースマネジメントシステムが管理している場合であっても、各PEのメモリ上で資材所要量計算を行なうときは、各品目のデ−タを各PEのメモリにロードしなければならない。その際に、どのPEにロードするかを確認するのに用いることができる。さらには、各品目の所要量計算を行わせるPEを指定するテーブルとしても利用可能である。なお、既に述べたとおり本発明の目的は、品目の最適な配置を決定することにある。従って、最適な配置が記載された品目配置テーブル5を得ることが、本発明の目的とも言える。特許請求の範囲の記載における、”各品目を配置する所要量計算部の決定”とは、本実施例では、品目配置テーブル5上、各品目をいずれのPEに対応づけて記載するかということに相当する。
【0036】
本実施例の負荷分散方法および装置自体も、図2の如き並列型の計算機によって並列的な処理として実現されるものである。
【0037】
なお、本明細書中、”レベル”とは、品目(あるいは、部品)間の親子関係を階層化して樹系図のごとく描いた場合における、階層を指す。
【0038】
次に動作概要を説明する。
【0039】
図1において、まず、MPS読み込み部1は、基準生産計画デ−タを読み込む。そして、読み込んだ基準生産計画の中にある品目を各展開計算部2に割り当てる。各展開計算部2は、割り当てられた品目を、自らの有する品目配置テーブル5に、自らが対応づけられているPEと対応づけて記載する。さらに、この時割り当てられた品目の子品目を確認する。但し、この時確認するのは、MPS読み込み部によって割り当てられた品目のレベルよりも、1つ下のレベルまでである。その結果、見つかった子品目を、自らの品目配置テーブル5に記載する。但し、見つかった子品目が他の品目と共有されるものであった場合には、共有品目配置部3に当該子品目に関する情報を送る。共有品目配置部3は、全ての展開計算部2から共有品目に関する情報が届いた後、それらの共有品目を配置する展開計算部2を決定する。ある共有品目が配置されることが決定された展開計算部2は、その時点で、初めて自らの品目配置テーブル5に当該共有品目を記載する。
【0040】
このようにして当該レベルに属する品目すべての配置を決めた後、今度は、それら(当該レベルに属する品目)を構成する子品目を確認する。この場合も同様に、該確認は当該レベルよりも一つ下のレベルまでとする。これ以後も同様に、レベルバイレベルで処理を進めてゆく。これにより、最終的には全ての品目の配置を決定できる。
【0041】
上述した動作を図面を用いてさらに詳細に説明する。
【0042】
図1において、まず、MPS読み込み部1が、基準生産計画デ−タを読み込む。MPS読み込み部1は、読み込んだ基準生産計画の中に含まれている品目を、各展開計算部2(すなわち、当該展開計算部2に対応するPE)に割り当てる(配置する)べく、各品目の品目番号とローレベルコードを、”set_queue(品目番号,ローレベルコード)”というメッセージとして、割り当て先の各展開計算部2に送る。MPS読み込み部1は、基準生産計画の中にある品目すべてについて、このメッセージを送信した後、展開制御部4に向け”ready”メッセージを送り、その動作を終了する。
【0043】
MPS読み込み部1が”ready”メッセージを送信した後は、各展開計算部2及び共有品目配置部3によって、資材所要量計算で必要とされる品目すべての配置が決定される。以下、この後続いて行われる各展開計算部2、共有品目配置部3、展開制御部4の処理を図4、図5、図8を用いて説明する。
【0044】
図4は展開計算部2の実行する処理を示したフローチャートである。図5は共有品目配置部3の実行する処理を示したフローチャートである。図8は展開制御部4の実行する処理を示したフローチャートである。
【0045】
上述した各部は、互いに密接に連携をとって動作するものである。そのため、ここでは、該実際の配置を決定する手順に従って、上記各図を互いに参照しつつ説明することとする。
【0046】
処理が開始されると、展開制御部4および展開計算部2は、レベルカウンタおよび品目カウンタを0にし(図8ステップ800、図4ステップ400)、そのままメッセージの受信を待って待機状態となっている(図8ステップ801、図4ステップ401)。また、共有品目配置部3も同様に、処理開始後、メッセージの受信を待って待機状態となっている(図5ステップ501)。
【0047】
この待機状態においてMPS読み込み部1から上述の”ready”メッセージを受信すると、展開制御部4は、各展開計算部2に”start”メッセージを送る(図8ステップ802)。展開制御部4はこの後、ステップ801へ戻りメッセージを待って再び待機状態となる。
【0048】
該”start”メッセージを受け取った展開計算部2は、レベルカウンタによって指定されているレベルのキューから、品目番号を1つ取り出す(ステップ404)。そして、その品目番号と、自分の対応しているPEの名称(PE名称)とを、自分が備えている品目配置テーブル5に書き込む。さらに、品目カウンタをインクリメントする(ステップ405)。
【0049】
つづいて、その品目の子品目を、部品構成表を参照することで確認する。そして、この時、見つかった子品目のうちの一つを取り出す(ステップ406)。そして、取り出した子品目の品目番号とローレベルコードを求め、それが共有品目であるか否かを調べる(ステップ407)。その品目が共有品目であるか否か、(逆に言えば、その品目が複数の親品目において使用されているか否か)は、部品構成表を調べることで容易にわかる。当該品目が共有品目でなかった場合には、その品目のローレベルコードが指しているレベルのキューにその品目番号を入れ(ステップ408)、ステップ406へ戻る。なお、このようにしてキューに加えられた品目は、後ほど再び行われるステップ405において、当該展開計算部2の品目配置テーブル5に書き込まれることになる。
【0050】
一方、ステップ407において当該品目が共有品目であった場合には、”shared_part(品目番号,ローレベルコード,自分のPE名称)”というメッセージを共有品目配置部3に送り(ステップ409)、ステップ406へ戻る。
【0051】
該”shared_part(品目番号,ローレベルコード,自分のPE名称)”というメッセージを受信すると、共有品目配置部3は共有品目テーブル6(図6参照)を更新する(図5ステップ502)。該更新は、以下のようにして行う。まず、共有品目テーブル6上、上記メッセージ(shared_part)内に記載されていたローレベルコードの示すレベルの欄において、上記メッセージ(shared_part)に記載されていた品目番号が、既に共有品目テーブル6に記載されているか否かを調べる。その結果、当該メッセージ内に記載されていた品目番号がまだ記載されていなかった場合には、当該欄の配列の最後に、メッセージに記載されていた品目番号を追加する。この場合、該品目番号には、メッセージに記載されていたPE名称を付加しておく。一方、メッセージ内に記載されていた品目番号が、既に共有品目テーブル6に記載されていた場合には、その品目に繋がっているPE名称の中に、メッセージに記載されていたPE名称が含まれているか否かを調べる。その結果、含まれていなかった場合には、メッセージに記載されていたPE名称を、新たな要素として当該品目番号に追加する。該ステップ502の後は、共有品目配置部3は、ステップ501へ戻り再び待機状態となる。
【0052】
ところで、図4のステップ408あるいはステップ409の後、ステップ406に戻った展開計算部2は同様の処理を繰り返すことで、その時処理対象となっている品目の全ての子品目(但し、共有品目は除く)を、品目配置テーブル5に格納することができる。共有品目については、上述したとおり、共有品目配置部3へメッセージを送ることで共有品目テーブル6へ記載させる。
【0053】
ステップ406において子品目が残っておらず取り出すことができなかった場合には、展開計算部2はステップ404へ戻り同様の処理を繰り返す。これにより、その時処理対象となっているレベルに属する品目のうち、自ら(展開計算部2)が担当している品目の全てについて、上述した子品目の確認等を行うことができる。
【0054】
ステップ404でキューが空になっており、品目番号が取り出せなかった場合(すなわち、その時処理対象となっているレベルに属する品目のうち、自ら(展開計算部2)が担当している品目の全てについて、上述した子品目の確認等を完了していた場合)、展開計算部2は、”fixed_part(品目カウンタ,レベルカウンタ,自分のPE名称)”というメッセージを共有品目配置部3に送る。また、”finished”というメッセージを展開制御部4に送る(ステップ410)。そして、処理対象とするレベルを一段下げるべくレベルカウンタをインクリメントするとともに、品目カウンタを初期状態(=0)にして(ステップ411)、ステップ401へ戻る。
【0055】
図4ステップ410において送信された”fixed_part(品目カウンタ,レベルカウンタ,自分のPE名称)”というメッセージを受信すると、共有品目配置部3は、当該メッセージの内容に従って、配置状況テーブル7を更新する(図5ステップ503)。該更新は、以下のようにして行う。配置状況テーブル7上、該メッセージ(fixed_part)内のPE名称、ローレベルコードで指定される欄に既に品目数が記載されている場合には、メッセージ(fixed_part)に記載されていた品目カウンタの値をそれに加えて新しい値とする。そして、この新しい値を改めて、当該欄に書き込む。
【0056】
図4ステップ410において送信された”finished”というメッセージを受信すると、展開制御部4は、展開計算部カウンタをインクリメントするとともに、該展開計算部カウンタのカウント値を確認することで、該メッセージ(finished)がすべての展開計算部2から届いているか否かを調べる(図8ステップ803)。その結果、すべての展開計算部2からはメッセージが届いていなかった場合は、そのままステップ801へ戻る。一方、すべての展開計算部2からメッセージが届いていた場合は、レベルカウンタのカウント値が最大値未満であるか否かを確認する(ステップ804)。なお、該最大値は、上述の部品構成表を参照することで確認可能である。最大値未満であった場合(すなわち、更に下位のレベルが存在している場合)には、処理対象とするレベルを1段下げるべくレベルカウンタをインクリメントする。また、展開計算部カウンタを初期状態(=0)にする(ステップ805)。さらに、共有品目配置部3に”set_shared(レベルカウンタ)”というメッセージを送り(ステップ806)、ステップ801へ戻る。
【0057】
該”set_shared(レベルカウンタ)”というメッセージを受け取ると、共有品目配置部3は、そのレベルの共有品目を共有品目テーブル6から一つ取り出して(図5ステップ504)、取り出した共有品目の配置先を決定する(ステップ505)。この配置は以下のようにして決定する。つまり、取り出した共有品目に繋がっているPE(すなわち、この共有品目の親が配置されているPE)に配置されている品目の数(品目数)を、配置状況テーブル7を参照することで確認する。そして、この品目数の少ないPEに、その共有品目を配置することを決定する。以下、ここで配置先として決定されたPEを”配置PE”という。この場合の品目数の比較は、配置状況テーブル7において、メッセージ(set_shared)に記載されていたローレベルコードの指しているレベルに配置されている品目の数(品目数)どうしで行ってもよい。あるいは、レベル0からそのローレベルコードの指しているレベルまでに配置されている品目の総数で比較しても良い。さらには、配置状況テーブル7だけでなく、その時点までに決定した共有品目の配置状況も加味して、次の共有品目の配置を決定しても良い。
【0058】
この後は、配置先の決定された共有品目について、共有品目テーブル6においてつながっているPE名称を取り出し(ステップ506)、それが配置PEと一致するか否かを調べる(ステップ507)。配置PEと一致していた場合、該当する展開計算部2に対し、”set_queue(品目番号,ローレベルコード)”というメッセージを送り(ステップ508)、ステップ506へ戻る。
【0059】
該”set_queue(品目番号,ローレベルコード)”というメッセージを受信すると、展開計算部2は、メッセージ(set_queue)に記載されていた品目番号を、該メッセージに記載されていたローレベルコードの指しているレベルのキューに入れる(図4ステップ402)。この後は、ステップ401へ戻る。なお、このようにしてキューに書き加えられた品目(共有品目)も、当該展開計算部2が、次のレベル(その時処理対象となっているレベルよりも1段下位のレベル)についての展開処理を行う際に、ステップ405において品目配置テーブルに書き込まれることになる。
【0060】
一方、ステップ507において、配置PEと一致していなかった場合、共有品目配置部3は、そのPEに該当する展開計算部2に対して、”add_table(品目番号,配置PE名称)”というメッセージを送り(ステップ509)、ステップ506へ戻る。
【0061】
該”add_table(品目番号,配置PE名称)”というメッセージを受信すると、展開計算部2は、該メッセージの内容を、品目配置テーブル5に追加し(図4ステップ403)、ステップ401へ戻る。これにより、当該展開計算部2は、当該共有品目に関するデータをいずれの展開計算部が有しているかをしることができる。
【0062】
ところで、図5のステップ508あるいは509の後、ステップ506に戻った共有品目配置部3は、同様の処理を繰り返すことで、その時処理対象となっている共有品目の親品目が配置されている展開計算部2の全てに対し、add_tableメッセージとset_queueメッセージとのうちのいずれかを送ることができる。
【0063】
ステップ506において、すべてのPE名称を取りだし終わっていた場合には、その共有品目を共有品目テーブル6から消去し(ステップ510)、その後ステップ504へ戻る。さらに、ステップ504ですべての品目を取り出し終わっていた場合、すなわち、当該レベルに存在していた共有品目の全てについて、その配置先を決定し終わっていた場合には、展開制御部4へ”ready”というメッセージを送り、ステップ501へ戻る(ステップ511)。
【0064】
”ready”というメッセージを受信すると、展開制御部4は、次のレベルに対して、上述した一連の処理を再び繰り返すことになる。
【0065】
ところで、図8ステップ804で、レベルカウンタが最大値以上であった場合(すなわち、処理対象としているレベルが最下位のレベルであった場合)、展開制御部4は各展開計算部2に”stop”メッセージを送り(ステップ807)、その動作を終了する。
【0066】
該”stop”メッセージを受け取った展開計算部2は、”all_fixed”というメッセージ及び各自の品目配置テーブル5の内容を共有品目配置部3に送り(図4ステップ412)、自らの動作を終了する。
【0067】
さらに、該”all_fixed”というメッセージを受け取った共有品目配置部3は、展開計算部2から送信されてきた品目配置テーブル5の内容を受信する(図5ステップ512)。そして、すべての展開計算部2から品目配置テーブル5の内容を受信したか否かを判定する(ステップ513)。該判定の結果、すべての展開計算部2から受け取っていた場合には、その内容に従って資材所要量計算の対象となる全ての品目に関する品目配置テーブル5を作成し(ステップ514)、自らの動作を終了する。なお、ステップ513における判定の結果、全ての展開計算部2からは受け取っていない場合には、ステップ501に戻り待機状態となる。
【0068】
以上説明した実施例の負荷分散装置によれば、資材所要量計算に際しての通信量が少なくなるような負荷分散を図ることができる。また、負荷の均一化を図ることができる。従って、資材所要量計算の高速化に寄与するものである。
【0069】
なお、資材所要量計算の手法に応じて、上記実施例の構成を適宜修正しても構わない。例えば、並列資材所要量計算が、オンメモリ上で計算をし、データのあるPEでその品目の所要量計算をするタイプの場合には、図5のステップ514で共有品目配置部が作成する全ての品目に関する品目配置テーブル5がなくても問題ない。この場合には、並列資材所要量計算において、まず、最初に各PEが、各自の品目配置テーブル5に従って必要なデータを自分のメモリ上にロードする。更に、基準生産計画データから、自らに配置することが指定されている品目のデータを読み込み、以後、レベル・バイ・レベルで部品展開計算を進める。そのPEで展開計算を行う際にデータ送信を必要とする品目については、各自の品目配置テーブル5でその所在をすべて調べることが可能である。
【0070】
また、別のタイプの並列資材所要量計算において、各PEで全品目に関する品目配置テーブル5を必要とする場合には、各自の持つ品目配置テーブル5を廃棄し、図5のステップ514で作成された品目配置テーブル5を各PEにコピーすればよい。あるいは、各自の持つ品目配置テーブル5をお互いに教えあって、各自で並列に全品目に関する品目配置テーブル5を作成することも可能である。
【0071】
本実施例では、資材所要量計算が疎結合並列計算機で行なわれることとして説明したが、密結合並列計算機であっても、ネットワーク上の複数の計算機であっても可能である。
【0072】
本実施例では、装置として説明したが、前記の資材所要量計算と同じ、並列もしくは分散計算機環境で作動するシステムとしても可能である。
【0073】
【発明の効果】
以上、説明したように本発明によれば、部品構成上親子関係にある品目同士(すなわち、資材所要量計算においてデータ授受が発生する品目同士)を、原則として同一の計算機において処理するようにしている。また、複数の親に共有される品目については、負荷が全体として均等になるようにとの観点から、その処理を担当する計算機を決めている。そのため、各計算機間での通信量を少なくできる。これにより処理時間の短縮が図られる。
【0074】
また、この負荷分散計算を行なう際、各展開計算部が並列に処理を進められるため、短時間で処理が終了できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】具体的ハードウエア構成の一例である疎結合並列計算機を示す図である。
【図3】品目配置テーブル5を示す図である。
【図4】展開計算部2の処理を示すフローチャートである。
【図5】共有品目配置部3の処理を示すフローチャートである。
【図6】共有品目テーブル6を示す図である。
【図7】配置状況テーブル7を示す図である。
【図8】展開制御部4の処理を示すフローチャートである。
【符号の説明】
1…MPS読み込み部、2…展開計算部、3…共有品目配置部、4…展開制御部、5…品目配置テーブル、6…共有品目テーブル、7…配置状況テーブル。
Claims (7)
- 複数の所要量計算部によって資材所要量計算を並列に処理する際の負荷分散を決定する資材所要量計算の負荷分散装置において、
MPS読み込み部と、共有品目配置部と、上記所要量計算部毎に設けられた展開計算部と、を備え、
上記MPS読み込み部は、別途作成された生産計画に含まれている品目を読み込んで、各品目を配置する所要量計算部を決定し、当該所要量計算部に対応する展開計算部にその旨を通知するものであり、
上記共有品目配置部は、上記展開計算部から通知された品目を配置する所要量計算部を決定し、当該所要量計算部に対応する展開計算部にその旨を通知するものであり、
上記展開計算部は、上記MPS読み込み部または上記共有配置部から上記通知を受けた品目を、自らに対応する所要量計算部に配置するものであり、
上記展開計算部は、さらに、自らに対応する所要量計算部に配置されている品目の子に相当する品目を確認する展開処理を実行し、該展開処理によって確認された子に相当する品目のうち、複数の品目に共有されている品目については上記共有品目配置部に通知し、一方、共有されていない品目については自らに対応する所要量計算部に配置するものであること、
を特徴とする資材所要量の負荷分散装置。 - 展開制御部を備え、
上記展開計算部は、各品目間の親子関係を示す部品構成上のレベルごとに上記展開処理を行うものであって、あるレベルの展開処理が完了した場合にはその旨を上記展開制御部に通知するとともに上記展開制御部から展開処理の再開指示を受けるまでその展開処理を一時停止するものであり、
上記展開制御部は、上記展開計算部のすべてから上記展開処理の完了の通知を受け取った後、上記共有品目配置部に上記配置先決定の開始を指示するものであり、且つ、上記共有品目配置部からその時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した旨の通知を受けた後、上記展開計算部に展開処理再開を指示するものであり、
上記共有品目配置部は、上記展開制御部から上記開始の指示を受けた時点で、上記配置先の決定を開始するものであり、且つ、その時点で展開計算部から通知をうけていた全ての品目についてその配置先を決定した後は、その旨を上記展開制御部に通知するものであること、
を特徴とする請求項1記載の資材所要量計算の負荷分散装置。 - 上記共有品目配置部は、上記展開計算部から通知された品目の親に相当する品目が配置されている所要量計算部のなかから、当該品目を配置する所要量計算部を決定するものであること、
を特徴とする請求項1または2記載の資材所要量の負荷分散装置。 - 上記共有品目配置部は、上記展開計算部から通知された品目の親に相当する品目が配置されている所要量計算部のうち、その時点で配置されている品目数が最も少ないものを、当該品目の配置先として決定するものであること、
を特徴とする請求項3記載の資材所要量計算の負荷分散装置。 - 上記所要量計算部と、既に当該所要量計算部に配置されている品目と、の対応関係を格納するための配置状況テーブルを備えた記憶部を有し、
上記共有品目配置部は、上記配置先の決まった品目の配置場所を上記配置状況テーブルに順次記載するとともに、該配置状況テーブルを参照することで上記品目の配置先を決定するものであること、
を特徴とする請求項3または4記載の資材所要量計算の負荷分散装置。 - 複数の所要量計算部によって資材所要量計算を並列に処理する際の負荷分散を決定する、負荷分散装置が行う資材所要量計算の負荷分散方法において、
前記負荷分散装置は、前記複数の所要量計算部と、処理部とを備え、
前記複数の所要量計算部各々は、展開計算部と、記憶部とを備え、
前記処理部は、
あらかじめ作成された生産計画に含まれている品目を読み込んで、各品目を配置する前記所要量計算部を決定するとともに、前記展開計算部各々から送出された品目を配置する所要量計算部を決定し、前記決定した所要量計算部の前記展開計算部に当該品目を通知する通知ステップを行い、
前記展開計算部各々は、
前記通知ステップにおいて通知された前記品目の子品目を、あらかじめ定められた部品構成表に基づいて特定する展開ステップと、
前記展開ステップにおいて特定された子品目が、複数の品目で共有されている場合、前記処理部に当該子品目を送出するとともに、前記展開ステップにおいて特定された子品目が、複数の品目で共有されていない場合、当該子品目を前記記憶部に配置する配置ステップと、を行うこと
を特徴とする資材所要量計算の負荷分散方法。 - 請求項6記載の資材所要量計算の負荷分散方法において、
前記展開計算部各々は、各品目間の親子関係を示す部品構成上のレベルごとに、前記展開ステップ行うこと
を特徴とする資材所要量計算の負荷分散方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12796595A JP3621467B2 (ja) | 1995-05-26 | 1995-05-26 | 資材所要量計算の負荷分散方法及び装置 |
US08/610,811 US5764519A (en) | 1995-03-08 | 1996-03-07 | Method and device for computing material requirements |
US08/923,069 US6122560A (en) | 1995-03-08 | 1997-09-03 | Method and device for computing material requirements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12796595A JP3621467B2 (ja) | 1995-05-26 | 1995-05-26 | 資材所要量計算の負荷分散方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08320850A JPH08320850A (ja) | 1996-12-03 |
JP3621467B2 true JP3621467B2 (ja) | 2005-02-16 |
Family
ID=14973065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12796595A Expired - Fee Related JP3621467B2 (ja) | 1995-03-08 | 1995-05-26 | 資材所要量計算の負荷分散方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3621467B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105205A (ja) * | 1996-09-27 | 1998-04-24 | Hitachi Ltd | 資材所要量計算方法およびシステム |
JPH10301604A (ja) * | 1997-04-23 | 1998-11-13 | Hitachi Ltd | 資材所要量計算装置および資材所要量計算方法 |
JP2021174037A (ja) * | 2020-04-20 | 2021-11-01 | 大 益滿 | 甲ならびに乙を構成する、乙の種類ならびに数量の範囲を計算するプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3006619B2 (ja) * | 1989-07-10 | 2000-02-07 | 株式会社東芝 | 資材所要量展開処理装置 |
JPH03226845A (ja) * | 1990-01-31 | 1991-10-07 | Nec Corp | ツリー構造データ多重処理方式 |
-
1995
- 1995-05-26 JP JP12796595A patent/JP3621467B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08320850A (ja) | 1996-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6974558B1 (ja) | 物流情報を管理する電子装置およびその制御方法 | |
US6535773B1 (en) | Device and method for calculating required quantity of material | |
JP3621467B2 (ja) | 資材所要量計算の負荷分散方法及び装置 | |
CN108833532B (zh) | 基于物联网的服务处理方法、装置和系统 | |
CN101449221B (zh) | 允许过程控制系统中的非确定性执行的系统和方法 | |
US7159012B2 (en) | Computational data processing system and computational process implemented by means of such a system | |
CN112363819A (zh) | 大数据任务动态编排调度方法、装置及计算设备 | |
CN113342499A (zh) | 分布式任务调用方法、装置、设备、存储介质、程序产品 | |
CN106254440A (zh) | 一种ap的升级方法和装置 | |
JP2002073142A (ja) | 生産スケジュール作成装置及び生産スケジュール作成装置における生産スケジュール作成プログラムを記録した記録媒体 | |
JP2001027905A (ja) | 生産計画作成方法及び装置 | |
JP2000051095A (ja) | 生産及び梱包管理システム | |
JP2947048B2 (ja) | 部品表管理方式 | |
JPH10105205A (ja) | 資材所要量計算方法およびシステム | |
JP2001100829A (ja) | 生産品納期回答処理方法及びその装置並びに情報記録媒体 | |
JP2001075629A (ja) | 生産管理システムおよび生産管理プログラム記憶媒体 | |
JP4477649B2 (ja) | 資材所要量計算システム | |
JP2000353190A (ja) | 納期回答システム | |
JP2842418B2 (ja) | シミュレーション装置 | |
JP2009128998A (ja) | 生産管理における部材の受払計画管理装置及び受払計画の管理方法 | |
CN114035823A (zh) | 一种业务服务的更新方法及装置 | |
CN115827188A (zh) | 流程调度执行方法、装置、计算机设备和存储介质 | |
CN117668120A (zh) | 一种数字资产管理方法、装置及系统 | |
JPH069022A (ja) | 生産物流シミュレーションシステム | |
CN116886736A (zh) | 基于云化架构的中间件云化处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040629 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040723 |
|
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: 20041109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041118 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071126 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |