(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023105908
(43)【公開日】2023-08-01
(54)【発明の名称】情報処理装置、情報処理システム、及び情報処理方法
(51)【国際特許分類】
G06Q 10/06 20230101AFI20230725BHJP
G06Q 50/04 20120101ALI20230725BHJP
G05B 19/418 20060101ALI20230725BHJP
【FI】
G06Q10/06
G06Q50/04
G05B19/418 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022006932
(22)【出願日】2022-01-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】藤井 紀輔
【テーマコード(参考)】
3C100
5L049
【Fターム(参考)】
3C100AA01
3C100AA38
3C100BB03
3C100BB11
3C100BB12
3C100BB14
3C100CC02
5L049AA06
5L049CC04
(57)【要約】
【課題】製造ラインにおける計画生成の類似実績がなくとも、生産スケジューリングのロジックを適切に構成する。
【解決手段】情報処理装置は、複数の品目を製造可能な製造ラインを示すグラフと、基本モジュールを示すグラフと、生産スケジューリングの課題と、を示す課題情報と、課題から生産スケジューリングのロジックを選定するためのルールと、を保持し、課題情報を参照して、製造ラインを示すグラフに含まれる基本モジュールを示すグラフを特定し、特定した基本モジュールのグラフに対応する課題を抽出し、当該ルールを参照して、抽出した課題に対応するロジックを選定し、選定したロジックを示す情報を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理装置であって、
プロセッサとメモリとを含み、
前記メモリは、
複数の品目を製造可能な製造ラインを示すグラフと、
基本モジュールを示すグラフと、生産スケジューリングの課題と、を示す課題情報と、
前記課題から前記生産スケジューリングのロジックを選定するためのルールと、を保持し、
前記プロセッサは、
前記課題情報を参照して、前記製造ラインを示すグラフに含まれる前記基本モジュールを示すグラフを特定し、
前記課題情報を参照して、前記特定した基本モジュールのグラフに対応する課題を抽出し、
前記ルールを参照して、前記抽出した課題に対応するロジックを選定し、
前記選定したロジックを示す情報を出力する、情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記メモリは、前記複数の品目それぞれを製造するための工程フローを示す工程フロー情報を保持し、
前記プロセッサは、
前記工程フロー情報を参照して前記複数の品目それぞれの工程フローを示すグラフを生成し、
前記生成した前記複数の品目それぞれの工程フローを示すグラフをマージすることで、前記製造ラインを示すグラフを生成する、情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
入力装置及び表示装置に接続され、
前記プロセッサは、
前記抽出した課題と前記選定したロジックを前記表示装置に表示し、
前記入力装置を介して、正解ロジックの入力を受け付け、
前記選定したロジックと前記正解ロジックとが異なると判定した場合、前記抽出した課題と前記正解ロジックとに基づいて、前記ルールを学習する、情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記プロセッサは、前記製造ラインを示すグラフと、前記選定したロジックと、を示す情報を表示装置に出力するためのデータを生成する、情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、
前記プロセッサは、前記特定した基本モジュールのグラフと、前記抽出した課題と、を示す情報を表示装置に出力するためのデータを生成する、情報処理装置。
【請求項6】
情報処理システムであって、
ロジック構成装置と生産スケジューリング装置とを含み、
前記ロジック構成装置は、
複数の品目を製造可能な製造ラインを示すグラフと、
基本モジュールを示すグラフと、生産スケジューリングの課題と、を示す課題情報と、
前記課題から前記生産スケジューリングのロジックを選定するためのルールと、
前記生産スケジューリング装置の仕様を示す実装情報と、を保持し、
前記課題情報を参照して、前記製造ラインを示すグラフに含まれる前記基本モジュールを示すグラフを特定し、
前記課題情報を参照して、前記特定した基本モジュールのグラフに対応する課題を抽出し、
前記ルールを参照して、前記抽出した課題に対応するロジックを選定し、
前記選定したロジックを示す情報を前記生産スケジューリング装置に実装するための実装情報を、前記実装情報が示す仕様を参照して生成し、前記生産スケジューリング装置に出力し、
前記生産スケジューリング装置は、実装情報に基づいて、前記ロジックを実装する、情報処理システム。
【請求項7】
情報処理装置による情報処理方法であって、
前記情報処理装置は、プロセッサとメモリとを含み、
前記メモリは、
複数の品目を製造可能な製造ラインを示すグラフと、
基本モジュールを示すグラフと、生産スケジューリングの課題と、を示す課題情報と、
前記課題から前記生産スケジューリングのロジックを選定するためのルールと、を保持し、
前記情報処理方法は、
前記プロセッサが、前記課題情報を参照して、前記製造ラインを示すグラフに含まれる前記基本モジュールを示すグラフを特定し、
前記プロセッサが、前記課題情報を参照して、前記特定した基本モジュールのグラフに対応する課題を抽出し、
前記プロセッサが、前記ルールを参照して、前記抽出した課題に対応するロジックを選定し、
前記プロセッサが、前記選定したロジックを示す情報を出力する、情報処理方法。
【請求項8】
請求項7に記載の情報処理方法であって、
前記メモリは、前記複数の品目それぞれを製造するための工程フローを示す工程フロー情報を保持し、
前記情報処理方法は、
前記プロセッサが、前記工程フロー情報を参照して前記複数の品目それぞれの工程フローを示すグラフを生成し、
前記プロセッサが、前記生成した前記複数の品目それぞれの工程フローを示すグラフをマージすることで、前記製造ラインを示すグラフを生成する、情報処理方法。
【請求項9】
請求項7に記載の情報処理方法であって、
前記情報処理装置は、入力装置及び表示装置に接続され、
前記情報処理方法は、
前記プロセッサが、前記抽出した課題と前記選定したロジックを前記表示装置に表示し、
前記プロセッサが、前記入力装置を介して、正解ロジックの入力を受け付け、
前記プロセッサが、前記選定したロジックと前記正解ロジックとが異なると判定した場合、前記抽出した課題と前記正解ロジックとに基づいて、前記ルールを学習する、情報処理方法。
【請求項10】
請求項7に記載の情報処理方法であって、
前記プロセッサが、前記製造ラインを示すグラフと、前記選定したロジックと、を示す情報を表示装置に出力するためのデータを生成する、情報処理方法。
【請求項11】
請求項7に記載の情報処理方法であって、
前記プロセッサが、特定した基本モジュールと、前記抽出した課題と、を示す情報を表示装置に出力するためのデータを生成する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、及び情報処理方法。
【背景技術】
【0002】
本技術分野の背景技術として特開2021-68010号公報(特許文献1)がある。この公報には、「これから計画生成システムの構築を行う工場でシステム実装前に従来より生成・運用されていた計画の特徴を表す数理モデルと、他工場で計画生成システムが既に構築された際に作成したソースコードの処理に対応する数理モデルとを比較し、同様の数理モデルであると判定された場合、それに対応する過去のソースコードを再利用する。」と記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術では、計画生成システムの過去に作成されたソースコードを再利用することで、ソースコード開発の工数を削減しているため、過去の類似実績がない新規案件の計画生成に対応することはできない。また、工場における製造ラインにおける工程フローは無数に存在し、製造フローに対応する生産スケジューリングのためのロジックも無数に存在するため、過去の類似実績がないケースが多く発生する。そこで、本発明の一態様は、製造ラインにおける計画生成の類似実績がなくとも、生産スケジューリングのロジックを適切に構成する。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。情報処理装置は、プロセッサとメモリとを含み、前記メモリは、複数の品目を製造可能な製造ラインを示すグラフと、基本モジュールを示すグラフと、生産スケジューリングの課題と、を示す課題情報と、前記課題から前記生産スケジューリングのロジックを選定するためのルールと、を保持し、前記プロセッサは、前記課題情報を参照して、前記製造ラインを示すグラフに含まれる前記基本モジュールを示すグラフを特定し、前記課題情報を参照して、前記特定した基本モジュールのグラフに対応する課題を抽出し、前記ルールを参照して、前記抽出した課題に対応するロジックを選定し、前記選定したロジックを示す情報を出力する。
【発明の効果】
【0006】
本発明の一態様によれば、製造ラインにおける計画生成の類似実績がなくとも、生産スケジューリングのロジックを適切に構成する。
【0007】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図1】実施例1における生産スケジューリングシステムの構成例を示すブロック図である。
【
図2】実施例1における工程フロー情報の一例である。
【
図3】実施例1における基本モジュール情報の一例である。
【
図4】実施例1におけるロジック選定ルールの一例である。
【
図6】実施例1におけるスケジューリングロジック構成結果情報の一例である。
【
図7】実施例1におけるロジック構成装置によるロジック構成処理の一例を示すフローチャートである。
【
図8】実施例1における工程フローのグラフ化、及び工程フローのグラフのマージ処理の概要を示す説明図である。
【
図9】実施例1における基本モジュール特定処理、及び課題抽出処理の概要を示す説明図である。
【
図10】実施例1におけるロジック構成装置の表示装置に表示される表示画面の一例である。
【
図11】実施例1におけるロジック構成装置の表示装置に表示される詳細表示画面の一例である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例0010】
図1は、生産スケジューリングシステムの構成例を示すブロック図である。生産スケジューリングシステム500は、例えば、例えば、インターネット等のネットワーク400で接続された、ロジック構成装置100、生産スケジューリング装置200、及び工程情報管理装置300を含む。
【0011】
工程情報管理装置300は、製品を生産するための工程フロー(1以上の工程からなる一連の工程)を品目ごとに保持し、ロジック構成装置100に送信する。ロジック構成装置100は、工程情報管理装置300から受信した品目ごとの工程フローに基づいて、各品目を生産するための生産スケジューリングためのロジックを構成し、構成したロジックを実装するための実装情報に生産スケジューリング装置200に送信する。なお、ロジック構成装置100は、ロジック構成装置100のユーザから、各品目の工程フローを示す情報の入力を受け付けてもよい。
【0012】
生産スケジューリング装置200は、ロジック構成装置100から受信した実装情報が示すロジックに基づいて、各品目の生産スケジュールを策定する。なお、生産スケジューリング装置200は、各品目の製品の納期、及び各品目の製品を生産するためにかかる処理時間を保持する。
【0013】
ロジック構成装置100は、例えば、CPU(Central Processing Unit)110、メモリ120、補助記憶装置130、表示装置140、入力装置150、及び通信装置160を有する計算機によって構成される。
【0014】
CPU110は、プロセッサを含み、メモリ120に格納されたプログラムを実行する。メモリ120は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU110が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0015】
補助記憶装置130は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU110が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置130から読み出されて、メモリ120にロードされて、CPU110によって実行される。
【0016】
表示装置140は、ディスプレイやプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。入力装置150は、キーボードやマウスなどの、オペレータからの入力を受ける装置である。
【0017】
通信装置160は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置160は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含んでもよい。
【0018】
CPU110が実行するプログラムの一部またはすべては、非一時的記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)又は、非一時的記憶装置を備える外部計算機からネットワークを介してロジック構成装置100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置130に格納されてもよい。このため、ロジック構成装置100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。これは、生産スケジューリング装置200及び工程情報管理装置300についても同様である。
【0019】
ロジック構成装置100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。これは生産スケジューリング装置200及び工程情報管理装置300についても同様である。また、ロジック構成装置100、生産スケジューリング装置200、及び工程情報管理装置300の少なくとも2つが一体化されていてもよい。
【0020】
CPU110は、例えば、工程フロー解析部111、基本モジュール割当部112、課題抽出部113、ロジック構成部114、実装部115、及び結果表示部116を含む。工程フロー解析部111は、各品目の工程フローを解析して、全ての品目を製造するための製造ラインを示すグラフを生成する。基本モジュール割当部112は、製造ラインを示すグラフに含まれる基本モジュールを特定する。
【0021】
課題抽出部113は、特定された基本モジュールに対応する、スケジューリングについての課題を抽出する。ロジック構成部114は、抽出された課題に基づいてロジックを選定する。実装部115は、選定されたロジックを生産スケジューリング装置200に実装するためのデータを生成する。結果表示部116は、各機能部によるプログラムの実行結果を表示装置140に表示する。
【0022】
例えば、CPU110は、メモリ120にロードされた工程フロー解析プログラムに従って動作することで、工程フロー解析部111として機能し、メモリ120にロードされた基本モジュール割当プログラムに従って動作することで、基本モジュール割当部112として機能する。CPU110に含まれる他の機能部についても、プログラムと機能部の関係は同様である。
【0023】
なお、CPU110に含まれる機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0024】
補助記憶装置130は、例えば、工程フロー情報131、基本モジュール情報132、ロジック選定ルール133、実装情報134、及びスケジューリングロジック構成結果情報135を保持する。
【0025】
工程フロー情報131は、各品目の製品を製造するための工程フローを示す。基本モジュール情報132は、基本モジュールのグラフ、及び基本モジュールに対応する課題を示す。ロジック選定ルール133は、課題からロジックを選定するためのルールである。実装情報134は、ロジックを生産スケジューリング装置200に実装するための情報(生産スケジューリング装置200の仕様を示す情報)を含む。スケジューリングロジック構成結果情報135は、選定されたロジックを示す。
【0026】
なお、補助記憶装置130に格納されている一部又は全部の情報が、メモリ120に格納されていてもよいし、生産スケジューリング装置200又は工程情報管理装置300に格納されていてもよいし、生産スケジューリングシステム500に接続されている外部のデータベースに格納されていてもよい。
【0027】
なお、本実施形態において、データ管理システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0028】
図2は、工程フロー情報131の一例である。工程フロー情報131は、例えば、品目欄1311、工程番号欄1312、工程欄1313、及び使用リソース欄1314を含む。品目欄1311は、製品の品目を特定する情報を保持する。工程番号欄1312は、各製品を生産するための工程の順序を示す工程番号を保持する。工程欄1313は、工程を特定する情報を保持する。使用リソース欄1314は、当該工程に用いられるリソースである使用リソースを示す情報を保持する。
【0029】
図2の例では、品目Bの製品が製造されるためには、工程番号が「1」の「加工機」を用いた「切削」工程、工程番号が「2」の「曲げ機a」を用いた「曲げ」工程、工程番号が「3」の「作業者」による「組立」工程、及び工程番号が「4」の「塗装設備」を用いた「塗装」工程が、工程番号の順に行われる必要がある。
【0030】
なお、工程フロー情報131において、同じ品目の同じ工程番号を有する複数のレコードが格納されていてもよい。この場合、同じ品目の同じ工程番号を有する複数のレコードが示す工程については、いずれか1つの工程が実行されればよい。
図2の例では、「曲げ機a」、「曲げ機b」、「曲げ機c」、又は「曲げ機d」のいずれかを使用した「曲げ」工程が行われることにより、品目Aの製品を製造することができる。
【0031】
図3は、基本モジュール情報132の一例である。基本モジュール情報132は、例えば、基本モジュールID欄1321、グラフ欄1322、及び課題欄1323を保持する。基本モジュールID欄1321は、基本モジュールを識別するIDを保持する。グラフ欄1322は、基本モジュールである有向グラフを特定する情報を保持する。具体的には、例えば、グラフ欄1322は、有向グラフの隣接行列、接続行列、又はラプラシアン行列等を保持する。課題欄1323は、基本モジュールに対応する課題を示す情報を保持する。
【0032】
なお、基本モジュールIDが「1」の基本モジュールに対応する課題である「納期余裕度優先」は、納期余裕度(納期までの残日数/当該品目の製品を生産するためにかかる処理時間)が高い(又は低い)品目の製品の生産を優先的に開始することを示す課題である。基本モジュールIDが「2」の基本モジュールに対応する課題である「処理時間優先」は、製品を生産するためにかかる処理時間が短い(又は長い)品目の製品の生産を優先的に開始することを示す課題である。なお、基本モジュール情報132において異なる基本モジュールに同じ課題が対応していてもよい。
【0033】
図4は、ロジック選定ルール133の一例である。ロジック選定ルール133は、課題からロジックを選定するためのルールであり、例えば、得られた課題を条件とするif文によって定義される。
図4の例では、課題として「納期余裕度優先」が得られなかった場合にはロジックとして「ランダム」が選定され、課題として「納期余裕度優先」が得られかつ「処理時間最小優先」が得られなかった場合にはロジックとして「納期順ソート」が選定され、課題として「納期余裕度優先」が得られかつ「処理時間最小優先」が得られた場合にはロジックとして「2段階ソート」が選定される。
【0034】
なお、「ランダム」とは各品目の製品の投入順序(つまり生産を開始する順序)がランダムであることを示す。「納期順ソート」とは各品目の製品の投入順序が、納期が早い順(又は遅い順であってもよい)であることを示す。「2段階ソート」とは各品目の製品の投入順序が、納期が早い順(又は遅い順であってもよい)にソートされた上で、納期が同じ品目の製品については処理時間が短い順(又は長い)にソートされた順であることを示す。なお、「2段階ソート」とは各品目の製品の投入順序が、製品について処理時間が短い順(又は長い)にソートされた上で、処理時間が同じ品目の製品については納期が早い順(又は遅い順であってもよい)にソートされた順であることを示す。
【0035】
なお、
図4の例では、ロジック選定ルール133が単なるif文で定義されているが、得られた課題が入力されてロジックを出力する所定の確率的モデルによって定義されてもよい。また、例えば、得られた課題に対する正解ロジックをユーザによって与えることで、当該モデルが学習されてもよい。また、ロジック選定ルール133は、補助記憶装置130に格納されずに、ロジック構成部114を実現するプログラム内に記述されていてもよい。
【0036】
図5は、実装情報134の一例である。実装情報134は、例えば、ファイル欄1341、形式欄1342、及び書込位置欄1343を含む。ファイル欄1341は、生産スケジューリング装置200が保持する、ロジックの書き込み対象であるファイルの格納場所及びファイル名を示す情報を保持する。形式欄1342は、ファイル欄1341が示すファイルの形式を示す情報を保持する。書込位置欄1343は、ファイル欄1341が示すファイル内の、ロジックを書き込む位置を示す情報を保持する。
【0037】
図6は、スケジューリングロジック構成結果情報135の一例である。スケジューリングロジック構成結果情報135は、例えば、基本モジュールID欄1351、課題欄1352、及びロジック欄1353を含む。基本モジュールID欄1351は、基本モジュール割当部112によって割り当てられた基本モジュールIDを保持する。課題欄1352は、課題抽出部113によって抽出された課題を示す情報を保持する。ロジック欄1353は、ロジック構成部114によって選定されたロジックを示す情報を保持する。
【0038】
図7は、ロジック構成装置100によるロジック構成処理の一例を示すフローチャートである。ロジック構成処理が開始する前に、工程フロー情報131、基本モジュール情報132、ロジック選定ルール133、及び実装情報134が設定されているものとする。工程フロー解析部111は、工程フロー情報131を参照して、各品目の工程フローをグラフ化する(S701)。具体的には、例えば、工程フロー解析部111は、工程フロー情報131の品目ごとに、レコードを取得して、当該レコードが示す使用リソースそれぞれをノードとし、工程番号が示す前工程の使用リソースから後工程の使用リソースの繋がりをエッジ(前工程の使用リソースを示すノードから後工程の使用リソースを示すノードへと向かうエッジ)とする、有向グラフを(例えば、基本モジュール情報132のグラフ欄1322におけるグラフの表現方法によって)生成する。
【0039】
工程フロー解析部111は、ステップS701で生成した各品目の工程フローを示す有向グラフをマージすることで、全ての品目を生産するための製造ラインを示す有向グラフを生成する(S702)。なお、ステップS701及びステップS702の処理が省略されてもよい、即ちロジック構成装置100は製造ラインのグラフを予め工程情報管理装置300から受信してもよい。
【0040】
図8は、ステップS701における工程フローのグラフ化、及びステップS702における工程フローのグラフのマージ処理の概要を示す説明図である。グラフ801は、
図2の工程フロー情報131が示す品目Aの工程フローを示す有向グラフであり、グラフ802は、
図2の工程フロー情報131が示す品目Bの工程フローを示す有向グラフである。
【0041】
図中の「a」のノードは「曲げ機a」、「b」のノードは「曲げ機b」、「c」のノードは「曲げ機c」、「d」のノードは「曲げ機d」、「加」のノードは「加工機」、「作」のノードは「作業者」、「塗」のノードは「塗装設備」をそれぞれ示す。
【0042】
工程フロー解析部111は、品目Aの工程フローのグラフ801のような工程番号が1つしかない工程フローには、各工程のリソースを終点とするエッジ(始点は定義されない)を付与する。
【0043】
工程フロー解析部111は、工程フロー情報131を参照して共通の工程を含む複数の工程フローがあると判定した場合、当該複数の工程フローそれぞれのグラフをマージすることで、当該複数の工程フローそれぞれのグラフを含む製造ラインを示すグラフを生成する。
【0044】
具体的には、例えば、工程フロー解析部111は、共通の工程を含む複数のグラフそれぞれについて、当該共通の工程の使用リソースに対応するノードそれぞれと、他の工程フローのグラフの当該共通の工程の1つ前及び1つ後の工程の使用リソースに対応するノードそれぞれと、をエッジ(但し、エッジは工程の順序が早い方から遅い方へと向く)で繋げることにより、製造ラインを示すグラフを生成する。
【0045】
図8の例では、工程フロー解析部111は、品目Aの工程フローのグラフ801と品目Bの工程フローのグラフ802とをマージすることで、品目A及び品目Bを製造するための製造ラインを示すグラフ803を生成する。グラフ803は、グラフ801が示す工程フローとグラフ802が示す工程フローに共通して含まれる工程である「曲げ」でマージされたグラフであり、グラフ801とグラフ801とを含む。なお、グラフ801とグラフ802はいずれも「曲げ機a」を示すノードを含むが、マージ後のグラフ803においては重複するノードは1つのノードとして表現される(つまりグラフ803は「曲げ機a」のノードを1つだけ含む)。
【0046】
なお、工程フロー解析部111は、共通の工程が含まれない工程フローのグラフについてはマージせずに、別の製造ラインとして扱う。つまり、共通の工程が含まれない複数の工程フローがある場合には、工程フロー解析部111は、製造ラインを示す複数の有向グラフを生成する。
【0047】
なお、上記した例では、工程フロー解析部111は、共通の工程を含む複数の工程フローがあると判定した場合に当該複数の工程フローそれぞれのグラフを含む製造ラインを示すグラフを生成するが、共通の工程及び共通の使用リソースを含む複数の工程フローがあると判定した場合にのみ当該複数の工程フローそれぞれのグラフを含む製造ラインを示すグラフを生成してもよい。つまり、この場合、工程フロー解析部111は、共通の工程と共通の使用リソースとを含まない工程フローのグラフについてはマージせずに、別の製造ラインとして扱う。
【0048】
図7の説明に戻る。続いて、基本モジュール割当部112は、基本モジュール情報132を参照して、製造ラインの有向グラフに含まれる基本モジュール(グラフ)を特定する(S703)。具体的には、例えば、基本モジュール割当部112は、基本モジュールを部分グラフとする部分集合被覆問題を解くことで、製造ラインの有向グラフに含まれる基本モジュール(グラフ)を特定する。基本モジュール割当部112は、特定した基本モジュールの基本モジュールIDをスケジューリングロジック構成結果情報135に格納する。
【0049】
課題抽出部113は、ステップS702で特定した基本モジュールIDに対応する課題を、基本モジュール情報132から抽出し、抽出した課題をスケジューリングロジック構成結果情報135に格納する(S704)。
【0050】
図9は、ステップS703における基本モジュール特定処理、及びステップS704の課題抽出処理の概要を示す説明図である。
図9の例では、基本モジュールIDが「1」の基本モジュール901は、ノード9011、ノード9012、及びノード9013を含み、ノード9011からノード9012へ向かうエッジと、ノード9011からノード9013へと向かうエッジと、を含む有向グラフである。
【0051】
また、
図9の例では、基本モジュールIDが「2」の基本モジュール902は、ノード9021、ノード9022、ノード9023、及びノード9024を含み、ノード9021からノード9023へ向かうエッジと、ノード9022からノード9023へ向かうエッジと、ノード9023からノード9024へと向かうエッジと、を含む有向グラフである。
【0052】
図9の例では、製造ラインを示すグラフ803は、基本モジュール901及び基本モジュール902を含むため、基本モジュール割当部112は、基本モジュール901及び基本モジュール902を特定する。
【0053】
なお、基本モジュール割当部112は、製造ラインを示すグラフ803に含まれる基本モジュールを必ずしも全て抽出しなくてもよい。具体的には、例えば、基本モジュール情報132において基本モジュールの優先順位が予め定められていてもよく、基本モジュール割当部112は、例えば、当該優先順位に従って、所定数を上限として、製造ラインを示すグラフ803に含まれる基本モジュールを抽出してもよい。
【0054】
なお、
図9の例では、製造ラインを示すグラフ803においてノード8031が4つのノードに接続されているが、グラフ803は部分的には基本モジュール901を含むため(部分一致するため)、このような場合には、基本モジュール割当部112は、グラフ803に基本モジュール901が含まれていると判定する。なお、基本モジュール割当部112は、製造ラインを示すグラフが基本モジュールに完全一致する部分を含むと判定した場合にのみ、当該製造ライフを示すグラフが当該基本モジュールを含むと判定してもよい。
【0055】
図9の例では、基本モジュール情報132において、基本モジュール901に対応する課題が「納期余裕度優先」であり、基本モジュール902に対応する課題が「処理時間優先」であるため、課題抽出部113は、「納期余裕度優先」及び「処理時間優先」を課題として抽出する。
【0056】
図7の説明に戻る。続いてロジック構成部114は、ロジック選定ルール133に従って、抽出した課題に対応するロジックを選定し、選定したロジックをスケジューリングロジック構成結果情報135に格納する(S705)。
【0057】
なお、ロジック構成部114は、抽出した課題と選定したロジックとを表示装置140に表示して、ロジック構成装置100のユーザが入力装置150を介して正解ロジックを入力してもよい。ロジック構成部114は、選定したロジックと正解ロジックとが異なると判定した場合、抽出した課題と当該正解ロジックとに基づいてロジック選定ルール133を学習してもよい。さらに、この場合、ロジック構成部114は、入力された正解ロジックをスケジューリングロジック構成結果情報135のロジック欄1353に格納する。
【0058】
実装部115は、実装用データを生成して(S706)、生成した実装用データを生産スケジューリング装置200に送信して、ロジック構成処理を終了する。具体的には、例えば、実装部115は、スケジューリングロジック構成結果情報135のレコード、並びに実装情報134が示すファイル名、形式、及び書き込み位置を、実装用データに含める。
【0059】
なお、生産スケジューリング装置200は、受信した実装用データが示すファイルに、スケジューリングロジック構成結果情報135のレコードが示すロジックを書き込み(つまり当該ロジックを実装し)、当該ロジック、並びに(必要に応じて)各品目の製品の納期、及び各品目の製品を生産するためにかかる処理時間に基づいて、各品目の生産スケジュールを策定する。
【0060】
なお、結果表示部116は、
図7の処理の実行に応じて、後述する表示画面及び詳細結果表示画面を、表示装置140に表示してもよい。
【0061】
なお、上記した例では、基本モジュール、工程フロー、及び製造ラインが有向グラフで表現される例を説明したが、無向グラフ(上記した例におけるグラフのエッジを無向のエッジとすればよい)で表現されてもよい。
【0062】
図10は、ロジック構成装置100の表示装置140に表示される表示画面の一例である。表示画面1000は、例えば、工程フロー表示領域1010及びスケジューリングロジック構成結果表示領域1020を含む。なお、表示画面1000は、生産スケジューリング装置200が有する表示装置に表示されてもよい。
【0063】
工程フロー表示領域1010は、例えば、工程フロー情報入力領域1011、製造ライン表示領域1012、登録ボタン1013、及び解析ボタン1014を含む。スケジューリングロジック構成結果表示領域1020は、例えば、ロジック表示領域1021及び詳細表示ボタン1022を含む。
【0064】
工程フロー情報入力領域1011は、ロジック構成装置100のユーザが入力装置150を介して、工程フローを入力するための領域である。登録ボタン1013が選択されると、工程フロー情報入力領域1011に入力された工程フローが、工程フロー情報131に格納される。
【0065】
解析ボタン1014が選択されると、ステップS701~S706の処理が実行されて、ステップS702で生成された製造ラインを示すグラフが製造ライン表示領域1012に表示され、さらにロジック表示領域1021にはステップS705で選定されたロジックが表示される。これにより、ユーザは、全ての品目の製品を製造するための製造ライン、及び選定されたロジックを把握することができる。解析ボタン1014が選択された後に、詳細表示ボタン1022が選択されると後述する詳細表示画面が表示される。
【0066】
図11は、ロジック構成装置100の表示装置140に表示される詳細表示画面の一例である。詳細表示画面1100は、例えば、基本モジュール表示領域1110及びスケジューリングロジック構成結果詳細表示領域1120を含む。なお、詳細表示画面1100は、生産スケジューリング装置200が有する表示装置に表示されてもよい。
【0067】
基本モジュール表示領域1110には、ステップS703で特定された基本モジュールが表示される。スケジューリングロジック構成結果詳細表示領域1120には、スケジューリングロジック構成結果情報135の情報が表示される。
【0068】
上記した通り、本実施例のロジック構成装置100は、各品目の工程フローを示すグラフをマージした製造ラインのグラフに含まれる基本モジュールを特定し、特定した基本モジュールに対応する課題を抽出し、抽出した課題に基づいて自動的にロジックを選定する。
【0069】
これにより、ロジック構成装置100は、無数の品目の工程フロー及び無数の製造ラインに対応する課題及びロジックを予め定義することなく、また類似する製造ラインに対する生産スケジューリングの運用実績を参照することなく、各品目の製品を製造するための製造ラインに対応する課題及びロジックを適切に決定することができる。また、本実施例のロジック構成装置100により、生産スケジューリングのロジック設計の熟練者でなくても、各品目の製品を製造するための製造ラインに対応する課題及びロジックを適切に決定することができる。また、本実施例のロジック構成装置100は、工程フローとロジックとを課題によって紐づけることができ、ひいてはロジックの再利用性を高めることができる。
【0070】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0071】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0072】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100 ロジック構成装置、110 CPU、111 工程フロー解析部、112 基本モジュール割当部、113 課題抽出部、114 ロジック構成部、115 実装部、116 結果表示部、120 メモリ、130 補助記憶装置、131 工程フロー情報、132 基本モジュール情報、133 ロジック選定ルール、134 実装情報、135 スケジューリングロジック構成結果情報、140 表示装置、150 入力装置、160 通信装置、200 生産スケジューリング装置