JP7063781B2 - 並列分散処理制御システム、プログラム、及び並列分散処理制御方法 - Google Patents

並列分散処理制御システム、プログラム、及び並列分散処理制御方法 Download PDF

Info

Publication number
JP7063781B2
JP7063781B2 JP2018170477A JP2018170477A JP7063781B2 JP 7063781 B2 JP7063781 B2 JP 7063781B2 JP 2018170477 A JP2018170477 A JP 2018170477A JP 2018170477 A JP2018170477 A JP 2018170477A JP 7063781 B2 JP7063781 B2 JP 7063781B2
Authority
JP
Japan
Prior art keywords
constraint
information
unit
item
cpu
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.)
Active
Application number
JP2018170477A
Other languages
English (en)
Other versions
JP2020042623A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018170477A priority Critical patent/JP7063781B2/ja
Priority to US16/436,948 priority patent/US11036516B2/en
Publication of JP2020042623A publication Critical patent/JP2020042623A/ja
Application granted granted Critical
Publication of JP7063781B2 publication Critical patent/JP7063781B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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/80Management or planning

Description

本発明は、並列分散処理制御システム、プログラム、及び並列分散処理制御方法に関する。
生産・物流スケジュールを生成するための種々の技術が存在する。
特許文献1には、段落[0014]に、「本実施の形態においては、製造プロセス・搬送における製品受入計画、製品出荷計画、在庫計画、設備使用計画、設備修理計画、設備能力、設備現況、工程現況、設備現況、在庫現況、設備稼働・故障現況、及び操業者からの操業前提条件の全て或いは一部を表わす入力データに基づいて、上記生産・物流計画の立案開始日時から予め設定された対象期間分を対象として、予め設定した精度に基づいて、製品、移動体、設備の処理に伴う作業群の関係、制約に対して、数式モデル321を構築するようにしている。」と記載されている。また、段落[0040]には、「上述したように、初期値を移動させながら計算範囲を分割するようにしているので、計算負荷が大きなスケジュール問題を計算する場合においても実用時間内で計算することが可能となる。」と記載されている。
特開2008-117309号公報
生産物流計画を立案するに当たり、計算効率の向上が望まれる。
特許文献1に開示された技術では、計画作成期間を分割して計算しているが、分割後のモデル間に順序依存関係が生じるため、分割により得られるはずの効率化の効果が減殺される。
本発明は、上記の点に鑑みてなされたものであって、より効率的な生産物流計画の立案を支援する技術の提供を目的とする。
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
上記課題を解決するため、本発明の並列分散処理制御システムは、製品の生産物流プロセスを構成する複数の工程を含む工程情報と、前記工程に対するシミュレーション結果の値を算出する複数のCPUに関するCPU情報と、前記生産物流プロセスにおける制約値とを記憶する記憶部と、前記複数の工程をグループ化して分割モデルを生成する分割モデル生成部と、前記分割モデルを前記複数のCPUに割り付けるCPU割り付け部と、前記分割モデルを構成する前記工程に対する前記値を前記CPUに算出させるエンジン実行部と、前記値が前記制約値により定まる条件を満たすか否かを判定する制約監視部と、前記条件を満たす前記値を用いて結果情報を生成する出力情報生成部と、を備え、前記CPU割り付け部は、前記複数のCPUの処理負荷が平準化するよう前記分割モデルを割り付けることを特徴とする。
本発明によれば、より効率的な生産物流計画の立案を支援する技術を提供することができる。
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
並列分散処理制御システムの機能ブロック図の一例を示す図である。 並列分散処理制御装置のハードウェア構成の一例を示す図である。 サプライチェーン構成マスタのデータ構造の一例を示す図である。 品目マスタのデータ構造の一例を示す図である。 制約マスタのデータ構造の一例を示す図である。 BOM(Bill of materials)マスタのデータ構造の一例を示す図である。 本実施形態における分割モデル生成処理の一例を示すフローチャートである。 品目クラスタ情報のデータ構造の一例を示す図である。 分割モデル情報のデータ構造の一例を示す図である。 CPU情報生成処理の一例を示すフローチャートである。 CPU情報のデータ構造の一例を示す図である。 計画立案処理の一例を示すフローチャートである。 CPU割り付け情報のデータ構造の一例を示す図である。 日別結果情報のデータ構造の一例を示す図である。 制約違反情報のデータ構造の一例を示す図である。 結果調整情報のデータ構造の一例を示す図である。 再実行情報のデータ構造の一例を示す図である。 最終結果情報のデータ構造の一例を示す図である。 CPU設定画面の一例を示す図である。 最終結果表示画面の一例を示す図である。
原材料及び部品の調達から、製造、在庫管理、配送、販売までの製品の生産物流プロセスは、現在、サプライチェーンとして運営されている。サプライチェーンの運営においては、需要変動や災害などの経営環境の変化に対応する必要がある。そのため、実際の業務をデジタル空間上に再現し、目標の需要充足率を満足させ、かつ、コストが最小となるような在庫配置や生産計画等をシミュレーションを用いて立案し、実務にフィードバックする手法がある。
実務で利用できる計画や指示を作成するためには、対象全体をモデル化し、細かい制約を考慮したうえで、実用時間内で高精度な結果を求める必要がある。本実施形態における並列分散処理制御システムは、サプライチェーンにおける効率的な生産物流計画の立案を支援する。
以下、図面に基づいて本発明の実施形態の例を説明する。図1は、並列分散処理制御システム1の機能ブロック図の一例を示す図である。並列分散処理制御システム1は、並列分散処理制御装置100と、ユーザ端末装置200と、サーバ装置300と、を有する。並列分散処理制御装置100は、1又は複数のユーザ端末装置200と、1又は複数のサーバ装置300と、ネットワーク50を介して通信可能に接続されている。
並列分散処理制御装置100は、PC(Personal Computer)、又はサーバコンピュータ等の端末装置である。ユーザ端末装置200は、PC、又はスマートフォン等の端末装置である。サーバ装置300は、サーバコンピュータ等の情報処理装置である。図1には、1つの並列分散処理制御装置100に対し、1つのユーザ端末装置200と、1つのサーバ装置300とが接続されている状態が示されているが、装置数はこれに限定されない。
一例として、並列分散処理制御装置100、ユーザ端末装置200、及びサーバ装置300は、本実施形態において提供される生産計画立案支援サービスのクライアントにより操作される。他の例として、並列分散処理制御装置100及びサーバ装置300は、当該生産計画立案支援サービスの事業者により操作され、ユーザ端末装置200はクライアントにより操作される。
並列分散処理制御装置100は、制御部110と、記憶部120と、入力部130と、出力部140と、通信部150とを備える。制御部110は、並列分散処理制御装置100全体を統括的に制御する。記憶部120は、並列分散処理制御装置100に入力された情報や、並列分散処理制御装置100の処理過程で生成された情報を記憶する。
入力部130は、後述の入力装置161を用いてユーザからの入力操作を受け付ける。出力部140は、ディスプレイ等の出力装置に対して情報を出力させる。通信部150は、ユーザ端末装置200又はサーバ装置300との間で情報を送信及び受信する。
制御部110は、モデル分割部111と、計算実行部112と、実行制御部113とを備える。モデル分割部111は、効率的に生産計画を立案するための分割モデル生成を制御する。計算実行部112は、複数のCPU(Central Processing Unit)を用いたシミュレーションを制御する。実行制御部113は、シミュレーション結果を参照して制約条件を満たすか否かを判定し、入力操作に応じて結果を出力する。
モデル分割部111は、初期モデル受付部1111と、分割モデル生成部1112とを備える。初期モデル受付部1111は、製品の生産物流プロセスにおいて生成されるマスターデータを初期モデルとして読み込む。マスターデータは、例えばユーザ端末装置200からネットワーク50を介して初期モデル受付部1111に読み込まれ、後述するマスタ情報記憶部121に格納される。マスターデータには、生産物流プロセスを構成する複数の工程を含む工程情報としてのサプライチェーン構成マスタ等が含まれる。
分割モデル生成部1112は、サプライチェーン構成マスタに含まれる複数の工程をグループ化することにより、シミュレーションの対象となる計算モデルを分割した分割モデルを生成する。分割モデル生成部1112は、例えばサプライチェーン構成マスタに含まれる製品の品目に基づいて、工程をグループ化する。
計算実行部112は、CPU割り付け部1121と、エンジン実行部1122とを含む。CPU割り付け部1121は、分割モデルを複数のCPUに割り付ける。その際、CPU割り付け部1121は、複数のCPUの処理負荷が平準化するよう、分割モデルを割り付ける。一例として、CPU割り付け部1121は、分割モデルに含まれる品目の数が平準化するように割り付けを行う。また、CPU割り付け部1121は、後述のエンジン実行部1122の制御により算出される値が制約条件を満たさない場合に生成される再実行情報を構成する計算モデルを、複数のCPUに割り付ける。
なお、CPU割り付け部1121が、CPUの処理負荷が平準化するよう分割モデルを割り付けることは、結果として各CPUの処理負荷が均一となることを意味しない。例えば本実施形態において、処理負荷を推定する目安として、分割モデル内の品目数を用いるが、同じ品目数の分割モデルについて異なるCPUを用いてシミュレーションを行う場合であっても、分割モデルの内容によって処理負荷に多少のばらつきがある場合がある。
また、処理負荷の平準化には、レスポンスタイムの平準化の意味合いが含まれる。例えば、計算モデルを分割するに際し、計画作成期間が等しくなるよう分割してシミュレーションを行う場合を仮定する。計画における時刻が後である計算モデルは、時刻が前である計算モデルの計算後に計算が実行されることとなり、計算モデルに順序依存関係が生じる。この場合、時刻が後である計算モデルのレスポンスタイムは、時刻が前である計算モデルの処理開始時から計測されるため、両モデルのレスポンスタイムには大きな差が生じる。即ち、各々の計画作成期間が等しくなるよう計算モデルを分割する手法は、処理負荷を平準化することを意図したものではないといえる。
エンジン実行部1122は、分割モデルを割り当てられた複数のCPUの各々に対し、生産物流計画における計画立案のための計算処理、即ち生産物流プロセスのシミュレーションを実行させる。その結果、分割モデルを構成する各工程について、現在及び将来の製品の生産量、保管料、出庫量、入庫量、又は輸送量等の値が算出される。エンジン実行部1122は、各CPUに対し、マスターデータ等に含まれる情報を用いたシミュレーションを実行させる。シミュレーションには公知の方法を用いるため、説明を省略する。
また、エンジン実行部1122は、再実行情報を構成する計算モデルを割り付けられたCPUに対して、該再実行情報を用いてシミュレーションを実行させ、再度シミュレーション結果としての値を得る。
実行制御部113は、制約監視部1131と、再実行情報生成部1132と、出力情報生成部1133と、を備える。制約監視部1131は、生産物流プロセスに対して予め設定された制約値により定まる制約条件を、エンジン実行部1122の取得した値が満たすか否かを判定する。再実行情報生成部1132は、値が制約条件を満たさないと判定された工程に対し、制約値を用いて目標値を設定し、工程と関連付けた再実行情報を生成する。
出力情報生成部1133は、制約条件を満たす値を用いて結果情報を生成する。また、出力情報生成部1133は、結果情報を用いて後述する最終結果表示画面250の出力情報を生成してユーザ端末装置200に送信する。また、出力情報生成部1133は、CPU情報生成処理の開始指示を受け付けると、後述するCPU設定画面240の表示情報を生成してユーザ端末装置200に送信する。
記憶部120は、マスタ情報記憶部121と、分割モデル情報記憶部122と、日別結果情報記憶部123と、再実行情報記憶部124と、最終結果情報記憶部125と、を備える。マスタ情報記憶部121は、初期モデル受付部1111により読み込まれたマスターデータを記憶する記憶領域である。分割モデル情報記憶部122は、分割モデル情報を記憶するほか、分割モデル情報の生成に用いられる品目クラスタ情報やCPU情報を記憶する記憶領域である。
日別結果情報記憶部123は、分割モデルを各CPUに割り付けるために用いられるCPU割り付け情報や、各CPUにより算出されたシミュレーション結果を示す日別結果情報、制約条件を満たさない値に関する制約違反情報、及び、制約条件を満たさない工程に対して、値を調整するために用いる結果調整情報を記憶する記憶領域である。再実行情報記憶部124は、制約条件を満たさない工程に対して設定された目標値を含む再実行情報を記憶する記憶領域である。
最終結果情報記憶部125は、制約条件を満たす値を用いて生成された結果情報を記憶する記憶領域である。
ユーザ端末装置200は、入力部210と、出力部220と、通信部230とを備える。入力部210は、入力装置を介してユーザからの入力操作を受け付ける。出力部220は、ディスプレイ等の出力装置に対して情報を出力させる。例えば、出力部220は、並列分散処理制御装置100から送信されたCPU設定画面240の出力情報を用いて、CPU設定画面240を出力装置に表示させる。また例えば、出力部220は、並列分散処理制御装置100から送信された出力情報を用いて、最終結果表示画面250を出力装置に表示させる。通信部230は、並列分散処理制御装置100との間で情報を送信及び受信する。
サーバ装置300は、制御部310と、通信部320とを備える。制御部310は、サーバ装置300全体を統括的に制御する。通信部320は、並列分散処理制御装置100との間で情報を送信及び受信する。制御部310は、シミュレーション実行部311を備える。シミュレーション実行部311は、サーバ装置300の有するCPUを用いて、シミュレーションを行う。一例として、シミュレーション実行部311は、並列分散処理制御装置100からマスターデータを取得し、マスターデータを用いてシミュレーションを実行する。
並列分散処理制御システム1は、システム全体で複数のCPUを有し、CPU割り付け部1121により割り付けられた分割モデルを構成する各工程について、各CPUがシミュレーションを実行する。以下、サーバ装置300がシミュレーションを実行する複数のCPUを有しており、並列分散処理制御装置100のエンジン実行部1122が、サーバ装置300にシミュレーション開始指示を示す信号を送信する例を用いて説明する。その場合、サーバ装置300の有する各CPUに対し、シミュレーション実行部311がシミュレーションを実行させる。
なお、装置構成はこれに限られず、例えば並列分散処理制御装置100の有するCPUと、サーバ装置300の有するCPUとでシミュレーションを実行してもよい。その場合、実行制御部113が用いるCPUを確保するために、エンジン実行部は、(並列分散処理制御システム1の有する総CPU数-1)のCPUにシミュレーションを実行させることが望ましい。
図2は、並列分散処理制御装置100のハードウェア構成の一例を示す図である。並列分散処理制御装置100は、入力装置161と、出力装置162と、外部記憶装置163と、演算装置164と、主記憶装置165と、通信装置166と、を備え、各構成要素はバス167により接続されている。
入力装置161は、ユーザからの入力操作を受け付ける装置であり、例えばタッチパネル、キーボード、マウス、マイク等である。出力装置162は、並列分散処理制御装置100に格納されたデータの出力処理を行う装置であって、例えばLCD(Liquid Crystal Display)等の表示装置、又はプリンタ等である。入力部130は入力装置161を用いることができ、出力部140は出力装置162を用いることができる。
外部記憶装置163は、例えばHDD(Hard Disk Drive)等の書き込み及び読み出し可能な記憶メディアである。演算装置164は、CPU等の中央演算装置であって、主記憶装置165又は外部記憶装置163に記録されたプログラムに従って処理を実行する。制御部110を構成する各処理部は、演算装置164がプログラムを実行することにより各々の機能を実現する。なお、図2には、便宜上1つの演算装置164が示されているが、CPU数はこれに限定されない。
主記憶装置165は、RAM(Random Access Memory)等の記憶装置であり、プログラムやデータが一時的に読み出される記憶エリアとして機能する。通信装置166は、並列分散処理制御装置100をネットワーク50に接続するための装置であって、例えばNIC(Network Interface Card)等の通信デバイスである。
記憶部120は、主記憶装置165又は外部記憶装置163によりその機能が実現される。また、記憶部120は、ネットワーク50上の記憶装置によってその機能が実現されてもよい。
なお、並列分散処理制御装置100の各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、並列分散処理制御装置100の各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
ユーザ端末装置200及びサーバ装置300は、並列分散処理制御装置100と同様のハードウェア構成を有する。そのため、ユーザ端末装置200及びサーバ装置300のハードウェア構成については、説明を省略する。なお、先述したように、本実施形態におけるサーバ装置300は、複数のCPUを有している。
図3は、サプライチェーン構成マスタ10のデータ構造の一例を示す図である。サプライチェーン構成マスタ10は、製品の生産物流プロセスを構成する複数の工程を含む工程情報であって、マスターデータとして初期モデル受付部1111により読み込まれる。サプライチェーン構成マスタ10は、マスタ情報記憶部121に記憶される。
サプライチェーン構成マスタ10は、企業名10aと、企業クラス10bと、品目10cと、仕入先企業10dと、納入先企業10eと、を有する。企業名10aは、サプライチェーンを構成する各企業を示す情報であり、例えば生産物流プロセスにおいて製品の供給元となる企業の名称又は識別情報である。企業クラス10bは、企業の種別を示す情報である。品目10cは、企業の取り扱う製品の品目である。即ち、サプライチェーン構成マスタ10には、生産物流プロセスを実行する各企業と製品の品目とを含む工程が含まれている。
仕入先企業10dは、製品の仕入先となる企業を示す情報である。納入先企業10eは、製品の納入先となる企業を示す情報である。
図4は、品目マスタ20のデータ構造の一例を示す図である。品目マスタ20は、品目名20aと、重量20bと、体積20cとを有する。品目マスタ20は、マスタ情報記憶部121に記憶される。品目名20aは、製品の品目を示す情報である。重量20bは、品目名20aにより特定される製品の重量を示す情報である。体積20cは、品目名20aにより特定される製品の体積を示す情報である。
図5は、制約マスタ30のデータ構造の一例を示す図である。制約マスタ30は、サプライチェーン全体で考慮しなければならない制約を示すものであり、マスタ情報記憶部121に記憶される。制約マスタ30は、企業30aと、制約項目30bと、制約種別30cと、制約値30dと、優先制約フラグ30eと、を有する。企業30aは、サプライチェーンを構成する各企業を示す情報である。制約項目30bは、制約条件の項目を特定する情報である。制約種別30cは、制約の種別を示す情報である。
制約値30dは、制約条件となる値を示す情報である。優先制約フラグ30eは、当該フラグを有するレコードにより特定される制約条件の影響を受けるか否かを示す情報であるが、詳細は後述する。例えば、優先制約フラグが「1」の場合は、優先制約フラグがあるものとして取り扱われ、制約条件の影響を受ける。「0」の場合は、優先制約フラグがないものとして取り扱われ、制約条件の影響を受けない。
なお、制約マスタ30は、生産物流プロセスを実行する各企業と制約項目との組合せに応じて、制約値を記憶した情報といえる。
一例として、図5に示す制約マスタ30のうち、上から1番目のレコードは、企業30aが「工場A」であって、制約項目30bが「生産量」であって、制約種別30cが「上限」であって、制約値30dが「100個/日」であって、優先制約フラグ30eが「1」である。これは、「工場A」により生産される製品の「生産量」の「上限」が、「1日につき100個」であって、シミュレーションを行うに当たり、当該制約条件の影響を受けることを示している。
図6は、BOM(Bill of materials)マスタ40のデータ構造の一例を示す図である。BOMマスタ40は、マスタ情報記憶部121に記憶される。BOMマスタ40は、親品目40aと、子品目40bと、消費数量40cとを有する。親品目40aは、製品の品目を示す情報である。子品目40bは、親品目40aに係る製品を構成する他の品目を示す情報である。消費数量40cは、親品目40aの製品を1単位生産するにあたり必要な子品目40bの数を示す値である。即ち、図6に示す「品目A」を1単位生産するにあたり、「品目α」が2単位、「品目β」が3単位必要となる。
図7は、本実施形態における分割モデル生成処理の一例を示すフローチャートである。本処理は、例えば並列分散処理制御装置100において定期的に実行される。
まず、初期モデル受付部1111が、マスターデータを読み込む(ステップS100)。具体的には、初期モデル受付部1111は、ユーザ端末装置200から、サプライチェーン構成マスタ10と、品目マスタ20と、制約マスタ30と、BOMマスタ40とを読み込む。なお、初期モデル受付部1111は、ユーザ端末装置200以外の装置からマスターデータを読み込んでもよい。
次に、分割モデル生成部1112は、品目クラスタを生成する(ステップS101)。分割モデル生成部1112は、サプライチェーン構成マスタ10、品目マスタ20、及びBOMマスタ40を基に、品目をグルーピングする。より具体的には、分割モデル生成部1112は、BOMマスタ40を参照し、1つの親品目40aにつき1つのグループを生成する。次に、分割モデル生成部1112は、共通の子品目40bを有する親品目40aについて、どちらか一方の親品目40aが属するグループに、他方の親品目40a及び該親品目40aの製造に必要な子品目40bを所属させる。
図8は、品目クラスタ情報1220のデータ構造の一例を示す図である。品目クラスタ情報1220は、クラスタ識別情報1220aと、品目1220bと、を有する。クラスタ識別情報1220aは、品目のグループを特定する識別情報である。品目1220bは、クラスタ識別情報1220aにより特定されるグループに所属する品目を特定する情報である。
図6に示すBOMマスタ40を構成する品目のうち、「品目A」、及び品目Aを構成する「品目α」、「品目β」は、図8の品目クラスタ情報1220において、クラスタ識別情報1220aが「G1」のグループに関連付けられている。図6のBOMマスタ40において、「品目θ」は、「品目B」の子品目でもあり、「品目C」の子品目でもある。そのため、図8に示す品目クラスタ情報1220では、「品目B」及び品目Bを構成する「品目γ」、「品目θ」、及び「品目C」が、クラスタ識別情報1220aが「G2」のグループに関連付けられている。
説明を図7に戻す。次に、分割モデル生成部1112は、分割モデルを生成する(ステップS102)。具体的には、分割モデル生成部1112は、品目クラスタ情報1220を用いて、サプライチェーン構成マスタ10に含まれる工程をグループ化することにより、分割モデル情報1221を生成する。
図9は、分割モデル情報1221のデータ構造の一例を示す図である。分割モデル情報1221は、分割モデル情報記憶部122に記憶される。分割モデル情報1221は、クラスタ識別情報1221aと、企業名1221bと、企業クラス1221cと、品目1221dと、仕入先企業1221eと、納入先企業1221fと、を有する。
クラスタ識別情報1221aは、工程の属するグループを特定する識別情報である。企業名1221bは、サプライチェーンを構成する各企業を示す情報である。企業クラス1221cは、企業の種別を示す情報である。品目1221dは、企業の取り扱う製品の品目である。仕入先企業1221eは、製品の仕入先となる企業を示す情報である。納入先企業1221fは、製品の納入先となる企業を示す情報である。
分割モデル生成部1112は、サプライチェーン構成マスタ10の品目10cを参照し、品目クラスタ情報1220において当該品目に対応するクラスタ識別情報1220aを特定する。分割モデル生成部1112は、サプライチェーン構成マスタ10に含まれる各レコードに、特定したクラスタ識別情報1220aを関連付けることにより、分割モデル情報1221を生成する。即ち、分割モデル生成部1112は、サプライチェーン構成マスタ10に含まれる各工程を、品目を用いてグループ化することにより、分割モデル情報1221を生成する。その後、制御部110は図7に示すフローチャートの処理を終了する。
図10は、CPU情報生成処理の一例を示すフローチャートである。本フローチャートの処理は、例えばユーザ端末装置200において、CPU情報生成処理の開始指示の入力操作を受け付けると開始される。
まず、出力情報生成部1133は、CPU設定画面240の表示情報を生成する(ステップS200)。その後、出力情報生成部1133の生成した表示情報は、CPU情報生成処理の開始指示の入力操作を受け付けたユーザ端末装置200に送信され、表示される。
図19は、CPU設定画面240の一例を示す図である。CPU設定画面240は、CPU数入力領域241と、設定指示受付ボタン242とを有する。CPU数入力領域241は、シミュレーションに用いるCPUの数の入力を受け付ける領域である。設定指示受付ボタン242は、CPU数入力領域241に入力されたCPU数を確定させるためのボタンである。CPU数入力領域241に数値が入力され、設定指示受付ボタン242が設定指示を受け付けると、入力されたCPU数が並列分散処理制御装置100に送信され、入力された数のCPUに対し、CPU割り付け部1121により分割モデルが割り付けられる。
説明を図10に戻す。次に、分割モデル生成部1112は、CPU情報1222を生成する(ステップS201)。その後、制御部110は本フローチャートの処理を終了する。
なお、CPU情報1222は、シミュレーションの実行に用いるCPUを特定できればよく、CPU情報生成処理は本フローチャートに示す例に限定されない。例えば、CPU設定画面240は、CPU数入力領域241の代わりに、サーバ台数入力領域(図示せず)を有していてもよい。サーバ台数入力領域は、シミュレーションを実行するサーバ装置300の台数の入力を受け付ける領域である。その場合、並列分散処理制御装置100は、入力されたサーバ装置300の台数に応じて、シミュレーションに用いるCPUを特定可能であるよう、予めサーバ装置300の台数とCPUとが関連付けられた情報を有している。
また例えば、分割モデル生成部1112は、並列分散処理制御装置100及びサーバ装置300の搭載するCPUから、実行制御部113が使用するものとして予め定められたCPUを除いたCPUを示す情報を用いて、CPU情報1222を生成してもよい。その場合、分割モデル生成部1112は、CPU情報1222の生成の開始指示がなくとも、例えば定期的にCPU情報1222を生成してもよい。
図11は、CPU情報1222のデータ構造の一例を示す図である。CPU情報1222は、分割モデル情報記憶部122に記憶され、シミュレーションの実行に用いることのできるCPUを特定する情報を有している。分割モデル生成部1112は、CPU数入力領域241に入力された数のCPUを、CPU情報1222に登録する。
図12は、計画立案処理の一例を示すフローチャートである。本フローチャートの処理では、図7に示す分割モデル生成処理により生成された分割モデル情報1221、及び図10に示すCPU情報生成処理により生成されたCPU情報1222を使用する。そのため、本処理は分割モデル生成処理及びCPU情報生成処理の後に実行される。
まず、CPU割り付け部1121は、各分割モデルをCPUに割り付ける(ステップS301)。先述したように、CPU割り付け部1121は、各CPUの処理負荷が平準化するよう、分割モデルを割り当てる。一例として、CPU割り付け部1121は、品目クラスタ情報1220(図8)を参照し、各クラスタ識別情報1220aと関連する品目1220bの数が多い順にクラスタ識別情報1220aをソートする。CPU割り付け部1121は、CPU情報1222に含まれるCPUに対し、品目数の多い順にクラスタ識別情報1220aを割り当てる。その際、CPU割り付け部1121は、既にCPUに割り付けられた分割モデルの品目数を参照し、該品目数の少ないCPUに対し、品目数の多いクラスタ識別情報1220aを割り当てる。
なお、CPU割り付け部1121の行う割り付け方法はこれに限定されない。例えば、品目数の少ない分割モデルから順にCPUに割り付けてもよい。
図13は、CPU割り付け情報1230のデータ構造の一例を示す図である。CPU割り付け情報1230は、日別結果情報記憶部123に記憶される。CPU割り付け情報1230は、CPU1230aと、クラスタ識別情報1230bとを有する。CPU1230aは、CPUを特定する識別情報である。クラスタ識別情報1230bは、CPU1230aのCPUに割り付けられた分割モデルのグループを特定する識別情報である。
説明を図12に戻す。次に、計算実行部112及び実行制御部113は、計算期間の初日から終了日まで、ステップS302からステップS307までの処理を繰り返す。本処理より前に、並列分散処理制御装置100は、計算期間の指定を受け付けている。以下、計算期間内の1日毎にシミュレーション結果を算出する実施形態について説明するが、シミュレーション結果の算出スパンについてはこれに限定されず、任意であってよい。
まず、エンジン実行部1122が、1日分の計算を実行し、各CPUの実行結果を集計する(ステップS303)。具体的には、エンジン実行部1122は、本処理開始前に指定された計算期間内の1日について、各CPUに計算処理を実行させる。エンジン実行部1122は、CPU割り付け情報1230を参照して各CPUに割り付けられたクラスタ識別情報1230bを抽出する。エンジン実行部1122は、分割モデル情報1221を参照し、抽出したクラスタ識別情報1221aにより特定されるレコード(工程)について、各CPUに計算結果となる値を算出させ、日別結果情報1231を生成する。
図14は、日別結果情報1231のデータ構造の一例を示す図である。日別結果情報1231は、日別結果情報記憶部123に記憶され、計算時点1231aと、CPU1231bと、企業1231cと、品目1231dと、制約項目1231eと、結果日1231fと、結果1231gと、を有する。
計算時点1231aは、計算を実行した日を示す情報である。CPU1231bは、計算を行ったCPUを特定する識別情報である。企業1231cは、サプライチェーンを構成する各企業を示す情報である。品目1231dは、企業1231cの取り扱う製品の品目を示す情報である。
制約項目1231eは、制約条件の項目を特定する情報である。結果日1231fは、計算の対象となる日を示す情報である。結果1231gは、エンジン実行部1122の制御により、企業1231c及び品目1231dに係る工程についてCPUが算出した、結果日1231fにおける値である。
例えば、図14に示す日別結果情報1231の最上位のレコードは、計算時点1231aが「2018/3/1」、CPU1231bが「001」、企業1231cが「工場A」、品目1231dが「品目A」、制約項目1231eが「生産量」、結果日1231fが「2018/3/1」、結果1231gが「130」である。これは、計算時点である「2018/3/1」に、「001」の識別情報により特定されるCPUが、「工場A」において生産される「品目A」の「2018/3/1」における「生産量」が、「130」単位であることを示している。
なお、エンジン実行部1122の制御により算出される値は、工程に対する実績値か、又は計画値である。計画時点と結果日が同じである場合、算出される値は生産物流プロセスにおいて実際に行ったと仮定される実績値である。結果日が計画時点よりも先である場合、算出される値は計画時点における結果日に対する計画値である。図14の最上位のレコードでは、計算時点1231aと結果日1231fとが共に「2018/3/1」であるため、結果1231gに係る値は実績値であるものと取り扱われる。
なお、図14に示す日別結果情報1231の結果日1231fには、「2018/3/1」から「2018/3/3」までの日付が含まれている。即ち、本図の日別結果情報1231は、図12に示すステップ302~ステップS307の処理を日数分繰り返して生成される情報である。
説明を図12のステップS303に戻す。エンジン実行部1122は、日別結果情報1231を生成した後、各CPUの実行結果を集計する。より具体的には、エンジン実行部1122は、企業と制約項目との組合せ毎に値を合算する。図14を用いて説明すると、エンジン実行部1122は、企業1231cと、制約項目1231eと、結果日1231fとの組合せが共通するレコードを抽出する。エンジン実行部1122は、抽出したレコードの結果1231gを合算する。
図14において、企業1231cが「工場A」であって、制約項目1231eが「生産量」であって、結果日1231fが「2018/3/1」であるレコードは、最上位のレコード(品目1231dが「品目A」であるレコード)と、下から3つ目のレコード(品目1231dが「品目B」であるレコード)とがある。これらのレコードに含まれる結果1231gを合算して、「250」の値を得る。
図15は、制約違反情報1232のデータ構造の一例を示す図である。制約違反情報1232は、日別結果情報記憶部123に記憶され、企業1232aと、制約項目1232bと、結果日1232cと、合計量1232dと、を含む。企業1232aは、図14の企業1231cと対応し、制約項目1232bは、図14の制約項目1231eと対応し、結果日1232cは、結果日1231fと対応するため、説明を省略する。
合計量1232dは、日別結果情報1231を構成するレコードのうち、企業1231cと、制約項目1231eと、結果日1231fとの組合せが共通するレコードの結果1231gを合算して得られる値である。
図15の制約違反情報1232では、企業1232aが「工場A」であって、制約項目1232bが「生産量」であって、結果日1232cが「2018/3/1」であるレコードについて、図14において合算して得た値である「250」が、合計量1232dとして含まれている。なお、本レコードは、計算時点と結果日とが同じ工程、即ち実績値の合計量を示すレコードである。
説明を図12に戻す。次に、制約監視部1131は、制約違反があるか否かを判定する(ステップS304)。具体的には、制約監視部1131は、ステップS303で算出された合計量と、制約マスタ30に含まれる制約値とを比較することにより、制約値により定まる条件を満たすか否かを判定する。
より具体的に説明する。制約監視部1131は、制約違反情報1232(図15)のレコードの1つを抽出し、当該レコードの合計量1232dが、実績値の合計量か、計画値の合計量かを判定する。
次に、制約監視部1131は、制約マスタ30(図5)を参照し、抽出した制約違反情報1232のレコードに含まれる企業1232aと制約項目1232bとの組合せを特定する。制約監視部1131は、企業30aと制約項目30bとが一致する制約マスタ30のレコードを特定する。次に、抽出した制約違反情報1232のレコードが実績値のレコードである場合、特定した制約マスタ30のレコードに含まれる優先制約フラグ30eを参照する。優先制約フラグ30eが、制約条件の影響を受けない情報(図5の場合「0」)である場合、制約監視部1131は合計量1232dが制約値に係る条件を満たすものと判定し、処理を進める。
優先制約フラグ30eが、制約条件の影響を受ける情報(図5の場合「1」)である場合、制約違反情報1232の合計量1232dが、制約マスタ30の制約種別30c及び制約値30dの条件を満たすか否かを判定する。
図15の制約違反情報1232の最上位のレコードは、企業1232aが「工場A」であって、制約項目1232bが「生産量」である。先述した通り、当該レコードの合計量1232dは実績値であるため、制約条件の充足可否の判定において、優先制約フラグの内容を参照する。図5に示す制約マスタ30の最上位のレコードは、企業30aが「工場A」であって、制約項目30bが「生産量」であり、制約違反情報1232の最上位のレコードと対応している。
図5の最上位のレコードの優先制約フラグ30eは、制約条件の影響を受けることを示す「1」である。そのため、制約監視部1131は、合計量1232dの「250」が、制約マスタ30における条件を満たすか否かを判定する。図5の最上位のレコードは、制約種別30cが「上限」であって、制約値30dが「100個/日」であり、合計量の「250」が制約値の上限を超えているため、制約違反情報1232の当該レコードは条件を満たさないものと判定する。
なお、図15の制約違反情報1232の2段目のレコードは、企業1232aが「倉庫A」であって、制約項目1232bが「出庫量」であって、結果日1232cが「2018/3/1」であって、合計量1232dが「400」である。結果日と計算時点とが同じであるため、合計量は実績値として取り扱われる。
図15の制約違反情報1232の2段目のレコードと、図5の制約マスタ30の2段目のレコードとについて、企業30a及び制約項目30bの組合せが一致している。しかしながら、制約違反情報1232の合計量1232dが実績値であって、制約マスタ30の2番目のレコードの優先制約フラグ30eが「0」であるため、当該制約違反情報1232に係る工程は制約条件の影響を受けない。そのため、制約監視部1131は、制約違反情報1232の2番目のレコードについては、条件を満たすものと判定する。
なお、制約違反情報1232の合計量1232dが計画値である場合には、優先制約フラグ30eの如何に関わらず、制約マスタ30による条件を合計量1232dが満たすか否かの判定を行う。生産物流プロセスのシミュレーション上、実績値は実際に生産物流プロセスに供給されたものと取扱い、基本的に計画値を調整する方向でシミュレーションを行う。そのため、原則として実績値は制約条件の影響を受けないものと取り扱う。一方において、ある制約項目の実績値の調整ができない場合、他の制約項目との間でデッドロックが生じることがある。そのため、優先制約フラグを設け、実績値であっても制約条件の影響を受けるよう設定可能にすることで、より多様なニーズに対応した計画立案を実行することができる。
なお、合計量と制約値との比較を行うに際し、単位が異なる場合には一方の単位に換算して比較を行う。例えば、図15に示す合計量1232dは、本例において製品の数であるが、図5に示す制約値30dは体積を制約値とするものもある。その場合、品目マスタ20(図4)を参照することにより合計量1232dに対応する体積を算出することで、制約値30dとの比較を行う。
説明を図12に戻す。ステップS304において、制約監視部1131は、ステップS303において生成した制約違反情報1232のすべてのレコードについて制約違反があるか否かを判定する。制約監視部1131は、制約違反情報1232のすべてのレコードについて制約違反がない場合に、制約違反がないものと判定する(ステップS304で「No」)。その場合、制御部110は処理をステップS303に戻し、予め指定された計画期間の他の日について、計算の実行を行う。
制約監視部1131が、制約違反情報1232のレコードのうち、制約違反のあるレコードが少なくとも1つあるものと判定する場合(ステップS304で「Yes」の場合)、再実行情報生成部1132は、計算結果を調整する(ステップS305)。本処理において、実行制御部113は、制約マスタ30における制約値を遵守するために、制約違反情報1232に係る合計量をどれだけ調整しなければならないかを計算する。
一例として、再実行情報生成部1132は、ステップS304において制約違反と判定された制約違反情報1232のレコードを特定し、該レコードの合計量1232dを特定する。再実行情報生成部1132は、該レコードの生成に用いた日別結果情報1231のレコードを抽出し、抽出したレコードの結果1231gの、合計量に占める割合を算出する。
上述の例において、図15に示す制約違反情報1232の最上位のレコードは、制約に違反するものと判定された。当該レコードの合計量1232dは「250」である。また、該レコードの生成に用いられた日別結果情報1231のレコードは、最上位のレコードと、下から3つ目のレコードである。最上位のレコードの結果1231gは「130」であるため、「250」に占める割合として「52%」と算出される。同様に、下から3つ目のレコードについては、結果1231gの「120」の「250」に占める割合として、「48%」と算出される。再実行情報生成部1132は、算出した数値を含む結果調整情報1233を生成する。
図16は、結果調整情報1233のデータ構造の一例を示す図である。結果調整情報1233は、日別結果情報記憶部123に記憶され、企業1233aと、制約項目1233bと、品目1233cと、結果日1233dと、調整レート1233eと、を有する。企業1233aは、日別結果情報1231の企業1231cと対応し、制約項目1233bは、日別結果情報1231の制約項目1231eと対応し、品目1233cは、日別結果情報1231の品目1231dと対応し、結果日1233dは、日別結果情報1231の結果日11231fと対応する。
調整レート1233eは、制約違反と判定された制約違反情報1232の合計量1232dに占める、日別結果情報1231の結果1231gの割合を示す値である。即ち、再実行情報生成部1132は、制約違反と判定された制約違反情報1232を構成する日別結果情報1231に対し、調整レート1233eを関連付けることにより、結果調整情報1233を生成する。
なお、結果調整情報1233は、制約違反であった工程について、制約値を満たす値が算出されるよう、各CPUに算出制限を課すための条件となる数値が含まれるものであればよく、その数値は調整レートに限定されない。例えば、制約値と合計量の差分に対する、日別結果情報1231の結果1231gの占める割合であってもよい。
説明を図12に戻す。次に、再実行情報生成部1132は、再実行情報1240を生成する(ステップS306)。
図17は、再実行情報1240のデータ構造の一例を示す図である。再実行情報1240は、再実行情報記憶部124に記憶され、CPU1240aと、再実行日1240bと、企業1240cと、品目1240dと、制約項目1240eと、結果日1240fと、目標値1240gと、を有する。
CPU1240aは、再実行情報1240を構成する工程の値を算出するCPUを特定する識別情報である。再実行日1240bは、CPUに工程の値を算出させる日である。企業1240cは、サプライチェーンを構成する各企業を示す情報である。品目1240dは、製品の品目を示す情報である。制約項目1240eは、制約条件の項目を特定する情報である。結果日1240fは、計算の対象となる日を示す情報である。目標値1240gは、CPU1240aに係るCPUに工程の値を算出させる際の、値の目標値である。
再実行情報生成部1132は、結果調整情報1233の企業1233aと、制約項目1233bと、品目1233cと、結果日1233dとを関連付け、再実行情報1240のレコードを生成する。再実行情報生成部1132は、生成したレコードの品目1240dを用いて品目クラスタ情報1220を参照し、対応するクラスタ識別情報1220aを特定する。また、再実行情報生成部1132は、CPU割り付け情報1230を参照し、特定したクラスタ識別情報1230bと対応するCPU1230aを特定して再実行情報1240のCPU1240aとする。再実行情報1240の再実行日1240bは任意であるが、一例として、再実行情報1240を生成した日を再実行日とする。
また、再実行情報生成部1132は、目標値を算出する。一例として、制約値に調整レートを乗じた値を目標値とする。より具体的には、再実行情報生成部1132は、結果調整情報1233のレコードのうち、企業1233a及び制約項目1233bの一致する制約マスタ30のレコードを特定する。再実行情報生成部1132は、特定したレコードの制約値30dに対し、結果調整情報1233の調整レート1233eを乗じて目標値を算出する。なお、必要に応じて単位の正規化を行う。
なお、目標値は制約値を満たすための各工程の値である。そのため、目標値の算出方法は上述の例に限定されない。
説明を図12に戻す。次に、エンジン実行部1122は、再実行情報1240を用いて再計算を行う(ステップS307)。具体的には、エンジン実行部1122は、ステップS303と同様に、再実行情報1240を構成する工程について、各CPUに計算結果となる値を算出させる。その際、エンジン実行部1122は、各CPUに対し、目標値により特定される条件を満たすよう計算する旨指示する。各CPUが目標値を遵守するためのロジックは特に限定されない。例えば山崩しを行わずに山積みを行うようなヒューリスティックな方法を用いてもよいし、数理計画法等の最適化手法を適用してもよい。
なお、ステップS306において、再実行情報1240の生成の際に、再実行日1240bについて、再実行情報1240を生成した日としていない場合には、本処理は割愛することができる。
その後、エンジン実行部1122は、再計算の結果得られた値を用いて、日別結果情報1231の結果1231gを更新する
予め指定された計画期間のすべての日程について、ステップS302からステップS307の処理が行われたら、出力情報生成部1133は、最終結果情報1250を生成する(ステップS308)。その後、制御部110は本フローチャートの処理を終了する。
図18は、最終結果情報1250のデータ構造の一例を示す図である。最終結果情報1250は、最終結果情報記憶部125に記憶され、企業1250aと、品目1250bと、計算時点1250cと、結果項目1250dと、計画日1250eと、数量1250fと、を有する。企業1250aは、製品の供給元の企業の名称又は識別情報である。品目1250bは、製品の品目を特定する識別情報である。
計算時点1250cは、エンジン実行部1122が各CPUに計算を実行させた日を示す情報である。結果項目1250dは、計算結果の項目を示す情報であって、先述の制約項目に対応する。計画日1250eは、計算の対象となる日を示す情報である。
数量1250fは、計算時点1250cに係る日に計算された値であって、企業1250aに係る企業が、品目1250bに示す製品を、計画日1250eに係る日に、制約項目1240eに示す供給方法で生産物流プロセスに供給される製品の供給予測量を示す値である。
本実施形態において、出力情報生成部1133は、日別結果情報1231を用いて最終結果情報1250を生成する。具体的には、再実行情報生成部1132は、日別結果情報1231の企業1231cを企業1250aとし、品目1231dを品目1250bとし、計算時点1231aを計算時点1250cとし、制約項目1231eを結果項目1250dとし、結果日1231fを計画日1250eとし、結果1231gを数量1250fとして関連付けることにより、最終結果情報1250を生成する。
なお、最終結果情報1250は、その後ユーザ端末装置200に送信され、ディスプレイ等に表示されてもよいし、並列分散処理制御装置100の有するディスプレイ等に表示されてもよい。また、出力情報生成部1133は、最終結果情報1250を用いて最終結果表示画面250の出力情報を生成する。最終結果表示画面250は、ユーザ端末装置200において表示されてもよく、並列分散処理制御装置100において表示されてもよい。
図20は、最終結果表示画面250の一例を示す図である。最終結果表示画面250は、企業選択領域251と、品目選択領域252と、結果項目選択領域253と、結果表示領域254と、を有する。企業選択領域251は、最終結果情報1250内の企業1250aに係る企業を選択可能に表示する領域である。品目選択領域252は、最終結果情報1250の品目1250bに係る製品を選択可能に表示する領域である。結果項目選択領域253は、最終結果情報1250の結果項目1250dを選択可能に表示する領域である。
結果表示領域254は、最終結果情報1250に含まれる数量1250fを表示する領域である。最終結果情報1250において、企業1250a、品目1250b、及び結果項目1250dが共通する複数のレコードについて、異なる計画日1250eに対し数量1250fが関連付けられている。出力情報生成部1133は、計画日の推移に応じて数量を表示する結果表示領域254の出力情報を生成する。
なお、図20の結果項目選択領域253において、「在庫推移」、「生産計画」、「供給計画」、「調達計画」、及び「販売計画」と記載されたタブが選択可能に示されている。「在庫推移」とは、結果項目1250dが「在庫量」である数量1250fの推移を示すものである。「生産計画」とは、結果項目1250dが「生産量」である数量1250fの推移を示すものである。「供給計画」とは、結果項目1250dが「供給量」である数量1250fの推移を示すものである。「調達計画」とは、結果項目1250dが「調達量」である数量1250fの推移を示すものである。「販売計画」とは、結果項目1250dが「販売量」である数量1250fの推移を示すものである。なお、結果項目選択領域253の表示形式等については、図20に示す例に限定されない。
以上、本実施形態では、生産物流プロセスにおける計算モデルを適切に分割し、各CPUに処理負荷が平準化するよう割り当てて計算させるため、並列処理による計算の高速化を実現することができる。また、各モデル間に存在する制約を考慮することができるため、例え計算モデルを分割して計算を行っても、生産物流計画の効率的な立案を阻害しない。
また、計算モデルを分割する場合、各計算モデルに依存関係が生じることがある。本実施形態では、品目に応じて計算モデルを分割することにより、計算モデルの依存関係を低減させ、計算速度の向上を図ることが可能となる。また、並列分散処理により計算速度の向上を実現しつつ、計算モデル全体の制約を考慮した結果を算出することができる。従って、本実施形態によれば、より効率的な生産物流計画の立案を支援することができる。
以上、本発明に係る各実施形態及び変形例の説明を行ってきたが、本発明は、上記した実施形態の一例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態の一例は、本発明を分かり易くするために詳細に説明したものであり、本発明は、ここで説明した全ての構成を備えるものに限定されない。また、ある実施形態の一例の構成の一部を他の一例の構成に置き換えることが可能である。また、ある実施形態の一例の構成に他の一例の構成を加えることも可能である。また、各実施形態の一例の構成の一部について、他の構成の追加・削除・置換をすることもできる。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、図中の制御線や情報線は、説明上必要と考えられるものを示しており、全てを示しているとは限らない。ほとんど全ての構成が相互に接続されていると考えてもよい。
また、上記の並列分散処理制御装置100、ユーザ端末装置200、及びサーバ装置300の機能構成は、理解を容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。上述に示す通り、並列分散処理制御装置100、ユーザ端末装置200、及びサーバ装置300は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
1:並列分散処理制御システム、10:サプライチェーン構成マスタ、20:品目マスタ、30:制約マスタ、40:BOMマスタ、50:ネットワーク、100:並列分散処理制御装置、110・310:制御部、111:モデル分割部、112:計算実行部、113:実行制御部、120:記憶部、121:マスタ情報記憶部、122:分割モデル情報記憶部、123:日別結果情報記憶部、124:再実行情報記憶部、125:最終結果情報記憶部、130・210:入力部、140・220:出力部、150・230・320:通信部、161:入力装置、162:出力装置、163:外部記憶装置、164:演算装置、165:主記憶装置、166:通信装置、200:ユーザ端末装置、240:CPU設定画面、241:CPU数入力領域、242:設定指示受付ボタン、250:最終結果表示画面、251:企業選択領域、252:品目選択領域、253:結果項目選択領域、254:結果表示領域、300:サーバ装置、311:シミュレーション実行部、1111:初期モデル受付部、1112:分割モデル生成部、1121:CPU割り付け部、1122:エンジン実行部、1131:制約監視部、1132:再実行情報生成部、1133:出力情報生成部、1220:品目クラスタ情報、1221:分割モデル情報、1222:CPU情報、1230:CPU割り付け情報、1231:日別結果情報、1232:制約違反情報、1233:結果調整情報、1240:再実行情報、1250:最終結果情報

