(57)【要約】【課題】生産現場における実際の着工順序ルールに即した着工順序ルールモデルを構築する。【解決手段】生産実績データにおけるイベントデータは、各工程における実行待ちジョブから次に実行するジョブを選択したイベントの情報を含む。着工順序ルールモデルは、複数の工程において対応する工程におけるイベントの実行待ちジョブから次に選択されるジョブを推定する。生産実績データ分析装置は、複数の工程における各工程において、対応する着工順序ルールモデル群の複数の着工順序ルールモデルそれぞれによって、選択したイベントの推定結果を生成し、推定結果それぞれが示すジョブと生産実績データにおける選択したイベントで実際に選択されたジョブとに基づき、選択したイベントの信頼度を決定し、信頼度に基づき、選択したイベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する。【選択図】図２Ａ
2020102138.tif 000002
【特許請求の範囲】
【請求項１】
生産実績データ分析装置であって、
１以上の記憶装置と、
１以上のプロセッサと、を含み、
前記１以上の記憶装置は、
複数の着工順序ルールモデル群と、
生産実績データにおけるイベントデータ、を格納し、
前記イベントデータは、複数の工程それぞれにおいて、実行待ちジョブから次に実行するジョブを選択したイベント、の情報を含み、
前記複数の着工順序ルールモデル群のそれぞれは、複数の着工順序ルールモデルで構成され、
各着工順序ルールモデル群の各着工順序ルールモデルは、前記複数の工程において対応する工程におけるイベントの実行待ちジョブから次に選択されるジョブを推定し、
前記１以上のプロセッサは、前記複数の工程における各工程において、
対応する着工順序ルールモデル群の複数の着工順序ルールモデルそれぞれによって、選択したイベントの推定結果を生成し、
前記推定結果それぞれが示すジョブと前記生産実績データにおける前記選択したイベントで実際に選択されたジョブとの一致不一致に基づき、前記選択したイベントの信頼度を決定し、
前記信頼度に基づき、前記選択したイベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する、生産実績データ分析装置。
【請求項２】
請求項１に記載の生産実績データ分析装置であって、
前記１以上のプロセッサは、前記訓練データを使用して、前記新たな着工順序ルールモデルを構築する、生産実績データ分析装置。
【請求項３】
請求項１に記載の生産実績データ分析装置であって、
前記生産実績データは、前記複数の工程それぞれにおいて、ジョブの実行開始時刻及実行完了時刻を示し、
前記１以上のプロセッサは、
前記生産実績データから前記イベントデータを生成し、前記イベントデータの生成において、前記ジョブの実行開始時刻及実行完了時刻に基づき、前記イベントが前記次に実行するジョブとして選択したジョブ及び前記実行待ちジョブを特定する、生産実績データ分析装置。
【請求項４】
請求項１に記載の生産実績データ分析装置であって、
前記１以上のプロセッサは、
前記イベントデータまたは前記生産実績データと異なる生産実績データから生成されたイベントデータを使用して、前記複数の着工順序ルールモデル群を構築する、生産実績データ分析装置。
【請求項５】
請求項１に記載の生産実績データ分析装置であって、
前記複数の着工順序ルールモデルの少なくとも一部の着工順序ルールモデルは、互いに異なる機械学習手法により構成されたモデルである、生産実績データ分析装置。
【請求項６】
請求項１に記載の生産実績データ分析装置であって、
前記複数の着工順序ルールモデルの少なくとも一部の着工順序ルールモデルは、互いに異なるデータセットにより訓練されている、生産実績データ分析装置。
【請求項７】
請求項６に記載の生産実績データ分析装置であって、
前記異なるデータセットは、生産実績において分離された異なる期間におけるデータセットである、生産実績データ分析装置。
【請求項８】
請求項１に記載の生産実績データ分析装置であって、
前記１以上のプロセッサは、指定された工程の着工順序ルールモデル群による推定結果の情報を、出力デバイスにおいて提示する、生産実績データ分析装置。
【請求項９】
請求項１に記載の生産実績データ分析装置であって、
前記１以上のプロセッサは、前記生産実績データにおける、イベントの信頼度とイベント数との間の関係を出力デバイスにおいて提示する、生産実績データ分析装置。
【請求項１０】
請求項１に記載の生産実績データ分析装置であって、
前記１以上のプロセッサは、
指定されたイベントの実績と、前記指定されたイベントに対応する複数の着工順序ルールモデルによる前記指定されたイベントの推定結果と、の関係を出力デバイスにおいて提示し、
前記訓練データに対する修正を、入力デバイスを介して受け付ける、生産実績データ分析装置。
【請求項１１】
生産実績データ分析装置が、生産実績データを分析する方法であって、
前記生産実績データ分析装置は、複数の着工順序ルールモデル群と、生産実績データにおけるイベントデータと、を含み、
前記イベントデータは、複数の工程それぞれにおいて、実行待ちジョブから次に実行するジョブを選択したイベント、の情報を含み、
複数の着工順序ルールモデル群のそれぞれは、複数の着工順序ルールモデルで構成され、
各着工順序ルールモデル群の各着工順序ルールモデルは、前記複数の工程において対応する工程の実行待ちジョブから次に選択されるジョブを推定し、
前記方法は、前記複数の工程における各工程において、
前記生産実績データ分析装置が、対応する着工順序ルールモデル群の複数の着工順序ルールモデルそれぞれによって、選択したイベントの実行待ちジョブに基づき、前記選択したイベントの推定結果を生成し、
前記生産実績データ分析装置が、前記推定結果それぞれが示すジョブと前記生産実績データにおける前記選択したイベントで実際に選択されたジョブとの一致不一致に基づき、前記選択したイベントの信頼度を決定し、
前記生産実績データ分析装置が、前記信頼度に基づき、前記選択したイベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する、方法。
【請求項１２】
計算機システムに生産実績データ分析処理を実行させるプログラムであって、
前記計算機システムは、複数の着工順序ルールモデル群と、生産実績データにおけるイベントデータと、を含み、
前記イベントデータは、複数の工程それぞれにおいて、実行待ちジョブから次に実行するジョブを選択したイベント、の情報を含み、
複数の着工順序ルールモデル群のそれぞれは、複数の着工順序ルールモデルで構成され、
各着工順序ルールモデル群の各着工順序ルールモデルは、前記複数の工程において対応する工程の実行待ちジョブから次に選択されるジョブを推定し、
前記生産実績データ分析処理は、前記複数の工程における各工程において、
前記計算機システムが、対応する着工順序ルールモデル群の複数の着工順序ルールモデルそれぞれによって、選択したイベントの実行待ちジョブに基づき、前記選択したイベントの推定結果を生成し、
前記計算機システムが、前記推定結果それぞれが示すジョブと前記生産実績データにおける前記選択したイベントで実際に選択されたジョブとの一致不一致に基づき、前記選択したイベントの信頼度を決定し、
前記計算機システムが、前記信頼度に基づき、前記選択したイベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場などの生産現場の生産実績データを分析する生産実績データ分析装置に関する。
【背景技術】
【０００２】
工場などの生産現場の生産計画を立案する際には、任意の条件における将来の生産を予測し、将来のスループットや納期遵守率などの評価指標を最大化する条件を導出する方法が一般的である。生産予測の代表的な方法として生産シミュレーションがあるが、高精度な生産予測を実現するためには、生産現場の実態に即した着工順序ルールをモデル化する必要がある。
【０００３】
着工順序ルールとは、ある工程における実行待ちジョブ群の中から、次に実行するジョブを決定するルールである。特に、生産現場における着工順序を人が決定している場合、そのルールは暗黙知化されていることが多い。そのため従来は、生産現場でのヒアリングに基づき、先入先出や納期順といった既存ルールを、生産シミュレーション内の着工順序ルール（以下、着工順序ルールモデルと呼ぶ）として用いる方法が一般的である。
【０００４】
しかし、上記の方法で決定した着工順序ルールモデルは必ずしも生産現場の実態に即しているとは限らない。着工順序ルールモデルが実態と乖離している場合、生産シミュレーションの予測精度が低下するため、その予測に基づいて立案された生産計画は実現可能性や最適性が乏しいものになる。
【０００５】
これに対し、過去の生産実績データから着工順序ルールをモデル化する方法がある。例えば、非特許文献１のように、生産実績データに機械学習手法を適用することで、任意の実行待ちジョブ群を入力、次に処理されると推定されるジョブを出力とする着工順序ルールの近似モデルを導出する方法がある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Approximation of Dispatching Rules for Manufacturing Simulation using Data Mining Methods (Proceedings of the 2015 Winter Simulation Conference)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１は、生産現場に暗黙的に存在する着工順序ルール（以下、暗黙ルールと呼ぶ）を生産実績データからモデル化するための方法である。しかし、着工順序が人によって決められている場合、その意思決定には不確実性が存在する。例えば、実行待ちジョブが大量に存在する場合、それらのジョブの中から暗黙ルールに即した次ジョブ選択を常に実施することは難しく、暗黙ルールから逸脱した次ジョブ選択が成されるケースが発生すると考えられる。
【０００８】
生産実績データは、暗黙ルールから逸脱したジョブ選択の実績も含む。そのため、上記のルール逸脱は、着工順序ルールモデルと実際の暗黙ルールの間に乖離が生じる原因となる。以上より、生産実績データからの着工順序ルールモデルの導出において、上記のルール逸脱の影響を低減することが望まれる。
【課題を解決するための手段】
【０００９】
本開示の一態様は、生産実績データ分析装置であって、１以上の記憶装置と、１以上のプロセッサと、を含み、前記１以上の記憶装置は、複数の着工順序ルールモデル群と、生産実績データにおけるイベントデータ、を格納し、前記イベントデータは、複数の工程それぞれにおいて、実行待ちジョブから次に実行するジョブを選択したイベント、の情報を含み、前記複数の着工順序ルールモデル群のそれぞれは、複数の着工順序ルールモデルで構成され、各着工順序ルールモデル群の各着工順序ルールモデルは、前記複数の工程において対応する工程におけるイベントの実行待ちジョブから次に選択されるジョブを推定し、前記１以上のプロセッサは、前記複数の工程における各工程において、対応する着工順序ルールモデル群の複数の着工順序ルールモデルそれぞれによって、選択したイベントの推定結果を生成し、前記推定結果それぞれが示すジョブと前記生産実績データにおける前記選択したイベントで実際に選択されたジョブとの一致不一致に基づき、前記選択したイベントの信頼度を決定し、前記信頼度に基づき、前記選択したイベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する。
【発明の効果】
【００１０】
本開示の一態様により、生産現場における実際の着工順序ルールに即した着工順序ルールモデルを構築することができる。
【図面の簡単な説明】
【００１１】
【図１】生産工程の一例を示す概略図である。
【図２Ａ】生産実績データ分析装置の機能ブロック図である。
【図２Ｂ】生産実績データ分析装置のハードウェア及びソフトウェア構成図である。
【図３】生産実績データテーブルの概略図である。
【図４】イベントデータテーブルの概略図である。
【図５】イベント詳細データテーブルの概略図である。
【図６】着工順序ルールモデルデータテーブルの概略図である。
【図７】選択ジョブ推定結果データテーブルの概略図である。
【図８】生産実績データ分析装置の制御部の処理フローチャートである。
【図９】ユーザインフェース画像の一例を示す概略図である。
【図１０】生産実績データ分析装置の実施形態の一例を示す概略図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１３】
一実施形態において、生産実績データ分析装置は、生産実績データから、複数の工程それぞれに対して、複数の着工順序ルールモデルからなる着工順序ルールモデル群を導出する。生産実績データ分析装置は、それらの着工順序ルールモデルを用いて、生産実績中の各工程の次ジョブ選択（以下、ジョブ選択イベント、または、単にイベントと呼ぶ）の信頼度を評価する。生産実績データ分析装置は、信頼度の低いイベントに関するデータを除外した生産実績データを訓練データとして用いて、新たな着工順序ルールモデルを構築する。これにより、生産実績におけるルール逸脱の影響を低減し、実際の着工順序ルールの近似モデルを構築できる。
【００１４】
図１は、本実施形態が対象とする生産工程の概略図である。本例において、工程１０の前の前工程１１が、後に後工程１２が存在する。図１に示す様に、本実施形態が対象とする生産工程（単に工程とも呼ぶ）１０では、当該工程１０における実行を待っている１または複数のジョブ１４が存在し、その中から次に実行するジョブ１４Ａが選択される。次のジョブ１４Ａが選択された後、そのジョブの実行が開始され、その時刻が生産実績データに登録される。また、そのジョブが完了した際には、完了時刻が生産実績データに登録される。
【００１５】
上述のように、ジョブは、生産工程において実行され、例えば、作業及びその作業の対象物により特定し得る。対象物は、例えば、生産される生産対象物、生産対象物に対する作業を実行するための設備を含む。設備は、加工機のように可動部分を含む物の他、作業台や治具等の任意の物を含む。例えば、ジョブは、生産対象物の加工や移動、設備のメンテナンス等を含む。対象物が異なれば、それらのジョブも異なる。生産工程は、複数のジョブを実行可能であり、上述のように、待機している複数のジョブから選択されたジョブを実行する。以下に説明する例において、複数の工程を含む生産フローにおいて、１以上の工程において人がジョブを選択し、実行する。
【００１６】
図２Ａは、生産実績データ分析装置１００の機能ブロック図である。図示するように、生産実績データ分析装置１００は、入力部１１０、記憶部１２０、制御部１３０、表示部１４０を備える。入力部１１０は、生産実績データ分析装置１００外からの生産実績データの入力を受け付ける。表示部１４０は、外部（ユーザ）に対して情報を提示する。制御部１３０は、イベントデータ生成部１３１、着工順序ルールモデル導出部１３２、選択ジョブ推定部１３３、イベント信頼度算出部１３４、イベントフィルタリング部１３５を備える。
【００１７】
記憶部１２０は、生産実績データ記憶領域１２１、イベント概略データ記憶領域１２２、イベント詳細データ記憶領域１２３、着工順序ルールモデルデータ記憶領域１２４、選択ジョブ推定結果データ記憶領域１２５を備える。
【００１８】
生産実績データ記憶領域１２１は、生産工程における過去の実績を特定する情報を記憶する。イベント概略データ記憶領域１２２は、各ジョブを次に実行するジョブとして選択したイベントの概略情報を記憶する。イベント詳細データ記憶領域１２３は、各イベントの詳細情報を記憶する。イベント概略データ、イベント詳細データ及びそれらのみ合わせは、イベントデータである。
【００１９】
着工順序ルールモデルデータ記憶領域１２４は、上述のイベント概略データ及びイベント詳細データから導出した着工順序ルールモデルに関する情報を記憶する。選択ジョブ推定結果データ記憶領域１２５は、各着工順序ルールモデルによって推定された各イベントの選択ジョブの情報を記憶する。
【００２０】
図２Ｂは、生産実績データ分析装置１００のハードウェア及びソフトウェア構成例を示す。図２Ｂの例において、生産実績データ分析装置１００は、一つの計算機で構成されている。生産実績データ分析装置１００は、プロセッサ３１０、メモリ３２０、補助記憶装置３３０、及びネットワーク（ＮＷ）インタフェース３４０、Ｉ／Ｏインタフェース３４５、入力デバイス３５１、及び出力デバイス３５２を含む。上記構成要素は、バスによって互いに接続されている。メモリ３２０、補助記憶装置３３０又はこれらの組み合わせは非一過性の記憶媒体を含む記憶装置であり、また、記憶部１２０に対応し得る。
【００２１】
メモリ３２０は、例えば半導体メモリから構成され、主にプログラムやデータを保持するために利用される。メモリ３２０が格納しているプログラムは、不図示のオペレーティングシステムに加え、イベントデータ生成プログラム３２１、着工順序ルールモデル導出プログラム３２２、選択ジョブ推定プログラム３２３、イベント信頼度算出プログラム３２４、及びイベントフィルタリングプログラム３２５、ユーザインタフェースプログラム３２６を含む。
【００２２】
プロセッサ３１０は、メモリ３２０に格納されているプログラムに従って、様々な処理を実行する。プロセッサ３１０がプログラムに従って動作することで、様々な機能部が実現される。例えば、プロセッサ３１０は、上記プログラムそれぞれに従って、制御部１３０、具体的には、イベントデータ生成部１３１、着工順序ルールモデル導出部１３２、選択ジョブ推定部１３３、イベント信頼度算出部１３４、イベントフィルタリング部１３５として機能する。プロセッサ３１０は、ユーザインタフェースプログラム３２６に従って動作して、入力部１１０及び表示部１４０として機能する。
【００２３】
補助記憶装置３３０は、生産実績テーブル２１０、イベントテーブル２２０、イベント詳細テーブル２３０、着工順序ルールモデルテーブル２４０、選択ジョブ推定結果テーブル２５０を格納しており、これらは、それぞれ、生産実績データ記憶領域１２１、イベント概略データ記憶領域１２２、イベント詳細データ記憶領域１２３、着工順序ルールモデルデータ記憶領域１２４、選択ジョブ推定結果データ記憶領域１２５に格納されている。補助記憶装置３３０は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。
【００２４】
説明の便宜上、プログラム３２１〜３２５がメモリ３２０に格納され、テーブル２１０、２２０、２３０、２４０及び２５０が補助記憶装置３３０に格納されているが、生産実績データ分析装置１００のデータの格納場所は限定されない。例えば、補助記憶装置３３０に格納されたプログラム及びデータが起動時または必要時にメモリ３２０にロードされ、プログラムをプロセッサ３１０が実行することにより、生産実績データ分析装置１００の各種処理が実行される。したがって、以下において機能部、プログラム、プロセッサ３１０または生産実績データ分析装置１００による処理の主語は、入れ替え可能である。
【００２５】
ネットワークインタフェース３４０は、ネットワークとの接続のためのインタフェースである。生産実績データ分析装置１００は、ネットワークインタフェース３４０を介して、システム内の他の装置と通信を行う。入力デバイス３５１は、ユーザが指示や情報などを入力するためのハードウェアデバイスであり、例えば、キーボード及びポインティングデバイスを含む。出力デバイス３５２は、入出力用の各種画像を示すハードウェアデバイスであり、例えば表示デバイスである。
【００２６】
生産実績データ分析装置１００は１以上のプロセッサ及び１以上の記憶装置を含む。各プロセッサは、単一または複数の演算ユニットまたは処理コアを含むことができる。プロセッサは、例えば、中央処理装置、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、ロジック回路、グラフィック処理装置、チップオンシステム、及び／または制御指示に基づき信号を操作する任意の装置として実装できる。
【００２７】
生産実績データ分析装置１００の機能は複数の計算機を含む計算機システムによる分散処理により実装されてもよい。複数の計算機は、互いにネットワークを介して通信することで、協調して処理を実行する。
【００２８】
図３は、生産実績テーブル２１０の構成例を示す。生産実績テーブル２１０は生産実績データ記憶領域１２１に格納されており、生産工程における過去の実績を特定する情報の例である。生産実績テーブル２１０は、生産実績データ分析装置１００において予め用意されている。生産実績テーブル２１０は、ジョブＩＤ欄２１１、工程ＩＤ欄２１２、程番欄２１３、開始時刻欄２１４、完了時刻欄２１５、属性情報欄２１６を有する。本テーブルの各行は、ジョブＩＤ及び程番によって特定される。
【００２９】
ジョブＩＤ欄２１１は、各ジョブを特定する情報を格納する。工程ＩＤ欄２１２は、各工程を特定する情報を格納する。程番欄２１３は、当該ジョブにおける当該工程の程番の情報を格納する。程番は、各ジョブの生産対象物が通る工程の順番を特定する情報である。
【００３０】
開始時刻欄２１４及び完了時刻欄２１５にはそれぞれ、各ジョブの各工程における実績実行開始時刻（本例において日時で表わす）及び実績実行完了時刻（本例において日時で表わす）の情報を格納する。属性情報欄２１６には、当該ジョブ及び当該工程に関する属性情報を格納する。属性情報は、例えば、当該ジョブの生産対象物の品種名、大きさ、納期や、当該ジョブの当該工程において用いた設備や実施した作業者を特定する情報である。
【００３１】
図４は、イベントテーブル２２０の構成例を示す。イベントテーブル２２０はイベント概略データ記憶領域１２２に格納されており、各ジョブが次に実行するジョブとして選択されたイベントの概略情報の例である。イベントテーブル２２０の情報は、後述するように、イベントデータ生成部１３１及びイベント信頼度算出部１３４によって生成される。
【００３２】
イベントテーブル２２０は、イベントＩＤ欄２２１、イベント発生時刻欄２２２、工程ＩＤ欄２２３、選択ジョブＩＤ欄２２４、イベント信頼度欄２２５、フィルタ除外欄２２６を有し、各行はイベントＩＤにより特定される。イベントＩＤ欄２２１は、各イベントを特定する情報を格納する。イベント発生時刻欄２２２は、各イベントが発生した日時の情報を格納する。
【００３３】
工程ＩＤ欄２２３は、各イベントが発生した工程を特定する情報を格納する。選択ジョブＩＤ欄２２４は、各イベントに次ジョブとして選択されたジョブを特定する情報を格納する。イベント信頼度欄２２５は、イベント信頼度算出部１３４によって算出された各イベントの信頼度の情報を格納する。フィルタ除外欄２２６は、イベントフィルタリング部１３５により除外されたイベントの情報を格納する。
【００３４】
図５は、イベント詳細テーブル２３０の構成例を示す。イベント詳細テーブル２３０はイベント詳細データ記憶領域１２３に格納されており、各イベントの詳細情報の例である。イベント詳細テーブル２３０の情報は、後述するように、イベントデータ生成部１３１によって生成される。イベント詳細テーブル２３０は、イベントＩＤ欄２３１、実行待ちジョブＩＤ欄２３２を有する。イベントＩＤ欄２３１は、各イベントを特定する情報を格納する。実行待ちジョブＩＤ欄２３２は、各イベント発生時の実行待ちジョブを特定する情報を格納する。
【００３５】
図６は、着工順序ルールモデルテーブル２４０の構成例を示す。着工順序ルールモデルテーブル２４０は、着工順序ルールモデルデータ記憶領域１２４に格納され、上述のイベントテーブル２２０及びイベント詳細テーブル２３０から導出した着工順序ルールモデルに関する情報の例である。
【００３６】
着工順序ルールモデルテーブル２４０は、モデルＩＤ欄２４１、モデルオブジェクト欄２４２を有する。モデルＩＤ欄２４１は、各着工順序ルールモデルを特定する情報を格納する。モデルオブジェクト欄２４２は、各モデルの詳細情報を保有するモデルデータ構造体オブジェクトを格納する。
【００３７】
例えば、着工順序ルールモデルとしてニューラルネットワークを用いる場合は、モデルデータ構造体オブジェクトは、ニューラルネットワークにおける入出力変数、隠れ層のユニット数、入力層−隠れ層および隠れ層−出力層の重み係数値とバイアス係数値、各層における活性化関数などの情報からなるデータ構造体オブジェクトとなる。ただし、着工順序ルールモデルとして用いる手法は特に限定されるものではない。着工順序ルールモデルは、実行待ちジョブ群の情報を入力、次に選択されるジョブの推定結果を出力とするモデルであればどのようなタイプのモデルであってもよい。
【００３８】
図７は、選択ジョブ推定結果テーブル２５０の構成例を示す。選択ジョブ推定結果テーブル２５０は、選択ジョブ推定結果データ記憶領域１２５に格納され、各着工順序ルールモデルによって推定された各イベントの選択ジョブの情報の例である。選択ジョブ推定結果テーブル２５０の情報は、後述するように、選択ジョブ推定部１３３によって生成される。
【００３９】
選択ジョブ推定結果テーブル２５０は、イベントＩＤ欄２５１、モデルＩＤ欄２５２、推定選択ジョブＩＤ欄２５３を有し、各行はイベントＩＤとモデルＩＤによって特定される。イベントＩＤ欄２５１は、各イベントを特定する情報を格納する。モデルＩＤ２５２は、各着工順序ルールモデルを特定する情報を格納する。推定選択ジョブＩＤ欄２５３は、各イベントにおいて、各着工順序ルールモデルによって推定した各イベントの選択ジョブを特定する情報を格納する。
【００４０】
図８は、制御部１３０における処理フローチャート示す。以下、本フローチャートに沿って、本実施形態の処理を説明する。ステップＳ１００は、イベントデータ生成部１３１よって実行される。イベントデータ生成部１３１は、生産実績テーブル２１０から、イベントテーブル２２０及びイベント詳細テーブル２３０を生成する。
【００４１】
具体的には、イベントデータ生成部１３１は、生産実績テーブル２１０から、ある工程におけるあるジョブの実行実績を、当該工程における当該ジョブの選択イベントとみなしてイベント概略データを生成し、イベントテーブル２２０に格納する。当該イベントの発生時刻には、当該工程における当該ジョブの実行開始時刻を用いる。
【００４２】
次に、イベントデータ生成部１３１は、生産実績テーブル２１０から、当該イベントにおける実行待ちジョブ群を取得し、イベント詳細テーブル２３０に格納する。具体的には、イベントデータ生成部１３１は、生産実績テーブル２１０において、当該工程の実行開始時刻がイベント発生時刻より後であり、且つ、当該工程の前工程の実行完了時刻がイベント発生時刻より前であるジョブ群を実行待ちジョブ群として取得する。当該工程の前工程は、各ジョブの当該工程の１つ前の程番の工程を意味する。前工程が生産実績テーブル２１０に存在しないジョブは、実行待ちジョブ群には含まれない。
【００４３】
以上のように、イベントデータ生成部１３１は、ジョブの実行開始時刻及実行完了時刻に基づき、イベントが次に実行するジョブとして選択したジョブ及び実行待ちジョブを特定する。これにより、生産実績データから適切なイベントデータを抽出することができる。
【００４４】
ステップＳ２００は、着工順序ルールモデル導出部１３２によって実行される。着工順序ルールモデル導出部１３２は、イベントデータ生成部１３１によって生成されたイベントテーブル２２０及びイベント詳細テーブル２３０から、着工順序ルールモデルを導出し、その情報を着工順序ルールモデルテーブル２４０に格納する。複数の着工順序ルールモデルが、工程毎に生成される。着工順序ルールモデル導出部１３２の処理により、工程毎に適切な着工順序ルールモデルが生成できる。
【００４５】
具体的には、着工順序ルールモデル導出部１３２は、各イベントにおける実行待ちジョブ群の情報を説明変数、各イベントにおける選択ジョブをラベルとして扱い、回帰やクラス分類などの機械学習手法により、着工順序ルールモデルを導出する。着工順序ルールモデル導出部１３２は、着工順序ルールモデルの情報を着工順序ルールモデルテーブル２４０に格納する。
【００４６】
着工順序ルールモデルは、入力された実行待ちジョブ群の情報から、選択ジョブを推定する（選択ジョブをラベルとして出力する）。着工順序ルールモデルの入力は、実行待ちジョブ群の情報と異なる情報も含んでよい。例えば、入力は、当該工程の過去のジョブの履歴の情報や、当該工程で使用される設備のモードの情報等、ジョブを選択する工程の環境の情報を含んでもよい。
【００４７】
説明変数として使用する実行待ちジョブ群の情報は、例えば、各実行待ちジョブの待ち時間（例えば前工程完了日時からイベント発生日時までの時間）や、生産対象物の品種名・納期などのジョブ属性情報を含むことができる。また、機械学習手法としては、例えば、決定木やニューラルネットワークなどの手法を用いることができる。ただし本実施形態は、説明変数として用いる情報や機械学習手法を限定するものではない。
【００４８】
また、本実施形態では、着工順序ルールモデル導出部１３２は、イベントテーブル２２０及びイベント詳細テーブル２３０から、各工程に対して、複数の異なる着工順序ルールモデルからなる着工順序ルールモデル群を導出する。例えば、着工順序ルールモデル導出部１３２は、複数の異なる機械学習手法、例えば、決定木やニューラルネットワーク等の異なる種類のモデルを用いて、複数の着工順序ルールモデルを導出してもよい。
【００４９】
または、例えば、着工順序ルールモデル導出部１３２は、イベントテーブル２２０イベント概略データをＮ分割し、分割されたＮ区分のデータを用いて、それぞれ着工順序ルールモデルを導出してもよい。時系列に沿ってデータを区分することで、情報の重複を低減できる。例として、複数のデータ区分は、それぞれ、イベントデータの異なる期間のデータであり、期間はそれぞれ分離され、重複部分を含まない。例として、データ区分の期間の間に所定のインターバルが設けられる。これにより、より多様性の高いモデルを構築することができる。他の例において、イベントデータは、作業者毎に、分割されてもよい。
【００５０】
他の例において、着工順序ルールモデル導出部１３２は、同一種類のモデルであるがパラメータセットが異なる、複数の異なる着工順序ルールモデルを導出してもよい。または、複数の着工順序ルールモデルは、異なる手法で生成された着工順序ルールモデルを含んでよく、各着工順序ルールモデルが、複数の異なる手法を使用して生成されてもよい。例えば、着工順序ルールモデル導出部１３２は、イベントデータを分割し、異なるデータ区を使用して、異なる種類のモデルから、複数の異なる着工順序ルールモデルを導出してもよい。これらの方法により、多様性の高いモデルを構築することができる。
【００５１】
上述のように、複数の着工順序ルールモデルの少なくとも一部の着工順序ルールモデルは、互いに異なる機械学習手法により構成されたモデルであってもよい。また、複数の着工順序ルールモデルの少なくとも一部の着工順序ルールモデルは、互いに異なるデータセットにより訓練されていてもよい。
【００５２】
ステップＳ３００は選択ジョブ推定部１３３によって実行される。選択ジョブ推定部１３３は、着工順序ルールモデル導出部１３２によって導出された複数の着工順序ルールモデルを用いて、各イベントにおける選択ジョブの推定結果を算出する。具体的には、選択ジョブ推定部１３３は、各着工順序ルールモデルに対して、各イベントにおける実行待ちジョブ群の情報及び他の必要な情報を入力して選択ジョブを推定し、その推定結果を選択ジョブ推定結果テーブル２５０に格納する。
【００５３】
選択ジョブ推定部１３３は、複数の着工順序ルールモデルの生成に用いた実績データ、つまり、イベントテーブル２２０及びイベント詳細テーブル２３０において、イベントの選択ジョブを決定してもよく、他の実績データにおいて、イベントの選択ジョブを決定してもよい。
【００５４】
ステップＳ４００はイベント信頼度算出部１３４によって実行される。イベント信頼度算出部１３４は、選択ジョブ推定部１３３によって算出された各イベントにおける着工順序ルールモデルそれぞれの選択ジョブ推定結果を用いて、各イベントの信頼度を算出する。具体的には、イベント信頼度算出部１３４は、推定結果それぞれが示すジョブと生産実績データにおいて選択されたジョブとの一致不一致に基づき、イベントの信頼度を決定する。イベント信頼度算出部１３４は、その計算した信頼度をイベントテーブル２２０のイベント信頼度欄２２５に格納する。
【００５５】
信頼度は、イベントが生産現場での暗黙ルールにマッチしていることの信頼度である。信頼度の算出方法の例を説明する。あるイベントＥｉにおける実際の選択ジョブをＪｉとし、着工順序ルールモデルＤｋ（ｋ＝１、２、…、Ｋ、Ｋは着工順序ルールモデル数）によるイベントＥｉの推定選択ジョブをＤｊ（Ｅｉ）とする。イベント信頼度算出部１３４は、以下の式（１）で算出される値Ｒｉを、イベントＥｉの信頼度として算出する。
【００５６】
【数１】
2020102138.tif 000003
【００５７】
ここで、δ（・）は、括弧内の論理式が正のときに１、誤のときに０となる関数である。式（１）で算出される信頼度は、あるイベントに対して、全ての着工順序ルールモデルの推定選択ジョブが実際の選択ジョブと一致する場合に１となり、全ての着工順序ルールモデルの推定選択ジョブが実際の選択ジョブと異なる場合に０となる。つまり、より多くの着工順序ルールモデルにおいて選択ジョブを正答したイベントが、より信頼度の高いイベントと決定される。
【００５８】
ステップＳ５００はイベントフィルタリング部１３５及び着工順序ルールモデル導出部１３２により実行される。イベントフィルタリング部１３５は、イベント信頼度算出部１３４によって算出された各イベントの信頼度に基づき、イベントをフィルタリングする。着工順序ルールモデル導出部１３２は、フィルタリングされたイベントデータを用いて、新たな１または複数の着工順序ルールモデルを導出する。
【００５９】
具体的には、イベントフィルタリング部１３５は、イベント信頼度に対する閾値を参照し、信頼度が当該閾値より高いイベントのみからなるイベントデータを抽出し、新たな着工順序ルールモデルを生成するための訓練データに含める。イベントフィルタリング部１３５は、除外したイベントを示す情報をイベントテーブル２２０のフィルタ除外欄２２６に入力する。このように、イベントフィルタリング部１３５は、信頼度に基づき、イベントを新たな着工順序ルールモデルの生成のための訓練データに含めるか否かを判定する。
【００６０】
着工順序ルールモデル導出部１３２は、抽出されたイベントデータ（訓練データ）を用いて、新たな１または複数の着工順序ルールモデルを導出し、その情報を着工順序ルールモデルテーブル２４０に格納する。新たに生成される着工順序ルールモデルは、信頼度が高いイベントデータの抽出に使用された複数の着工順序ルールモデルのいずれとも異なる構成を有してもよく、いずれかのモデルと同一の構成を有していてもよい。
【００６１】
複数の着工順序ルールモデルによる選択ジョブは、例えば、それらの選択ジョブの多数決で決定できる。または、選択ジョブは、各着工順序ルールモデルが出力する実行待ちジョブそれぞれに対する選択の確率を取得し、各実行待ちジョブの確率の統計値により決定してもよい。
【００６２】
上述のように、信頼度が高いイベントデータを抽出して訓練データとして使用することで、生産現場における実際の着工順序ルールに即した着工順序ルールモデルを構築することができる。これにより、将来の生産予測の精度が向上し、生産計画の実現可能性や最適性を向上する。
【００６３】
図２を参照して説明した表示部１４０は、記憶部１２０に格納されている情報を使用して、出力デバイス１５１によって所定の情報を提示する。例えば、表示部１４０は、各工程の着工順序ルールモデル群による推定結果の情報を提示する。これにより、ユーザはフィルタリングの内容を確認することができる。図９は、出力デバイス１５１によって表示される画像の一例を示す。なお、図９に示す画像は、一例であって、同様の情報を提示することができれば、どのような画像が使用されてもよい。
【００６４】
図９に示す様に、表示部１４０が表示する画像は例えば、工程選択領域１４１、選択ジョブ正答率表示領域１４２、イベントリスト表示領域１４３、イベント信頼度グラフ表示領域１４４、イベント選択領域１４５、イベント詳細情報表示領域１４６を備える。
【００６５】
選択ジョブ正答率表示領域１４２は、工程選択領域１４１において選択された工程における、１または複数の着工順序ルールモデルによる選択ジョブ推定の正答率及び他の情報を表示する。選択ジョブ正答率表示領域１４２は、イベント信頼度に基づくイベントデータのフィルタリングを実施する前後の正答率を表示している。正答率により、ユーザは、構築された１または複数の着工順序ルールモデルの精度を知ることができる。
【００６６】
選択ジョブ正答率表示領域１４２において、イベント数欄は、図８のステップＳ５００において１または複数の着工順序ルールモデルの構築のために使用されたイベントデータにおける、フィルタリング前後のイベント数を示す。選択ジョブ推定正答率欄は、フィルタリング前のイベントデータにより構築された１又は複数の着工順序ルールモデルによる正答率と、フィルタリング後のイベントデータによる構築された１又は複数の着工順序ルールモデルによる正答率と、を示す。本例において、正答率を計算するために使用されるイベントデータは、着工順序ルールモデルの構築に使用された訓練データとは異なる。
【００６７】
フィルタリング前後のイベント数は、ジョブ選択の暗黙ルールの存在についての情報を示す。例えば、フィルタリング後のイベント数が、フィルタリング前のイベント数から大きく減少している場合、信頼度の閾値が適切ではない、または、ジョブ選択の明確な暗黙ルールが存在しない可能性がある。正答率は、フィルタリング後データによる着工順序ルールモデルの適切性について情報を提示する。フィルタリング後の正答率が低いまたはフィルタリング前後の正答率に大きな変化がない場合、着工順序ルールモデルが適切ではない可能性がある。
【００６８】
イベントリスト表示領域１４３は、工程選択領域１４１において選択された工程における、イベントのリストを表示する。イベントリスト表示領域１４３は、イベント詳細情報表示領域１４６において、詳細情報を表示するイベント候補のリストを表示する。ユーザは、イベントリスト表示領域１４３を参照して、詳細を表示させるイベントを選択できる。
【００６９】
イベント信頼度グラフ表示領域１４４は、生産実績データにおける、イベントの信頼度とイベント数との間の関係を示す。具体的には、イベント信頼度グラフ表示領域１４４は、着工順序ルールモデルの訓練に使用されたイベントデータの、イベント信頼度毎のイベント数ヒストグラムを表示する。イベント信頼度グラフ表示領域１４４は、さらに、フィルタリングにより除外されたイベント及び除外されなかったイベントの信頼度を明示する。イベント数ヒストグラムは、暗黙ルールの存在についての情報を示す。ヒストグラムにおいて、１に近い信頼度において山が存在する場合、暗黙ルールが存在する可能性が高く、０に近い信頼度において山が存在する場合、暗黙ルールが存在しない可能性が高い。また、ヒストグラムは、適切な信頼度閾値の情報を示す。
【００７０】
イベント詳細情報表示領域１４６は、イベント選択領域１４５において指定されたイベントの実績と、指定されたイベントに対応する複数の着工順序ルールモデルによる推定結果と、の関係を示す。具体的には、イベント詳細情報表示領域１４６は、指定されたイベントの実行待ちジョブのリスト、各ジョブの属性情報、各着工順序ルールモデルによる選択ジョブ推定結果を表示する。実績選択欄は、イベントにおいて、実際に選択されたジョブを示す。各モデル推定選択ジョブ欄は、イベントデータのフィルタリングのために使用した着工順序ルールモデルそれぞれが、選択されているイベントに対して推定した選択ジョブを示す。
【００７１】
イベント詳細情報表示領域１４６は、各着工順序ルールモデルによる選択ジョブ推定の妥当性についての情報を示す。例えば、図９の例において、ジョブＪ００２が実際のイベントにおいて選択されているが、多くの着工順序ルールモデルは、選択ジョブとしてジョブＪ００６を推定している。したがって、暗黙ルールに従う選択ジョブはジョブＪ００６であり、実際のイベントが暗黙ルールに従っていなかったと推定できる。一方、着工順序ルールモデルによる推定結果が分散している場合、その推定は妥当ではなく、暗黙ルールが存在していない可能性がある。
【００７２】
一例において、ユーザは、イベント詳細情報表示領域１４６の情報を参照して、イベントデータのフィルタリングを修正することができる。具体的には、ユーザ指定に応じて、入力部１１０は、イベントテーブル２２０を更新する。着工順序ルールモデル導出部１３２は、更新されたイベントデータ（訓練データ）によって、再度、１又は複数の着工順序ルールモデルを構築する。これにより、より適切な訓練データが得られる。
【００７３】
図９に示す例において、イベントリスト表示領域１４３が示すように、イベントＥ００２は、フィルタリングにより除外される。これは、実際のイベントはジョブＪ００２を選択しているが、多くの着工順序ルールモデルは、選択ジョブとしてジョブＪ００６を推定しているからである。
【００７４】
例えば、ユーザは、当該イベントの選択ジョブをジョブＪ００６に変更して、入力部１１０を介して、新たな着工順序ルールモデルの構築のためのイベントデータ（訓練データ）に追加する。逆に、ユーザは、抽出されたイベントデータ（訓練データ）から、適切ではないと判定したイベントを除外してもよい。
【００７５】
生産実績データ分析装置１００は、上記処理の一部のみを実行してもよい。例えば、生イベントデータの生成、フィルタリングのための複数の着工順序ルールモデル群の構築、及び新たな着工順序ルールモデルの構築の全てまたは一部が省略されてもよい。
【００７６】
図１０は、本実施形態における生産計画立案システムの概略図である。生産計画立案システムは、生産実績データ分析装置１００、生産実績管理装置２００、及び生産計画立案装置３００を含み、これらはネットワーク４００を介して情報の送受信ができる。生産実績管理装置２００は、生産実績データ分析装置１００及び生産計画立案装置３００に対して、生産実績データを送信する。生産実績データ分析装置１００は、各工程の着工順序ルールモデルを生産計画立案装置３００に送信する。生産計画立案装置３００は、将来の生産予測において各工程の着工順序を決定する際に、受信した着工順序ルールモデルを用いる。生産計画立案装置３００は、その生産予測に基づき、将来の生産計画を立案する。
【００７７】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７８】
また、上記の各構成・機能・処理部等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【００７９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８０】
１０  工程、１１  前工程、１２  後工程、１４  ジョブ、１４Ａ  選択ジョブ、１００  生産実績データ分析装置、１１０  入力部、１２０  記憶部、１２１  生産実績データ記憶領域、１２２  イベント概略データ記憶領域、１２３  イベント詳細データ記憶領域、１２４  着工順序ルールモデルデータ記憶領域、１２５  選択ジョブ推定結果データ記憶領域、１３０  制御部、１３１  イベントデータ生成部、１３２  着工順序ルールモデル導出部、１３３  選択ジョブ推定部、１３４  イベント信頼度算出部、１３５  イベントフィルタリング部、１４０  表示部、１４１  工程選択領域、１４２  選択ジョブ正答率表示領域、１４２  正答率表示領域、１４３  イベントリスト表示領域、１４４  イベント信頼度グラフ表示領域、１４５  イベント選択領域、１４６  イベント詳細情報表示領域、１５１  出力デバイス、２００  生産実績管理装置、２１０  生産実績テーブル、２２０  イベントテーブル、２３０  イベント詳細テーブル、２４０  着工順序ルールモデルテーブル、２５０  選択ジョブ推定結果テーブル、３００  生産計画立案装置、３１０  プロセッサ、３２０  メモリ、３２１  イベントデータ生成プログラム、３２２  着工順序ルールモデル導出プログラム、３２３  選択ジョブ推定プログラム、３２４  イベント信頼度算出プログラム、３２５  イベントフィルタリングプログラム、３２６  ユーザインタフェースプログラム、３３０  補助記憶装置、３４０  ネットワークインタフェース、３４５  Ｉ／Ｏインタフェース、３５１  入力デバイス、３５２  出力デバイス、４００  ネットワーク
【図１】
2020102138.tif 000004
【図２Ａ】
2020102138.tif 000005
【図２Ｂ】
2020102138.tif 000006
【図３】
2020102138.tif 000007
【図４】
2020102138.tif 000008
【図５】
2020102138.tif 000009
【図６】
2020102138.tif 000010
【図７】
2020102138.tif 000011
【図８】
2020102138.tif 000012
【図９】
2020102138.tif 000013
【図１０】
2020102138.tif 000014