特開2019-212045(P2019-212045A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
<>
  • 特開2019212045-計算機システム及び学習制御方法 図000005
  • 特開2019212045-計算機システム及び学習制御方法 図000006
  • 特開2019212045-計算機システム及び学習制御方法 図000007
  • 特開2019212045-計算機システム及び学習制御方法 図000008
  • 特開2019212045-計算機システム及び学習制御方法 図000009
  • 特開2019212045-計算機システム及び学習制御方法 図000010
  • 特開2019212045-計算機システム及び学習制御方法 図000011
  • 特開2019212045-計算機システム及び学習制御方法 図000012
  • 特開2019212045-計算機システム及び学習制御方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-212045(P2019-212045A)
(43)【公開日】2019年12月12日
(54)【発明の名称】計算機システム及び学習制御方法
(51)【国際特許分類】
   G06Q 50/04 20120101AFI20191115BHJP
   G05B 19/418 20060101ALI20191115BHJP
【FI】
   G06Q50/04
   G05B19/418 Z
【審査請求】有
【請求項の数】8
【出願形態】OL
【全頁数】19
(21)【出願番号】特願2018-107987(P2018-107987)
(22)【出願日】2018年6月5日
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】佐保田 誠
(72)【発明者】
【氏名】秋山 全之輔
(72)【発明者】
【氏名】小林 雄一
(72)【発明者】
【氏名】馬場 恒彦
【テーマコード(参考)】
3C100
5L049
【Fターム(参考)】
3C100AA12
3C100BB01
5L049CC04
(57)【要約】
【課題】計画の生成に使用する情報を更新するための再学習処理で使用する最適な計画履歴を自動的に選択する。
【解決手段】事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、処理は事象の制御に関連する項目を含み、計画は、項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、計画履歴における制約条件の適合性の傾向を表す乖離参考値から構成される計画パターンに基づいて生成され、計算機は、制約条件情報、計画パターン情報、並びに、計画履歴及び評価値を対応づけたデータを管理するための計画履歴情報を保持し、第一制約条件が更新された場合、評価値に基づいて、計画履歴情報から再利用計画履歴を選択し、再利用計画履歴及び制約条件に基づく再学習処理を実行することによって、計画パターン情報を更新する。
【選択図】図1
【特許請求の範囲】
【請求項1】
事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、
前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、
前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す乖離参考値から構成される計画パターンに基づいて生成され、
前記少なくとも一つの計算機は、
前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記制約条件に基づいて算出される、前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、
前記制約条件情報に基づいて管理される第一制約条件が更新された場合、前記計画履歴の前記評価値に基づいて、前記計画履歴情報から再利用計画履歴を選択し、
前記再利用計画履歴及び前記制約条件に基づく再学習処理を実行することによって、前記計画パターン情報を更新することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記少なくとも一つの計算機は、
前記計画履歴情報に格納される各計画履歴に対して、前記計画履歴における前記第一制約条件の乖離の程度を表す乖離度を算出し、
前記計画履歴における前記第一制約条件の乖離度に基づいて、前記第一制約条件の一時乖離参考値を算出し、
前記第一制約条件の一時乖離参考値を前記計画パターン情報に格納することによって、前記計画パターン情報を更新し、
前記更新された計画パターン情報及び前記計画履歴に基づいて、前記計画履歴の一時評価値を算出し、
前記一時評価値に基づいて、前記計画履歴情報から前記再利用計画履歴を選択することを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記少なくとも一つの計算機は、
前記複数の計画履歴の各々の前記第一制約条件の乖離度に基づいて、前記計画履歴情報から複数の更新用の計画履歴を選択し、
前記複数の更新用の計画履歴における前記第一制約条件の乖離度に基づいて、前記第一制約条件の一時乖離参考値を算出することを特徴とする計算機システム。
【請求項4】
請求項3に記載の計算機システムであって、
前記少なくとも一つの計算機は、
前記再利用計画履歴及び前記更新された制約条件情報に基づいて、前記再利用計画履歴における前記制約条件の乖離度を算出し、
前記再利用計画履歴における前記制約条件の乖離度に基づいて、前記制約条件の乖離参考値を算出し、
前記制約条件の乖離参考値に基づいて、前記計画パターン情報を更新することを特徴とする計算機システム。
【請求項5】
事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムにおける学習制御方法であって、
前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、
前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す乖離参考値から構成される計画パターンに基づいて生成され、
前記少なくとも一つの計算機は、前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記制約条件に基づいて算出される、前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、
前記学習制御方法は、
前記少なくとも一つの計算機が、前記制約条件情報に基づいて管理される第一制約条件が更新された場合、前記計画履歴の前記評価値に基づいて、前記計画履歴情報から再利用計画履歴を選択する第1のステップと、
前記少なくとも一つの計算機が、前記再利用計画履歴及び前記制約条件に基づく再学習処理を実行することによって、前記計画パターン情報を更新する第2のステップと、を含むことを特徴とする学習制御方法。
【請求項6】
請求項5に記載の学習制御方法であって、
前記第1のステップは、
前記少なくとも一つの計算機が、前記計画履歴情報に格納される各計画履歴に対して、前記計画履歴における前記第一制約条件の乖離の程度を表す乖離度を算出する第3のステップと、
前記少なくとも一つの計算機が、前記計画履歴における前記第一制約条件の乖離度に基づいて、前記第一制約条件の一時乖離参考値を算出する第4のステップと、
前記少なくとも一つの計算機が、前記第一制約条件の一時乖離参考値を前記計画パターン情報に格納することによって、前記計画パターン情報を更新する第5のステップと、
前記少なくとも一つの計算機が、前記更新された計画パターン情報及び前記計画履歴に基づいて、前記計画履歴の一時評価値を算出する第6のステップと、
前記少なくとも一つの計算機が、前記一時評価値に基づいて、前記計画履歴情報から前記再利用計画履歴を選択する第7のステップと、を含むことを特徴とする学習制御方法。
【請求項7】
請求項6に記載の学習制御方法であって、
前記第4のステップは、
前記少なくとも一つの計算機が、前記複数の計画履歴の各々の前記第一制約条件の乖離度に基づいて、前記計画履歴情報から複数の更新用の計画履歴を選択するステップと、
前記少なくとも一つの計算機が、前記複数の更新用の計画履歴における前記第一制約条件の乖離度に基づいて、前記第一制約条件の一時乖離参考値を算出するステップと、を含むことを特徴とする学習制御方法。
【請求項8】
請求項7に記載の学習制御方法であって、
前記第2のステップは、
前記少なくとも一つの計算機が、前記再利用計画履歴及び前記更新された制約条件情報に基づいて、前記再利用計画履歴における前記制約条件の乖離度を算出するステップと、
前記少なくとも一つの計算機が、前記再利用計画履歴における前記制約条件の乖離度に基づいて、前記制約条件の乖離参考値を算出するステップと、
前記少なくとも一つの計算機が、前記制約条件の乖離参考値に基づいて、前記計画パターン情報を更新するステップと、を含むことを特徴とする学習制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、事象を制御するための処理の順番を規定した計画を生成する計算機システム及びその学習制御方法に関する。
【背景技術】
【0002】
製品の製造計画、並び、業務システムの運用計画及び管理計画等の計画を事前に生成するためには、時間及び空間並びに設備及び人員等のリソースに関する制約を考慮する必要がある。
【0003】
計画の生成には時間、知識、及び経験等が必要であるため、知識を有さないユーザが手動で計画を生成することは難しいことから、従来は、熟練者が手動で計画を生成していた。そのため、熟練者が生成する計画と同等の質の計画を自動的に生成する計算機又はシステムが求められている。
【0004】
事前に判明していない暗黙知を制約条件として加えて計画を生成する技術として特許文献1に記載の技術が知られている。特許文献1には、「所定事象に関して作成された複数の作成済み計画の情報と、作成済み計画各々の作成に用いられた各利用情報とを格納した記憶装置と、所定事象に関して判明済みの制約条件と各利用情報とを所定アルゴリズムに適用して仮計画を複数作成し、各仮計画と該当仮計画に対応する作成済み計画との各組のうち、計画間の類似度が所定基準以下の非類似の組における作成済み計画とその利用情報とを所定アルゴリズムに適用し、計画間の非類似の要因に対応した新規制約条件を生成し、当該新規制約条件および判明済み制約条件を所定の計画生成手段に提供する制約生成処理を実行する演算装置を備える」計画作成支援装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016−189079号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されているように、事前に判明している制約条件及び計画履歴を用いた学習処理を実行することによって、暗黙知が特定される。制約条件が変更された場合、再度、学習処理を実行する必要がある。本明細書では、二回目以降に実行される学習処理を再学習処理と記載する。
【0007】
計画履歴は更新前の制約条件に基づいて生成された計画であるため、全ての計画履歴を再学習処理に用いることはできない。そのため、従来は、ユーザが、使用できる計画履歴を選択し、又は、新たな計画履歴を収集した上で、再学習処理を実行する必要がある。
【0008】
計画履歴の選択及び計画履歴の収集には時間を要する。したがって、制約条件の変更に伴って、新たな計画を自動的かつ迅速に生成することが困難である。
【0009】
本発明は、制約条件の更新に伴って、再学習処理に使用する計画履歴を自動的に選択し、再学習処理を実行する計算機システム及び方法を実現する。
【課題を解決するための手段】
【0010】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、事象を制御するための複数の処理の順番を規定した計画を管理する計算機システムであって、前記計算機システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、前記処理は、前記事象の制御に関連する項目を少なくとも一つ含み、前記計画は、前記少なくとも一つの項目から算出されるパラメータ及び閾値から定義される制約条件、並びに、過去に生成された前記計画である計画履歴における前記制約条件の適合性の傾向を表す乖離参考値から構成される計画パターンに基づいて生成され、前記少なくとも一つの計算機は、前記制約条件を管理するための制約条件情報、前記計画パターンを管理するための計画パターン情報、並びに、前記計画履歴及び前記制約条件に基づいて算出される、前記計画の質を表す評価値を対応づけたデータを管理するための計画履歴情報を保持し、前記制約条件情報に基づいて管理される第一制約条件が更新された場合、前記計画履歴の前記評価値に基づいて、前記計画履歴情報から再利用計画履歴を選択し、前記再利用計画履歴及び前記制約条件に基づく再学習処理を実行することによって、前記計画パターン情報を更新する。
【発明の効果】
【0011】
本発明の一形態によれば、再学習処理に使用する計画履歴を自動的に選択し、迅速な再学習処理を実行することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0012】
図1】実施例1のシステムの構成例を示す図である。
図2】実施例1の制約条件情報のデータ構造の一例を示す図である。
図3】実施例1の計画履歴情報のデータ構造の一例を示す図である。
図4】実施例1の計画のデータ構造の一例を示す図である。
図5】実施例1の計画パターン情報のデータ構造の一例を示す図である。
図6】実施例1の更新制御部が実行する処理を説明するフローチャートである。
図7A】実施例1の学習部が実行する処理を説明するフローチャートである。
図7B】実施例1の学習部が実行する処理を説明するフローチャートである。
図8】実施例1の計画生成部が実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0014】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0015】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0016】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例1】
【0017】
図1は、実施例1のシステムの構成例を示す図である。
【0018】
システムは、計算機100及び対象システム105から構成される。計算機100及び対象システム105は、直接又はネットワークを介して互いに接続される。ネットワークは、例えば、LAN(Local Area Network)及びWAN(Wide Area Network)である。ネットワークの接続方式は有線又は無線のいずれでもよい。なお、計算機100は、ネットワークを介して、ユーザが操作する端末と接続されてもよい。
【0019】
対象システム105は、計画に基づいた事象の制御が行われるシステムである。対象システム105は、例えば、製品を製造する工場及び空調システム等である。
【0020】
計算機100は、対象システム105における事象を制御するための処理の順番を規定した計画を生成する。実施例1の計算機100は、過去に生成された計画を学習し、学習結果及び制約条件に基づいて新たな計画を生成する。
【0021】
対象システム105における事象の制御に関する熟練者は、一部の制約条件が満たされない場合でも事象を適切に制御できることを知識として保持しており、当該知識に基づいて一部の制約条件を満たさない計画を生成する。計算機100は、前述の知識を取り入れた計画を生成するために、過去に生成された計画を用いて、違反が許容される制約条件及び違反の程度を学習する。計算機100は学習結果を計画パターンとして保持する。計算機100は、計画パターン及び制約条件に基づいて新規計画を生成する。
【0022】
計算機100は、ハードウェアとして、演算装置111、記憶装置112、ネットワークインタフェース113、及びIOインタフェース114を有する。各ハードウェアは、内部バスを介して互いに接続される。なお、計算機100は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶媒体を有してもよい。
【0023】
演算装置111は、プロセッサ等であり、記憶装置112に格納されるプログラムを実行する。演算装置111がプログラムにしたがって処理を実行することによって特定の機能を実現する機能部として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置111が当該機能部を実現するプログラムを実行していることを示す。
【0024】
記憶装置112は、メモリ等であり、演算装置111が実行するプログラム及びプログラムが使用する情報を格納する。また、記憶装置112は、プログラムが一時的に使用するワークエリアを含む。記憶装置112に格納されるプログラム及び情報については後述する。
【0025】
ネットワークインタフェース113は、ネットワークを介して他の装置と接続するためのインタフェースである。IOインタフェース114は、入力装置101及び出力装置102と接続するためのインタフェースである。
【0026】
入力装置101は、例えば、キーボード、マウス等のポインティングデバイス、及びタッチパネル等の装置である。出力装置102は、例えば、ディスプレイ及びプリンタ等の装置である。
【0027】
ここで、記憶装置112に格納されるプログラム及び情報について説明する。記憶装置112は、学習部120、計画生成部121、制約条件管理部122、及び更新制御部123を実現するプログラムを格納する。また、記憶装置112は、制約条件情報130、計画履歴情報131、及び計画パターン情報132を格納する。
【0028】
制約条件情報130は、事象に関する制約条件を管理するための情報である。例えば、時間、空間、設備、及び人員等のリソースに関する制約条件及び製品の強度等の品質に関する制約条件が考えられる。制約条件情報130のデータ構造については図2を用いて説明する。
【0029】
計画履歴情報131は、過去に生成された計画、すなわち、計画履歴を管理するための情報である。計画履歴情報131のデータ構造については図3を用いて説明する。
【0030】
計画パターン情報132は、過去に生成された計画における、制約条件の適合性の傾向を表す情報である計画パターンを管理するための情報である。計画パターン情報132のデータ構造については図5を用いて説明する。
【0031】
計画パターンは、各制約条件の乖離参考値の配列として表される。一つの制約条件の乖離参考値は、過去に生成された複数の計画における制約条件の適合性の傾向を表す指標であり、また、制約条件の重要性を表す指標でもある。一つの制約条件の乖離参考値は、計画履歴における一つの制約条件の乖離度に基づいて算出される。一つの制約条件の乖離度は、一つの計画における一つの制約条件の乖離の程度を示す指標である。
【0032】
学習部120は、計画履歴に基づいて、計画の生成に用いる情報を生成又は更新するための学習処理を実行する。より具体的には、学習部120は、対象システム105の稼働前に学習処理を実行することによって計画パターン情報132を生成する。また、学習部120は、更新制御部123からの指示を受信した場合、再度、学習処理を実行することによって計画パターン情報132を更新する。以下の説明では、計画パターン情報132を更新するために実行される学習処理を再学習処理と記載する。
【0033】
計画生成部121は、入力データを受信した場合、制約条件情報130及び計画パターン情報132に基づいて、計画を生成する。ここで、入力データは、実行順番が定められていない、対象システム105における事象を制御するための処理に関するデータ(処理データ)の集合である。計画生成部121は、適切な制御を実現するための処理順番を決定することによって計画を生成する。すなわち、計画は、処理順番が定められた処理データの集合である。
【0034】
制約条件管理部122は、制約条件情報130を管理する。制約条件管理部122は、制約条件の追加、更新、及び削除等を行う。
【0035】
更新制御部123は、学習処理を制御する。更新制御部123は、ネットワークインタフェース113又はIOインタフェース114を介して、学習実行要求及び制約条件更新要求を受信する。制約条件更新要求は、制約条件を更新するための要求であり、制約条件の識別情報及び更新内容を含む。更新内容は、例えば、新たな閾値として設定する値が考えられる。なお、条件式が更新内容として含まれてもよい。
【0036】
なお、計算機100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0037】
図2は、実施例1の制約条件情報130のデータ構造の一例を示す図である。
【0038】
制約条件情報130は、条件ID201、条件式202、及び閾値203から構成されるエントリを格納する。一つのエントリが一つの制約条件に対応する。
【0039】
条件ID201は、制約条件を識別するための識別情報を格納するフィールドである。条件ID201には、例えば、番号が格納される。
【0040】
条件式202は、制約条件として設定される条件式を格納するフィールドである。条件式は処理に関連する項目から算出されるパラメータ及び閾値を示す変数に基づいて定義される。
【0041】
閾値203は、条件式の閾値として設定される値を格納するフィールドである。
【0042】
図3は、実施例1の計画履歴情報131のデータ構造の一例を示す図である。
【0043】
計画履歴情報131は、計画ID301、格納場所302、タイムスタンプ303、及び評価値304から構成されるエントリを格納する。一つのエントリが一つの計画履歴に対応する。
【0044】
計画ID301は、計画を識別するための識別情報を格納するフィールドである。計画ID301には、例えば、番号が格納される。
【0045】
格納場所302は、計画の格納場所を示す値を格納するフィールドである。格納場所302には、例えば、計画を格納する記憶領域のアドレスが格納される。
【0046】
タイムスタンプ303は、計画が生成された時刻を格納するフィールドである。なお、タイムスタンプ303に格納される時刻は、システムが管理する時刻でもよいし、また、計算機100が管理する時刻でもよい。
【0047】
評価値304は、計画の質を表す指標である評価値を格納するフィールドである。満たす制約条件の数が多いほど質が高い計画、すなわち、適切な計画として扱う。また、計画履歴に類似する計画を質が高い計画として扱ってもよい。この場合、評価値は、計画履歴との類似性を示す指標として用いることができる。
【0048】
ここで、計画のデータ構造について説明する。図4は、実施例1の計画のデータ構造の一例を示す図である。
【0049】
計画400は、順番401及び項目402から構成されるエントリを格納する。一つのエントリが一つの処理(処理データ)に対応する。
【0050】
順番401は、処理の実行順番を格納するフィールドである。
【0051】
項目402は、処理に関連する項目を格納するフィールド群である。項目402には、一つ以上のフィールドが含まれる。図4に示す項目402は、材料番号、重さ、及び長さのフィールドを含む。
【0052】
図5は、実施例1の計画パターン情報132のデータ構造の一例を示す図である。
【0053】
計画パターン情報132は、条件ID501及び乖離参考値502から構成されるエントリを格納する。一つのエントリが一つの制約条件の乖離参考値に対応する。条件ID501は、条件ID201と同一のフィールドである。
【0054】
乖離参考値502は、条件ID501に対応する制約条件の乖離参考値を格納するフィールドである。一つの制約条件の乖離参考値は、計画の制約条件の乖離度に基づいて算出される。乖離度は、制約条件の乖離が大きい計画の場合、大きい値となり、制約条件の乖離が小さい計画の場合、小さい値となる。なお、制約条件を満たす計画の乖離度は「0」となる。
【0055】
ここで、実施例1の発明の概要について説明する。まず、乖離参考値及び評価値の関係について説明する。実施例1では、式(1)を用いて計画の評価値が算出される。
【0056】
【数1】
【0057】
(乖離度)は、一つの計画における識別情報が「i」である制約条件の乖離度を表す。(乖離参考値)は、計画パターンにおける識別情報が「i」である制約条件の乖離参考値を表す。
【0058】
制約条件の乖離度は以下のような処理に基づいて算出される。
【0059】
(算出手順1)計算機100は、一つの計画履歴に含まれる処理データを用いて、制約条件で定義されたパラメータの値を算出する。計算機100は、パラメータの値及び閾値の比較結果に基づいて、制約条件を満たすか否かを判定する。
【0060】
(算出手順2)制約条件を満たすと判定された場合、計算機100は、乖離度として「0」を算出する。制約条件を満たさないと判定された場合、計算機100は、パラメータの値及び閾値の差の絶対値、及びパラメータの値及び閾値の比等を乖離度として算出する。
【0061】
また、実施例1では、式(2)を用いて乖離参考値が算出される。
【0062】
【数2】
【0063】
percentileは、配列及び率から値が定まるパーセンタイル関数である。d(i)は各計画履歴における識別情報が「i」である制約条件の乖離度の配列を表し、pはパーセンタイル演算のパラメータを表す。cはd(i)の要素数を表す。nはd(i)の中で識別情報が「i」である制約条件を満たさなかった計画履歴の数、すなわち、値が「0」ではない要素の数を表す。
【0064】
なお、前述の評価値、乖離度、及び乖離参考値の算出方法は一例であって、本発明は各値の算出方法に限定されない。
【0065】
実施例1の計算機100は、評価値に基づいて、制約条件の更新に伴う再学習処理に使用する計画履歴を選択する。
【0066】
制約条件の更新に伴って、乖離度及び乖離参考値は更新されるため、評価値も更新される。そのため、更新された評価値を用いて計画履歴を選択する必要がある。しかし、乖離度及び乖離参考値は、更新された制約条件及び選択された計画履歴に基づいて算出される。前述のように、計画履歴、評価値、及び乖離参考値は、互いに依存した関係であるため、評価値に基づいて計画履歴を選択するためには工夫が必要となる。
【0067】
以下、前述した機能を実現する処理について説明する。まず、計算機100が実行する処理の概要を説明する。
【0068】
計算機100は、対象システム105の計画を生成する前に、予め、学習処理を実行する。学習処理によって、計画パターン情報132が生成される。計算機100は、入力データを受信した場合、制約条件情報130及び計画パターン情報133に基づいて、入力データから計画を生成する。
【0069】
計算機100は、制約条件の更新要求を受信した場合、計画履歴情報131から再学習処理に使用する計画履歴を選択し、選択された計画履歴を用いて再学習処理を実行する。以下の説明では、再学習処理に使用する計画履歴を再利用計画履歴とも記載する。計算機100は、再利用計画履歴を以下のような手順で選択する。
【0070】
(手順1)計算機100は、各計画履歴について、更新された制約条件の乖離度を算出し、当該乖離度が小さい計画履歴を更新用の計画履歴として選択する。計算機100は、更新用の計画履歴の更新対象の制約条件の乖離度に基づいて、更新された制約条件の一時乖離参考値を算出する。
【0071】
(手順2)計算機100は、更新された制約条件の一時乖離参考値及び他の制約条件の乖離参考値に基づいて、一時評価値を算出する。計算機100は、一時評価値に基づいて、再利用計画履歴を選択する。以下、各処理の詳細について説明する。
【0072】
図6は、実施例1の更新制御部123が実行する処理を説明するフローチャートである。
【0073】
更新制御部123は、外部から指示を受信した場合、以下で説明する処理を開始する。
【0074】
更新制御部123は、受信した指示が制約条件更新要求であるか否かを判定する(ステップS101)。
【0075】
受信した指示が制約条件更新要求ではないと判定された場合、すなわち、受信した指示が学習実行要求であると判定された場合、更新制御部123は、学習部120に学習実行要求を出力し(ステップS109)、処理を終了する。
【0076】
受信した指示が制約条件更新要求であると判定された場合、更新制御部123は、制約条件管理部122に制約条件更新要求を出力し、また、学習部120に仮更新要求を出力する(ステップS102)。その後、更新制御部123は、学習部120から更新完了通知を受信するまで、待ち状態に移行する。仮更新要求には、更新対象の制約条件の情報が含まれる。更新対象の制約条件の情報は、例えば、更新対象の制約条件の識別情報のリストである。
【0077】
次に、更新制御部123は、学習部120から更新完了通知を受信したか否かを判定する(ステップS103)。
【0078】
学習部120から更新完了通知を受信していないと判定された場合、更新制御部123は、一定時間経過した後、ステップS103に戻る。
【0079】
学習部120から更新完了通知を受信したと判定された場合、更新制御部123は、計画履歴のループ処理を開始する(ステップS104)。
【0080】
具体的には、更新制御部123は、計画履歴情報131からターゲット計画履歴を選択する。後述するように、更新完了通知を受信した時点では、更新された制約条件に基づいて計画パターン情報132が更新されている。
【0081】
次に、更新制御部123は、ターゲット計画履歴の一時評価値を算出する(ステップS105)。
【0082】
具体的には、更新制御部123は、ターゲット計画履歴について、各制約条件の乖離度を算出する。更新制御部123は、計画パターン情報132から各制約条件の乖離参考値を取得する。計画生成部121は、各制約条件の乖離度及び一時乖離参考値を式(1)に代入することによって一時評価値を算出する。
【0083】
次に、更新制御部123は、全ての計画履歴の処理が完了したか否かを判定する(ステップS106)。
【0084】
全ての計画履歴の処理が完了していないと判定された場合、更新制御部123は、ステップS104に戻り、新たなターゲット計画履歴を選択する。
【0085】
全ての計画履歴の処理が完了したと判定された場合、更新制御部123は、一時評価値に基づいて、再利用計画履歴を選択する(ステップS107)。
【0086】
具体的には、更新制御部123は、計画履歴の一時評価値の平均値及び標準偏差を算出する。更新制御部123は、一時評価値が、一時評価値の平均値及び標準偏差の合計値以下である計画履歴を、再利用計画履歴として選択する。
【0087】
次に、更新制御部123は、学習部120に、再利用計画履歴の情報を含む更新要求を出力し(ステップS108)、処理を終了する。更新要求に含まれる再利用計画履歴の情報は、例えば、再利用計画履歴の識別情報のリストである。
【0088】
なお、更新制御部123は、再利用計画履歴として選択されたなかった計画履歴を計画履歴情報131から削除してもよい。このとき、更新制御部123は、削除される計画履歴をアーカイブとして保持してもよい。
【0089】
なお、更新制御部123は、学習部120によって計画パターン情報132が更新された後、更新された計画パターン情報132及び再利用計画履歴における制約条件の乖離度に基づいて、新たな評価値を算出する。更新制御部123は、計画履歴情報131の各エントリの評価値304に算出した評価値を設定する。
【0090】
図7A及び図7Bは、実施例1の学習部120が実行する処理を説明するフローチャートである。
【0091】
学習部120は、要求を受信した場合、以下で説明する処理を実行する。
【0092】
学習部120は、受信した要求が学習実行要求であるか否かを判定する(ステップS201)。
【0093】
受信した要求が学習実行要求であると判定された場合、学習部120は、計画履歴のループ処理を開始する(ステップS202)。
【0094】
具体的には、学習部120は、計画履歴情報131からターゲット計画履歴を一つ選択する。
【0095】
次に、学習部120は、制約条件のループ処理を開始する(ステップS203)。
【0096】
具体的には、学習部120は、制約条件情報130からターゲット制約条件を一つ選択する。
【0097】
次に、学習部120は、ターゲット計画履歴におけるターゲット制約条件の乖離度を算出する(ステップS204)。具体的には、以下のような処理が実行される。
【0098】
学習部120は、ターゲット計画履歴に含まれる処理データを用いて、ターゲット制約条件で定義されたパラメータの値を算出する。学習部120は、パラメータの値及び閾値の比較結果に基づいて、ターゲット制約条件を満たすか否かを判定する。
【0099】
ターゲット制約条件を満たすと判定された場合、学習部120は、乖離度として「0」を算出する。ターゲット制約条件を満たさないと判定された場合、学習部120は、パラメータの値及び閾値の差の絶対値、又は、パラメータの値及び閾値の比等を乖離度として算出する。
【0100】
このように、一つの計画履歴に対して、各制約条件の乖離度の配列が生成される。以上がステップS204の処理の説明である。
【0101】
次に、学習部120は、全ての制約条件の処理が完了したか否かを判定する(ステップS205)。すなわち、ターゲット計画履歴の全ての制約条件に対する乖離度が算出されたか否かが判定される。
【0102】
全ての制約条件の処理が完了していないと判定された場合、学習部120は、ステップS203に戻り、新たなターゲット制約条件を選択する。
【0103】
全ての制約条件の処理が完了したと判定された場合、学習部120は、全ての計画履歴の処理が完了したか否かを判定する(ステップS206)。
【0104】
全ての計画履歴の処理が完了していないと判定された場合、学習部120は、ステップS202に戻り、新たなターゲット計画履歴を選択する。
【0105】
全ての計画履歴の処理が完了したと判定された場合、学習部120は、計画パターン情報132を生成し(ステップS207)、その後、処理を終了する。具体的には、以下のような処理が実行される。
【0106】
学習部120は、全ての計画履歴の各制約条件の乖離度を式(2)に代入して、各制約条件の乖離参考値を算出する。
【0107】
学習部120は、計画パターン情報132を生成し、計画パターン情報132に制約条件の数だけエントリを生成する。学習部120は、生成された各エントリの条件ID501に制約条件の識別情報を設定し、また、各エントリの乖離参考値502に制約条件に対応する乖離参考値を設定する。以上がステップS207の処理の説明である。
【0108】
ステップS201において、受信した要求が学習実行要求でないと判定された場合、学習部120は、受信した要求が仮更新要求であるか否かを判定する(ステップS208)。
【0109】
受信した要求が仮更新要求であると判定された場合、学習部120は、計画履歴のループ処理を開始する(ステップS209)。
【0110】
具体的には、学習部120は、制約条件情報130及び仮更新要求に含まれる更新対象の制約条件の情報に基づいて、ターゲット計画履歴を一つ選択する。
【0111】
次に、学習部120は、更新対象の制約条件のループ処理を開始する(ステップS210)。
【0112】
具体的には、学習部120は、更新対象の制約条件の中からターゲット制約条件を一つ選択する。
【0113】
次に、学習部120は、ターゲット計画履歴におけるターゲット制約条件の乖離度を算出する(ステップS211)。制約条件の乖離度の算出方法は、ステップS204と同一である。
【0114】
次に、学習部120は、全ての更新対象の制約条件の処理が完了したか否かを判定する(ステップS212)。すなわち、ターゲット計画履歴の全ての更新対象の制約条件に対する乖離度が算出されたか否かが判定される。
【0115】
全ての更新対象の制約条件の処理が完了していないと判定された場合、学習部120は、ステップS210に戻り、新たなターゲット制約条件を選択する。
【0116】
全ての更新対象の制約条件の処理が完了したと判定された場合、学習部120は、全ての計画履歴の処理が完了したか否かを判定する(ステップS213)。
【0117】
全ての計画履歴の処理が完了していないと判定された場合、学習部120は、ステップS209に戻り、新たなターゲット計画履歴を選択する。
【0118】
全ての計画履歴の処理が完了したと判定された場合、学習部120は、更新対象の制約条件の乖離度に基づいて更新用の計画履歴を選択する(ステップS214)。
【0119】
具体的には、学習部120は、更新対象の制約条件の乖離度が小さい順に、所定の数の計画履歴を、更新用の計画履歴として選択する。更新対象の制約条件が複数存在する場合、学習部120は、各更新対象の制約条件の乖離度の合計値が小さい順に、所定の数の計画履歴を、更新用の計画履歴として選択する。なお、選択する計画履歴の数は、予め設定されているものとする。ただし、選択する計画履歴の数は任意のタイミングで更新できる。
【0120】
次に、学習部120は、更新用の計画履歴における更新対象の制約条件の乖離度に基づいて、更新対象の制約条件の一時乖離参考値を算出する(ステップS215)。乖離参考値の算出方法は、ステップS207で用いた算出方法と同様である。ただし、更新用の計画履歴の乖離度のみを用いて更新対象の制約条件の一時乖離参考値が算出される点が異なる。学習部120は、計画パターン情報132を参照して、更新対象の制約条件のエントリの乖離参考値502に算出された一時乖離参考値を上書きする。
【0121】
次に、学習部120は、更新制御部123に更新完了通知を出力し(ステップS216)、その後、処理を終了する。
【0122】
ステップS208において、受信した要求が仮更新要求でないと判定された場合、すなわち、受信した要求が更新要求であると判定された場合、学習部120は、再利用計画履歴のループ処理を開始する(ステップS217)。
【0123】
具体的には、学習部120は、再利用計画履歴の中からターゲット計画履歴を一つ選択する。
【0124】
次に、学習部120は、制約条件のループ処理を開始する(ステップS218)。
【0125】
具体的には、学習部120は、制約条件情報130からターゲット制約条件を一つ選択する。
【0126】
次に、学習部120は、ターゲット計画履歴におけるターゲット制約条件の乖離度を算出する(ステップS219)。乖離度の算出方法は、ステップS204で用いた算出方法と同様である。
【0127】
次に、学習部120は、全ての制約条件の処理が完了したか否かを判定する(ステップS220)。
【0128】
全ての制約条件の処理が完了していないと判定された場合、学習部120は、ステップS218に戻り、新たなターゲット制約条件を選択する。
【0129】
全ての制約条件の処理が完了したと判定された場合、学習部120は、全ての再利用計画履歴の処理が完了したか否かを判定する(ステップS221)。
【0130】
全ての再利用計画履歴の処理が完了していないと判定された場合、学習部120は、ステップS217に戻り、再利用計画履歴の中から新たなターゲット計画履歴を選択する。
【0131】
全ての再利用計画履歴の処理が完了したと判定された場合、学習部120は、計画パターン情報132を更新し(ステップS222)、その後、処理を終了する。
【0132】
具体的には、学習部120は、各制約条件の乖離度に基づいて、各制約条件の乖離参考値を算出する。学習部120は、計画パターン情報132を参照し、全ての制約条件に対応するエントリの乖離参考値502に算出された乖離参考値を上書きする。
【0133】
図8は、実施例1の計画生成部121が実行する処理を説明するフローチャートである。
【0134】
計算機100は、ネットワークインタフェース103又はIOインタフェース104を介して入力データを受信した場合、以下で説明する処理を開始する。
【0135】
計画生成部121は、入力データを取得し(ステップS301)、制約条件情報130、計画パターン情報132、及び入力データに基づいて処理の順番を決定することによって、新規計画を生成する(ステップS302)。一つの入力データに対して生成される新規計画の数は二つ以上でもよい。
【0136】
計画生成部121は、原則、全ての制約条件を満たす新規計画を生成する。ただし、実施例1の計画生成部121は、計画パターン情報132に基づいて、一部の制約条件を満たしていない新規計画を生成する。例えば、計画生成部121は、制約条件の閾値に乖離参考値を加算又は乗算することによって、制約条件を補正し、補正された制約条件に基づいて新規計画を生成する。これによって、乖離度が大きい制約条件を満たしていない計画が生成される。
【0137】
計画の生成方法は、例えば、数理計画法及び線形計画法等を用いることが考えられる。なお、本発明は計画の生成方法に限定されない。計画の生成方法は、制約条件及び生成する計画に応じて選択することができる。
【0138】
次に、計画生成部121は、新規計画のループ処理を開始する(ステップS303)。
【0139】
具体的には、計画生成部121は、新規計画の中からターゲット新規計画を選択する。
【0140】
次に、計画生成部121は、ターゲット新規計画の評価値を算出する(ステップS304)。
【0141】
具体的には、計画生成部121は、ターゲット新規計画について、各制約条件の乖離度を算出する。計画生成部121は、計画パターン情報132から各制約条件の乖離参考値を取得する。計画生成部121は、各制約条件の乖離度及び乖離参考値を式(1)に代入することによって評価値を算出する。
【0142】
次に、計画生成部121は、全ての新規計画について処理が完了したか否かを判定する(ステップS305)。
【0143】
全ての新規計画について処理が完了していないと判定された場合、計画生成部121は、ステップS303に戻り、新たなターゲット新規計画を選択する。
【0144】
全ての新規計画について処理が完了したと判定された場合、計画生成部121は、評価値に基づいて出力する新規計画を選択する(ステップS306)。
【0145】
例えば、計画生成部121は、評価値が最も大きい新規計画を選択する。また、計画生成部121は、評価値が高い順に所定の数の新規計画を選択する。
【0146】
次に、計画生成部121は、選択された新規計画を出力する(ステップS307)。その後、計画生成部121は、処理を終了する。
【0147】
このとき、計画生成部121は、新規計画の履歴を計画履歴情報131に格納する。なお、生成された全ての新規計画の履歴を計画履歴情報131に格納してもよいし、選択された新規計画の履歴を計画履歴情報131に格納してもよい。
【0148】
実施例1によれば、計算機100は、制約条件が更新された場合、計画履歴の中から再学習に使用する計画履歴を自動的に選択することができる。これによって、制約条件の更新に伴う再学習処理を迅速に実行することができる。また、一時評価値に基づいて選択された再利用計画履歴を用いた再学習処理を実行することによって、計画の質の低下を防止することができる。
【0149】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0150】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0151】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0152】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0153】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0154】
100 計算機
101 入力装置
102 出力装置
103 ネットワークインタフェース
104 IOインタフェース
105 対象システム
111 演算装置
112 記憶装置
113 ネットワークインタフェース
114 IOインタフェース
120 学習部
121 計画生成部
122 制約条件管理部
123 更新制御部
130 制約条件情報
131 計画履歴情報
132 計画パターン情報
図1
図2
図3
図4
図5
図6
図7A
図7B
図8