Claims (9)

  1. 製品の生産物流プロセスを実行する企業と前記製品の品目と前記品目に係る工程を含む工程情報と、前記工程に対するシミュレーション結果の値を算出する複数のCPUに関するCPU情報と、前記生産物流プロセスにおける制約値とを記憶する記憶部と、
    前記品目に基づいて前記複数の工程をグループ化して分割モデルを生成する分割モデル生成部と、
    前記分割モデルを前記複数のCPUに割り付けるCPU割り付け部と、
    前記分割モデルを構成する前記工程に対する前記値を前記CPUに算出させるエンジン実行部と、
    前記値が前記制約値により定まる条件を満たすか否かを判定する制約監視部と、
    前記条件を満たす前記値を用いて結果情報を生成する出力情報生成部と、
    を備え、
    前記CPU割り付け部は、前記分割モデルに含まれる品目数が平準化するよう前記分割モデルを割り付けることを特徴とする、並列分散処理制御システム。
  2. 請求項1に記載の並列分散処理制御システムであって、
    前記条件を満たさない前記値に係る前記工程に対して前記制約値を用いて目標値を設定し、前記工程と前記目標値とを関連付けた再実行情報を生成する再実行情報生成部を備え、
    前記CPU割り付け部は、前記再実行情報に対して前記CPUを割り付け、
    前記エンジン実行部は、割り付けられた前記CPUに対して前記再実行情報を用いて前記値を算出させることを特徴とする、並列分散処理制御システム。
  3. 請求項1に記載の並列分散処理制御システムであって、
    前記記憶部は、前記生産物流プロセスを実行する各企業と制約項目との組合せに対して前記制約値を記憶しており、
    前記制約監視部は、前記企業と前記制約項目との組合せ毎に前記値を合算して前記制約値と比較することにより、前記工程に対する前記値が前記条件を満たすか否かを判定することを特徴とする、並列分散処理制御システム。
  4. 請求項3に記載の並列分散処理制御システムであって、
    前記エンジン実行部は、前記工程に対するシミュレーション日と同じ日に実行される前記生産物流プロセスの前記シミュレーション結果の値である実績値又は前記シミュレーション日より後の日に実行される前記生産物流プロセスの前記シミュレーション結果の値である計画値を算出させ、
    前記記憶部は、前記制約値に係る前記工程に対して前記条件の影響を受けるか否かを示す優先制約フラグの有無を関連付けて記憶しており、
    前記制約監視部は、前記実績値に関しては前記優先制約フラグが前記条件の影響を受ける情報である場合に前記条件を満たすか否かを判定し、前記計画値に関しては前記優先制約フラグに関わらず前記条件を満たすか否かを判定することを特徴とする、並列分散処理制御システム。
  5. 請求項1に記載の並列分散処理制御システムであって、
    前記分割モデル生成部は、同じ前記品目を扱う異なる工程を同じグループに属するよう前記分割モデルを生成することを特徴とする、並列分散処理制御システム。
  6. 請求項3に記載の並列分散処理制御システムであって、
    前記制約項目は、生産量、出庫量、入庫量、保管料、輸送量の少なくとも1つを含むことを特徴とする、並列分散処理制御システム。
  7. 請求項1に記載の並列分散処理制御システムであって、
    前記出力情報生成部は、シミュレーションの実行に用いる前記CPUの数の入力を受け付けるCPU設定画面の出力情報を生成し、
    前記CPU割り付け部は、前記CPU設定画面に入力された数の前記CPUに対し前記分割モデルを割り付けることを特徴とする、並列分散処理制御システム。
  8. コンピュータを並列分散処理制御装置として機能させるプログラムであって、
    前記並列分散処理制御装置を、記憶部と、分割モデル生成部と、CPU割り付け部と、エンジン実行部と、制約監視部と、出力情報生成部として機能させ、
    前記記憶部は、製品の生産物流プロセスを実行する企業と前記製品の品目と前記品目に係る工程を含む工程情報と、前記工程に対するシミュレーション結果の値を算出する複数のCPUに関するCPU情報と、前記生産物流プロセスにおける制約値とを記憶しており、
    前記分割モデル生成部に、前記品目に基づいて前記複数の工程をグループ化して分割モデルを生成する分割モデル生成手順を実行させ、
    前記CPU割り付け部に、前記分割モデルを前記複数のCPUに割り付けるCPU割り付け手順を実行させ、
    前記エンジン実行部に、前記分割モデルを構成する前記工程に対する前記値を前記CPUに算出させるエンジン実行手順を実行させ、
    前記制約監視部に、前記値が前記制約値により定まる条件を満たすか否かを判定する制約監視手順を実行させ、
    前記出力情報生成部に、前記条件を満たす前記値を用いて結果情報を生成する出力情報生成手順を実行させ、
    前記CPU割り付け手順では、前記分割モデルに含まれる品目数が平準化するよう前記分割モデルを割り付けることを特徴とする、プログラム。
  9. 並列分散処理制御装置が行う並列分散処理制御方法であって、
    前記並列分散処理制御装置は、記憶部と、分割モデル生成部と、CPU割り付け部と、エンジン実行部と、制約監視部と、出力情報生成部、を備え、
    前記記憶部は、製品の生産物流プロセスを実行する企業と前記製品の品目と前記品目に係る工程を含む工程情報と、前記工程に対するシミュレーション結果の値を算出する複数のCPUに関するCPU情報と、前記生産物流プロセスにおける制約値とを記憶しており、
    前記分割モデル生成部は、前記品目に基づいて前記複数の工程をグループ化して分割モデルを生成する分割モデル生成手順を実行し、
    前記CPU割り付け部は、前記分割モデルを前記複数のCPUに割り付けるCPU割り付け手順を実行し、
    前記エンジン実行部は、前記分割モデルを構成する前記工程に対する前記値を前記CPUに算出させるエンジン実行手順を実行し、
    前記制約監視部は、前記値が前記制約値により定まる条件を満たすか否かを判定する制約監視手順を実行し、
    前記出力情報生成部は、前記条件を満たす前記値を用いて結果情報を生成する出力情報生成手順を実行し、
    前記CPU割り付け手順では、前記分割モデルに含まれる品目数が平準化するよう前記分割モデルを割り付けることを特徴とする、並列分散処理制御方法。
