(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】判定装置、判定方法、および、判定プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20231003BHJP
G05B 13/04 20060101ALI20231003BHJP
G05B 13/02 20060101ALI20231003BHJP
【FI】
G05B23/02 H
G05B23/02 302S
G05B13/04
G05B13/02 L
(21)【出願番号】P 2021033964
(22)【出願日】2021-03-03
【審査請求日】2022-03-04
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】後藤 宏紹
(72)【発明者】
【氏名】鹿子木 宏明
(72)【発明者】
【氏名】古川 陽太
(72)【発明者】
【氏名】小渕 恵一郎
(72)【発明者】
【氏名】川原 瑞夫
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開2017-185577(JP,A)
【文献】国際公開第2009/151078(WO,A1)
【文献】特許第6813231(JP,B1)
【文献】特開2020-027556(JP,A)
【文献】特開2003-084805(JP,A)
【文献】米国特許出願公開第2020/0306960(US,A1)
【文献】特開2020-129301(JP,A)
【文献】特開2011-059873(JP,A)
【文献】特開2001-254111(JP,A)
【文献】特開昭61-279904(JP,A)
【文献】特開2003-044102(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 13/00
(57)【特許請求の範囲】
【請求項1】
制御対象の制御方法を制御器によるフィードバック制御と制御モデルによるAI制御との間で切り替え可能な判定装置であって、
前記制御対象が設けられた設備の状態を示す状態データを取得する状態データ取得部と、
前記制御対象の操作量を示す操作量データを取得する操作量データ取得部と、
前記状態データおよび前記操作量データを用いて、前記設備の状態に応じた前記操作量を出力する前記制御モデルを機械学習により生成する制御モデル生成部と、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションするシミュレーション部と、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の前記AI制御の可否を判定する判定部と
を備え、
前記判定部によって前記制御モデルによる前記制御対象の前記AI制御が可能であると判定された場合、前記制御モデル
が出力する前記操作量による前記制御対象の前記AI制御を行い、
前記判定部によって前記制御モデルによる前記制御対象の前記AI制御が可能でないと判定された場合、
前記制御器が出力する前記操作量による前記制御対象の前記フィードバック制御を行い、
前記制御モデル生成部は、前記制御対象の前記フィードバック制御が行われている場合、前記フィードバック制御における前記操作量データを用いて、前記制御モデルを生成する、判定装置。
【請求項2】
前記判定部は、前記シミュレーション結果に基づいて前記設備が正常に運転可能な期間が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項1に記載の判定装置。
【請求項3】
前記判定部は、前記シミュレーション結果に基づいて前記設備が正常に運転可能と判断された回数が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項1または2に記載の判定装置。
【請求項4】
前記シミュレーション結果を出力する出力部を更に備え、
前記判定部は、前記シミュレーション結果が出力されたことに応じて制御を許可する旨の指示を取得した場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項1から3のいずれか一項に記載の判定装置。
【請求項5】
前記制御モデルによる前記制御対象の前記AI制御が可能であると判定された場合に、前記制御対象に対して前記制御モデルによる制御を開始するように指示する指示部を更に備える、請求項1から4のいずれか一項に記載の判定装置。
【請求項6】
前記制御モデル生成部は、前記制御モデルによる前記制御対象の前記AI制御が可能でないと判定された場合に、前記機械学習により前記制御モデルを再生成する、請求項1から5のいずれか一項に記載の判定装置。
【請求項7】
前記機械学習の収束を判断する収束判断部を更に備え、
前記シミュレーション部は、前記機械学習が収束したと判断された場合に、前記設備の状態をシミュレーションする、請求項1から6のいずれか一項に記載の判定装置。
【請求項8】
前記収束判断部は、前記機械学習が開始されてからの経過時間に基づいて前記機械学習の収束を判断する、請求項7に記載の判定装置。
【請求項9】
前記収束判断部は、前記機械学習における評価関数の値に基づいて前記機械学習の収束を判断する、請求項7または8に記載の判定装置。
【請求項10】
前記制御モデル生成部は、前記状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、前記制御モデルを生成する、請求項1から9のいずれか一項に記載の判定装置。
【請求項11】
制御対象の制御方法を制御器によるフィードバック制御と制御モデルによるAI制御との間で切り替え可能な判定方法であって、
前記制御対象が設けられた設備の状態を示す状態データを取得する段階と、
前記制御対象の操作量を示す操作量データを取得する段階と、
前記状態データおよび前記操作量データを用いて、前記設備の状態に応じた前記操作量を出力する前記制御モデルを機械学習により生成する段階と、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションする段階と、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の前記AI制御の可否を判定する段階と、
前記制御モデルによる前記制御対象の前記AI制御の可否を判定する段階で前記制御モデルによる前記制御対象の前記AI制御が可能であると判定された場合、前記制御モデル
が出力する前記操作量による前記制御対象の前記AI制御を行う段階と、
前記制御モデルによる前記制御対象の前記AI制御の可否を判定する段階で前記制御モデルによる前記制御対象の前記AI制御が可能でないと判定された場合、
前記制御器が出力する前記操作量による前記制御対象の前記フィードバック制御を行う段階と
を備え、
前記制御モデルを機械学習により生成する段階は、前記制御対象の前記フィードバック制御が行われている場合、前記フィードバック制御における前記操作量データを用いて、前記制御モデルを生成する段階を含む、判定方法。
【請求項12】
前記制御モデルによる前記制御対象の前記AI制御の可否を判定する段階は、前記シミュレーション結果に基づいて前記設備が正常に運転可能な期間が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項11に記載の判定方法。
【請求項13】
前記制御モデルによる前記制御対象の前記AI制御の可否を判定する段階は、前記シミュレーション結果に基づいて前記設備が正常に運転可能と判断された回数が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項11または12に記載の判定方法。
【請求項14】
コンピュータにより実行されて、制御対象の制御方法を制御器によるフィードバック制御と制御モデルによるAI制御との間で切り替え可能な判定プログラムであって、前記コンピュータを、
前記制御対象が設けられた設備の状態を示す状態データを取得する状態データ取得部と、
前記制御対象の操作量を示す操作量データを取得する操作量データ取得部と、
前記状態データおよび前記操作量データを用いて、前記設備の状態に応じた前記操作量を出力する前記制御モデルを機械学習により生成する制御モデル生成部と、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションするシミュレーション部と、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の前記AI制御の可否を判定する判定部と
して機能させ、
前記判定部によって前記制御モデルによる前記制御対象の前記AI制御が可能であると判定された場合、前記コンピュータに前記制御モデル
が出力する前記操作量による前記制御対象の前記AI制御を行わせ、
前記判定部によって前記制御モデルによる前記制御対象の前記AI制御が可能でないと判定された場合、前記コンピュータに
前記制御器が出力する前記操作量による前記制御対象の前記フィードバック制御を行わせ、
前記制御モデル生成部は、前記制御対象の前記フィードバック制御が行われている場合、前記フィードバック制御における前記操作量データを用いて、前記制御モデルを生成する、判定プログラム。
【請求項15】
前記判定部は、前記シミュレーション結果に基づいて前記設備が正常に運転可能な期間が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項14に記載の判定プログラム。
【請求項16】
前記判定部は、前記シミュレーション結果に基づいて前記設備が正常に運転可能と判断された回数が予め定められた閾値を超えると判断された場合に、前記制御モデルによる前記制御対象の前記AI制御が可能であると判定する、請求項14または15に記載の判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、判定方法、および、判定プログラムに関する。
【背景技術】
【0002】
特許文献1には、「ロボットの各関節を駆動するモータに掛かる外乱に対する該ロボットの教示位置の補正量を機械学習し、機械学習した結果に基づいて、ロボットが教示位置へと移動する際に外乱を抑えるように教示位置を補正しながら制御する」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2018-202564号公報
【発明の概要】
【0003】
(項目1)
本発明の第1の態様においては、判定装置を提供する。判定装置は、制御対象が設けられた設備の状態を示す状態データを取得する状態データ取得部を備えてよい。判定装置は、上記制御対象の操作量を示す操作量データを取得する操作量データ取得部を備えてよい。判定装置は、上記状態データおよび上記操作量データを用いて、上記設備の状態に応じた上記操作量を出力する制御モデルを機械学習により生成する制御モデル生成部を備えてよい。判定装置は、シミュレーションモデルを用いて、上記制御モデルが出力する上記操作量を上記制御対象に与えた場合における上記設備の状態をシミュレーションするシミュレーション部を備えてよい。判定装置は、シミュレーション結果に基づいて、上記制御モデルによる上記制御対象の制御の可否を判定する判定部を備えてよい。
【0004】
(項目2)
上記判定部は、上記シミュレーション結果に基づいて上記設備が正常に運転可能な期間が予め定められた閾値を超えると判断された場合に、上記制御モデルによる上記制御対象の制御が可能であると判定してよい。
【0005】
(項目3)
上記判定部は、上記シミュレーション結果に基づいて上記設備が正常に運転可能と判断された回数が予め定められた閾値を超えると判断された場合に、上記制御モデルによる上記制御対象の制御が可能であると判定してよい。
【0006】
(項目4)
判定装置は、上記シミュレーション結果を出力する出力部を更に備え、上記判定部は、上記シミュレーション結果が出力されたことに応じて制御を許可する旨の指示を取得した場合に、上記制御モデルによる上記制御対象の制御が可能であると判定してよい。
【0007】
(項目5)
判定装置は、上記制御モデルによる上記制御対象の制御が可能であると判定された場合に、上記制御対象に対して上記制御モデルによる制御を開始するように指示する指示部を更に備えてよい。
【0008】
(項目6)
上記制御モデル生成部は、上記制御モデルによる上記制御対象の制御が可能でないと判定された場合に、上記機械学習により上記制御モデルを再生成してよい。
【0009】
(項目7)
判定装置は、上記機械学習の収束を判断する収束判断部を更に備え、上記シミュレーション部は、上記機械学習が収束したと判断された場合に、上記設備の状態をシミュレーションしてよい。
【0010】
(項目8)
上記収束判断部は、上記機械学習が開始されてからの経過時間に基づいて上記機械学習の収束を判断してよい。
【0011】
(項目9)
上記収束判断部は、上記機械学習における評価関数の値に基づいて上記機械学習の収束を判断してよい。
【0012】
(項目10)
上記制御モデル生成部は、上記状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、上記制御モデルを生成してよい。
【0013】
(項目11)
本発明の第2の態様においては、判定方法を提供する。判定方法は、制御対象が設けられた設備の状態を示す状態データを取得することを備えてよい。判定方法は、上記制御対象の操作量を示す操作量データを取得することを備えてよい。判定方法は、上記状態データおよび上記操作量データを用いて、上記設備の状態に応じた上記操作量を出力する制御モデルを機械学習により生成することを備えてよい。判定方法は、シミュレーションモデルを用いて、上記制御モデルが出力する上記操作量を上記制御対象に与えた場合における上記設備の状態をシミュレーションすることを備えてよい。判定方法は、シミュレーション結果に基づいて、上記制御モデルによる上記制御対象の制御の可否を判定することを備えてよい。
【0014】
(項目12)
本発明の第3の態様においては、判定プログラムを提供する。判定プログラムは、コンピュータにより実行されてよい。判定プログラムは、上記コンピュータを、制御対象が設けられた設備の状態を示す状態データを取得する状態データ取得部として機能させてよい。判定プログラムは、上記コンピュータを、上記制御対象の操作量を示す操作量データを取得する操作量データ取得部として機能させてよい。判定プログラムは、上記コンピュータを、上記状態データおよび上記操作量データを用いて、上記設備の状態に応じた上記操作量を出力する制御モデルを機械学習により生成する制御モデル生成部として機能させてよい。判定プログラムは、上記コンピュータを、シミュレーションモデルを用いて、上記制御モデルが出力する上記操作量を上記制御対象に与えた場合における上記設備の状態をシミュレーションするシミュレーション部として機能させてよい。判定プログラムは、上記コンピュータを、シミュレーション結果に基づいて、上記制御モデルによる上記制御対象の制御の可否を判定する判定部として機能させてよい。
【0015】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図2】本実施形態に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
【
図3】本実施形態の変形例に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図4】本実施形態の変形例に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
【
図5】本実施形態の別の変形例に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図6】本実施形態の別の変形例に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
【
図7】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0017】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0018】
図1は、本実施形態に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。本実施形態に係る判定装置100は、制御対象20に対して機械学習により生成された学習モデルによる制御(Artificial Intelligence:AI制御ともいう。)を開始するのに先立ち、学習モデルの出力を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、本実施形態に係る判定装置100は、シミュレーション結果に基づいてAI制御の可否を判定する。
【0019】
設備10は、制御対象20が備え付けられた施設や装置等である。例えば、設備10は、プラントであってもよいし、複数の機器を複合させた複合装置であってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。
【0020】
設備10には、制御対象20が設けられている。本図においては、設備10に1つの制御対象20のみが設けられている場合を一例として示しているが、これに限定されるものではない。設備10には、複数の制御対象20が設けられていてよい。
【0021】
また、設備10には、設備10の内外における様々な状態(物理量)を測定する1または複数のセンサ(図示せず)が設けられていてよい。このようなセンサは、例えば、運転データ、消費量データ、および、外部環境データ等を測定する。
【0022】
ここで、運転データは、制御対象20を制御した結果の運転状態を示す。例えば、運転データは、制御対象20について測定された測定値PV(Process Variable)を示してよく、一例として、制御対象20の出力(制御量)を示してもよいし、制御対象20の出力によって変化する様々な値を示してもよい。
【0023】
消費量データは、設備10におけるエネルギーまたは原材料の少なくともいずれかの消費量を示す。例えば、消費量データは、エネルギー消費量として、電力や燃料(一例として、LPG:Liquefied Petroleum Gas)の消費量を示してよい。
【0024】
外部環境データは、制御対象20の制御に対して外乱として作用し得る物理量を示す。例えば、外部環境データは、設備10の外気の温度や湿度、日照、風向き、風量、降水量、および、設備10に設けられた他の機器の制御に伴い変化する様々な物理量等を示してよい。
【0025】
制御対象20は、制御の対象となる機器および装置等である。例えば、制御対象20は、設備10のプロセスにおける圧力、温度、pH、速度、または、流量等の少なくとも1つの物理量を制御するバルブ、ポンプ、ヒータ、ファン、モータ、および、スイッチ等のアクチュエータであってよく、与えられた操作量MV(Manipulated Variable)を入力して制御量を出力する。
【0026】
また、制御対象20は、制御器(図示せず)から与えられた操作量MV(FB:FeedBack)によるフィードバック制御と、制御モデルから与えられた操作量MV(AI)によるAI制御との間で切り替え可能であってよい。このようなFB制御は、例えば、比例制御(P制御)、積分制御(I制御)、または、微分制御(D制御)の少なくとも1つを用いた制御であってよく、一例として、PID制御であってよい。なお、制御器は、本実施形態に係る判定装置100の一部として一体に構成されていてもよいし、判定装置100とは独立した別体として構成されていてもよい。
【0027】
本実施形態に係る判定装置100は、例えば、制御対象20に対してAI制御を開始する(例えば、FB制御からAI制御に切り替えて、AI制御を開始する)のに先立ち、学習モデルの出力を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、本実施形態に係る判定装置100は、シミュレーション結果に基づいてAI制御の可否を判定する。
【0028】
判定装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、判定装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、判定装置100は、制御可否の判定用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、判定装置100がインターネットに接続可能な場合、判定装置100は、クラウドコンピューティングにより実現されてもよい。
【0029】
判定装置100は、状態データ取得部110と、操作量データ取得部120と、制御モデル生成部130と、制御モデル135と、シミュレーション部140と、シミュレーションモデル145と、判定部150と、指示部160とを備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0030】
状態データ取得部110は、制御対象20が設けられた設備10の状態を示す状態データを取得する。例えば、状態データ取得部110は、設備10に設けられたセンサが測定した運転データ、消費量データ、および、外部環境データ等を状態データとして、ネットワークを介してセンサから取得する。しかしながら、これに限定されるものではない。状態データ取得部110は、このような状態データをオペレータから取得してもよいし、各種メモリデバイス等から取得してもよい。状態データ取得部110は、取得した状態データを制御モデル生成部130へ供給する。また、状態データ取得部110は、取得した状態データを制御モデル135へ供給する。
【0031】
操作量データ取得部120は、制御対象20の操作量を示す操作量データを取得する。例えば、操作量データ取得部120は、制御対象20をFB制御するにあたって制御器(不図示)から制御対象20に与えられた操作量MV(FB)を示すデータを、ネットワークを介して制御器から取得する。しかしながら、これに限定されるものではない。操作量データ取得部120は、このような操作量データをオペレータから取得してもよいし、各種メモリデバイスから取得してもよい。操作量データ取得部120は、取得した操作量データを制御モデル生成部130へ供給する。
【0032】
制御モデル生成部130は、状態データおよび操作量データを用いて、設備10の状態に応じた操作量を出力する制御モデル135を機械学習により生成する。例えば、制御モデル生成部130は、状態データ取得部110から供給された状態データ、および、操作量データ取得部120から供給された操作量MV(FB)を示すデータを学習データとして強化学習することにより、設備10の状態に応じた操作量MV(AI)を出力する制御モデル135を生成する。すなわち、制御モデル生成部130は、状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、制御モデル135を生成する。これについて詳細は後述する。
【0033】
制御モデル135は、制御モデル生成部130が強化学習により生成した学習モデルであり、設備10の状態に応じた操作量MV(AI)を出力する。例えば、制御モデル135は、状態データ取得部110から供給された状態データを入力して、設備10の状態に応じて制御対象20に与えるべき推奨する操作量MV(AI)を出力する。制御モデル135は、出力した操作量MV(AI)を制御対象20へ供給する。また、制御モデル135は、出力した操作量MV(AI)をシミュレーション部140へ供給する。なお、本図においては、制御モデル135が判定装置100に内蔵されている場合を一例として示したが、これに限定されるものではない。制御モデル135は、判定装置100とは異なる装置(例えば、クラウドサーバ上)に格納されていてもよい。また、本図においては、制御モデル135が操作量MV(AI)を出力すると、常に出力した操作量MV(AI)を制御対象20へ供給する場合を一例として示したが、これに限定されるものではない。制御モデル135は、後述する判定の結果、AI制御が可能であると判定された場合にのみ、出力した操作量MV(AI)を制御対象20へ供給してもよい。
【0034】
シミュレーション部140は、シミュレーションモデル145を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。なお、ここでいう「シミュレーションする」とは、シミュレーション部140が主体となって設備10の状態を自らシミュレーションすることの他に、シミュレーション部140が他の装置(例えば、シミュレータ(図示せず))に対して設備10の状態をシミュレーションさせ、他の装置がシミュレーションした設備10の状態を他の装置から取得することをも含むものとする。例えば、シミュレーション部140は、制御モデル135が出力した操作量MV(AI)をシミュレーションモデル145に入力し、シミュレーションモデル145が出力する複数の出力値をシミュレーション結果として取得する。シミュレーション部140は、取得したシミュレーション結果を、判定部150へ供給する。
【0035】
シミュレーションモデル145は、設備10の挙動をシミュレーションするように構築されたモデル(例えば、プラントモデル)である。例えば、シミュレーションモデル145は、操作量MV(AI)を入力し、操作量MV(AI)を制御対象20に与えた場合における設備10の挙動をシミュレーションする。そして、シミュレーションモデル145は、シミュレーションした設備10の状態を示す複数の出力値を出力する。一例として、シミュレーションモデル145は、設備10の制御周期と同じまたは短い周期で設備10の挙動をシミュレーション可能なように、処理負荷が比較的軽い簡易物理モデルや、比較的低次な線形モデルであってよい。なお、本図においては、シミュレーションモデル145が判定装置100に内蔵されている場合を一例として示したが、これに限定されるものではない。シミュレーションモデル145は、制御モデル135と同様、判定装置100とは異なる装置(例えば、クラウドサーバ上)に格納されていてもよい。また、上述のシミュレータについても、判定装置100とは異なる装置に備えられていてもよい。
【0036】
判定部150は、シミュレーション結果に基づいて、制御モデル135による制御対象20の制御の可否を判定する。例えば、判定部150は、シミュレーション部140から供給されたシミュレーション結果が予め定められた条件(例えば、異常診断条件)を満たしているか否か判定する。そして、判定部150は、シミュレーション結果が予め定められた条件を満たしていない場合に制御モデル135による制御対象20の制御が可能であると判定し、満たしている場合に制御モデル135による制御対象20の制御が可能でないと判定する。判定部150は、判定結果を指示部160へ供給する。
【0037】
指示部160は、制御モデル135による制御対象20の制御が可能であると判定された場合に、制御対象20に対して制御モデル135による制御を開始するように指示する。この際、指示部160は、制御対象20に直接指示を出してよい。これにより、例えば、制御対象20は、制御器から与えられた操作量MV(FB)によるFB制御から、制御モデル135から与えられた操作量MV(AI)によるAI制御へと切り替え、AI制御を開始する。また、例えば、PID制御器等の他の制御器が判定装置100の一部として一体に構成されている場合、指示部160は、操作量MV(FB)と操作量MV(AI)のいずれを制御対象20に出力するかを切り替え可能な切替器に指示を出してもよい。これにより、判定装置100から制御対象20に出力される操作量MVを操作量MV(FB)から操作量MV(AI)に切り替え、制御対象20に対してAI制御を開始してもよい。
【0038】
図2は、本実施形態に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
【0039】
ステップ210において、判定装置100は、状態データを取得する。例えば、状態データ取得部110は、制御対象20が設けられた設備10の状態を示す状態データを取得する。一例として、状態データ取得部110は、設備10に設けられたセンサが測定した運転データ、消費量データ、および、外部環境データ等を状態データとして、ネットワークを介してセンサから取得する。状態データ取得部110は、取得した状態データを制御モデル生成部130、および、制御モデル135へ供給する。
【0040】
ステップ220において、判定装置100は、操作量データを取得する。例えば、操作量データ取得部120は、制御対象20の操作量を示す操作量データを取得する。一例として、操作量データ取得部120は、制御対象20をFB制御するにあたって制御器から制御対象20に与えられた操作量MV(FB)を示すデータを、ネットワークを介して制御器から取得する。操作量データ取得部120は、取得した操作量データを制御モデル生成部130へ供給する。なお、本図においては、判定装置100が状態データを取得した後に操作量データを取得する場合を一例として示したが、これに限定されるものではない。判定装置100は、操作量データを取得した後に状態データを取得してもよいし、状態データと操作量データとを同時に取得してもよい。
【0041】
ステップ230において、判定装置100は、制御モデル135を生成する。例えば、制御モデル生成部130は、状態データおよび操作量データを用いて、設備10の状態に応じた操作量を出力する制御モデル135を機械学習により生成する。一例として、制御モデル生成部130は、ステップ210において取得された状態データ、および、ステップ220において取得された操作量MV(FB)を示すデータを学習データとして強化学習することにより、設備10の状態に応じた操作量MV(AI)を出力する制御モデル135を生成する。
【0042】
一般に、エージェントが、環境の状態を観測してある行動を選択すると、当該行動に基づいて環境が変化する。強化学習においては、このような環境の変化に伴って何らかの報酬が与えられることで、エージェントがより良い行動の選択(意思決定)を学習する。教師あり学習においては、完全な正解が与えられるのに対して、強化学習においては、環境の一部の変化に基づく断片的な値として報酬が与えられる。このため、エージェントは、将来にわたって報酬の合計が最大となるような行動を選択するように学習する。このように、強化学習において、エージェントは、行動を学習することにより行動が環境に与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための行動を学習する。
【0043】
本実施形態において、このような強化学習における報酬は、設備10の運転を評価するための指標であってよく、予め定められた報酬関数により定まる値であってよい。ここで、関数とは、ある集合の各要素に他の集合の各要素を一対一で対応させる規則を持つ写像であり、例えば数式であってもよいし、テーブルであってもよい。
【0044】
報酬関数は、状態データの入力に応じて、当該状態データによって示される設備10の状態を評価した値(報酬値)を出力する。上述のとおり、例えば、状態データには、制御対象20について測定された測定値PVが含まれている。したがって、報酬関数は、このような測定値PVが目標値SV(Setting Variable)に近いほど報酬値が高くなるような関数として定義されてよい。ここで、測定値PVと目標値SVとの差の絶対値を変数とする関数を、評価関数として定義することとする。すなわち、一例として、制御対象20がバルブである場合、評価関数は、センサが実際に測定したバルブの開度である測定値PVと、目標とするバルブの開度である目標値SVとの差の絶対値を変数とする関数であってよい。そして、報酬関数は、このような評価関数によって得られる評価関数の値を変数とする関数であってよい。
【0045】
また、上述のとおり、状態データには、測定値PVに加えて、例えば、制御対象20の出力によって変化する様々な値や、消費量データ、外部環境データ等が含まれている。したがって、報酬関数は、このような様々な値、消費量データ、および、外部環境データ等に基づいて報酬値を増減させるような関数であってよい。一例として、このような様々な値や消費量データに対して守らなければならない制約が設けられている場合、報酬関数は、外部環境データに照らして、このような様々な値や消費量データが制約条件を満たしていない場合に、報酬値を最小とするような関数であってよい。また、このような様々な値や消費量データに対して目指すべき目標が設けられている場合、報酬関数は、外部環境データに照らして、このような様々な値や消費量データが目標に近いほど報酬値を増加させ、目標に遠いほど報酬値を減少させるような関数であってよい。
【0046】
制御モデル生成部130は、このような報酬関数に基づいてそれぞれの学習データにおける報酬値を取得する。そして、制御モデル生成部130は、学習データおよび報酬値の組をそれぞれ用いて強化学習する。この際、制御モデル生成部130は、最急降下法やニューラルネットワーク、DQN(Deep Q-Network)、ガウシアンプロセス、ディープラーニング等、公知の手法による学習処理を行ってよい。そして、制御モデル生成部130は、報酬値が高くなる操作量ほど、推奨する操作量として優先的に出力されるように学習する。すなわち、制御モデル生成部130は、状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、制御モデル135を生成する。これにより、モデルが更新され制御モデル135が生成される。
【0047】
ステップ240において、判定装置100は、シミュレーションを実行する。例えば、シミュレーション部140は、シミュレーションモデル145を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。一例として、シミュレーション部140は、ステップ230において生成された制御モデル135が出力した操作量MV(AI)をシミュレーションモデル145に入力し、シミュレーションモデルが出力する複数の出力値をシミュレーション結果として取得する。シミュレーション部140は、取得したシミュレーション結果を、判定部150へ供給する。
【0048】
ステップ250において、判定装置100は、AI制御の可否を判定する。例えば、判定部150は、シミュレーション結果に基づいて、制御モデル135による制御対象20の制御の可否を判定する。一例として、判定部150は、ステップ240におけるシミュレーション結果が予め定められた条件を満たしているか否か判定する。この際、例えば、判定部150は、設備10において異常を診断するための異常診断条件を予め記憶していてよい。そして、判定部150は、シミュレーションモデル145が出力した複数の出力値の全てが異常診断条件を満たしていない場合に、設備10が正常に運転可能であると推測してよい。また、判定部150は、シミュレーションモデル145が出力した複数の出力値の少なくとも1つが異常診断条件を満たしている場合に、設備10が正常に運転可能でない(設備に異常が発生する)と推測してよい。そして、判定部150は、シミュレーション結果に基づいて設備10が正常に運転可能な期間が予め定められた閾値を超えると判断された場合に、制御モデル135による制御対象20の制御が可能であると判定してよい。すなわち、判定部150は、予め定められた期間Pを超えて設備10が正常に運転可能と判断された場合に、AI制御が可能であると判定してよい。また、判定部150は、シミュレーション結果に基づいて設備10が正常に運転可能と判断された回数が予め定められた閾値を超えると判断された場合に、制御モデル135による制御対象20の制御が可能であると判定してよい。すなわち、判定部150は、設備10が正常に運転可能と判断された回数が予め定められた回数であるN回を超えた場合に、AI制御が可能であると判定してよい。さらに、判定部150は、期間による判定と回数による判定とを併用してもよい。例えば、判定部150は、正常に運転可能と判断された期間が期間Pを超え、かつ、正常に運転可能と判断された回数がN回を超えた場合に、AI制御が可能であると判定してもよい。また、判定部150は、正常に運転可能と判断された期間が期間Pを超えた回数がN回を超えた場合に、AI制御が可能であると判定してもよい。判定部150は、判定結果を指示部160へ供給する。
【0049】
ステップ250において、AI制御可能でない(No)と判定された場合、判定装置100は、処理をステップ210に戻してフローを継続する。すなわち、制御モデル生成部130は、制御モデル135による制御対象20の制御が可能でないと判定された場合に、機械学習により制御モデル135を再生成する。
【0050】
ステップ250において、AI制御可能である(Yes)と判定された場合、判定装置100は、処理をステップ260に進めて、AI制御の開始を制御対象20に指示する。例えば、指示部160は、制御モデル135による制御対象20の制御が可能であると判定された場合に、制御対象20に対して制御モデル135による制御を開始するように指示する。これにより、例えば、制御対象20は、制御器から与えられた操作量MV(FB)によるFB制御から、制御モデル135から与えられた操作量MV(AI)によるAI制御へと切り替え、AI制御を開始する。
【0051】
一般に、機械学習では、入力データを使用して学習モデルのパラメータを決定するが、これは確率的に求められたものであり、理論的に保障されているものではない。そのため、学習モデルから異常な推論データが出力される可能性がある。そこで、本実施形態に係る判定装置100は、AI制御を開始するのに先立ち、シミュレーションモデル145を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、判定装置100は、シミュレーション結果に基づいて、AI制御の可否を判定する。これにより、本実施形態に係る判定装置100によれば、AI制御を実機投入した後、すなわち、AI制御により設備10の運転を開始した後にAI制御に伴い設備10が異常な振る舞いをすることを事前に防止することができる。ここで、AI制御の可否を、制御モデル135が出力する操作量MV(AI)が予め定められた基準を満たすか否かで判定することも考えられる。しかしながら、このような基準は人為的・経験的に与えられたものであって、操作量MV(AI)がこのような基準を満たすからといって、必ずしも設備10に異常が発生しないとも限らない。同様に、操作量MV(AI)がこのような基準を満たさないからといって、必ずしも設備10に異常が発生するとも限らない。これに対して、本実施形態に係る判定装置100によれば、操作量MV(AI)自体ではなく、操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションした結果に基づいてAI制御の可否を判定するので、実際の運用により近い根拠に基づいてAI制御の可否を判定することができる。
【0052】
また、本実施形態に係る判定装置100は、シミュレーション結果に基づいて設備10が正常に運転可能な期間が閾値を超えた場合、または、正常に運転可能と判断された回数が閾値を超えた場合に、AI制御が可能であると判定する。これにより、本実施形態に係る判定装置100によれば、正常に運転可能であることを暫く観察してからAI制御が可能と判定するので、操作量MV(AI)を制御対象20に与えた場合に、偶然的に設備10に異常が発生しないと推測された場合においてまで、AI制御が可能であると誤判定することを避けることができる。
【0053】
また、本実施形態に係る判定装置100は、AI制御が可能であると判定された場合に、制御対象20に対して制御モデル135による制御に切り替えるように指示する。これにより、本実施形態に係る判定装置100によれば、シミュレーション結果に基づく判定をトリガとして、制御対象20へAI制御の開始を指示することができる。また、本実施形態に係る判定装置100は、AI制御が可能でないと判定された場合に、機械学習により制御モデル135を再生成する。これにより、本実施形態に係る判定装置100によれば、AI制御が可能でないと一旦判定された場合であっても、再び学習することで制御モデルを再生成し、再生成した制御モデル135によりAI制御の可否を繰り返し判定することができる。
【0054】
図3は、本実施形態の変形例に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図3においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る判定装置100においては、シミュレーション結果に基づいてAI制御の可否を自動的に判定する場合を一例として示した。しかしながら、本変形例に係る判定装置100においては、シミュレーション結果を出力し、シミュレーション結果を検討したオペレータ等からの許可に基づいてAI制御の可否を判定する。本変形例に係る判定装置100は、出力部310と、入力部320とを更に備える。
【0055】
本変形例に係る判定装置100においては、シミュレーション部140は、シミュレーション結果を判定部150に加えて出力部310へ供給する。そして、出力部310は、シミュレーション結果を出力する。例えば、出力部310は、シミュレーション結果をモニタに表示することにより出力してもよいし、プリントアウトすることにより出力してもよいし、他の装置にデータ送信することにより出力してもよい。
【0056】
入力部320は、シミュレーション結果を出力したことに応じて、シミュレーション結果を検討したオペレータ等からユーザ入力を受け付ける。入力部320は、ユーザ入力されたオペレータからの指示を判定部150へ供給する。
【0057】
判定部150は、入力部320から供給された指示がAI制御を許可する旨を示している場合に、制御モデル135による制御対象20の制御が可能であると判定する。すなわち、判定部150は、シミュレーション結果が出力されたことに応じて制御を許可する旨の指示を取得した場合に、制御モデル135による制御対象20の制御が可能であると判定する。
【0058】
図4は、本実施形態の変形例に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
図4においては、
図2と同じ処理に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本フローにおいては、ステップ250に代えて、ステップ410および420を備える。
【0059】
ステップ410において、判定装置100は、シミュレーション結果を出力する。例えば、出力部310は、ステップ240においてシミュレーション部140がシミュレーションした結果を取得し、モニタに表示することによりシミュレーション結果を出力する。
【0060】
ステップ420において、判定装置100は、AI制御が許可されたか否か判定する。例えば、判定部150は、シミュレーション結果を検討したオペレータ等から入力部320を介してAI制御を許可する旨の指示を取得したか否か判定する。ステップ420においてAI制御を許可する旨の指示が取得されていない場合(Noの場合)、判定部150はAI制御が可能でないと判定する。そして、判定装置100は、処理をステップ210に戻してフローを継続する。ステップ420においてAI制御を許可する旨の指示が取得された場合(Yesの場合)、判定部150はAI制御が可能であると判定する。そして、判定装置100は、処理をステップ260へ進める。すなわち、判定部150は、シミュレーション結果が出力されたことに応じて制御を許可する旨の指示を取得した場合(Yesの場合)に、制御モデル135による制御対象20の制御が可能であると判定する。
【0061】
このように、本変形例に係る判定装置100は、シミュレーション結果を出力し、当該シミュレーション結果を検討したオペレータ等からの指示に基づいてAI制御の可否を判定する。これにより、本変形例に係る判定装置100によれば、AI制御を実機投入するにあたってオペレータ等の意向を反映させることができる。
【0062】
なお、上述の説明では、判定装置100がステップ250に代えてステップ410および420を実行する場合を一例として示したが、これに限定されるものではない。本変形例に係る判定装置100は、ステップ250に加えて、ステップ410および420の処理を実行してもよい。この際、判定装置100は、オペレータ等による許可指示と、コンピュータによる自動判定(例えば、正常に運転可能と判断された期間や回数に基づく判定)との少なくとも何れかを満足した場合に、AI制御が可能と判定してよい。これに代えて、判定装置100は、オペレータ等による許可指示と、コンピュータによる自動判定との両者を満足した場合にはじめて、AI制御が可能と判定してもよい。これにより、本変形例に係る判定装置100によれば、コンピュータによる自動判定とオペレータによる手動判定とを併用することで、AI制御の実機投入をより慎重に判定することができる。
【0063】
図5は、本実施形態の別の変形例に係る判定装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図5においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る判定装置100においては、制御モデル135が操作量MV(AI)を出力すると、当該操作量MV(AI)を制御対象20に与えた場合における設備10の状態を常にシミュレーションする場合を一例として示した。しかしながら、本別の変形例に係る判定装置100においては、制御モデル135を生成するための機械学習の進捗に応じて、設備10の状態をシミュレーションするトリガを提供する。本別の変形例に係る判定装置100は、収束判断部510を更に備える。
【0064】
収束判断部510は、制御モデル生成部130が制御モデル135を生成するための機械学習の進捗をモニタする。そして、収束判断部510は、制御モデル135を生成するための機械学習の収束を判断する。収束判断部510は、機械学習が収束したと判断した場合に、設備10の状態をシミュレーションするようシミュレーション部140へ指示する。これに応じて、シミュレーション部140は、設備10の状態をシミュレーションする。すなわち、シミュレーション部140は、機械学習が収束したと判断された場合に、設備10の状態をシミュレーションする。
【0065】
図6は、本実施形態の別の変形例に係る判定装置100が、AI制御の可否を判定するフローの一例を示す。
図6においては、
図2と同じ処理に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本フローにおいては、ステップ610を更に備える。
【0066】
ステップ610において、判定装置100は、機械学習の収束を判断する。例えば、収束判断部510は、制御モデル生成部130が制御モデル135を生成するための機械学習の進捗をモニタし、制御モデル135を生成するための機械学習の収束を判断する。この際、収束判断部510は、機械学習が開始されてからの経過時間に基づいて機械学習の収束を判断してよい。これに代えて、または、加えて、収束判断部510は、機械学習における評価関数の値に基づいて機械学習の収束を判断してもよい。例えば、収束判断部510は、測定値PVと目標値SVとの差の絶対値を変数とする関数である評価関数の値における最小値、最大値、平均値、または、中央値等の少なくともいずれかが、予め定められた閾値を下回った場合に、機械学習が収束したと判断してもよい。
【0067】
ステップ610において機械学習が収束していないと判断された場合(Noの場合)、判定装置100は処理をステップ210に戻してフローを継続する。ステップ610において機械学習が収束したと判断された場合(Yesの場合)、判定装置100は処理をステップ240に進める。すなわち、シミュレーション部140は、機械学習が収束したと判断された場合に、設備10の状態をシミュレーションする。
【0068】
このように、本別の変形例に係る判定装置100は、制御モデル135を生成するための機械学習の進捗に応じて、設備10の状態をシミュレーションするトリガを提供する。これにより、本別の変形例に係る判定装置100によれば、機械学習が未収束の場合においてまで設備10の状態をシミュレーションすることを回避できるので、判定装置100の処理負荷を低減させることができる。また、本別の変形例に係る判定装置100によれば、学習収束後に設備10の状態をシミュレーションするので、AI制御の可否を判定するためのシミュレーション結果の信頼性を高めることができる。
【0069】
この際、本別の変形例に係る判定装置100は、例えば、機械学習が開始されてからの経過時間に基づいて機械学習の収束を判断する。これにより、本別の変形例に係る判定装置100によれば、機械学習の収束を時間経過に基づいて暫定的に判断することができる。また、本別の変形例に係る判定装置100は、例えば、機械学習における価値関数に基づいて機械学習の収束を判断する。これにより、本別の変形例に係る判定装置100によれば、機械学習の収束を客観的な値に基づいて判断することができる。なお、本別の変形例に係る判定装置100は、機械学習の収束を判断するにあたって、上記時間経過に基づく判断と価値関数に基づく判断とを併用してもよい。これにより、本別の変形例に係る判定装置100によれば、機械学習が長時間実施され、かつ、機械学習の結果が予め定められた基準を満たす場合にのみシミュレーションをトリガするので、判定装置100の処理負荷を更に低減させることができる。
【0070】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0071】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0072】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0073】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0074】
図7は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0075】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0076】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0077】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0078】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0079】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0080】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0081】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0082】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0083】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0084】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0085】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0086】
10 設備
20 制御対象
100 判定装置
110 状態データ取得部
120 操作量データ取得部
130 制御モデル生成部
135 制御モデル
140 シミュレーション部
145 シミュレーションモデル
150 判定部
160 指示部
310 出力部
320 入力部
510 収束判断部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード