JP2022078529A - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP2022078529A
JP2022078529A JP2020189264A JP2020189264A JP2022078529A JP 2022078529 A JP2022078529 A JP 2022078529A JP 2020189264 A JP2020189264 A JP 2020189264A JP 2020189264 A JP2020189264 A JP 2020189264A JP 2022078529 A JP2022078529 A JP 2022078529A
Authority
JP
Japan
Prior art keywords
parameter
information
information processing
prediction
module
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.)
Granted
Application number
JP2020189264A
Other languages
English (en)
Other versions
JP7543094B2 (ja
Inventor
浩也 松葉
Hiroya Matsuba
杜青 松本
Morio Matsumoto
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 JP2020189264A priority Critical patent/JP7543094B2/ja
Publication of JP2022078529A publication Critical patent/JP2022078529A/ja
Application granted granted Critical
Publication of JP7543094B2 publication Critical patent/JP7543094B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Figure 2022078529000001
【課題】現実に発生し得るパターンを網羅性高くシミュレーションで再現すること。
【解決手段】プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する情報処理装置は、最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの範囲を前記パラメータごとに設定する設定処理と、前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理と、前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理と、を実行する。
【選択図】図1

Description

本発明は、情報を処理する情報処理装置、情報処理方法、および情報処理プログラムに関する。
システムの運用を最適化する際に、最適化対象をシミュレーションにより再現し、その結果を利用して最適な行動を算出する技術がある。たとえば、特許文献1は、最適解の算出に用いていないリスク(予測誤差範囲)に関連させて、売上高を最適化する価格の最適解を出力するため、ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける指標受付手段と、販売数と価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、目的関数で求められる売上高が最大になるように価格を最適化する最適化手段とを含み、最適化手段は、予測値を入力とし、指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように価格を最適化する最適化システムを開示する。
また、特許文献2は、最適化のために多くのデータを作成し、また、予測値の不確実性を考慮した上で最適な結果を得るための制御変数の値を特定する最適化システムを開示する。この最適化システムは、分析対象をモデル化した情報であって、予測値およびその誤差範囲を含むパラメータを含むとともに制御変数および目的変数を含む情報であるモデルが与えられ、前記目的変数の値を特定するシミュレーション毎に前記制御変数の値を決定し、前記モデルに基づいて前記シミュレーションを複数回実行するシミュレーション手段と、複数回のシミュレーションによって得られた前記目的変数の各値と、前記複数回のシミュレーション毎に決定された前記制御変数の各値とに基づいて、前記目的変数の値が最適値となるときの前記制御変数の値を特定する制御変数値特定手段とを備え、前記シミュレーション手段は、シミュレーション毎に乱数と前記パラメータとによって前記予測値の確定値を決定し、前記制御変数の値と前記予測値の確定値とを用いてシミュレーションを実行する。
国際公開第2017/135322号 特開2016-126404号公報
シミュレーションに基づいた最適化を行うにあたり、シミュレーションに誤差が生じることがある。誤差の原因のひとつは、シミュレーションで入力するパラメータの正確な値が不明であることである。パラメータとは、たとえば、シミュレーションの初期条件を示す数値、動きを調整する数値、シミュレーションモデルで捉えられない細部を補正する数値のように、シミュレーション処理結果に影響を与える変動要素である。
パラメータの値に不確定性がある場合に、パラメータを1つの値に固定した上でのシミュレーション結果を用いて行動の最適化が実行されたとする。この最適化において、選択したパラメータと現実との間にずれがある場合には、算出された最適化結果は現実とは異なった仮定に基づくデータとなり、最適化結果の有効性は不明である。
乱数によりパラメータの値を複数個選択し、複数回のシミュレーションを行う方法も考えられる。しかし、現実のシステムが乱数にて選択したパラメータのいずれかに近い推移を示すとは限らない。現実世界(シミュレーション対象)のシステムの時間経過が、選択したいずれのパラメータによるシミュレーションとも一致しなかった場合、やはりそのようなシミュレーションに基づいた最適化結果の有効性は不明である。
本発明は、現実に発生し得るパターンを網羅性高くシミュレーションで再現することを目的とする。
本願において開示される発明の一側面となる情報処理装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する情報処理装置であって、前記プロセッサは、最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの範囲を前記パラメータごとに設定する設定処理と、前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理と、前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理と、を実行することを特徴とする。
本発明の代表的な実施の形態によれば、現実に発生し得るパターンを網羅性高くシミュレーションで再現することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、実施例1にかかる最適化システムのブロック構成例を示すブロック図である。 図2は、実施例1にかかる最適化システムによる最適化処理の一例を示すフローチャートである。 図3は、モデルテンプレート情報の一例を示す説明図である。 図4は、図2に示したデータ取得モジュールによるデータ取得処理(ステップS203)の詳細な処理手順例を示すフローチャートである。 図5は、ステップS404において作成される取得データ履歴情報の一例を示す説明図である。 図6は、図2に示したモデルパラメータ評価モジュールによるモデルパラメータ評価処理の詳細な処理手順例を示すフローチャートである。 図7は、予測モデル情報の一例を示す説明図である。 図8は、図2に示した最適化計算実行モジュールによる最適化計算処理(ステップS205)の詳細な処理手順例を示すフローチャートである。 図9は、パラメータインスタンス情報の一例を示す説明図である。 図10は、図8に示した予測条件生成モジュールによる予測条件生成処理(ステップS802)の詳細な処理手順例を示すフローチャートである。 図11は、正規分布の累積分布関数の一例を示すグラフである。 図12は、図8に示した試行モジュールによる試行処理(ステップS807)の詳細な処理手順例を示すフローチャートである。 図13は、行動関数情報の一例を示す説明図である。 図14は、図12に示した予測計算実行モジュールによる予測計算処理(ステップS1203)の詳細な処理手順例を示すフローチャートである。 図15は、実施例2にかかる最適化システムのブロック構成例を示すブロック図である。 図16は、実施例2にかかる実行前確認モジュールによる実行前確認処理の一例を示すフローチャートである。 図17は、実施例3にかかる最適化システムのブロック構成例を示すブロック図である。 図18は、実施例3にかかる最適化計算実行モジュールによる最適化計算処理(ステップS205)の詳細な処理手順例を示すフローチャートである。 図19は、仮想実行モジュールによる仮想実行処理の一例を示すフローチャートである。
以下に示す各実施例は、シミュレーションを用いながら最適化対象における行動を最適化する技術であり、特に、シミュレーションに誤差がある場合でも有効な最適化結果を得る。以下、添付図面を用いて詳細に説明する。
<最適化システムの構成例>
図1は、実施例1にかかる最適化システムのブロック構成例を示すブロック図である。最適化システム1は、サイバー空間の予測モデルによる予測に基づいて最適施策を立案するサイバーフィジカルシステムである。最適化対象には、たとえば、サイネージによる人流誘導計画、店員配置最適化、警備員配置最適化、クーポン配信計画最適化、台風の進路のような自然現象予測および当該自然現象に対する避難計画最適化を実行するシステムがある。サイバーフィジカルシステムにおいては、予測と現実とのずれが不可避である。予測に基づいて将来の一定期間の施策を最適化した場合に、その施策実行中は最適化計画の有効性が失われないよう、現実に起こり得るパターンを網羅性高く再現しておくのが最適化システム1である。
最適化システム1は、1台以上(図1では1台)のコンピュータ(情報処理装置)により構成される。最適化システム1は、プロセッサ15、通信装置16、およびメモリ17を有する。また、最適化システム1は、通信装置16を介して、センサ2、出力装置3、および入力装置4と接続される。センサ2は、カメラ、赤外線センサ、温度計、騒音計、風速計、雨量計など様々な実測値を取得する機器である。
プロセッサ15は、メモリ17に格納されるプログラムを実行する。プロセッサ15がプログラムを実行することによって、最適化システム1の機能を実現できる。以下、プログラムを主語に処理を説明する場合、プロセッサ15によってプログラムが実行されていることを示す。
メモリ17は、書込みおよび読み出しが可能なデータを記憶する記憶デバイスであり、たとえば、DRAM(Dynamic Random Access Memory)のような半導体メモリがある。メモリ17は、ソフトウェアモジュールを記憶する。具体的には、たとえば、メモリ17は、ソフトウェアモジュールとして、モデル作成モジュール11と、最適化モジュール12と、予測モジュール13と、を記憶する。ソフトウェアモジュールは、1つ以上のソフトウェアプログラムと情報とにより構成され、あるまとまりのある機能を実現するソフトウェア部品である。
通信装置16は、プロセッサ15から入出力命令を受けて、メモリ17に格納された情報を外部に出力したり、または外部からの情報をメモリ17に格納したりする。通信装置16は、たとえば、USB(Universal Serial Bus)コントローラである。
つぎに、最適化システム1のソフトウェア構成について説明する。モデル作成モジュール11は、プログラムとして、データ取得モジュール110、モデルパラメータ評価モジュール111を有する。また、モデル作成モジュール11は、情報として、モデルテンプレート情報115、取得データ履歴情報116、および予測モデル情報117を有する。
モデル作成モジュール11の主な処理は、モデルパラメータ評価モジュール111によって実行される。モデルパラメータ評価モジュール111は、ユーザ入力であるモデルテンプレート情報115と取得データ履歴情報116とを用いてシミュレーションにおけるパラメータの範囲を計算し、計算結果として予測モデル情報117を出力する。モデルパラメータ評価モジュール111の処理の詳細は図6を用いて後述する。
データ取得モジュール110は、モデルパラメータ評価モジュール111が必要とするデータを取得するために、センサ2よりデータを取得し、取得データ履歴情報116として格納する。データ取得モジュール110の詳しい処理は図4を用いて後述する。
最適化モジュール12は、プログラムとして、最適化計算実行モジュール120を有する。また、最適化モジュール12は、情報として、最適化目的情報125、パラメータインスタンス情報126、および行動関数情報127を有する。さらに、最適化計算実行モジュール120は、プログラムとして、予測条件生成モジュール1201および試行モジュール1202を有する。
最適化モジュール12は、最適化システム1の主要処理を担う部分であり、最適化対象についての最適化結果を生成する。最適化モジュール12の主な処理は、最適化計算実行モジュール120によって実行される。最適化計算実行モジュール120は、予測条件生成モジュール1201から予測モデル情報117を受け取り、パラメータインスタンス情報126を生成する。パラメータインスタンス情報126は、シミュレーションを実行する条件の組み合わせである。
そして、最適化計算実行モジュール120は、試行モジュール1202において、パラメータインスタンス情報126とユーザ入力である最適化目的情報125とを用いて、予測モジュール13を利用しながら最適な行動を行うための情報である行動関数情報127と、を生成する。
予測条件生成モジュール1201は、最適化対象に関するパラメータインスタンス情報126を、将来の起こり得る状態を広く網羅するよう生成する。したがって、行動関数情報127は、網羅されたすべての状況に対応できる情報となる。
行動関数情報127は、最適化システム1の出力でもあるため、出力装置3に送信されファイルなどに保存される。最適化計算実行モジュールの処理の詳細は図5を用いて後述する。予測条件生成モジュール1201の処理の詳細は図6を用いて後述する。試行モジュール1202の処理の詳細は図12を用いて後述する。
予測モジュール13は、プログラムとして、予測計算実行モジュール130を有する。また、予測モジュール13は、情報として、最適化対象に関する予測条件情報136および状態情報137を有する。予測モジュール13は、最適化モジュール12による計算に活用されることを目的に、最適化対象について状態と行動とを入力としたシミュレーションを行い、最適化対象の行動後の新たな状態を計算するシミュレータである。
予測モジュール13の主要な処理は、予測計算実行モジュール130によって実行される。予測計算実行モジュール130は、予測条件情報136を受け取り、予測モデル情報117を用いて次の状態を計算し、状態情報137を更新する。予測計算実行モジュール130の処理の詳細は図14を用いて後述する。
なお、実施例1に示すソフトウェアモジュールの構成や、ソフトウェアモジュールのソフトウェアプログラムの構成は一例である。最適化システム1全体として所望の機能を提供するものであれば、最適化システム1内部で、ソフトウェアモジュールおよびソフトウェアプログラムをどのような機能分担で設計してもよい。また、ソフトウェアモジュールの少なくとも1つは、それ以外の他のソフトウェアモジュールとは異なるコンピュータに実装されてもよい。以下、各構成の処理について説明する。まず、図2を用いて、最適化システム1の全体的な処理を説明する。
<最適化処理>
図2は、実施例1にかかる最適化システム1による最適化処理の一例を示すフローチャートである。最適化システム1は、最適化対象に関する最適化処理を開始する(ステップS200)。ステップS200は、たとえば、最適化システム1に通電を開始すること、またはプログラムを起動することにより実現される。
最適化システム1は、モデルテンプレート情報115をユーザからの入力として受け付ける(ステップS201)。最適化システム1は最適化目的情報125をユーザからの入力として受け付ける(ステップS202)。ステップS201およびS202の入力は、たとえば、入力装置4を通じて最適化システム1のユーザによって行われる。入力装置4は、たとえば、キーボードであるが、その他の手段でも構わない。
最適化システム1は、データ取得モジュール110を起動することにより、データ取得処理を実行する(ステップS203)。データ取得モジュール110は、データ取得処理(ステップS203)により、取得データ履歴情報116を作成する。
最適化システム1は、モデルパラメータ評価モジュール111を起動することにより、モデルパラメータ評価処理を実行する(ステップS204)。モデルパラメータ評価モジュール111は、モデルパラメータ評価処理(ステップS204)により、予測モデル情報117を作成する。
最適化システム1は、最適化計算実行モジュール120を起動することにより、最適化計算処理を実行する(ステップS205)。最適化計算実行モジュール120は、最適化計算処理(ステップS205)により、行動関数情報127を作成する。この行動関数情報127が最適化システム1の出力である。最適化システム1は、行動関数情報127を出力して(ステップS206)、一連の処理を終了する(ステップS207)。
最適化システム1は、ステップS206の出力を出力装置3によって行う。出力装置3は、たとえば、ファイルシステムであり、この場合、最適化システム1は、行動関数情報127をディスク上のデータとして出力する。つぎに、上記ステップS201およびS202で受け付ける情報について説明する。
<モデルテンプレート情報115>
図3は、モデルテンプレート情報115の一例を示す説明図である。モデルテンプレート情報115は、最適化対象をモデル化した予測モデルに関するテンプレート情報であり、具体的には、たとえば、フィールドとして、モデル名301、モデル式302、およびモデルパラメータ303を有し、メモリ17に保持される。
モデル名301は、予測モデルを特定するための名称で任意の文字列または整数値である。モデル式302は、予測モデルの内容を示す数式である。モデル式302は、たとえば、予測モデルを計算機可読な形式で表現した関数である。モデル式302は、当該関数が格納されているアドレスへのポインタでもよい。モデルパラメータ303は、予測モデルを利用して結果の数値を得る計算の際に必要な入力変数である。すなわち、モデルパラメータ303は、モデル式302に含まれる。
同一行の各フィールド301~303の値の組み合わせが1つのテンプレートを示すエントリとなる。たとえば、一行目のエントリは、[M1、プログラムp、(a,b)]のような情報であり、それぞれ、モデル名301が「M1」、モデル式302がプログラムp(または、pが格納されているアドレスへのポインタ)、モデルパラメータ303が(a,b)であることを示すテンプレートTである。モデルパラメータ303の具体的な値は、この予測モデルが使用されるときに決定される。
図1に戻り、最適化目的情報125は、評価式と評価式パラメータとの組み合わせにより構成され、メモリ17に保持される。評価式は、評価式パラメータを入力として、その評価式パラメータ(たとえば、行動)の良否を数値として出力する関数である。評価式は、たとえば、モデル式302と同様に、関数を実装した計算機プログラム、または、当該計算機プログラムが格納されているアドレスへのポインタである。評価式パラメータは、評価式に入力するパラメータである。評価式パラメータの具体的な値は、最適化目的情報125が使用されるときに決定される。最適化目的情報125は、たとえば、いわゆる強化学習における行動価値関数に相当する。上記それぞれのステップで作成される情報の構造については、それぞれのステップの処理の詳細と共に後述する。
以上が、最適化システム1の全体的な処理である。ステップS204にてモデルパラメータ評価モジュール111が作成する予測モデル情報117が、モデルパラメータの範囲の情報を有する。ステップS206にて最適化計算実行モジュール120が、このモデルパラメータの範囲の情報を用いて、将来の状況を幅広く網羅して最適化を実行する。これにより、予想される多くの状況に対応できる行動関数情報127が出力される。つぎに図4~図9を用いて、各モジュールの詳細な処理を説明する。
<データ取得処理(ステップS203)>
図4は、図2に示したデータ取得モジュール110によるデータ取得処理(ステップS203)の詳細な処理手順例を示すフローチャートである。データ取得モジュール110は、通信装置16に情報が到着しているか否かを判定する(ステップS401)。ここで、通信装置16には様々種類のデータが到着し得る。
たとえば、図1の構成においては、センサ2または入力装置4からのデータが到着し得る。ステップS401においては、センサ2からの入力があった場合のみを真と判定し(ステップS401:Yes)、それ以外の機器からの入力では真とは判定されないものとする(ステップS401:No)。このような入力の選別はステップS401の実行前に、データ取得モジュール110から通信装置16に、入力対象機器を設定することなどで実現可能である。
ステップS401の判定が真であるとき(ステップS401:Yes)、データ取得モジュール110は、通信装置16より到着したデータを読み込む(ステップS402)。この時、データ取得モジュール110は、通信装置16の機能により、データと同時に当該データを発生させたセンサ2の種類を特定する(ステップS403)。データ取得モジュール110は、ステップS402にて読み込んだデータを、ステップS403にて特定したセンサ2のセンサ名502と共に、取得データ履歴情報116として保存して(ステップS404)、ステップS401に戻る。ステップS401の判定が偽の場合(ステップS401:No)、データ取得モジュール110はデータ取得処理(ステップS203)を終了し、ステップS204に移行する。
<取得データ履歴情報116>
図5は、ステップS404において作成される取得データ履歴情報116の一例を示す説明図である。取得データ履歴情報116は、フィールドとして、取得日時501と、センサ名502と、実測値503と、を有する。同一行の各フィールド501~503の値の組み合わせがセンサデータを示すエントリとなる。たとえば、一行目のエントリは、取得日時501である2020年6月17日の10時3分21.005秒に、センサ名502が「Y」であるセンサ2から「20.3」という実測値503が取得されたセンサデータであることを示す。
<モデルパラメータ評価処理(ステップS204)>
図6は、図2に示したモデルパラメータ評価モジュール111によるモデルパラメータ評価処理の詳細な処理手順例を示すフローチャートである。モデルパラメータ評価モジュール111は、モデルテンプレート情報115からモデルテンプレートを取得する(ステップS601)。具体的には、たとえば、モデルパラメータ評価モジュール111は、テンプレートTを読み出す。モデルパラメータ評価モジュール111は、テンプレートTのモデルパラメータ303を参照し、そのモデルパラメータ303に対応するセンサ2を特定する(ステップS602)。
実施例1では、モデルパラメータ303の値であるアルファベット小文字をアルファベット大文字にするとセンサ名502になる。たとえば、モデルパラメータ303の値「a」に対応するセンサデータは、センサ名502が「A」であるセンサ2から得られる。これは一例であり、センサデータとモデルパラメータ303の関係はこの例よりも複雑でもよい。たとえば、センサデータに一定の計算式を当てはめた結果をモデルパラメータ303とすることも可能である。
または、モデルパラメータ評価モジュール111は、複数のセンサデータからモデルパラメータ303の値を算出する関数によりモデルパラメータ303の値とセンサデータとを関連付けてもよい。いずれの場合も、ステップS602では、モデルパラメータ評価モジュール111は、それぞれのモデルパラメータ303について、それに対応するセンサ2の一覧を取得する。
モデルパラメータ評価モジュール111は、ステップS602で特定したすべてのセンサ2について、取得データ履歴情報116から、当該センサ2からの実測値503をすべて取得する(ステップS603)。具体的には、たとえば、モデルパラメータ評価モジュール111は、モデルパラメータ303が「a」の場合、センサ名502が「A」の実測値503である「13.4」および「12.4」を取得する。
モデルパラメータ評価モジュール111は、テンプレートTのモデルパラメータ303について、その分布をステップS603で取得した実測値503を用いて推定し、分布情報を出力する(ステップS604)。分布情報とは、たとえば、モデルパラメータ303の最も確からしい値とそのばらつきを示す値とを推定する分布を規定する情報であり、具体的には、たとえば、たとえば、平均値と分散(標準偏差でもよい)である。
具体的には、たとえば、モデルパラメータ評価モジュール111は、モデルパラメータ303であるa,bの各々について正規分布等の分布を仮定し、テンプレートTのモデル式302を用いてMCMC(Markov Chain Monte Carlo Methods:マルコフ連鎖モンテカルロ法)や粒子フィルタの手法を適用する。これにより、モデルパラメータ303の分布が推定可能である。
モデルパラメータ評価モジュール111は、ステップS604において算出した分布情報をテンプレートTに追加することにより、分布が追加されたテンプレートTを予測モデル情報117として保存する(ステップS605)。これにより、モデルパラメータ評価処理(ステップS204)が終了して、ステップS205に移行する。
<予測モデル情報117>
図7は、予測モデル情報117の一例を示す説明図である。予測モデル情報117は、フィールドとして、モデル名301、モデル式302、モデルパラメータ303、および分布情報700を有し、メモリ17に保持される。同一行の各フィールド301~303,700の値の組み合わせが、予測モデルを規定するエントリとなる。分布情報700は、値として、たとえば、分布の種類とそのパラメータとを含む。
たとえば、「N」は正規分布を示す。「N(10.2,3.2)」は、モデルパラメータaの正規分布を規定し、「10.2」が平均、「3.2」が分散を示す。同様に、N(1.6,0.2)は、モデルパラメータbの正規分布を規定し、「1.6」が平均、「0.2」が分散を示す。分布情報700は、モデルパラメータ303の分布が表現できれば任意の形式でよい。
<最適化計算処理(ステップS205)>
図8は、図2に示した最適化計算実行モジュール120による最適化計算処理(ステップS205)の詳細な処理手順例を示すフローチャートである。最適化計算実行モジュール120は、入力として使用回数Mを取得する(ステップS801)。使用回数Mは、後述するモデルパラメータ303の値の組み合わせをシミュレーションする最低回数である。最適化計算実行モジュール120が使用回数Mを取得する方法は任意であり、たとえば、プログラムに埋め込む、または実行時にユーザ入力を受け付けるなどの方法がある。
最適化計算実行モジュール120は、予測条件生成モジュール1201を起動し、予測条件生成処理を実行し、予測条件として、パラメータインスタンス情報126を生成する(ステップS802)。予測条件生成処理(ステップS802)の詳細については図10で後述する。
<パラメータインスタンス情報126>
図9は、パラメータインスタンス情報126の一例を示す説明図である。パラメータインスタンス情報126は、予測モデルごとに生成される。図9では、一例として、モデル名301が「M1」の予測モデルM1に関するパラメータインスタンス情報126を示す。以降、予測モデルM1を例に挙げて説明する。
パラメータインスタンス情報126は、フィールドとして、第1モデルパラメータ901と、第2モデルパラメータ902と、使用回数903と、を有する。第1モデルパラメータ901は、予測モデルM1のモデルパラメータ303である(a,b)のうちaを示す。第2モデルパラメータ902は、予測モデルM1のモデルパラメータ303である(a,b)のうちbを示す。使用回数903は、その第1モデルパラメータ901および第2モデルパラメータ902の組み合わせのシミュレーションでの使用回数である。デフォルトでは、使用回数903は「0」であり、後述するステップS804において加算される。
図8に戻り、最適化計算実行モジュール120は、パラメータインスタンス情報126に格納されているすべての第1モデルパラメータ901および第2モデルパラメータ902の組み合わせ(以下、モデルパラメータ組)について、使用回数903がM以上になるまで、ステップS804からS807の処理を繰り返す(ステップS803:No)。たとえば、図9に示した(7.0,1.58)、(7.0,1.60)、…、(13.4,1.60)は、それぞれ、モデルパラメータ組である。ここで「M」とはステップS801で受け取った正の整数値である。
最適化計算実行モジュール120は、パラメータインスタンス情報126からモデルパラメータ組を1つ選択し、選択したモデルパラメータ組の使用回数903を1加算する(ステップS804)。この選択の方法は任意の方法でよいが、できる限りパラメータインスタンス情報126の全組み合わせを偏りなく選択する方法が望ましい。たとえば、ランダムに選択する、またはパラメータインスタンス情報126が表形式の場合は上から順に選択するなどの方法がある。
最適化計算実行モジュール120は、予測モジュール13の予測条件情報136に、ステップS804で選択したモデルパラメータ組を設定し、予測モジュール13の予測条件情報136以外の情報を初期状態に設定する(ステップS805)。
最適化計算実行モジュール120は、予測モジュール13が終了状態になるまで(ステップS806:No)、試行モジュール1202を繰り返し起動して、試行モジュール1202により試行処理を実行する(ステップS807)。試行処理(ステップS807)は、試行モジュール1202により、パラメータインスタンス情報126(予測条件情報136)と最適化目的情報125とを用いて、行動関数情報127を生成する処理であり、その詳細は図12で後述する。
予測モジュール13が終了状態になった場合(ステップS806:Yes)、最適化計算実行モジュール120は、パラメータインスタンス情報126内のすべてのモデルパラメータ組をM回以上使用した後(ステップS803:Yes)、行動関数情報127を出力する(ステップS808)。行動関数情報127は試行モジュール1202によって作成される情報であり、詳細は後述する。これにより、最適化計算処理(ステップS205)が終了し、ステップS206に移行する。
最適化計算実行モジュール120の動作は、パラメータインスタンス情報126から1つのモデルパラメータ組を受け取り、そのモデルパラメータ組を、予測モジュール13が初期状態から終了状態になるまで変更することなく使用する。これにより、予測モジュール13の1ステップごとにモデルパラメータ組を変更する場合と比較し、非現実的なパラメータ組の変更が抑制される効果がある。
<予測条件生成処理(ステップS802)>
図10は、図8に示した予測条件生成モジュール1201による予測条件生成処理(ステップS802)の詳細な処理手順例を示すフローチャートである。予測条件生成モジュール1201は、入力としてサンプル数Nを取得する(ステップS1001)。サンプル数Nは、1以上の整数であり、作成するモデルパラメータ303の各々における値の個数である。たとえば、予測条件生成モジュール1201は、モデルパラメータa,bの各々についてN個の値を作成することになる。予測条件生成モジュール1201がサンプル数Nを取得する方法は任意であり、プログラムに埋め込む、または実行時にユーザ入力を受け付けるなどの方法がある。
予測条件生成モジュール1201は、予測モデル情報117を読み込む(ステップS1002)。予測条件生成モジュール1201は、予測モデル情報117のすべてのモデルパラメータ303について、ステップS1004からステップS1005の処理を繰り返し行う(ステップS1003:No)。
予測条件生成モジュール1201は、予測モデル情報117からモデルパラメータ303を1個選択し、選択したモデルパラメータ303の分布情報700を取得する(ステップS1004)。たとえば、選択したモデルパラメータ303が「a」であれば、分布情報700として、「N(10.2,3.2)」が取得される。
予測条件生成モジュール1201は、選択したモデルパラメータ303について、取得した分布情報700で特定される分布の累積分布関数における選択したモデルパラメータ303の累積分布関数の値の範囲が所定の確率の範囲となるように、選択したモデルパラメータ303が取り得る値の範囲を設定する(ステップS1005)。
そして、予測条件生成モジュール1201は、選択したモデルパラメータ303が取り得る値の範囲から、選択したモデルパラメータ303の値をN個選択する(ステップS1006)。ここで、予測条件生成モジュール1201が選択したモデルパラメータ303の具体的な値は、後に予測モジュール13に入力される値である。
また、分布情報700に従ってモデルパラメータ303の値を選択する方法としては、たとえば、累積分布関数の逆関数にN個の数値を等間隔に入力し、出力されたモデルパラメータ303の値を用いるといった方法がある。図11で、モデルパラメータaを例に挙げて説明する。
図11は、正規分布の累積分布関数の一例を示すグラフである。横軸Xは、第1モデルパラメータ901(モデルパラメータa)が取り得る数値軸であり、縦軸Yは、第1モデルパラメータ901(モデルパラメータa)に対応する分布の累積分布関数の値yを示す数値軸である。図11では、分布の70%(0.15≦a≦0.85)を起こり得る範囲だと考える場合の処理方法を示す。当該範囲は、当該分布の平均からの±1σの範囲に対応する。y=F(x)は、第1モデルパラメータ901(モデルパラメータa)の分布情報700(N(10.2,3.2))が示す正規分布の累積分布関数である。累積分布関数の値yが0.15から0.85の間にN個の点を等間隔に取り、その点に対応するモデルパラメータaの値(CとDの間の区間に位置することになる)が、前記の選択されたモデルパラメータの値aである。
図10に戻り、予測条件生成モジュール1201は、すべてのモデルパラメータ303についてN個の具体的な数値を発生させた後(ステップS1003:Yes)、各モデルパラメータ303の値の組み合わせをすべて作成し(本例ではNをモデルパラメータ数に等しい回数乗じた数の組み合わせがある。本例では、N個。)、パラメータインスタンス情報126の第1モデルパラメータ901および第2モデルパラメータ902の組み合わせ(パラメータ組)として保存する(ステップS1006)。この時点で、予測条件生成モジュール1201は、パラメータインスタンス情報126の使用回数903を0に初期化する。以上で予測条件生成処理(ステップS802)は終了し、ステップS803に移行する。
なお、ステップS1005において、予測条件生成モジュール1201は、予測モジュール13が行う予測計算が将来起こり得る状況を網羅的に再現するためのモデルパラメータ組を生成するための任意の方法が使用できる。たとえば、前記のように各モデルパラメータについて偏りなく分布に従った数値をN個発生する方法が考えられる。
また、シミュレーション結果への影響の大きなモデルパラメータ303については具体的な数値を多数発生させ、結果への影響の小さいモデルパラメータ303については具体的な数値の発生数を少数に留めるなど、予測モデルの性質に応じてモデルパラメータ303の値の発生の手法を変える方法も考えられる。すべてのモデルパラメータ303について同数のN個の数値を発生させる必要もなく、モデルパラメータ303のシミュレーション結果への影響度やモデルパラメータ303間の関係性に応じてモデルパラメータ303ごとに発生させる数値の数を異なる値にすることも可能である。
<試行処理(ステップS807)>
図12は、図8に示した試行モジュール1202による試行処理(ステップS807)の詳細な処理手順例を示すフローチャートである。試行モジュール1202は、予測モジュール13から状態情報137を取得する(ステップS1201)。状態情報137とは、シミュレーション状態を表現する数値の集合である。具体的には、たとえば、試行モジュール1202は、予測計算処理(ステップS1203)による状態情報137の更新前の行動関数情報127(図13)において最もスコアが高い状態を、状態情報137として取得する。試行モジュール1202は、ステップS1201で受け取った状態に応じて、行動関数情報127を用いて次に取るべき行動を選択する(ステップS1202)。
<行動関数情報127>
図13は、行動関数情報127の一例を示す説明図である。行動関数情報127とは、状態1301を入力とし、その状態1301における最も適切な行動1302を返す情報である。図13では表形式の例を示したが、状態1301を示す値が連続値であったり、状態1301の数が膨大であったりする場合には効率的でない。したがって、表の代わりに、状態1301の値の範囲で記録したり、ニューラルネットワークで表現したりするなど、行動関数情報127の表現方法は任意である。
図12に戻り、試行モジュール1202は、ステップS1202で選択した行動1302を予測計算実行モジュール130に入力し、予測計算実行モジュール130により予測計算処理を開始する(ステップS1203)。予測計算処理(ステップS1203)は、モデル式302に従って、次の状態1301を計算して状態情報137を更新する処理であり、図14で後述する。
試行モジュール1202は、予測計算処理(ステップS1203)の終了後、予測計算実行モジュール130によって更新された状態情報137を取得する(ステップS1204)。試行モジュール1202は、ステップS1201で取得した状態情報137(更新前において最もスコアが高い状態1301)、ステップS1202で選択した行動1302、およびステップS1204で取得した更新された状態情報137を、最適化目的情報125の評価式パラメータとして、評価式に入力し、ステップS1202で選択した行動1302のスコアを算出する(ステップS1205)。スコアの高さが、ステップS1202で選択した行動1302の良否を示す。このスコアは、たとえば、強化学習における行動価値関数が出力するQ値である。
試行モジュール1202は、ステップS1202で選択した行動1302とそのスコアに基づいて、行動関数情報127を更新して(ステップS1206)、ステップS806に戻る。具体的には、たとえば、試行モジュール1202は、ステップS1205で算出したスコアが、ステップS804で選択されたモデルパラメータ組における過去のスコアよりも高いスコアであれば、ステップS1202で選択した行動1302は良い行動であると判定する。この場合、試行モジュール1202は、ステップS1204で取得した更新された状態情報137が示す状態1301と、ステップS1202で選択した行動1302と、の組み合わせを、行動関数情報127の新規エントリとして追加する。
この試行処理(ステップS807)は、モデルフリー強化学習に分類される手法の一例であるが、状態1301に応じた適切な行動1302を学習する手法は任意の手法でよい。
<予測計算処理(ステップS1203)>
図14は、図12に示した予測計算実行モジュール130による予測計算処理(ステップS1203)の詳細な処理手順例を示すフローチャートである。予測計算実行モジュール130は、試行モジュール1202から、ステップS1202で選択された行動1302を取得する(ステップS1401)。予測計算実行モジュール130は、予測条件情報136を取得する(ステップS1402)。予測条件情報136は、ステップS804で選択したモデルパラメータ組を含む情報である。また、予測計算実行モジュール130は、予測モデル情報117(図7)を取得する(ステップS1403)。
予測計算実行モジュール130は、予測条件情報136のモデルパラメータ組を、取得した予測モデル情報117のモデル式302に入力することにより、最適化対象がステップS1202で選択された行動1302を取った場合の次の状態を計算する(ステップS1404)。予測計算実行モジュール130は、状態情報137を、ステップS1404によって計算された次の状態に更新し(ステップS1405)、ステップS1204に移行する。
ステップS1405において、予測モジュール13の予測時刻があらかじめ設定された時刻に達する、または次に進むことのできない状態に到達するなど、予測の継続を行わない状態になった場合、予測計算実行モジュール130は、状態情報137に終了状態を示すデータを含める。この終了状態の情報は、最適化計算実行モジュール120がステップS806で実行する判定に用いられる。
このように、実施例1によれば、最適化システム1は、シミュレーションに基づいた最適化にあたり、シミュレーションに設定すべきモデルパラメータ303の組み合わせを乱数に拠らずに網羅性高く発生させ、それらすべてのモデルパラメータ303によりシミュレーションを実行した上で最適化結果を得る。したがって、将来起こり得る多様な状況を網羅性高くシミュレーションで再現することができる。
つぎに、実施例2について説明する。実施例2は、実施例1の予測モデルに現在の実測値503を与えた場合に、その実測値503が実施例1の予測モデルに基づく予測の範囲内にあるか否かを確認する。現在の実測値が過去の予測の範囲内であれば、ユーザはその予測に基づく最適化結果を信頼して利用することができる。実施例2では、実施例1との相違点を中心に説明するため、実施例1との共通点については説明を省略する。
<最適化システムの構成例>
図15は、実施例2にかかる最適化システムのブロック構成例を示すブロック図である。実施例2では、最適化システム1は実行モジュール14を有する。実行モジュール14は、最適化モジュール12による最適化処理により得られた行動関数情報127に基づいて、最適化対象が任意の行動を起こす際に起動される。
実行モジュール14は、実行前確認モジュール141および現在データ情報145を有する。実行前確認モジュール141は、行動関数情報127に基づく行動を実行する前に、現在の最適化対象の状態を確認し、現状が最適化の前提となったシミュレーション条件に含まれていることを確認する。この処理により、最適化システム1は、行動関数情報127に基づく行動が有効か否かを確認することができる。実行モジュール14の処理は、実行前確認モジュール141により実行される。
<実行前確認処理>
図16は、実施例2にかかる実行前確認モジュール141による実行前確認処理の一例を示すフローチャートである。実行前確認モジュール141は、ユーザからの開始命令により起動する(ステップS1600)。この時、最適化システム1は、実施例1で説明したすべての手順を、最低1回は実行済みであるとする。
実行前確認モジュール141は、データ取得モジュール110を起動し、データ取得モジュール110によりデータ取得処理を実行する(ステップS1601)。データ取得処理(ステップS1601)は、実施例1のデータ取得処理(ステップS203)(図4)と同一処理であるため、説明を省略する。
実行前確認モジュール141は、取得データ履歴情報116(図5)から、各センサ2について最新(現在から所定期間前まで)のセンサデータを抜き出し、現在データ情報145にコピーする(ステップS1602)。実行前確認モジュール141は、予測モデル情報117の各モデルパラメータ303について、現在データ情報145にコピーされたセンサデータから実測値503を取得する(ステップS1603)。
モデルパラメータ評価モジュール111のステップS602にて説明したのと同様、実施例2ではモデルパラメータ303の名称を大文字に変換したセンサ名502を持つセンサ2の実測値503をモデルパラメータ303の具体的な値とするが、ここには変換関数が存在してもよく、また、複数のセンサ2の実測値503に対して何かしらの計算を行い、モデルパラメータ303の具体的な値としてもよい。
実行前確認モジュール141は、ステップS1603で取得した、各モデルパラメータ303に対応するセンサ2の実測値503が、予測モデル情報117の分布情報700で規定される分布の中心に十分に近いかを判定する(ステップS1604)。この判定(ステップS1604)は、具体的には、たとえば、予測条件生成モジュール1201のステップS1005で発生したモデルパラメータ303の範囲(図11のCとDとの間の区間)が利用される。図11に示したように、シミュレーションのモデルパラメータ303としてCからDの間の値をステップS1005で発生させた場合、この判定(ステップS1604)においても、実行前確認モジュール141は、実測値503がCからDの間にあることを確認する。
実行前確認モジュール141は、すべての予測モデル情報117のすべてのモデルパラメータ303に対して上記確認を実行し、すべてのモデルパラメータ303のすべての実測値503が当該範囲内であれば真を返し、1つでも範囲外のモデルパラメータ303があれば偽を返し、終了する(ステップS1605)。
実行前確認モジュール141は、その判定結果をユーザに視認可能に出力する。判定結果が真であれば、ユーザは、最新の実測値503が予測の範囲内にあることを知ることができる。図16の説明では、実測値503を最近のセンサデータとして説明したが、実測値503を得る方法は他にも考えられる。
たとえば、直近数点の平均を使用する、またはモデルパラメータ評価モジュール111を再度実行し、最近のデータを含めた予測モデル情報117を作成し、その予測の平均を現在値とすることも可能である。さらに、現在の実測値503を1つの値にすることも必須でなく、前述のように予測モデル情報117を更新した上で、新たなパラメータの推定範囲が、最適化計算実行モジュール120を実行した時点での推定の範囲内にあるか否かを判定することも可能である。
なお、実施例2では、実行前確認モジュール141は、取得データ履歴情報116(図5)から、各センサ2について最新のセンサデータを抜き出し、現在データ情報145にコピーした(ステップS1602)。しかしながら、コピーの対象となるセンサデータは、最新(現在から所定期間前まで)のセンサデータに限らず、当該所定期間よりも過去の期間でもよい。すなわち、当該過去の期間においても、予測モデルによる予測が正しかったかを確認する場合にも適用可能である。
このように、実施例2によれば、最適化システム1は、行動関数情報127に基づく行動が有効か否かを確認することができる。
つぎに、実施例3について説明する。実施例3は、最適化の結果得られた行動関数情報127に基づく行動を実行する前に、予測モジュール13を用いて当該行動を起こした場合の結果をシミュレーションにて確認し、その安全性を確かめる例である。実施例3では、実施例1および実施例2との相違点を中心に説明するため、実施例1および実施例2との共通点については説明を省略する。
<最適化システムの構成例>
図17は、実施例3にかかる最適化システムのブロック構成例を示すブロック図である。実施例3では、データに基づいた予測モデルの作成が不要であるため、モデル作成モジュール11は、モデルテンプレート情報115とモデルパラメータ情報119を有する。モデルパラメータ情報119は、モデルテンプレート情報115にあるモデルパラメータ303に設定する具体的な数値である。実施例3にかかる最適化システム1は、図2に示した実施例1にかかる最適化システム1と同様に動作するが、ステップS203およびステップS204は存在しない。一方、ステップS202の後に、最適化システム1は、ユーザから入力としてモデルパラメータ情報119を取得する。
<最適化計算処理(ステップS205)>
図18は、実施例3にかかる最適化計算実行モジュール120による最適化計算処理(ステップS205)の詳細な処理手順例を示すフローチャートである。実施例3における最適化計算実行モジュール120は、予測条件生成処理(ステップS802)を実行しない。
最適化計算実行モジュール120は、予測モジュール13の予測条件情報136にモデルパラメータ情報119を設定し、予測モジュール13を初期状態に設定する(ステップS1801)。最適化計算実行モジュール120は、予測モジュール13が終了状態になるまで(ステップS1802:No)、試行モジュール1202を繰り返し起動して試行処理を実行する(ステップS1803)。試行処理(ステップS1803)は、試行処理(ステップS807)と同一処理内容であるため説明を省略する。予測モジュール13が終了状態になった場合(ステップS1802:Yes)、最適化計算実行モジュール120は、行動関数情報127を出力して(ステップS1804)、ステップS206に移行する。
また、図17において、実行モジュール14は、仮想実行モジュール143、現在データ情報145、および安全範囲情報148を有する。安全範囲情報148は、予測モジュール13が有するシミュレータの状態を表す状態変数(状態情報137として実施例1にて説明)の一部または全部について、正常な状況にてそれぞれの値が取り得る範囲を示した情報である。安全範囲情報148は、ユーザによる入力としてあらかじめ与えられる。
<仮想実行処理>
図19は、仮想実行モジュール143による仮想実行処理の一例を示すフローチャートである。仮想実行モジュール143は、上述した最適化システム1の動作を少なくとも1回実行させた後、ユーザの命令によって仮想実行処理を開始する(ステップS1900)。
仮想実行モジュール143は、現在データ情報145を用いてモデルパラメータ情報119を生成する(ステップS1901)。モデルパラメータ評価モジュール111のステップS602にて説明したのと同様、実施例3ではモデルパラメータ303の名称を大文字に変換したセンサ名502を持つセンサ2の実測値503をモデルパラメータ303の具体的な値とするが、ここには変換関数が存在してもよく、また、複数のセンサ2の値に対して何かしらの計算を行い、パラメータの具体的な値としてもよい。
仮想実行モジュール143は、現在データ情報145を行動関数情報127に入力し、現状で最も適切とされる行動を選択する(ステップS1902)。
仮想実行モジュール143は、ステップS1902で選択した行動を予測条件情報136に入力し、予測計算実行モジュール130による予測計算処理を実行する(ステップS1903)。予測計算処理(ステップS1903)は、予測計算処理(ステップS1203)と同一処理内容であるため説明を省略する。予測計算処理(ステップS1903)により、状態情報137が更新される。
つぎに、仮想実行モジュール143は、更新された状態情報137を取得し、状態情報137の値が安全範囲情報148に示された値の範囲外にある変数があるか否かを確認する(ステップS1904)。仮想実行モジュール143は、ステップS1905で一つでも範囲外の変数があれば(ステップS1905:Yes)、仮想実行モジュール143は、偽を返して終了する(ステップS1906)。すべて範囲内の場合は(ステップS1905:No)、仮想実行モジュール143は、真を返し終了する(ステップS1907)。これにより、仮想実行処理が終了する。
仮想実行モジュール143は、行動の安全性を確認するモジュールである。ステップS1906において偽が返された場合、偽の判定結果は、現在の状態から選択した行動を実行に移すと危険な状態に陥る可能性があることを示す。この場合、最適化システム1のユーザは、たとえば、行動の実行の中止などを判断する。
仮想実行モジュール143は、現在の状態から1ステップのみ先を実行モジュール14にて計算するが、任意のステップ数繰り返すことは可能である。また、現在データ情報145としてセンサデータを利用する際に複数の種類の方法があるのは実施例2で説明した内容と同様である。
このように、実施例3によれば、最適化システム1は、最適化の結果得られた行動関数情報127に基づく行動を実行する前に、予測モジュール13を用いて当該行動を起こした場合の結果の安全性をシミュレーションにて確認する。したがって、最適化システム1が最適化対象を制御可能であれば、最適化システム1は、最適化対象を安全に制御することができる。
また、上述した実施例1および実施例2にかかる情報処理装置は、下記(1)~(8)のように構成することもできる。
(1)情報処理装置は、プログラム(各種ソフトウェアモジュール)を実行するプロセッサ15と、前記プログラムを記憶するメモリ17と、を有し、前記プロセッサ15は、最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの累積分布関数の値が所定の確率の範囲となるように、前記パラメータの範囲を前記パラメータごとに設定する設定処理(ステップS1005)と、前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理(ステップS1006)と、前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理(ステップS1007)と、を実行する。
(2)上記(1)の情報処理装置において、前記生成処理では、前記プロセッサ15は、前記パラメータごとに設定された前記パラメータの範囲内の値の各々を、前記複数のパラメータ間で組み合わせることにより、前記予測条件(パラメータ組)を生成する。
(3)上記(1)の情報処理装置において、前記選択処理では、前記プロセッサ15は、前記累積分布関数に基づく前記所定の確率の範囲を等間隔で分割した各確率値に対応する前記パラメータの値の各々を選択する。
(4)上記(1)の情報処理装置において、前記プロセッサ15は、前記パラメータの実測値を取得して、前記パラメータの最も確からしい値とそのばらつきを示す値とを推定する前記パラメータの分布を推定する推定処理(ステップS604)を実行し、前記設定処理では、前記プロセッサ15は、前記複数のパラメータの各々について、前記推定処理によって推定された前記パラメータの分布に基づく累積分布関数の値が前記所定の確率の範囲となるように、前記パラメータの範囲を前記パラメータごとに設定する。
(5)上記(1)の情報処理装置において、前記プロセッサ15は、所定期間内の前記パラメータの実測値を取得する取得処理(ステップS1601~S1603)と、前記取得処理によって取得された実測値が前記パラメータの範囲内であるか否かを判定する判定処理(ステップS1604)と、前記判定処理による判定結果を出力する出力処理(ステップS1605)と、を実行する。
(6)上記(1)の情報処理装置において、前記プロセッサ15は、前記予測モデルに前記予測条件を設定することにより、前記最適化対象の前記状態および前記行動から前記状態の前記次の状態を予測する予測処理(ステップS1203)と、を実行する。
(7)上記(6)の情報処理装置において、前記プロセッサ15は、前記状態、前記行動、および前記次の状態に基づいて、前記行動を評価するスコアを算出する算出処理(ステップS1205)と、前記算出処理によって算出されたスコアに基づいて、前記行動と前記次の状態との組み合わせを出力する出力処理(ステップS1206)と、を実行する。
(8)上記(7)の情報処理装置において、前記プロセッサ15は、前記次の状態が所定の安全範囲内であるか否かを判定する判定処理(ステップS1904)を実行し、前記出力処理では、前記プロセッサ15は、前記判定処理による判定結果を出力する(ステップS1905~S1907)。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1 最適化システム
2 センサ
11 モデル作成モジュール
12 最適化モジュール
13 予測モジュール
14 実行モジュール
15 プロセッサ
17 メモリ
110 データ取得モジュール
111 モデルパラメータ評価モジュール
115 モデルテンプレート情報
116 取得データ履歴情報
117 予測モデル情報
117 予測モデル
119 モデルパラメータ情報
120 最適化計算実行モジュール
125 最適化目的情報
126 パラメータインスタンス情報
127 行動関数情報
130 予測計算実行モジュール
136 予測条件情報
137 状態情報
141 実行前確認モジュール
143 仮想実行モジュール
143 行動関数情報
143 仮想実行モジュール
145 現在データ情報
148 安全範囲情報
303 モデルパラメータ
1201 予測条件生成モジュール
1202 試行モジュール

Claims (9)

  1. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する情報処理装置であって、
    前記プロセッサは、
    最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの範囲を前記パラメータごとに設定する設定処理と、
    前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理と、
    前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理と、
    を実行することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記生成処理では、前記プロセッサは、前記パラメータごとに設定された前記パラメータの範囲内の値の各々を、前記複数のパラメータ間で組み合わせることにより、前記予測条件を生成する、
    ことを特徴とする情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記プロセッサは、
    前記パラメータの実測値を取得して、前記パラメータの確率分布を推定する推定処理を実行し、
    前記設定処理では、前記プロセッサは、前記複数のパラメータの各々について、前記推定処理によって推定された前記確率分布を用いて、前記パラメータの値の各々を偏りなく選択する
    ことを特徴とする情報処理装置。
  4. 請求項1に記載の情報処理装置であって、
    前記プロセッサは、
    所定期間内の前記パラメータの実測値を取得する取得処理と、
    前記取得処理によって取得された実測値が前記パラメータの範囲内であるか否かを判定する判定処理と、
    前記判定処理による判定結果を出力する出力処理と、
    を実行することを特徴とする情報処理装置。
  5. 請求項1に記載の情報処理装置であって、
    前記プロセッサは、
    前記予測モデルに前記予測条件を設定することにより、前記最適化対象の前記状態および前記行動から前記状態の前記次の状態を予測する予測処理と、
    を実行することを特徴とする情報処理装置。
  6. 請求項5に記載の情報処理装置であって、
    前記プロセッサは、
    前記状態、前記行動、および前記次の状態に基づいて、前記行動を評価するスコアを算出する算出処理と、
    前記算出処理によって算出されたスコアに基づいて、前記行動と前記次の状態との組み合わせを出力する出力処理と、
    を実行することを特徴とする情報処理装置。
  7. 請求項6に記載の情報処理装置であって、
    前記プロセッサは、
    前記次の状態が所定の安全範囲内であるか否かを判定する判定処理を実行し、
    前記出力処理では、前記プロセッサは、前記判定処理による判定結果を出力する、
    ことを特徴とする情報処理装置。
  8. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する情報処理装置が実行する情報処理方法であって、
    前記情報処理方法は、
    前記プロセッサが、
    最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの範囲を前記パラメータごとに設定する設定処理と、
    前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理と、
    前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理と、
    を実行することを特徴とする情報処理方法。
  9. プロセッサに、
    最適化対象の状態および行動から前記状態の次の状態を予測する予測モデルを構成する複数のパラメータの各々について、前記パラメータの範囲を前記パラメータごとに設定する設定処理と、
    前記設定処理によって設定された前記パラメータの範囲内における前記パラメータの値を前記パラメータごとに選択する選択処理と、
    前記選択処理によって前記パラメータごとに選択された前記パラメータの値に基づいて、前記予測モデルに設定する予測条件を生成する生成処理と、
    を実行させることを特徴とする情報処理プログラム。
JP2020189264A 2020-11-13 2020-11-13 情報処理装置、情報処理方法、および情報処理プログラム Active JP7543094B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020189264A JP7543094B2 (ja) 2020-11-13 2020-11-13 情報処理装置、情報処理方法、および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020189264A JP7543094B2 (ja) 2020-11-13 2020-11-13 情報処理装置、情報処理方法、および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2022078529A true JP2022078529A (ja) 2022-05-25
JP7543094B2 JP7543094B2 (ja) 2024-09-02

Family

ID=81706979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020189264A Active JP7543094B2 (ja) 2020-11-13 2020-11-13 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7543094B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022125133A (ja) * 2017-10-13 2022-08-26 株式会社三洋物産 遊技機

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178492A (ja) 2002-11-29 2004-06-24 Mitsubishi Heavy Ind Ltd 強化学習法を用いたプラントシミュレーション方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022125133A (ja) * 2017-10-13 2022-08-26 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
JP7543094B2 (ja) 2024-09-02

Similar Documents

Publication Publication Date Title
JP5768834B2 (ja) プラントモデル管理装置及び方法
CN100565496C (zh) 空间模拟装置和方法
CN109416408A (zh) 震中距估计装置、震中距估计方法以及计算机可读记录介质
US20200250586A1 (en) Parameter estimation system, parameter estimation method, and parameter estimation program recording medium
JP7497516B2 (ja) 等式制約を代数モデルに課すための射影方法
US20200027013A1 (en) Model estimation system, method, and program
CN111652453A (zh) 用于零件设计、仿真和制造的智能工作流程顾问
Jebeile et al. Multi-model ensembles in climate science: Mathematical structures and expert judgements
JP7207596B1 (ja) 運転支援装置、運転支援方法及びプログラム
JPWO2019155928A1 (ja) 情報処理装置、プログラム、プロセス処理実行装置及び情報処理システム
JP7267883B2 (ja) 材料特性予測システムおよび材料特性予測方法
JP2022078529A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP6012860B2 (ja) 作業時間推定装置
Kleijnen Design and analysis of computational experiments: overview
JP2020177509A (ja) 計算機及びデータ処理方法
Arroyo et al. A Python-based toolbox for model predictive control applied to buildings
JP5582487B2 (ja) プロセスの状態予測方法
KR102200443B1 (ko) Lbm 기반의 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
Bueno Computer simulations: An inferential conception
JP2016045536A (ja) 設計支援装置
JP7239309B2 (ja) シミュレーション装置及びプログラム
JP2021120833A (ja) モデル更新装置及び方法並びにプロセス制御システム
JP2010049392A (ja) Pidコントローラのチューニング装置、pidコントローラのチューニング用プログラムおよびpidコントローラのチューニング方法
JPWO2019142728A1 (ja) 制御装置、制御方法およびプログラム
JP6726312B2 (ja) シミュレーション方法、システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240821

R150 Certificate of patent or registration of utility model

Ref document number: 7543094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150