JP2018170477A 2018-09-12 2018-09-12 並列分散処理制御システム、プログラム、及び並列分散処理制御方法 Active JP7063781B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018170477A JP7063781B2 (ja) 2018-09-12 2018-09-12 並列分散処理制御システム、プログラム、及び並列分散処理制御方法
US16/436,948 US11036516B2 (en) 2018-09-12 2019-06-11 Parallel distributed processing control system, program, and parallel distributed processing control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018170477A JP7063781B2 (ja) 2018-09-12 2018-09-12 並列分散処理制御システム、プログラム、及び並列分散処理制御方法

Publications (2)

Publication Number Publication Date
JP2020042623A JP2020042623A (ja) 2020-03-19
JP7063781B2 true JP7063781B2 (ja) 2022-05-09

Family

ID=69719161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018170477A Active JP7063781B2 (ja) 2018-09-12 2018-09-12 並列分散処理制御システム、プログラム、及び並列分散処理制御方法

Country Status (2)

Country Link
US (1) US11036516B2 (ja)
JP (1) JP7063781B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112365360B (zh) * 2020-10-26 2023-04-28 红云红河烟草(集团)有限责任公司 卷烟生产线物耗统计计算方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217573A (ja) 2008-03-11 2009-09-24 Konica Minolta Holdings Inc サプライチェーン最適化システム及びサプライチェーン最適化方法
JP2013030156A (ja) 2011-07-22 2013-02-07 Accenture Global Services Ltd 業務成果トレードオフ・シミュレータ
JP2013225184A (ja) 2012-04-20 2013-10-31 Hitachi Ltd 生産シミュレーション装置、生産シミュレーション方法及び、生産シミュレーションプログラム
JP2014164501A (ja) 2013-02-25 2014-09-08 Mitsubishi Heavy Ind Ltd 制御装置、シミュレーションシステム、制御方法及びプログラム
JP2018092333A (ja) 2016-12-01 2018-06-14 富士通株式会社 故障情報管理プログラム、起動試験方法及び並列処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101052A1 (en) * 2004-10-28 2006-05-11 Netaps, Inc. Method and system for sequencing and scheduling
GB2443229B (en) * 2006-08-23 2009-10-14 Cramer Systems Ltd Capacity management for data networks
JP2008117309A (ja) 2006-11-07 2008-05-22 Nippon Steel Corp 生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
US10209749B2 (en) * 2015-06-15 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload allocation based on downstream thermal impacts

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217573A (ja) 2008-03-11 2009-09-24 Konica Minolta Holdings Inc サプライチェーン最適化システム及びサプライチェーン最適化方法
JP2013030156A (ja) 2011-07-22 2013-02-07 Accenture Global Services Ltd 業務成果トレードオフ・シミュレータ
JP2013225184A (ja) 2012-04-20 2013-10-31 Hitachi Ltd 生産シミュレーション装置、生産シミュレーション方法及び、生産シミュレーションプログラム
JP2014164501A (ja) 2013-02-25 2014-09-08 Mitsubishi Heavy Ind Ltd 制御装置、シミュレーションシステム、制御方法及びプログラム
JP2018092333A (ja) 2016-12-01 2018-06-14 富士通株式会社 故障情報管理プログラム、起動試験方法及び並列処理装置

