(57)【要約】【課題】計画を生成するために用いる情報の再学習処理の実行タイミングを自動的かつ最適に決定する。【解決手段】事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、処理は事象の制御に関連する項目を含み、計画は、制約条件、及び、計画履歴における制約条件の適合性の傾向を表す情報である計画パターンに基づいて生成され、計算機は、制約条件情報、計画パターン情報、並びに、計画履歴及び評価値を対応づけたデータを管理するための計画履歴情報を保持し、計画履歴情報を用いた評価値の変動の分析結果に基づいて、計画パターン情報を更新する必要があるか否かを判定し、計画パターン情報を更新する必要があると判定された場合、計画履歴情報及び制約条件情報に基づいて、計画パターン情報を更新するための再学習処理を実行する。【選択図】図１
2019212043.tif 000002
【特許請求の範囲】
【請求項１】
事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、
前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、
前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す情報である計画パターンに基づいて生成され、
前記少なくとも一つの計算機は、
前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、
前記計画履歴情報を用いた前記評価値の変動の分析結果に基づいて、前記計画パターン情報を更新する必要があるか否かを判定し、
前記計画パターン情報を更新する必要があると判定された場合、前記計画履歴情報及び前記制約条件情報に基づいて、前記計画パターン情報を更新するための再学習処理を実行することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記計画履歴の特徴量に基づくクラスタリングによって生成されたクラスタを管理するためのクラスタ情報を保持し、
前記計画パターン情報は、前記クラスタに所属する前記計画履歴及び前記制約条件情報に基づいて生成された、前記各クラスタの前記計画パターンを格納し、
前記少なくとも一つの計算機は、
順番が規定されていない複数の処理を含む入力データ、前記制約条件情報、及び前記計画パターン情報に基づいて、前記入力データに含まれる複数の処理の順番を決定することによって新規計画を生成し、
前記計画パターン情報及び前記新規計画に基づいて、前記新規計画の前記評価値を算出し、
前記評価値の変動の分析、並びに、前記クラスタ情報及び前記新規計画の特徴量に基づく前記新規計画の分類を実行し、
前記評価値の変動の分析結果及び前記新規計画の分類結果に基づいて、前記計画パターン情報を更新する必要があるか否かを判定することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記評価値の変動の分析結果及び前記新規計画の分類結果に基づいて、前記クラスタ情報を更新する必要があるか否かを判定することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記少なくとも一つの計算機は、
前記計画パターン情報及び前記クラスタ情報を更新する必要があると判定された場合、所定の時間範囲において生成された前記計画履歴を、第一ターゲット計画履歴として選択し、
前記第一ターゲット計画履歴を用いた前記再学習処理を実行することによって、前記計画パターン情報及び前記クラスタ情報を更新することを特徴とする計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記少なくとも一つの計算機は、
前記クラスタ情報を更新する必要がなく、かつ、前記計画パターン情報を更新する必要があると判定された場合、所定の時間範囲において生成された前記計画履歴の前記評価値及び閾値の比較結果に基づいて、第二ターゲット計画履歴を選択し、
前記第二ターゲット計画履歴を用いた前記再学習処理を実行することによって、前記計画パターン情報を更新することを特徴とする計算機システム。
【請求項６】
請求項３に記載の計算機システムであって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記計画パターン情報を更新する必要がなく、かつ、前記クラスタ情報を更新する必要があると判定された場合、前記クラスタ情報にて管理される前記クラスタに所属しない前記新規計画から新たなクラスタを生成し、
前記新たなクラスタの情報を前記クラスタ情報に登録することを特徴とする計算機システム。
【請求項７】
事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムが実行する学習制御方法であって、
前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、
前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す情報である計画パターンに基づいて生成され、
前記少なくとも一つの計算機は、前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、
前記学習制御方法は、
前記少なくとも一つの計算機が、前記計画履歴情報を用いた前記評価値の変動の分析結果に基づいて、前記計画パターン情報を更新する必要があるか否かを判定する第１のステップと、
前記計画パターン情報を更新する必要があると判定された場合、前記少なくとも一つの計算機が、前記計画履歴情報及び前記制約条件情報に基づいて、前記計画パターン情報を更新するための再学習処理を実行する第２のステップとことを特徴とする学習制御方法。
【請求項８】
請求項７に記載の学習制御方法であって、
前記少なくとも一つの計算機は、前記計画履歴の特徴量に基づくクラスタリングによって生成されたクラスタを管理するためのクラスタ情報を保持し、
前記計画パターン情報は、前記クラスタに所属する前記計画履歴及び前記制約条件情報に基づいて生成された、前記各クラスタの前記計画パターンを格納し、
前記学習制御方法は、
前記少なくとも一つの計算機が、順番が規定されていない複数の処理を含む入力データ、前記制約条件情報、及び前記計画パターン情報に基づいて、前記入力データに含まれる複数の処理の順番を決定することによって新規計画を生成するステップと、
前記少なくとも一つの計算機が、前記計画パターン情報及び前記新規計画に基づいて、前記新規計画の前記評価値を算出するステップと、を含み、
前記第１のステップは、
前記少なくとも一つの計算機が、前記新規計画を生成した場合、前記評価値の変動の分析、並びに、前記クラスタ情報及び前記新規計画の特徴量に基づく前記新規計画の分類を実行する第３のステップと、
前記少なくとも一つの計算機が、前記評価値の変動の分析結果及び前記新規計画の分類結果に基づいて、前記計画パターン情報を更新する必要があるか否かを判定する第４のステップと、を含むことを特徴とする学習制御方法。
【請求項９】
請求項８に記載の学習制御方法であって、
前記第４にステップは、前記少なくとも一つの計算機が、前記評価値の変動の分析結果及び前記新規計画の分類結果に基づいて、前記クラスタ情報を更新する必要があるか否かを判定することを特徴とする学習制御方法。
【請求項１０】
請求項９に記載の学習制御方法であって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記第２のステップは、
前記計画パターン情報及び前記クラスタ情報を更新する必要があると判定された場合、前記少なくとも一つの計算機が、所定の時間範囲において生成された前記計画履歴を、第一ターゲット計画履歴として選択するステップと、
前記少なくとも一つの計算機が、前記第一ターゲット計画履歴を用いた前記再学習処理を実行することによって、前記計画パターン情報及び前記クラスタ情報を更新するステップと、を含むことを特徴とする学習制御方法。
【請求項１１】
請求項９に記載の学習制御方法であって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記第２のステップは、
前記クラスタ情報を更新する必要がなく、かつ、前記計画パターン情報を更新する必要があると判定された場合、前記少なくとも一つの計算機が、所定の時間範囲において生成された前記計画履歴の前記評価値及び閾値の比較結果に基づいて、第二ターゲット計画履歴を選択するステップと、
前記少なくとも一つの計算機が、前記第二ターゲット計画履歴を用いた再学習処理を実行することによって、前記計画パターン情報を更新するステップと、を含むことを特徴とする学習制御方法。
【請求項１２】
請求項９に記載の学習制御方法であって、
前記計画履歴情報に格納されるデータは、前記計画履歴が生成された時刻を含み、
前記第２のステップは、
前記計画パターン情報を更新する必要がなく、かつ、前記クラスタ情報を更新する必要があると判定された場合、前記少なくとも一つの計算機が、前記クラスタ情報にて管理される前記クラスタに所属しない前記新規計画から新たなクラスタを生成するステップと、
前記少なくとも一つの計算機が、前記新たなクラスタの情報を前記クラスタ情報に登録するステップと、を含むことを特徴とする学習制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、事象を制御するための処理の順番を規定した計画を生成する計算機システム及びその学習制御方法に関する。
【背景技術】
【０００２】
製品の製造計画、並び、業務システムの運用計画及び管理計画等の計画を事前に生成するためには、時間及び空間並びに設備及び人員等のリソースに関する制約を考慮する必要がある。
【０００３】
計画を生成には時間、知識、及び経験等が必要であるため、知識を有さないユーザが手動で計画を生成することは難しいことから、従来は、熟練者が手動で計画を生成していた。そのため、熟練者が生成する計画と同等の質の計画を自動的に生成する計算機又はシステムが求められている。
【０００４】
事前に判明していない暗黙知を制約条件として加えて計画を生成する技術として特許文献１に記載の技術が知られている。特許文献１には、「所定事象に関して作成された複数の作成済み計画の情報と、作成済み計画各々の作成に用いられた各利用情報とを格納した記憶装置と、所定事象に関して判明済みの制約条件と各利用情報とを所定アルゴリズムに適用して仮計画を複数作成し、各仮計画と該当仮計画に対応する作成済み計画との各組のうち、計画間の類似度が所定基準以下の非類似の組における作成済み計画とその利用情報とを所定アルゴリズムに適用し、計画間の非類似の要因に対応した新規制約条件を生成し、当該新規制約条件および判明済み制約条件を所定の計画生成手段に提供する制約生成処理を実行する演算装置を備える」計画作成支援装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１８９０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
事象の制御目的及び環境等の変化に併せて制約条件も変化する。そのため、システムの状態に合わせて、計画を生成するために必要な情報を生成する学習を繰り返し実行する必要がある。
【０００７】
再学習の実行タイミングに起因する問題として、次のような問題がある。再学習の実行タイミングが早い場合、以前の学習結果との差異がない可能性がある。そのため、頻繁な再学習の実行によるシステムの負荷の増大及び演算処理の遅延等が問題となる。一方、再学習の実行タイミングが遅い場合、現在の事象の制御目的及び環境等に適合していない計画が生成される可能性がある。そのため、生成される計画の質が低いという問題がある。
【０００８】
従来は、ユーザが再学習の実行タイミングを決定していたため、再学習の実行タイミングに起因する上記のような問題が発生していた。
【０００９】
本発明は、計画を生成するために用いる情報の再学習の実行タイミングを自動的かつ最適に決定するシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す情報である計画パターンに基づいて生成され、前記少なくとも一つの計算機は、前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、前記計画履歴情報を用いた前記評価値の変動の分析結果に基づいて、前記計画パターン情報を更新する必要があるか否かを判定し、前記計画パターン情報を更新する必要があると判定された場合、前記計画履歴情報及び前記制約条件情報に基づいて、前記計画パターン情報を更新するための再学習処理を実行する。
【発明の効果】
【００１１】
本発明の一形態によれば、再学習処理の実行タイミングを自動的かつ最適に決定することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１のシステムの構成例を示す図である。
【図２】実施例１の制約条件情報のデータ構造の一例を示す図である。
【図３】実施例１の計画履歴情報のデータ構造の一例を示す図である。
【図４】実施例１の計画のデータ構造の一例を示す図である。
【図５】実施例１のクラスタ情報のデータ構造の一例を示す図である。
【図６】実施例１の計画パターン情報のデータ構造の一例を示す図である。
【図７】実施例１の学習部が実行する学習処理を説明するフローチャートである。
【図８】実施例１の計画生成部が実行する処理を説明するフローチャートである。
【図９】実施例１の再学習判定部が実行する処理の概要を説明するフローチャートである。
【図１０】実施例１の再学習判定部が実行する評価値判定処理を説明するフローチャートである。
【図１１】実施例２の再学習判定部が実行する処理の概要を説明するフローチャートである。
【図１２】実施例２の再学習判定部が実行するクラスタ判定処理の一例を説明するフローチャートである。
【図１３Ａ】実施例２の学習部が実行する再学習処理の一例を説明する図である。
【図１３Ｂ】実施例２の学習部が実行する再学習処理の一例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１４】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１５】
本明細書等における「第１」、「第２」、「第３」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１６】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１７】
図１は、実施例１のシステムの構成例を示す図である。
【００１８】
システムは、計算機１００及び対象システム１０５から構成される。計算機１００及び対象システム１０５は、直接又はネットワークを介して互いに接続される。ネットワークは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。ネットワークの接続方式は有線又は無線のいずれでもよい。なお、計算機１００は、ネットワークを介して、ユーザが操作する端末と接続されてもよい。
【００１９】
対象システム１０５は、計画に基づいた事象の制御が行われるシステムである。対象システム１０５は、例えば、製品を製造する工場及び空調システム等である。
【００２０】
計算機１００は、対象システム１０５における事象を制御するための処理の順番を規定した計画を生成する。実施例１の計算機１００は、過去に生成された計画を学習し、学習結果及び制約条件に基づいて新たな計画を生成する。
【００２１】
対象システム１０５における事象の制御に関する熟練者は、一部の制約条件が満たされない場合でも事象を適切に制御できることを知識として保持しており、当該知識に基づいて一部の制約条件を満たさない計画を生成する。計算機１００は、前述の知識を取り入れた計画を生成するために、過去に生成された計画を用いて、違反が許容される制約条件及び違反の程度を学習する。計算機１００は学習結果を計画パターンとして保持する。計算機１００は、計画パターン及び制約条件に基づいて新規計画を生成する。
【００２２】
計算機１００は、ハードウェアとして、演算装置１１１、記憶装置１１２、ネットワークインタフェース１１３、及びＩＯインタフェース１１４を有する。各ハードウェアは、内部バスを介して互いに接続される。なお、計算機１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶媒体を有してもよい。
【００２３】
演算装置１１１は、プロセッサ等であり、記憶装置１１２に格納されるプログラムを実行する。演算装置１１１がプログラムにしたがって処理を実行することによって特定の機能を実現する機能部として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置１１１が当該機能部を実現するプログラムを実行していることを示す。
【００２４】
記憶装置１１２は、メモリ等であり、演算装置１１１が実行するプログラム及びプログラムが使用する情報を格納する。また、記憶装置１１２は、プログラムが一時的に使用するワークエリアを含む。記憶装置１１２に格納されるプログラム及び情報については後述する。
【００２５】
ネットワークインタフェース１１３は、ネットワークを介して他の装置と接続するためのインタフェースである。ＩＯインタフェース１１４は、入力装置１０１及び出力装置１０２と接続するためのインタフェースである。
【００２６】
入力装置１０１は、例えば、キーボード、マウス等のポインティングデバイス、及びタッチパネル等の装置である。出力装置１０２は、例えば、ディスプレイ及びプリンタ等の装置である。
【００２７】
ここで、記憶装置１１２に格納されるプログラム及び情報について説明する。記憶装置１１２は、学習部１２０、計画生成部１２１、制約条件管理部１２２、及び再学習判定部１２３を実現するプログラムを格納する。また、記憶装置１１２は、制約条件情報１３０、計画履歴情報１３１、クラスタ情報１３２、及び計画パターン情報１３３を格納する。
【００２８】
制約条件情報１３０は、事象に関する制約条件を管理するための情報である。例えば、時間、空間、設備、及び人員等のリソースに関する制約条件及び製品の強度等の品質に関する制約条件が考えられる。制約条件情報１３０のデータ構造については図２を用いて説明する。
【００２９】
計画履歴情報１３１は、過去に生成された計画、すなわち、計画履歴を管理するための情報である。計画履歴情報１３１のデータ構造については図３を用いて説明する。
【００３０】
クラスタ情報１３２は、計画のクラスタリングによって生成されたクラスタを管理するための情報である。クラスタ情報１３２のデータ構造については図５を用いて説明する。
【００３１】
計画パターン情報１３３は、過去に生成された計画における、制約条件の適合性の傾向を表す情報である計画パターンを管理するための情報である。計画パターン情報１３３のデータ構造については図６を用いて説明する。
【００３２】
計画パターンは、各制約条件の乖離参考値の配列として表される。一つの制約条件の乖離参考値は、過去に生成された複数の計画における制約条件の適合性の傾向を表す指標であり、また、制約条件の重要性を表す指標でもある。一つの制約条件の乖離参考値は、計画履歴における一つの制約条件の乖離度に基づいて算出される。一つの制約条件の乖離度は、一つの計画における一つの制約条件の乖離の程度を示す指標である。
【００３３】
学習部１２０は、計画履歴に基づいて、計画の生成に用いる情報を生成又は更新するための学習処理を実行する。より具体的には、学習部１２０は、対象システム１０５の稼働前に学習処理を実行することによってクラスタ情報１３２及び計画パターン情報１３３を生成する。また、学習部１２０は、再学習判定部１２３からの指示を受信した場合、再度、学習処理を実行することによってクラスタ情報１３２及び計画パターン情報１３３のいずれかを更新する。以下の説明では、クラスタ情報１３２及び計画パターン情報１３３のいずれかを更新するために実行される学習処理を再学習処理と記載する。
【００３４】
計画生成部１２１は、入力データを受信した場合、制約条件情報１３０及び計画パターン情報１３３に基づいて、計画を生成する。ここで、入力データは、実行順番が定められていない、対象システム１０５における事象を制御するための処理に関するデータ（処理データ）の集合である。計画生成部１２１は、適切な制御を実現するための処理順番を決定することによって計画を生成する。すなわち、計画は、処理順番が定められた処理データの集合である。
【００３５】
制約条件管理部１２２は、制約条件情報１３０を管理する。制約条件管理部１２２は、制約条件の追加、更新、及び削除等を行う。
【００３６】
再学習判定部１２３は、クラスタ情報１３２及び計画パターン情報１３３を更新するための再学習処理の実行契機を判定する。
【００３７】
なお、計算機１００が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【００３８】
図２は、実施例１の制約条件情報１３０のデータ構造の一例を示す図である。
【００３９】
制約条件情報１３０は、条件ＩＤ２０１、条件式２０２、及び閾値２０３から構成されるエントリを格納する。一つのエントリが一つの制約条件に対応する。
【００４０】
条件ＩＤ２０１は、制約条件を識別するための識別情報を格納するフィールドである。条件ＩＤ２０１には、例えば、番号が格納される。
【００４１】
条件式２０２は、制約条件として設定される条件式を格納するフィールドである。条件式は処理に関連する項目から算出されるパラメータ及び閾値を示す変数に基づいて定義される。
【００４２】
閾値２０３は、条件式の閾値として設定される値を格納するフィールドである。
【００４３】
図３は、実施例１の計画履歴情報１３１のデータ構造の一例を示す図である。
【００４４】
計画履歴情報１３１は、計画ＩＤ３０１、格納場所３０２、タイムスタンプ３０３、評価値３０４、クラスタＩＤ３０５、及び特徴量３０６から構成されるエントリを格納する。一つのエントリが一つの計画履歴に対応する。
【００４５】
計画ＩＤ３０１は、計画履歴を識別するための識別情報を格納するフィールドである。計画ＩＤ３０１には、例えば、番号が格納される。
【００４６】
格納場所３０２は、計画履歴の格納場所を示す値を格納するフィールドである。格納場所３０２には、例えば、計画履歴を格納する記憶領域のアドレスが格納される。
【００４７】
タイムスタンプ３０３は、計画が生成された時刻を格納するフィールドである。なお、タイムスタンプ３０３に格納される時刻は、システムが管理する時刻でもよいし、また、計算機１００が管理する時刻でもよい。
【００４８】
評価値３０４は、計画の質を表す指標である評価値を格納するフィールドである。満たす制約条件の数が多いほど質が高い計画、すなわち、適切な計画として扱う。また、計画履歴に類似する計画を質が高い計画として扱ってもよい。この場合、評価値は、計画履歴との類似性を示す指標として用いることができる。
【００４９】
クラスタＩＤ３０５は、特徴量空間において計画が所属するクラスタの識別情報を格納するフィールドである。
【００５０】
特徴量３０６は、特徴量空間において計画を分類する場合に使用する特徴量を格納するフィールドである。
【００５１】
ここで、計画のデータ構造について説明する。図４は、実施例１の計画のデータ構造の一例を示す図である。
【００５２】
計画４００は、順番４０１及び項目４０２から構成されるエントリを格納する。一つのエントリが一つの処理（処理データ）に対応する。
【００５３】
順番４０１は、処理の実行順番を格納するフィールドである。
【００５４】
項目４０２は、処理に関連する項目を格納するフィールド群である。項目４０２には、一つ以上のフィールドが含まれる。図４に示す項目４０２は、材料番号、重さ、及び長さのフィールドを含む。
【００５５】
図５は、実施例１のクラスタ情報１３２のデータ構造の一例を示す図である。
【００５６】
クラスタ情報１３２は、クラスタＩＤ５０１、重心５０２、及び距離５０３から構成されるエントリを格納する。一つのエントリが一つのクラスタに対応する。
【００５７】
クラスタＩＤ５０１は、クラスタを識別するための識別情報を格納するフィールドである。クラスタＩＤ５０１は、クラスタＩＤ３０５と同一のフィールドである。
【００５８】
重心５０２は、特徴量空間におけるクラスタの重心の座標を格納するフィールドである。
【００５９】
距離５０３は、クラスタの大きさを示す距離を格納するフィールドである。例えば、クラスタに所属する計画履歴の特徴量空間における位置と、クラスタの重心との間の距離の最大値が距離５０３に格納される。
【００６０】
図６は、実施例１の計画パターン情報１３３のデータ構造の一例を示す図である。
【００６１】
計画パターン情報１３３は、パターンＩＤ６０１及び乖離参考値６０２から構成されるエントリを格納する。一つのエントリが一つの計画パターンに対応する。
【００６２】
パターンＩＤ６０１は、計画パターンを識別するための識別情報を格納するフィールドである。なお、一つのクラスタに対して一つの計画パターンが生成される。したがって、パターンＩＤ６０１は、クラスタＩＤ５０１に対応する。
【００６３】
乖離参考値６０２は、クラスタに所属する計画における制約条件の乖離参考値を格納するフィールド群である。乖離参考値６０２には、制約条件と同一数のフィールドが含まれる。
【００６４】
一つの制約条件の乖離参考値は、計画の制約条件の乖離度に基づいて算出される。乖離度は、制約条件の乖離が大きい計画の場合、大きい値となり、制約条件の乖離が小さい計画の場合、小さい値となる。なお、制約条件を満たす計画の乖離度は「０」となる。
【００６５】
次に、各機能部が実行する処理について説明する。まず、計算機１００が実行する処理の概要を説明する。計算機１００は、対象システム１０５の計画を生成する前に、予め、学習処理を実行する。学習処理によって、クラスタ情報１３２及び計画パターン情報１３３が生成される。計算機１００は、入力データを受信した場合、制約条件情報１３０及び計画パターン情報１３３に基づいて、入力データから計画を生成する。計算機１００は、計画の生成処理と並行して、評価値の変動を監視し、評価値の変動が検知された場合、再学習処理を実行する。以下、各処理の詳細について説明する。
【００６６】
図７は、実施例１の学習部１２０が実行する学習処理を説明するフローチャートである。
【００６７】
学習部１２０は、計画パターン情報１３３の生成指示を受信した場合、又は、システムの運用が開始された場合、以下で説明する処理を実行する。
【００６８】
なお、処理の開始時点では、クラスタ情報１３２及び計画パターン情報１３３は、生成されていないものとする。また、処理の開始時点では、計画履歴情報１３１の各エントリのクラスタＩＤ３０５は空欄であるものとする。
【００６９】
学習部１２０は、計画履歴情報１３１から計画履歴を取得し（ステップＳ１０１）、取得した各計画履歴の特徴量を算出する（ステップＳ１０２）。
【００７０】
例えば、学習部１２０は、計画履歴に含まれる各処理データの任意の項目の平均値を特徴量として算出する。図４に示す処理データの場合、重さの平均値及び長さの平均値が特徴量として算出される。なお、本発明は算出する特徴量の種類及び特徴量の算出方法に限定されない。
【００７１】
次に、学習部１２０は、各計画履歴の特徴量に基づいて計画履歴のクラスタリングを実行する（ステップＳ１０３）。なお、クラスタリングは公知の技術であるため詳細な説明は省略する。
【００７２】
学習部１２０は、クラスタリングの結果に基づいて、クラスタ情報１３２を生成する。また、学習部１２０は、クラスタリングの結果に基づいて、計画履歴情報１３１の各エントリのクラスタＩＤ３０５に、計画履歴が所属するクラスタの識別情報を設定する。
【００７３】
次に、学習部１２０は、クラスタのループ処理を開始する（ステップＳ１０４）。
【００７４】
具体的には、学習部１２０は、クラスタ情報１３２からターゲットクラスタを選択する。このとき、学習部１２０は、計画履歴情報１３１から、クラスタＩＤ３０５にターゲットクラスタの識別情報が設定されるエントリを読み出す。
【００７５】
次に、学習部１２０は、計画履歴のループ処理を開始する（ステップＳ１０５）。
【００７６】
具体的には、学習部１２０は、ステップＳ１０４において読み出されたエントリの中からターゲットエントリ（ターゲット計画履歴）を選択する。
【００７７】
次に、学習部１２０は、制約条件のループ処理を開始する（ステップＳ１０６）。
【００７８】
具体的には、学習部１２０は、制約条件情報１３０からターゲット制約条件を選択する。
【００７９】
次に、学習部１２０は、ターゲット計画履歴におけるターゲット制約条件の乖離度を算出する（ステップＳ１０７）。具体的には、以下のような処理が実行される。
【００８０】
学習部１２０は、ターゲット計画履歴に含まれる処理データを用いて、ターゲット制約条件で定義されたパラメータの値を算出する。学習部１２０は、パラメータの値及び閾値の比較結果に基づいて、ターゲット制約条件を満たすか否かを判定する。
【００８１】
ターゲット制約条件を満たすと判定された場合、学習部１２０は、乖離度として「０」を算出する。
【００８２】
ターゲット制約条件を満たさないと判定された場合、学習部１２０は、パラメータの値及び閾値の差の絶対値、又は、パラメータの値及び閾値の比等を乖離度として算出する。
【００８３】
制約条件のループ処理を実行することによって、一つの計画履歴に対して、制約条件の乖離度の配列が生成される。以上がステップＳ１０７の処理の説明である。
【００８４】
次に、学習部１２０は、全ての制約条件の処理が完了したか否かを判定する（ステップＳ１０８）。すなわち、ターゲット計画履歴について、全ての制約条件の乖離度が算出されたか否かが判定される。
【００８５】
全ての制約条件の処理が完了していないと判定された場合、学習部１２０は、ステップＳ１０６に戻り、新たなターゲット制約条件を選択する。
【００８６】
全ての制約条件の処理が完了したと判定された場合、学習部１２０は、ターゲットクラスタに所属する全ての計画履歴の処理が完了したか否かを判定する（ステップＳ１０９）。
【００８７】
ターゲットクラスタに所属する全ての計画履歴の処理が完了していないと判定された場合、学習部１２０は、ステップＳ１０５に戻り、新たなターゲット計画履歴を選択する。
【００８８】
ターゲットクラスタに所属する全ての計画履歴の処理が完了したと判定された場合、学習部１２０は、計画パターン情報１３３に、ターゲットクラスタの計画パターンを登録する（ステップＳ１１０）。具体的には、以下のような処理が実行される。
【００８９】
学習部１２０は、ターゲットクラスタに所属する全ての計画履歴の各制約条件の乖離度に基づいて、各制約条件の乖離参考値を算出する。例えば、式（１）を用いて一つの制約条件の乖離参考値が算出される。
【００９０】
【数１】
2019212043.tif 000003
【００９１】
ｐｅｒｃｅｎｔｉｌｅは、配列及び率を変数とするパーセンタイル関数である。Ｒ（ｉ）は識別情報が「ｉ」である制約条件の乖離参考値を表す。ｄ（ｉ）は各計画履歴における識別情報が「ｉ」である制約条件の乖離度の配列を表し、ｐはパーセンタイル演算のパラメータを表す。ｃはｄ（ｉ）の要素数を表す。ｎはｄ（ｉ）の中で識別情報が「ｉ」である制約条件を満たさなかった計画履歴の数、すなわち、値が「０」ではない要素の数を表す。
【００９２】
なお、前述の乖離参考値の算出方法は一例であって、本発明は乖離参考値の算出方法に限定されない。
【００９３】
学習部１２０は、計画パターン情報１３３にエントリを追加し、追加されたエントリのパターンＩＤ６０１にターゲットクラスタの識別情報を設定する。また、学習部１２０は、追加されたエントリの乖離参考値６０２に、各制約条件の乖離参考値を設定する。以上がステップＳ１１０の処理の説明である。
【００９４】
次に、学習部１２０は、全てのクラスタの処理が完了したか否かを判定する（ステップＳ１１１）。
【００９５】
全てのクラスタの処理が完了していないと判定された場合、学習部１２０は、ステップＳ１０４に戻り、新たなターゲットクラスタを選択する。
【００９６】
全てのクラスタの処理が完了したと判定された場合、学習部１２０は学習処理を終了する。
【００９７】
学習処理によって、クラスタ情報１３２及び計画パターン情報１３３が生成され、また、各計画履歴が所属するクラスタが特定される。
【００９８】
図８は、実施例１の計画生成部１２１が実行する処理を説明するフローチャートである。
【００９９】
計算機１００は、ネットワークインタフェース１０３又はＩＯインタフェース１０４を介して入力データを受信した場合、以下で説明する処理を開始する。
【０１００】
計画生成部１２１は、入力データを取得し（ステップＳ２０１）、制約条件情報１３０、計画パターン情報１３３、及び入力データに基づいて処理の順番を決定することによって、新規計画を生成する（ステップＳ２０２）。一つの入力データに対して生成される新規計画の数は二つ以上でもよい。
【０１０１】
計画生成部１２１は、原則、全ての制約条件を満たす新規計画を生成する。ただし、実施例１の計画生成部１２１は、計画パターン情報１３３に格納される計画パターンに基づいて、一部の制約条件を満たしていない新規計画を生成する。例えば、計画生成部１２１は、制約条件の閾値に乖離参考値を加算又は乗算することによって、制約条件を補正し、補正された制約条件に基づいて新規計画を生成する。これによって、乖離度が大きい制約条件を満たしていない計画が生成される。
【０１０２】
計画の生成方法は、例えば、数理計画法及び線形計画法等を用いることが考えられる。なお、本発明は計画の生成方法に限定されない。計画の生成方法は、制約条件及び生成する計画に応じて選択することができる。
【０１０３】
次に、計画生成部１２１は、新規計画の特徴量を算出し（ステップＳ２０３）、クラスタ情報１３２及び特徴量に基づいて新規計画を分類する（ステップＳ２０４）。これによって、新規計画が所属するクラスタが特定される。
【０１０４】
次に、計画生成部１２１は、新規計画のループ処理を開始する（ステップＳ２０５）。
【０１０５】
具体的には、計画生成部１２１は、新規計画の中からターゲット新規計画を選択する。
【０１０６】
次に、計画生成部１２１は、ターゲット新規計画の評価値を算出する（ステップＳ２０６）。具体的には、以下のような処理が実行される。
【０１０７】
計画生成部１２１は、ターゲット新規計画について、各制約条件の乖離度を算出する。計画生成部１２１は、各制約条件の乖離度の配列を一時計画パターンとして出力する。
【０１０８】
計画生成部１２１は、計画パターン情報１３３を参照し、パターンＩＤ６０１が、ターゲット新規計画が所属するクラスタの識別情報と一致するエントリを検索する。
【０１０９】
計画生成部１２１は、一時計画パターン及び検索されたエントリに対応する計画パターンに基づいて評価値を算出する。例えば、計画生成部１２１は、式（２）を用いて評価値を算出する。
【０１１０】
【数２】
2019212043.tif 000004
【０１１１】
Ｄ（ｉ）は新規計画における識別情報が「ｉ」である制約条件の乖離度を表す。εは任意の定数であって、１より十分小さい値である。εは、乖離参考値が「０」である場合に、演算ができなくなることを防ぐための定数である。以上がステップＳ２０６の説明である。
【０１１２】
次に、計画生成部１２１は、全ての新規計画について処理が完了したか否かを判定する（ステップＳ２０７）。
【０１１３】
全ての新規計画について処理が完了していないと判定された場合、計画生成部１２１は、ステップＳ２０５に戻り、新たなターゲット新規計画を選択する。
【０１１４】
全ての新規計画について処理が完了したと判定された場合、計画生成部１２１は、評価値に基づいて出力する新規計画を選択する（ステップＳ２０８）。
【０１１５】
例えば、計画生成部１２１は、評価値が最も大きい新規計画を選択する。また、計画生成部１２１は、評価値が高い順に所定の数の新規計画を選択する。
【０１１６】
次に、計画生成部１２１は、選択された新規計画を出力する（ステップＳ２０９）。その後、計画生成部１２１は、処理を終了する。
【０１１７】
このとき、計画生成部１２１は、新規計画の履歴を計画履歴情報１３１に格納する。なお、生成された全ての新規計画の履歴を計画履歴情報１３１に格納してもよいし、選択された新規計画の履歴を計画履歴情報１３１に格納してもよい。
【０１１８】
次に、再学習判定部１２３が実行する処理について説明する。
【０１１９】
図９は、実施例１の再学習判定部１２３が実行する処理の概要を説明するフローチャートである。
【０１２０】
再学習判定部１２３は、新規計画が生成された場合、実行指示を受信した場合、又は、周期的に、以下で説明する処理を実行する。
【０１２１】
再学習判定部１２３は、評価値判定処理を実行する（ステップＳ３０１）。評価値判定処理の詳細は図１０を用いて説明する。
【０１２２】
再学習判定部１２３は、評価値判定処理の出力結果ｖが「Ｔｒｕｅ」であるか否かを判定する（ステップＳ３０２）。すなわち、再学習を実行する必要があるか否かが判定される。
【０１２３】
評価値判定処理の出力結果ｖが「Ｔｒｕｅ」でないと判定された場合、再学習判定部１２３は、処理を終了する。
【０１２４】
評価値判定処理の出力結果ｖが「Ｔｒｕｅ」であると判定された場合、再学習判定部１２３は、再学習処理に使用する計画履歴である第一ターゲット計画履歴を選択する（ステップＳ３０３）。
【０１２５】
具体的には、再学習判定部１２３は、タイムスタンプ３０３が現時刻に近いものから順に所定の数の計画履歴を第一ターゲット計画履歴として選択する。すなわち、所定の時間範囲内に含まれる計画履歴が第一ターゲット計画履歴として選択される。
【０１２６】
次に、再学習判定部１２３は、学習部１２０に対して、第一ターゲット計画履歴の情報を含む再学習処理の実行指示を出力する（ステップＳ３０４）。その後、再学習判定部１２３は処理を終了する。再学習処理の実行指示に含まれる第一ターゲット計画履歴の情報は、例えば、選択された第一ターゲット計画履歴の識別情報のリストである。
【０１２７】
学習部１２０は、再学習処理の実行指示を受信した場合、再学習処理を実行する。再学習処理は、図７に示す学習処理と同様の処理である。ただし、以下で記載するように、再学習処理は学習処理と一部の処理が異なる。
【０１２８】
まず、学習部１２０は、再学習処理の実行指示を受信した場合、第一ターゲット計画履歴に対応するエントリのクラスタＩＤ３０５を初期化し、また、クラスタ情報１３２及び計画パターン情報１３３を初期化する。学習部１２０は、ステップＳ１０１では、再学習処理の実行指示に含まれる第一ターゲット計画履歴の情報に基づいて計画履歴情報１３１から第一ターゲット計画履歴を取得し、ステップＳ１０２以降の処理を実行する。すなわち、学習部１２０は、新しい計画履歴を用いた学習処理を実行する。これによって、現在の事象の制御目的及び環境等の変化等を反映したクラスタ情報１３２及び計画パターン情報１３３を生成できる。
【０１２９】
図１０は、実施例１の再学習判定部１２３が実行する評価値判定処理を説明するフローチャートである。
【０１３０】
再学習判定部１２３は、計画履歴情報１３１から、タイムスタンプ３０３が現時刻に近いものから順に所定の数の計画履歴を取得する（ステップＳ４０１）。このとき、再学習判定部１２３は、取得された計画履歴の評価値３０４に基づいて、評価値の統計値を算出する。例えば、再学習判定部１２３は評価値の平均値を算出する。
【０１３１】
再学習判定部１２３は、前回算出された評価値の統計値及び新たに算出された評価値の統計値の比較結果に基づいて、評価値が変動しているか否かを判定する（ステップＳ４０２）。
【０１３２】
例えば、再学習判定部１２３は、新たに算出された評価値の統計値及び前回算出された評価値の統計値の差の絶対値が閾値より大きいか否かを判定する。前述の差の絶対値が閾値より大きい場合、再学習判定部１２３は評価値が変動していると判定する。
【０１３３】
評価値が変動している場合、計画を生成するために考慮する制約条件等、計画の生成方針が変化している可能性がある。そのため、これまでの計画履歴の学習結果をそのまま利用した場合、有用な計画を生成できない。
【０１３４】
したがって、再学習判定部１２３は、評価値の変動を検知した場合、学習部１２０に再学習処理の実行指示を出力するように制御する。また、再学習判定部１２３は、計画履歴情報１３１に格納される計画履歴から、現在の計画の生成方針を反映している計画履歴を選択する。これによって、有用な学習結果を取得するための再学習処理を効率的に実行することができる。
【０１３５】
評価値が変動していると判定された場合、再学習判定部１２３は、出力結果ｖとして「Ｔｒｕｅ」を出力し（ステップＳ４０３）、その後、評価値判定処理を終了する。
【０１３６】
評価値が変動していないと判定された場合、再学習判定部１２３は、出力結果ｖとして「Ｆａｌｓｅ」を出力し（ステップＳ４０４）、その後、評価値判定処理を終了する。
【０１３７】
なお、再学習判定部１２３は、制御パラメータとして保持する前回算出された評価値の統計値を、新たに算出された評価値の統計値に更新する。
【０１３８】
実施例１によれば、計算機１００は、評価値の変動を監視し、評価値の変動を検知した場合、所定の数の計画履歴を選択し、選択された計画履歴を用いた再学習処理を実行する。これによって、再学習処理の実行タイミングを自動的かつ最適に決定することができる。また、計算機１００は、再学習処理の結果を用いることによって、現在の計画の生成方針を考慮した計画を生成することができる。
【実施例２】
【０１３９】
実施例２では、再学習判定部１２３が新規計画の分類結果も考慮する点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１４０】
実施例２のシステムの構成は、実施例１のシステムの構成及び計算機１００の構成と同一である。また、実施例２の計算機１００が保持する情報のデータ構造は、実施例１と同一である。実施例２の学習部１２０が実行する学習処理は実施例１と同一であり、また、実施例２の計画生成部１２１が実行する計画の生成処理は実施例１と同一である。
【０１４１】
図１１は、実施例２の再学習判定部１２３が実行する処理の概要を説明するフローチャートである。
【０１４２】
再学習判定部１２３は、新規計画が生成された場合、以下で説明する処理を実行する。
【０１４３】
再学習判定部１２３は、評価値判定処理を実行する（ステップＳ５０１）。実施例２の評価値判定処理は実施例１と同一である。
【０１４４】
次に、再学習判定部１２３は、クラスタ判定処理を実行する（ステップＳ５０２）。クラスタ判定処理の詳細は図１２を用いて説明する。
【０１４５】
再学習判定部１２３は、評価値判定処理の出力結果ｖが「Ｔｒｕｅ」かつクラスタ判定処理の出力結果ｃが「Ｔｒｕｅ」であるか否かを判定する（ステップＳ５０３）。すなわち、クラスタ情報１３２及び計画パターン情報１３３を更新するための再学習処理を実行する必要があるか否かが判定される。以下の説明では、ステップＳ５０３の判定条件を第一判定条件と記載する。
【０１４６】
第一判定条件を満たすと判定された場合、再学習判定部１２３は、第一ターゲット計画履歴を選択する（ステップＳ５０４）。ステップＳ５０４の処理はステップＳ３０３の処理と同一の処理である。
【０１４７】
次に、再学習判定部１２３は、学習部１２０に対して、第一ターゲット計画履歴及びフラグＡを含む再学習処理の実行指示を出力する（ステップＳ５０５）。その後、再学習判定部１２３は処理を終了する。
【０１４８】
ステップＳ５０３において、第一判定条件を満たさないと判定された場合、再学習判定部１２３は、評価値判定処理の出力結果ｖが「Ｔｒｕｅ」かつクラスタ判定処理の出力結果ｃが「Ｆａｌｓｅ」であるか否かを判定する（ステップＳ５０６）。すなわち、計画パターン情報１３３を更新するための再学習処理を実行する必要があるか否かが判定される。以下の説明では、ステップＳ５０６の判定条件を第二判定条件と記載する。
【０１４９】
第二判定条件を満たすと判定された場合、再学習判定部１２３は、新規計画から第二ターゲット計画履歴を選択する（ステップＳ５０７）。
【０１５０】
具体的には、再学習判定部１２３は、全ての新規計画の中から、評価値が高い順に所定の数の新規計画を第二ターゲット計画履歴として選択する。選択する新規計画の数は、例えば、新規計画の全数の所定の割合とすることが考えられる。
【０１５１】
次に、再学習判定部１２３は、学習部１２０に対して、第二ターゲット計画履歴及びフラグＢを含む再学習処理の実行指示を出力する（ステップＳ５０８）。その後、再学習判定部１２３は処理を終了する。
【０１５２】
ステップ５０６において、第二判定条件を満たさないと判定された場合、再学習判定部１２３は、評価値判定処理の出力結果ｖが「Ｆａｌｓｅ」かつクラスタ判定処理の出力結果ｃが「Ｔｒｕｅ」であるか否かを判定する（ステップＳ５０９）。すなわち、クラスタ情報１３２を更新するための再学習処理を実行する必要があるか否かが判定される。以下の説明では、ステップＳ５０９の判定条件を第三判定条件と記載する。
【０１５３】
第三判定条件を満たすと判定された場合、再学習判定部１２３は、外れリストを取得する（ステップＳ５１０）。外れリストの詳細は図１２を用いて説明する。
【０１５４】
次に、再学習判定部１２３は、学習部１２０に対して、外れリスト及びフラグＣを含む再学習処理の実行指示を出力する（ステップＳ５１１）。その後、再学習判定部１２３は処理を終了する。
【０１５５】
ステップＳ５０９において、第三判定条件を満たさないと判定された場合、再学習判定部１２３は処理を終了する。
【０１５６】
図１２は、実施例２の再学習判定部１２３が実行するクラスタ判定処理の一例を説明するフローチャートである。
【０１５７】
再学習判定部１２３は、新規計画を取得し（ステップＳ６０１）、新規計画のループ処理を開始する（ステップＳ６０２）。具体的には、再学習判定部１２３は、ターゲット新規計画を選択する。
【０１５８】
次に、再学習判定部１２３は、ターゲット新規計画の特徴量を算出する（ステップＳ６０３）。計画の特徴量の算出方法はステップＳ１０２と同一である。
【０１５９】
次に、再学習判定部１２３は、算出された特徴量及びクラスタ情報１３２を参照し、ターゲット新規計画が所属可能なクラスタが存在するか否かを判定する（ステップＳ６０４）。
【０１６０】
具体的には、再学習判定部１２３は、クラスタの重心及びターゲット新規計画の特徴量空間の位置の間の距離が、当該クラスタの距離５０３より小さくなるクラスタを検索する。前述の条件を満たすクラスタが存在する場合、再学習判定部１２３は、ターゲット新規計画が所属可能なクラスタが存在すると判定する。なお、前述の条件を満たすクラスタが複数存在する場合、再学習判定部１２３は、距離が最も小さくなるクラスタを選択する。
【０１６１】
ターゲット新規計画が所属可能なクラスタが存在すると判定された場合、再学習判定部１２３はステップＳ６０６に進む。
【０１６２】
ターゲット新規計画が所属可能なクラスタが存在しないと判定された場合、再学習判定部１２３は、ターゲット新規計画を外れリストに登録し（ステップＳ６０５）、その後、ステップＳ６０６に進む。
【０１６３】
ステップＳ６０６では、再学習判定部１２３は、全ての新規計画の処理が完了したか否かを判定する（ステップＳ６０６）。
【０１６４】
全ての新規計画の処理が完了していないと判定された場合、再学習判定部１２３は、ステップＳ６０２に戻り、新たなターゲット新規計画を選択する。
【０１６５】
全ての新規計画の処理が完了したと判定された場合、再学習判定部１２３は、新規計画の分類結果に基づいて、新たなクラスタを生成する必要があるか否かを判定する（ステップＳ６０７）。
【０１６６】
具体的には、再学習判定部１２３は、外れリストが空であるか否かを判定する。外れリストが空である場合、再学習判定部１２３は、新たなクラスタを生成する必要がないと判定する。
【０１６７】
新たなクラスタを生成する必要があると判定された場合、再学習判定部１２３は、出力結果ｃとして「Ｔｒｕｅ」を出力し（ステップＳ６０８）、その後、処理を終了する。
【０１６８】
新たなクラスタを生成する必要がないと判定された場合、再学習判定部１２３は、出力結果ｃとして「Ｆａｌｓｅ」を出力し（ステップＳ６０９）、その後、処理を終了する。
【０１６９】
図１３Ａ及び図１３Ｂは、実施例２の学習部１２０が実行する再学習処理の一例を説明する図である。
【０１７０】
学習部１２０は、再学習処理の実行指示に含まれるフラグがフラグＡであるか否かを判定する（ステップＳ７０１）。
【０１７１】
再学習処理の実行指示に含まれるフラグがフラグＡであると判定された場合、学習部１２０は、再学習処理の実行指示に基づいて計画履歴情報１３１から第一ターゲット計画履歴を取得し（ステップＳ７０２）、その後、ステップＳ７０３からステップＳ７１２までの処理を実行する。ステップＳ７０３からステップＳ７１２までの処理は、ステップＳ１０２からステップＳ１１１までの処理と同一である。ただし、処理で扱われる計画履歴が第一ターゲット計画履歴である点が異なる。
【０１７２】
再学習処理の実行指示にフラグＡが含まれる場合、学習部１２０は、クラスタ情報１３２及び計画パターン情報１３３を更新するための再学習処理を実行する。
【０１７３】
再学習処理の実行指示に含まれるフラグがフラグＡでないと判定された場合、学習部１２０は、再学習処理の実行指示に含まれるフラグがフラグＢであるか否かを判定する（ステップＳ７１３）。
【０１７４】
再学習処理の実行指示に含まれるフラグがフラグＢであると判定された場合、学習部１２０は、再学習処理の実行指示に基づいて計画履歴情報１３１から第二ターゲット計画を取得し（ステップＳ７１４）、その後、ステップＳ７０５からステップＳ７１２までの処理を実行する。
【０１７５】
再学習処理の実行指示にフラグＢが含まれる場合、学習部１２０は、計画パターン情報１３３を更新するための学習処理を実行する。
【０１７６】
再学習処理の実行指示に含まれるフラグがフラグＢでないと判定された場合、学習部１２０は、再学習処理の実行指示に含まれる外れリストを用いてクラスタを生成し（ステップＳ７１５）、クラスタ情報１３２を更新する（ステップＳ７１６）。具体的には、学習部１２０は、クラスタ情報１３２に、生成されたクラスタの情報を追加する。その後、学習部１２０は処理を終了する。
【０１７７】
実施例２によれば、新規計画の生成時に、クラスタ情報１３２及び計画パターン情報１３３のそれぞれについて再学習が必要か否かを判定することができる。これによって、再学習処理の実行タイミングを自動的かつ最適に決定することができる。また、計算機１００は、再学習処理の結果を用いることによって、現在の計画の生成方針を考慮した計画を生成することができる。
【０１７８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１７９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１８０】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１８１】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１８２】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１８３】
１００  計算機
１０１  入力装置
１０２  出力装置
１０３  ネットワークインタフェース
１０４  ＩＯインタフェース
１０５  対象システム
１１１  演算装置
１１２  記憶装置
１１３  ネットワークインタフェース
１１４  ＩＯインタフェース
１２０  学習部
１２１  計画生成部
１２２  制約条件管理部
１２３  再学習判定部
１３０  制約条件情報
１３１  計画履歴情報
１３２  クラスタ情報
１３３  計画パターン情報
【図１】
2019212043.tif 000005
【図２】
2019212043.tif 000006
【図３】
2019212043.tif 000007
【図４】
2019212043.tif 000008
【図５】
2019212043.tif 000009
【図６】
2019212043.tif 000010
【図７】
2019212043.tif 000011
【図８】
2019212043.tif 000012
【図９】
2019212043.tif 000013
【図１０】
2019212043.tif 000014
【図１１】
2019212043.tif 000015
【図１２】
2019212043.tif 000016
【図１３Ａ】
2019212043.tif 000017
【図１３Ｂ】
2019212043.tif 000018