Also Published As

Publication number Publication date
US11036516B2 (en) 2021-06-15
US20200081720A1 (en) 2020-03-12
JP2020042623A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
JP4479316B2 (ja) 生産計画立案装置および方法
JP5643502B2 (ja) 複数工場の生産スケジュール作成方法
JPH05225205A (ja) 順次確定生産計画システム
JP6031184B2 (ja) 供給グループ決定支援装置及び供給グループ決定支援プログラム
WO2004022463A1 (ja) 安全在庫量算出方法、安全在庫量算出装置、発注点算出方法、発注点算出装置及び発注量算出方法
CN101099120A (zh) 定购和预测生产混合时的生产计划方法和生产计划系统
US20180107961A1 (en) Task Support System and Task Support Method
JP6050980B2 (ja) 生産可能数計算装置、生産可能数計算プログラム及び記憶媒体
JP7232138B2 (ja) サプライチェーン設計システム及びサプライチェーン設計方法
JP7063781B2 (ja) 並列分散処理制御システム、プログラム、及び並列分散処理制御方法
JP6333150B2 (ja) 需給調整装置および需給条件集約方法
JP4746334B2 (ja) 製造プロセスの生産計画立案方法、装置、及びコンピュータプログラム
WO2016113844A1 (ja) サプライチェーン設計装置、サプライチェーン設計方法およびプログラム
JP2022085264A (ja) 在庫計画システム及び在庫計画方法
JP2006244470A (ja) 納期回答システム、納期回答方法、及び納期回答プログラム
Plinta et al. Adaptive inventory control system for material items with continuous non-stationary demand
CN111754136A (zh) 工厂排产方法、装置、电子设备和计算机可读存储介质
WO2006077930A1 (ja) 生産スケジューリングシステム
Upasani et al. Integrated production planning and pricing decisions in congestion-prone capacitated production systems
JP6389817B2 (ja) 生産計画最適化システム、および、生産計画最適化方法
JP7249265B2 (ja) 在庫計画装置及び在庫計画方法
JP6016657B2 (ja) データ処理装置及びプログラム
Collart An application of mathematical optimization to autoclave packing and scheduling in a composites manufacturing facility
JP6713963B2 (ja) サプライチェーン業務シミュレーションの初期在庫情報生成方法及び装置
Klemmt et al. Product mix optimization for a semiconductor fab: Modeling approaches and decomposition techniques

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211115

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: 20220412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220421

R151 Written notification of patent or utility model registration

Ref document number: 7063781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151