実施の形態1.
本発明の実施の形態1に係る割付支援プログラム、割付支援装置、割付学習プログラム、割付学習装置について図面を用いて説明する。本実施の形態1では、割付支援プログラムの中に割付学習プログラムを含んでおり、割付支援装置が割付学習装置の機能を有する形態として説明する。図1は、自動制御システムASの概略を示す図である。図2は、割付支援装置1のハードウェア構成の一例を示す図である。図3は、割付支援装置1の機能ブロックの一例を模式的に示す図である。図4は、学習部21に含まれる機能ブロックの一例を模式的に示す図である。
図1に示すように、自動制御システムASは、複数の制御対象機器150、制御プログラムを実行して制御対象機器150を制御するPLC200、を備えている。自動制御システムASは、PLC200を介して、制御プログラムが記憶されている演算装置300と通信を行い、制御対象機器150を自動で制御するシステムである。
図1では、自動制御システムASの一例として、入出力端子を3つ有する入出力デバイス部を備えた入出力ユニット202を3台備えたPLC200と、各入出力端子に制御対象機器150が割り付けられており、制御対象機器150を9台備えた自動制御システムASを示している。なお、本実施の形態において、入出力端子が3つである例を示したが、2つ以上であればよい。
PLC200は、演算装置300に記憶されている制御プログラムを読み出して実行するCPUユニット201と、制御対象機器150と接続される入出力ユニット202と、を有している。CPUユニット201と入出力ユニット202とは、各ユニットを電気的に接続するベースボードを介して接続されるか、または、ベースボードを介さずに各ユニットに備えられているユニット同士を電気的に接続するコネクタによって接続されてもよい。
PLC200と演算装置300とは、専用線又はネットワークを介して通信可能に接続される。専用線を用いて接続される場合、例えば、USB(Universal Serial Bus)ケーブルを介して接続されてもよい。ネットワークを介して接続される場合、例えば、インターネットの様なオープンネットワークを介して接続されてもよいし、LAN(Local Area Network)の様なクローズドネットワークを介して接続されていてもよい。
CPUユニット201は、制御プログラムを読み出して実行するCPU部、制御プログラムやデータを一時的に記憶する内部メモリ部、各ユニットに電力を供給する内部電源部を有している。
入出力ユニット202は、制御対象機器150が割り付けられる複数の入出力端子を備えた入出力デバイス部、電源を備える他のユニット(例えば、CPUユニット、電源ユニット、等)からの電力供給、又は、外部電源からの電力供給を受ける電力供給部(例えば、電源回路、等)を備えている。ここで、入出力ユニット202とは、例えば、I/O入出力ユニット、アナログユニット、カウンタユニット、ネットワークユニット、等のPLCを用いて制御対象機器150を自動制御する際に、信号を入力及び出力の少なくとも一方を行うことが可能なユニットである。
制御対象機器150は、入出力ユニット202の入出力端子に割り付けられる機器であり、例えば、センサ、モータ、アクチュエータ、安全機器、等である。
演算装置300は、上述の制御プログラムを記憶する他に、割付支援装置1としても機能する。図2には、割付支援装置1として機能する演算装置300のハードウェア構成の一例を示す。割付支援装置1は、割付支援プログラムをインストールして実行する演算装置300であり、割付支援プログラムを実行する演算部101、割付支援プログラムの保存や、データ及び命令の読み書きを行う記憶部102、キーボードやマウス、タッチパネル、等の入力部103、割付支援プログラムの実行結果等を表示する表示部104、PLC等と通信を行う通信インターフェース(通信I/F)105を備えている。
記憶部102には、インストールされた割付支援プログラムが保存されている不揮発性記憶部と、割付支援プログラム実行時にワークメモリとなる揮発性記憶部が含まれる。なお、割付支援装置1としては、記憶部102に割付支援プログラムがインストールされた、例えば、ノート型コンピュータ、デスクトップ型コンピュータ、タブレット型コンピュータ、スマートフォン、等の演算装置300を用いることができる。割付支援プログラムは、非一時的な演算端末可読記憶媒体に記憶されており、演算装置300にインストールされることで機能する。非一時的な演算端末可読記憶媒体としては、例えば、CD−ROM(Compact Disk Read only memory)、DVD−ROM(Digital Versatile Read only memory)、USB(Universal Serial Bus)フラッシュドライブ、等を用いることができる。
図3は、図2で示す演算部101及び記憶部102を含む演算装置300で実現される割付支援装置1の機能ブロックを模式的に示す図である。なお、本実施の形態1において、割付支援装置1は、制御対象機器150の割り付けの見直しを支援する機能に加え、機械学習を行う割付学習装置2としての機能も有する構成である。本実施の形態1では、割付支援装置1と併せて割付学習装置2の機能ブロックも含めて説明する。
割付支援装置1は、既に稼働している自動制御システムASにおける制御対象機器150の割り付けの見直しを支援する装置である。割付支援装置1は、自動制御システムASにおける各種情報を取得する情報取得部11と、情報取得部11で取得した情報を入力して、自動制御システムASにおける制御対象機器150の割り付けを推論する推論部20と、推論部20の演算処理により出力される情報を取得し出力する割付情報出力部12と、を有している。さらに、割付支援装置1は、自動制御システムASにおける制御対象機器150の割り付けを機械学習するための学習部21を有している。なお、学習部21は、割付学習装置2の機能ブロックである。
情報取得部11は、自動制御システムASが備える複数の入出力ユニット202における入出力端子と制御対象機器150とを対応させた割付情報400、複数の入出力ユニット202に割り付けられた制御対象機器150が稼働している時間帯を示す時間帯情報500、入出力ユニット202のユニット消費電力情報600、制御対象機器150の機器消費電力情報700を含んだ第1入力情報800を取得するか、又は、複数の入出力ユニット202の消費電力と前記制御対象機器150の消費電力とに基づく前記自動制御システムASを稼働させたときのシステム電力使用情報900、上述の割付情報400を含む第2入力情報1000を取得する。なお、情報取得部11が取得する上述の各情報については後述する。
推論部20は、前処理部22と演算処理部26とを備えている。前処理部22は、情報取得部11で取得した情報が演算処理部26で演算処理するために、データの前処理が必要な場合に、推論部20の演算処理の一部として前処理を行う。なお、前処理とは、情報取得部11で取得した情報の計算や形式の変更等を含む演算処理のことをいう。演算処置部26は、後述する学習部21により機械学習を行うことで生成した学習済モデルを読み出し、情報取得部11で取得した情報に基づいて、自動制御システムASにおける制御対象機器150の割り付けの見直しを推論する。推論部20での演算処理については後述する。
推論部20は、第1入力情報800又は第2入力情報1000のいずれかが入力され、後述する各演算処理を実行して、第1入力情報800又は第2入力情報1000に含まれる割付情報400の割り付けで割り付けられた自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論する。なお、第1入力情報800又は第2入力情報1000に含まれる割付情報400の割り付けで割り付けられた自動制御システムASとは、割り付けの見直しを行う前の自動制御システムASを表している。
割付情報出力部12は、推論部20で推論された割り付け情報を見直割付情報1100として取得して出力する。出力した見直割付情報1100は、表示部104に表示される。
以下に、上述の情報取得部11が取得する各情報及び割付情報出力部12が出力する情報について説明する。
図4は、本実施の形態1における割付情報400の一例を示す図である。図4に示すように、割付情報400は、自動制御システムASにおいて、自動制御システムASが備える複数の入出力ユニット202の入出力端子にどのような制御対象機器150が割り付けられているかを示す情報である。図4では、3台の入出力ユニット202をそれぞれ入出力ユニット202A、202B、202Cとして示し、入出力ユニット202Aが備える入出力端子を入出力端子X0、X1、X2として示し、入出力ユニット202Bが備える入出力端子を入出力端子Y0、Y1、Y2として示し、入出力ユニット202Cが備える入出力端子を入出力端子Z0、Z1、Z2として示している。割付情報400は、複数の入出力ユニット202A、202B、202Cと複数の入出力端子Xn、Yn、Znと制御対象機器150とを特定する情報とが対応付けられている。ここで、制御対象機器150を特定する情報とは、機器名、型番、等の機器固有の情報である。図4では、制御対象機器150を特定する情報として機器名M1、M2・・・Mnを用いている。なお、割付情報400は、割り付けを見直す前の自動制御システムASにおける割り付け状態を示す情報である。
図5は、時間帯情報500の一例を示す図である。なお、図5は、図4で示した割付情報400で示す自動制御システムASの各入出力ユニット202及び制御対象機器150の稼働時間を示している。図5に示すように、時間帯情報500は、自動制御システムASにおいて、自動制御システムASが備えるPLC200及び入出力ユニット202の入出力端子に割り付けられた制御対象機器150がどのような時間帯で稼働しているかを示す情報である。ここで時間帯とは1日を0時00分から始まる24時間として示すものとする。図5では、図4と同様に、3台の入出力ユニットを入出力ユニット202A、202B、202Cとして示し、制御対象機器150を機器名M1、M2・・・Mnで示している。
図5において、機器稼働開始1は、機器名Mnで特定される制御対象機器150が、0時00分から始まる24時間の時間帯の中で最初に稼働を開始した時刻を示し、機器稼働終了1は、機器稼働開始1で稼働した機器名Mnで特定される制御対象機器150が稼働を終了した時刻を示す。つまり、機器稼働開始1の時刻から機器稼働終了1の時刻までの間は、機器名Mnで特定される制御対象機器150が稼働している時間帯であることを示す。また、機器稼働開始2は、機器名Mnで特定される制御対象機器150が機器稼働終了1の後で、最初に稼働を開始した時刻を示し、機器稼働終了2は、機器稼働開始2で稼働した機器名Mnで特定される制御対象機器150が稼働を終了した時刻を示す。つまり、機器稼働開始2の時刻から機器稼働終了2の時刻までの間は、機器名Mnで特定される制御対象機器150が稼働している時間帯であることを示し、機器稼働終了1の時刻から機器稼働開始2の時刻までの間は、時間帯の中において、機器名Mnで特定される制御対象機器150が稼働していない時間帯であることがわかる。機器稼働開始3及び機器稼働終了3以降についても上記同様である。
また、図5に示すユニット稼働開始1は、入出力ユニット202の入出力端子に割り付けられた制御対象機器150の内、いずれかが上述の時間帯の中で最初に稼働開始した時刻を示し、ユニット稼働終了1は、入出力ユニット202の入出力端子に割り付けられた制御対象機器150の全てが上述の時間帯の中で最初に稼働終了した時刻を示す。つまり、入出力ユニット202Aを例に説明すると、ユニット稼働開始1からユニット稼働終了1までの間は、入出力ユニット202Aの入出力端子に割り付けられた機器名M1、M2、M3で特定される制御対象機器150のいずれかが稼働しており、入出力ユニット202Aが稼働している時間帯を示している。さらに、ユニット稼働開始2は、ユニット稼働終了1の後で、最初に入出力ユニット202の入出力端子に割り付けられた制御対象機器150のいずれかが稼働開始した時刻を示し、ユニット稼働終了2は、入出力ユニット202の入出力端子に割り付けられた制御対象機器150の全てが上述の時間帯の中でユニット稼働開始2に示される時刻の後で、最初に稼働終了した時刻を示す。つまり、入出力ユニット202Aを例に説明すると、ユニット稼働開始2の時刻からユニット稼働終了2の時刻までの間は、入出力ユニット202Aの入出力端子に割り付けられた機器名M1、M2、M3で特定される制御対象機器150のいずれかが稼働しており、入出力ユニット202Aが稼働している時間帯を示している。そして、ユニット稼働終了1の時刻からユニット稼働開始2の時刻までの間は、上述の時間帯の中において入出力ユニット202Aの入出力端子に割り付けられた機器名M1、M2、M3で特定される制御対象機器150の全てが稼働していないことがわかる。ユニット稼働開始3及びユニット稼働終了3以降についても上記同様である。
なお、図5によれば、割付情報400で示される自動制御システムASにおける各入出力ユニット202A、202B、202Cは、1日中(24時間)稼働指定状態であることがわかる。
図6は、ユニット消費電力情報600の一例を示す図である。図6は、図4で示した割付情報400で示す自動制御システムASの各入出力ユニット202の消費電力を示す情報である。具体的には、図6に示すように、ユニット消費電力情報600は、自動制御システムASにおいて、自動制御システムASが備える入出力ユニット202A、202B、202Cの消費電力をkW(キロワット)としてそれぞれ示す情報である。各入出力ユニット202のユニット消費電力は、入出力ユニット202の仕様値(例えば、カタログ値)を使うことができる。
図7は、機器消費電力情報700の一例を示す図である。図7は、図4で示した割付情報400で示す自動制御システムASの制御対象機器150の消費電力を示す情報である。具体的には、図7に示すように、機器消費電力情報700は、自動制御システムASにおいて、入出力ユニット202の入出力端子に割り付けられた機器名Mnで特定される制御対象機器150の消費電力をkW(キロワット)として、それぞれ示す情報である。各制御対象機器150の機器消費電力は、制御対象機器の仕様値(例えば、カタログ値)を使うことができる。
第1入力情報800は、上述の割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700を含む情報である。なお、本実施の形態1では、第1入力情報800は、割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700の4つの情報で構成されている。
システム電力使用情報900は、図4で示した割付情報400で割り付けた自動制御システムASを所定時間稼働させたときの電力使用量(kWh:キロワットアワー)を示す情報である。本実施の形態1での電力使用量は、自動制御システムASを制御プログラムに従って1日稼働させたときの電力の使用量を示す。なお、1日とは、0時00分からの24時間とする。また、電力使用量は入出力ユニットの消費電力(kW:キロワット)と制御対象機器の消費電力(kW:キロワット)とに基づいて算出される。
自動制御システムASを所定時間稼働させたときの電力使用量は、以下の数1、数2で示す数式を用いて入出力ユニットの電力使用量(kWh:キロワットアワー)と制御対象機器の電力使用量(kWh:キロワットアワー)とを算出し、入出力ユニットの使用電力量と制御対象機器の電力使用量とに基づいて算出する。
つまり、自動制御システムASを所定時間稼働させたときの電力使用量の算出は、まず、自動制御システムASに備えられた入出力ユニットが制御プログラムに従い所定時間稼働したときの電力使用量(kWh:キロワットアワー)と、入出力ユニット202の入出力端子に割り付けられた制御対象機器150が制御プログラムに従い所定時間稼働したときの電力使用量(kWh:キロワットアワー)とを計算する。これらの電力使用量の計算を、自動制御システムASが備える複数の入出力ユニット202及び入出力ユニット202の入出力端子に割り付けられた制御対象機器150のすべてに対して行い、各電力使用量を加算することで自動制御システムASの電力使用量を算出する。算出した自動制御システムASの電力使用量は、システム電力使用情報900となる。なお、上述の割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700に基づき、システム電力使用情報900に含まれる本実施の形態1で示す自動制御システムASの電力使用量は2290kWhである。
なお、数1で示す数式で用いる入出力ユニットの消費電力は、入出力ユニットの仕様値(例えば、カタログ値)を使用することができ、入出力ユニットの稼働時間は、1日の中で入出力ユニットに対して電力が供給されている時間を使用することができる。また、数2で示す数式で用いる制御対象機器の消費電力は、制御対象機器の仕様値(例えば、カタログ値)を使用することができ、制御対象機器の稼働時間は、1日の中で制御対象機器に対して電力が供給されている時間を使用することができる。
第2入力情報1000は、上述の割付情報400、システム電力使用情報900を含む情報である。なお、本実施の形態1では、第2入力情報1000は、割付情報400とシステム電力使用情報900との2つの情報で構成されている。
図8は見直割付情報1100を示す図であり、見直割付情報1100は、自動制御システムASにおける制御対象機器150の割り付けの情報を含んでいる。図9は、見直割付情報1100に基づいて自動制御システムASにおける入出力ユニット202の入出力端子へ制御対象機器150を割り付けた場合の、自動制御システムASの1日の稼働状態を示す図である。
見直割付情報1100は、図8に示すように、入出力ユニット202A、202B、202Cと入出力ユニット202A、202B、202Cの入出力端子X0、X1、X2、Y0、Y1、Y2、Z0、Z1、Z2と各入出力端子に割り付けられる制御対象機器150の機器名M1、M2・・・M9と入出力ユニット202の稼働時間の合計であるユニット稼働時間と制御対象機器150の稼働時間の合計である機器稼働時間と自動制御システムASの電力使用量とを対応させて示すものである。なお、見直割付情報1100に含まれる、入出力ユニット202A、202B、202Cと入出力ユニット202A、202B、202Cの入出力端子X0、X1、X2、Y0、Y1、Y2、Z0、Z1、Z2と各入出力端子に割り付けられる制御対象機器150の機器名M1、M2・・・M9とを対応付けた情報が、自動制御システムASにおける制御対象機器150の割り付けの情報である。
また、図9に示すように、見直割付情報1100に基づく割り付けによれば、入出力ユニット202A、202B、202Cに対して制御対象機器150の稼働時間帯に偏りを持たせて割り付けることができる。つまり、入出力ユニット202A、202Bは、自動制御システムASの1日の稼働の中で、割り付けられている制御対象機器150のいずれかが常に稼働しているため、入出力ユニット202A、202Bに対しては1日中電力供給が行われていることがわかる。入出力ユニット202Cは、自動制御システムASの1日の稼働の中で、11:00から15:00の間と21:00から24:00の間で電力供給を停止することができることがわかる。また、見直割付情報1100を用いた割り付けによれば、自動制御システムASの電力使用量が2255kWhである。つまり、見直割付情報1100に基づく割り付けによれば、割付情報400で割り付けた自動制御システムASの電力使用量よりも、見直割付情報1100に含まれる割付の情報で割り付けた自動制御システムASの電力使用量が減少していることがわかる。さらに、入出力ユニット202Cへの電力供給を停止する時間が、割付情報400で示す自動制御システムASの割り付けにおける入出力ユニット202Cへの電力供給を停止する時間よりも増加していることがわかる。
図10は、学習部21の機能ブロックを模式的に示す図である。学習部21は、割付学習装置2の機能を実現する機能ブロックであり、自動制御システムASにおける制御対象機器150の割り付けの見直しを機械学習する。学習部21は、図10に示すように、前処理部22a、学習用データ取得部23、モデル生成部24、モデル記憶部25、を備えている。
前処理部22aは、学習部21に入力されたデータを学習用データとするために前処理が必要な場合に前処理を行う。なお、前処理とは、学習部21に入力されたデータの計算や形式の変更等を含む演算処理のことをいう。学習用データ取得部23は、学習部21での機械学習に必要な学習用データを取得する。本実施の形態1における学習用データについては後述する。
モデル生成部24は、学習用データに基づいて、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論する学習済モデルを生成する。言い換えれば、割付情報400で割り付けた自動制御システムASの電力使用量よりも、自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間よりも、自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論する学習済モデルを生成する。
モデル記憶部25は、モデル生成部24で生成された学習済モデルを記憶する。
以下に本実施の形態1に係る学習部21で行う学習済モデルの生成について説明する。なお、モデル生成部24が用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。なお、学習部21として演算装置300を機能させるプログラムは、割付学習プログラムである。
本実施の形態1では、機械学習の一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習では、ある環境内におけるエージェント(行動主体)が、現在の状態(環境のパラメータ)を観測し、取るべき行動を決定する。エージェントの行動により環境が動的に変化し、エージェントには環境の変化に応じて報酬が与えられる。エージェントはこれを繰り返し、一連の行動を通じて報酬が最も多く得られる行動方針を学習する。強化学習の代表的な手法として、Q学習(Q−learning)やTD学習(TD−learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は数3で表される。
数3において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1、αは0<α≦1の範囲とする。本実施の形態1では、「自動制御システムASを稼働させたときの電力使用情報」が行動atとなり、「自動制御システムASにおける制御対象機器150の割付情報400」が状態stとなり、時刻tの状態stにおける最良の行動atを学習する。
なお、自動制御システムASを稼働させたときの電力使用情報とは、割付情報400で割り付けた自動制御システムを稼働させたときの入出力ユニット202の消費電力と制御対象機器150の消費電力とに基づいて算出された自動制御システムASの電力使用量を含む情報であり、自動制御システムASにおける制御対象機器150の割付情報400とは、自動制御システムASに含まれる入出力ユニット202の入出力端子と制御対象機器150とを対応させた情報である。
数3で表される更新式は、時刻t+1における最もQ値の高い行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に 順次伝播していくようになる。
報酬計算部24Rは、自動制御システムASを稼働させたときの電力使用情報、自動制御システムASにおける制御対象機器150の割付情報400に基づいて報酬を計算する。報酬計算部24Rは、割付情報400で割り付けた自動制御システムASを稼働させたときの入出力ユニット202の消費電力と制御対象機器150の消費電力とに基づいて算出された自動制御システムASの電力使用量(kWh)と予め定められた第1閾値との差に基づいて、第1報酬r1を計算する。例えば、自動制御システムASを稼働させたときの電力使用情報に含まれる電力使用量が第1閾値より小さい場合には第1報酬r1を増大させ(例えば「第1閾値から電力使用量の値を減算した正の値」とする)、他方、自動制御システムASを稼働させたときの電力使用情報に含まれる電力使用量が第1閾値より大きい場合には第1報酬r1を低減する(例えば「所定の閾値から電力使用量の値を減算した負の値」とする)。
なお、第1閾値とは、学習させる際の任意の数値であり、電力使用量の数値を参考として決定することができる。また、第1報酬r1とは、数3で表した更新式の報酬rt+1を示すものである。
関数更新部24Uは、報酬計算部24Rによって計算される第1報酬r1に従って、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を決定するための関数を更新し、モデル記憶部25に出力する。例えばQ学習の場合、数3で表される行動価値関数Q(st,at)を割付情報400で割り付けた前記自動制御システムASの電力使用量が減少する制御対象機器150の割り付け状態を算出するための関数として用いることができる。また、行動価値関数Q(st,at)を割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を算出するための関数として用いることもできる。
以上のような学習を繰り返し実行する。モデル記憶部25は、関数更新部24Uによって更新された行動価値関数Q(st,at)、すなわち、学習済モデルを記憶する。
図11は、本実施の形態1に係る学習部21で機械学習により学習済モデルを生成する動作を示すフローチャートである。
図11に示すように、学習部21は、上述の第1入力情報800と構成が同様の学習用第1入力情報800、又は、上述の第2入力情報1000と構成が同様の学習用第2入力情報1000のいずれかの入力を受け付ける(ステップS101)。入力された学習用第1入力情報800、又は、学習用第2入力情報1000に基づき、自動制御システムASにおける制御対象機器150の学習用割付情報400と、自動制御システムASを稼働させたときの学習用電力使用情報とを含む学習用データを取得する(ステップS102)。取得した学習用データに基づいて、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論する学習済モデルを生成する(ステップS103)。生成した学習済モデルを記憶する(ステップS104)。以下にステップS102及びステップS103について詳述する。
ステップS102において、入力された入力情報が学習用第1入力情報800である場合に、学習用データを取得するために前処理部22aにより、学習用第1入力情報800に含まれる学習用時間帯情報500、学習用ユニット消費電力情報600、学習用機器消費電力情報700に基づいて、自動制御システムASを稼働させたときの学習用電力使用情報を算出する。具体的には上述した数1、数2で示した数式に相当するシステム電力使用量計算用関数を記憶部102に記憶しておき、前処理部22aは、記憶部102から読み出して、システム電力使用情報900に相当する情報を算出する。学習用第1入力情報800に含まれている学習用割付情報400と、前処理部22aで算出した自動制御システムASを稼働させたときの学習用電力使用情報と、を学習用データとして学習用データ取得部23が取得する。
また、入力された入力情報が学習用第2入力情報1000である場合は、学習用第2入力情報1000に含まれる学習用割付情報400と、学習用システム電力使用情報900と、を学習用データとして学習用データ取得部23が取得する。なお、学習用システム電力使用情報900は、学習用電力使用情報である。
ステップS103において、モデル生成部24は、自動制御システムASを稼働させたときの学習用電力使用情報、自動制御システムASにおける制御対象機器150の学習用割付情報400に基づいて第1報酬r1を計算する。具体的には、報酬計算部24Rは、自動制御システムASを稼働させたときの学習用電力使用情報、自動制御システムASにおける制御対象機器150の学習用割付情報400を取得し、予め定められた第1閾値と学習用電力使用情報に含まれる電力使用量(kWh)との差に基づいて第1報酬r1を増加させるか(ステップS103−A)又は第1報酬r1を減じるか(ステップS103−B)を判断する。
報酬計算部24Rは、第1報酬r1を増大させると判断した場合に、ステップS103−Aにおいて第1報酬r1を増大させる。一方、報酬計算部24Rは、第1報酬r1を減少させると判断した場合に、ステップS103−Bにおいて第1報酬r1を減少させる。
そして、ステップS103−Cにおいて、関数更新部24Uは、報酬計算部24Rによって計算された第1報酬r1に基づいて、モデル記憶部25が記憶する数3で表される行動価値関数Q(st,at)を更新する。
学習部21は、以上のステップS102からS103までのステップを、学習用割付情報400の異なる自動制御システムASに対して繰り返し実行し、行動価値関数Q(st,at)を学習済モデルとして生成する。
なお、上述した学習用割付情報400、学習用時間帯情報500、学習用ユニット消費電力情報600、学習用機器消費電力情報700、学習用第1入力情報800、学習用システム電力使用情報900、及び学習用第2入力情報1000(これらをまとめて「学習用データを得るための情報」ともいう)は、学習部21での機械学習に用いる情報である。学習用データを得るための情報は、後述する推論部20での自動制御システムASにおける制御対象機器150の割り付け状態を推論する演算処理を行う際に入力される、割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、第1入力情報800、システム電力使用情報900、及び第2入力情報1000(これらをまとめて「推論用の情報」ともいう)と区別するために用いた用語である。学習用データを得るための情報は、推論用の情報に対して、それぞれの情報構成は同じであり、各情報を示す具体的な数値等の内容の異なる情報である。
以下に、本実施の形態1に係る割付支援プログラム及び割付支援装置1の動作について図を用いて説明する。
図12は、本実施の形態1に係る割付支援プログラム及び割付支援装置1の動作を示すフローチャートである。割付支援装置1はインストールされた割付支援プログラムを起動することで動作を開始できる状態となる。
ユーザは、稼働させている自動制御システムASの割付情報400、時間帯情報500、自動制御システムASに使用している入出力ユニットのユニット消費電力情報600、機器消費電力情報700の4つの情報で構成される第1入力情報800、又は、稼働させている自動制御システムASの割付情報400、システム電力使用情報900の2つの情報で構成される第2入力情報1000のいずれかを準備する。
そして、準備した第1入力情報800又は第2入力情報1000のいずれかを割付支援装置1に入力する。入力された第1入力情報800又は第2入力情報1000は、記憶部102に記憶される。記憶部102に記憶されている第1入力情報800又は第2入力情報1000を、情報取得部11が読み出して取得する(ステップS201)。
次に、情報取得部11が取得した第1入力情報800又は第2入力情報1000のいずれかが、推論部20に入力される(ステップS202)。学習装置部21は、入力された情報に基づいた演算処理を実行する。ここで、入力された情報に基づく推論部20の演算処理について具体的に説明する。
推論部20に入力された情報が第1入力情報800である場合は、第1入力情報800は、前処理部22により第1演算処理が実行される(ステップS203)。具体的には、上述した数1、数2で示される数式に相当するシステム電力使用計算用関数を記憶部102に記憶しておき、前処理部22は、記憶部102から読み出して、第1入力情報800に含まれる、時間帯情報500、自動制御システムASに使用している入出力ユニットのユニット消費電力情報600、機器消費電力情報700に基づき、システム電力使用情報900に相当する情報を算出する。
続いて、ステップS202で推論部20に入力された第1入力情報800に含まれていた割付情報400と、ステップS203で第1演算処理を行い取得した情報と、に基づき、演算処理部26は、学習済モデルを使用した第2演算処理を実行する(ステップS204)。つまり、演算処理部26は、学習部21のモデル記憶部25に記憶されている学習済みの学習済モデルを読み出して、第2演算処理を実行し、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少する制御対象機器150の割り付け状態を推論し、推論の結果を出力する。もしくは、演算処理部26は、第2演算処理を実行し、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論し、推論の結果を出力する。
言い換えれば、演算処理部26は、第2演算処理を実行して、割付情報400で割り付けた自動制御システムASの電力使用量よりも、自動制御システムASの電力使用量が減少する制御対象機器150の割り付け状態を推論し、推論の結果を出力する。もしくは、演算処理部26は、第2演算処理を実行して、割付情報400で割り付けた自動制御システムASの電力使用量よりも、自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間よりも、自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論し、推論の結果を出力する。
また、推論部20に入力された情報が第2入力情報1000である場合は、第2入力情報1000にシステム電力使用情報900を含んでいるため、上述のステップS203で行った第1演算処理が不要となるため、ステップS202の後、ステップS204を実行する。第2入力情報が入力された場合は、ステップS204で行う第2演算処理について、第2入力情報1000を構成する割付情報400とシステム電力使用情報900に基づいて実行する。つまり、推論部20が行う推論とは、上述の演算処理であり、第1入力情報800が入力された場合は、第1演算処理及び第2演算処理を指し、第2入力情報1000が入力された場合は、第2演算処理を指す。
そして、割付情報出力部12は、推論部20の演算処理部26が出力した結果を、見直割付情報1100として取得して出力する(ステップS205)。ステップS205を完了することで、割付支援プログラム及び割付支援装置1は動作を終了する。なお、割付情報出力部12は、見直割付情報1100に含まれる、入出力ユニットと入出力ユニットの入出力端子と各入出力端子に割り付けられる制御対象機器150とを対応付けた自動制御システムASにおける制御対象機器150の割り付けの情報を取得して出力するようにしてもよい。
以上により、本実施の形態1における割付支援プログラム及び割付支援装置1は、第1入力情報800、又は、第2入力情報1000のいずれかを取得する情報取得部11、第1入力情報800、又は、第2入力情報1000が入力され、推論部20の学習済モデルを用いた推論により出力された、見直割付情報1100を推論部20から取得して出力する割付情報出力部12を有する。これにより、自動制御システムASにおける制御対象機器150の割り付けを、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少するように見直す指標である自動制御システムASにおける制御対象機器150の割り付けの情報を提供することができる。あるいは、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加するように見直す指標である自動制御システムASにおける制御対象機器150の割り付けの情報を提供することができる。
したがって、本実施の形態1における見直割付情報1100を用いた自動制御システムASの割り付けによれば、自動制御システムASに割り付けられた制御対象機器150の稼働時間帯を、各入出力ユニット202に対して偏らせることで、自動制御システムASの電力使用量を低減することができる。また、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する。ここで、入出力ユニット202への電力供給を停止するとは、入出力ユニット202の全ての機能を停止するように電力供給を停止することとしてもよく、また、入出力ユニット202の備える入出力デバイス全体のへの電力供給を停止することとしてもよい。
なお、学習部21が、上述のように割付情報400と自動制御システムASを稼働させたときの電力使用情報を含む学習用データに基づいて、学習済モデルを生成しているため、割付情報400で特定される自動制御システムASにおける制御対象機器150の割り付け状態によって、自動制御システムASが稼働したときの電力使用量がどのように変化するかを推論することができる。そして、自動制御システムASが稼働したときの電力使用量は、自動制御システムASに含まれる入出力ユニット202への電力供給が行われている場合は、電力使用量が高くなる傾向にあり、入出力ユニット202への電力供給が停止されている場合は低くなる傾向にある。したがって、自動制御システムASが稼働したときの電力使用量が低い割り付け状態を推論することができ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加する制御対象機器150の割り付け状態を推論することができる。
実施の形態2.
本発明の実施の形態2に係る割付支援プログラム、割付支援装置、割付学習プログラム、割付学習装置について図面を用いて説明する。本実施の形態2においても、割付支援プログラムに割付学習プログラムを含み、割付支援装置が割付学習装置としての機能を有する形態として説明する。なお、上述の実施の形態1と同様の構成については、同じ符号を用いて記載し、具体的な説明は省略する。以下、実施の形態1と異なる構成について具体的に説明する。
図13は、本実施の形態2に係る割付支援装置1bの機能ブロックの一例を模式的に示す図である。なお、本実施の形態2においても上述の実施の形態1と同様に、割付支援装置1bは、制御対象機器150の割り付けの見直しを支援する機能に加え、機械学習を行う割付学習装置2bとしての機能も有する構成である。本実施の形態2においても、割付支援装置1bと併せて割付学習装置2bの機能ブロックも含めて説明する。
割付支援装置1bは、既に稼働している自動制御システムASにおける制御対象機器150の割り付けの見直しを支援する装置である。割付支援装置1bは、自動制御システムASにおける各種情報を取得する情報取得部11bと、情報取得部11bで取得した情報を入力して、自動制御システムASにおける制御対象機器150の割り付けを推論する推論部20bと、推論部20bの演算処理により出力される情報を取得し出力する割付情報出力部12bと、を有している。さらに、割付支援装置1bは、自動制御システムASにおける制御対象機器150の割り付けを機械学習するための学習部21bを有している。なお、学習部21bは、割付学習装置2bの機能ブロックである。
情報取得部11bは、割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、割付情報400に対応する各入出力ユニット202の各入出力端子への信号の送信回数を示す回数情報401を含んだ第1入力情報800bを取得するか、又は、システム電力使用情報900、割付情報400、回数情報401を含む第2入力情報1000bを取得する。回数情報401については後述する。
推論部20bは、前処理部22と演算処理部26bとを備えている。前処理部22は実施の形態1と同様の機能を有する。演算処理部26bは、後述する学習部21bにより機械学習を行うことで生成した学習済モデルを読み出し、情報取得部11bで取得した情報に基づいて、自動制御システムASにおける制御対象機器150の割り付けの見直しを推論する。推論部20での演算処理については後述する。
推論部20bは、第1入力情報800b又は第2入力情報1000bのいずれを入力し、後述する各演算処理を実行する。割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加するような割り付け状態を推論する。さらに、この割り付け状態は、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少するように推論部20bにより推論される。
割付情報出力部12bは、推論部20bで推論された割り付け状態を見直割付情報1100bとして取得し出力する。出力された見直割付情報1100bは、表示部104に表示される。
以下に、上述の情報取得部11bが取得する各情報及び割付情報出力部12bが出力する情報について説明する。なお、情報取得部11bが取得する各情報のうち、割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、システム電力使用情報900は上述の実施の形態1と同様であるため説明を省略する。
図14は、回数情報401の一例を示す図である。図14に示すように、回数情報401は、割付情報400に対応する各入出力ユニット202の各入出力端子への信号の送信回数を示す。具体的には、回数情報401は、図4と同様に3台の入出力ユニット202A、202B、202Cと、各入出力ユニット202A、202B、202Cの入出力端子X0、X1、X2、Y0、Y1、Y2、Z0、Z1、Z2と、を対応させて示し、各入出力端子へ信号が送信された回数と各入出力端子とを対応させて示している。なお、各入出力端子へ信号が送信された回数は、CPUユニット201から入出力端子へ信号が送信された回数、及び、制御対象機器150から入出力端子へ信号が送信された回数の合計の回数である。なお、図14に示すように、本実施の形態2では入出力ユニット202Aの入出力端子の中で信号の送信回数が最も多いのは、入出力端子X1であり、18429回であった。同様に入出力ユニット202Bの入出力端子の中で信号の送信回数が最も多いのは、入出力端子Y0であり、15320回であり、入出力ユニット202Cの入出力端子の中で信号の送信回数が最も多いのは、入出力端子Z0であり、19079回であった。
本実施の形態2において、第1入力情報800bは、上述の割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、回数情報401を含む情報である。なお、本実施の形態2では、第1入力情報800bは、割付情報400、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、回数情報401の5つの情報で構成されている。
また、本実施の形態2において、第2入力情報1000bは、上述の割付情報400、システム電力使用情報900、回数情報401を含む情報である。なお、本実施の形態2では、第2入力情報1000bは、割付情報400とシステム電力使用情報900と回数情報401との3つの情報で構成されている。
図15は、見直割付情報1100bを示す図であり、見直割付情報1100bは、自動制御システムASにおける制御対象機器150の割り付けの情報を含んでいる。図16は、見直割付情報1100bに基づいて自動制御システムASにおける入出力ユニット202の入出力端子へ制御対象機器150を割り付けた場合の、自動制御システムASの1日の稼働状態を示す図である。
見直割付情報1100bは、図15に示すように、入出力ユニット202A〜202Cと、入出力ユニット202A〜202Cの備える入出力端子X0〜Z2と、各入出力端子に割り付けられる制御対象機器150の機器名M1〜M9と、入出力端子に信号が送信された回数である送信回数と、入出力ユニット202の稼働時間の合計であるユニット稼働時間と、制御対象機器150の稼働時間の合計である機器稼働時間と、自動制御システムASの電力使用量と、を対応させて示すものである。なお、見直割付情報1100bに含まれる、入出力ユニット202A〜202Cと、入出力ユニット202A〜202Cの入出力端子X0〜Z2と、各入出力端子に割り付けられる制御対象機器150の機器名M1〜M9と、を対応付けた情報が、自動制御システムASにおける制御対象機器150の割り付けの情報である。見直割付情報1100bに基づく割り付けによれば、入出力ユニット202A、202B、202Cに対して制御対象機器150の稼働時間帯に偏りを持たせ、且つ、各入出力ユニット202A、202B、202Cに対して信号の送信回数に偏りを持たせて割り付けることができる。
つまり、図16に示すように、入出力ユニット202A、202Bは、自動制御システムASの1日の稼働の中で、割り付けられている制御対象機器150のいずれかが常に稼働しているため、入出力ユニット202A、202Bに対しては1日中電力供給が行われていることがわかる。入出力ユニット202Cは、自動制御システムASの1日の稼働の中で、12:00から15:00の間と22:00から24:00の間で電力供給を停止することができることがわかる。また、図15に示すように、見直割付情報1100bを用いた割り付けによれば、自動制御システムASの電力使用量が2265kWhである。つまり、見直割付情報1100bに基づく割り付けによれば、自動制御システムASの電力使用量が減少していることがわかる。さらに、入出力ユニット202Cへの電力供給を停止する時間が、割付情報400で示す自動制御システムASの割り付けにおける入出力ユニット202Cへの電力供給を停止する時間よりも増加していることがわかる。
また、図15に示すように、入出力ユニット202Aと入出力ユニット202Cとは、入出力ユニット202A、202Cのそれぞれが有する複数の入出力端子に送信される信号の送信回数のうちのそれぞれ入出力ユニット202A、202Cに対する最大値が、図14に示す、割付情報400で示される自動制御システムASの割り付けにおける入出力ユニット202A、202Cの有する複数の入出力端子に送信される信号の送信回数のうちのそれぞれ入出力ユニット202A、202Cに対する最大値よりも小さくなっている。
具体的には、図14に示す、割付情報400で割り付けた自動制御システムASの入出力ユニット202Aのそれぞれの入出力端子に送信される信号の送信回数のうちの最大値は18429回であったが、見直割付情報1100bに含まれる割り付けの情報で割り付けた自動制御システムASの入出力ユニット202Aのそれぞれの入出力端子に送信される信号の送信回数のうちの最大値は7959回である。また、割付情報400で割り付けた自動制御システムASの入出力ユニット202Cのそれぞれの入出力端子に送信される信号の送信回数のうちの最大値は19079回であったが、見直割付情報1100bに含まれる割り付けの情報で割り付けた入出力ユニット202Cのそれぞれの入出力端子に送信される信号の送信回数のうちの最大値は2615回である。
図17は、実施の形態2に係る学習部21bの機能ブロックの一例を示す図である。学習部21bは、割付学習装置2bの機能を実現する機能ブロックであり、自動制御システムASにおける制御対象機器150の割り付けの見直しを機械学習する。図16に示すように、学習部21bは、上述の実施の形態1と同様に機能する前処理部22a、本実施の形態2における学習用データを取得する学習用データ取得部23b、学習済モデルの生成に影響を与える情報を取得する重付情報取得部27、学習済モデルを生成するモデル生成部25b、学習済モデルを記憶するモデル記憶部25bを備えている。
重付情報取得部27は、後述の学習済モデル生成の際の報酬に重み付けを行う重付情報を取得する。学習用データ取得部23bは、学習部21bでの機械学習に必要な学習用データを取得する。本実施の形態2における学習用データについては後述する。
モデル生成部24bは、学習用データ及び重付情報に基づいて、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加するような割り付け状態を推論する学習済モデルを生成する。さらに、この学習済モデルは、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少するように生成されている。
以下に本実施の形態2に係る学習部21bで行う学習済モデルの生成について説明する。なお、モデル生成部24bが用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。なお、学習部21bとして演算装置300を機能させるプログラムは、割付学習プログラムである。
本実施の形態2では、上述の実施の形態1と同様に、機械学習の強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習の代表的な手法である、Q学習を用いる場合、行動価値関数Q(s,a)の一般的な更新式は上述の数3で表される。
本実施の形態2では、数3において、「自動制御システムASを稼働させたときの電力使用情報」及び「自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す回数情報401」が行動atとなり、「自動制御システムASにおける制御対象機器150の割付情報400」が状態stとなり、時刻tの状態stにおける最良の行動atを学習する。本実施の形態2では、後述する重付情報取得部27で取得した重付情報を考慮して学習を行う。
なお、自動制御システムASを稼働させたときの電力使用情報とは、割付情報400で割り付けた自動制御システムを稼働させたときの入出力ユニット202の消費電力と制御対象機器150の消費電力とに基づいて算出された自動制御システムASの電力使用量を含む情報であり、自動制御システムASにおける制御対象機器150の割付情報400とは、自動制御システムASに含まれる入出力ユニット202の入出力端子と制御対象機器150とを対応させた情報である。
重付情報取得部27は、学習済モデル生成の際に報酬に重み付けを行う重付情報を取得する。重付情報は、後述する報酬計算部24Rbで計算する報酬に対して作用する係数であり、0.0から0.1の範囲が設定可能である。重付情報取得部27は、ユーザが入力部103を介して設定した係数を重付情報として取得する。本実施の形態2では、後述する第1報酬r1及び第2報酬r2のそれぞれに対して作用する2つの係数を重付情報として取得する。例えば、第1報酬r1の影響を大きくして学習させたい場合は、第1報酬r1に対して作用する係数を大きく設定し(例えば「0.8」)、第2報酬r2に対して作用する係数を第1報酬r1に対して作用する係数よりも小さく設定する(例えば、「0.6」)。
報酬計算部24Rbは、自動制御システムASを稼働させたときの電力使用情報、自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す回数情報401、自動制御システムASにおける制御対象機器150の割付情報400、重付情報に基づいて報酬を計算する。
報酬計算部24Rbは、電力使用量における所定の閾値であり、予め定められた第1閾値(以下、本実施の形態2では、便宜上「電力閾値」という)と電力使用量(kWh)との差に基づいて、第1報酬r1を計算し、第1報酬r1に対して重付情報に基づく係数を乗算する。例えば、自動制御システムASを稼働させたときの電力使用情報に含まれる電力使用量が電力閾値より小さい場合には第1報酬r1を増大させ(例えば「電力閾値から電力使用量の値を減算した正の値」とし)、増大させた第1報酬r1に対して係数を乗算する。他方、自動制御システムASを稼働させたときの電力使用情報に含まれる電力使用量が電力閾値より大きい場合には第1報酬r1を低減し(例えば「電力閾値から電力使用量の値を減算した負の値」とし)、低減した第1報酬r1に対して係数を乗算する。なお電力閾値とは、学習させる際の任意の数値であり、電力使用量の数値を参考として決定することができる。
また、報酬計算部24Rbは、入出力端子に送信される信号の送信回数における所定の閾値であり、予め定められた第2閾値(以下、本実施の形態2では、便宜上「回数閾値」という)と複数の入出力ユニット202のそれぞれの入出力端子への信号の送信回数のうちの最大値を合計した合計回数との差に基づいて、第2報酬r2を計算する。
なお、合計回数とは、例えば、以下の手法にて求めることができる。まず、自動制御システムASを稼働させたときの入出力ユニット202のそれぞれの入出力端子へ送信される信号の送信回数のうちで、最も送信回数の多い入出力端子に該当する送信回数を入出力ユニット202における送信回数の最大値とする。この最大値を各入出力ユニットに対して抽出する。次に、抽出した複数の最大値を合計して合計回数とする。
報酬計算部24Rbは、自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す回数情報401に含まれる合計回数が回数閾値より小さい場合には第2報酬r2を増大させ(例えば「回数閾値から合計回数の値を減算した正の値」とし)、増大させた第2報酬r2に対して係数を乗算する。他方、自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す回数情報401に含まれる合計回数が回数閾値より大きい場合には第2報酬r2を低減し(例えば「電力閾値から電力使用量の値を減算した負の値」とし)、低減した第2報酬r2に対して係数を乗算する。なお回数閾値とは、学習させる際の任意の数値であり、入出力端子への信号の送信回数の数値を参考として決定することができる。
そして、報酬計算部24Rbは、第1報酬r1と第2報酬r2とを加算して、最終報酬を決定する。なお、ここでの最終報酬は、数3で表した更新式の報酬rt+1を示すものである。
関数更新部24Ubは、報酬計算部24Rbによって計算される最終報酬に従って、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加し、且つ、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少する制御対象機器150の割り付け状態を決定するための関数を更新し、モデル記憶部25に出力する。
例えばQ学習の場合、数3で表される行動価値関数Q(st,at)を割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加するような割り付け状態を算出するための関数として用いる。さらに、この関数で算出される割り付け状態は、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少する割り付け状態である。
以上のような学習を繰り返し実行する。モデル記憶部25bは、関数更新部24Ubによって更新された行動価値関数Q(st,at)、すなわち、学習済モデルを記憶する。
図18は、本実施の形態2に係る学習部21bで機械学習により学習済モデルを生成する動作を示すフローチャートである。
図18に示すように、学習部21は、上述の第1入力情報800bと構成が同様の学習用第1入力情報800b、又は、上述の第2入力情報1000bと構成が同様の学習用第2入力情報1000bのいずれかの入力を受け付ける(ステップS301)。重付情報取得部27により、重付情報を取得する(ステップS302)。入力された学習用第1入力情報800b、又は、学習用第2入力情報1000bに基づき、自動制御システムASにおける制御対象機器150の学習用割付情報400と、自動制御システムASを稼働させたときの学習用電力使用情報と、学習用割付情報400に対応する自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す学習用回数情報401とを含む学習用データを取得する(ステップS303)。取得した学習用データに基づいて、制御対象機器150の割り付け状態を推論する学習済モデルを生成する(ステップS304)。生成した学習済モデルを記憶する(ステップS305)。以下にステップS303及びステップS304について詳述する。
ステップS303において、入力された入力情報が学習用第1入力情報800bである場合に、上述の実施の形態1と同様に学習用データを取得するために前処理部22により、学習用第1入力情報800bに含まれる学習用時間帯情報500、学習用ユニット消費電力情報600、学習用機器消費電力情報700に基づいて、自動制御システムASを稼働させたときの学習用電力使用情報を算出する。学習用第1入力情報800bに含まれている学習用割付情報400及び学習用回数情報401と、前処理部22で算出した自動制御システムASを稼働させたときの学習用電力使用情報と、を学習用データとして学習用データ取得部23bが取得する。
また、入力された入力情報が学習用第2入力情報1000bである場合は、学習用第2入力情報1000bに含まれる学習用割付情報400と、学習用システム電力使用情報900と、学習用回数情報401と、を学習用データとして学習用データ取得部23bが取得する。なお、学習用システム電力使用情報900は、学習用電力使用情報である。
ステップS304において、モデル生成部23bは、自動制御システムASを稼働させたときの学習用電力使用情報、自動制御システムASにおける制御対象機器150の学習用割付情報400、自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の学習用送信回数を示す回数情報401に基づいて報酬を計算する。具体的には、報酬計算部24Rbは、第1報酬r1及び第2報酬r2を計算し、重付情報を考慮して、最終報酬を計算する。まず、報酬計算部24Rbは、学習用電力使用情報、学習用割付情報400を使用して、予め定められた電力閾値と学習用電力使用情報に含まれる電力使用量(kWh)との差に基づいて第1報酬r1を増加させるか(ステップS304−A)又は第1報酬r1を減じるか(ステップS304−B)を判断する。
報酬計算部24Rbは、第1報酬r1を増大させると判断した場合に、ステップS304−Aにおいて第1報酬r1を増大させる。一方、報酬計算部24Rbは、第1報酬r1を減少させると判断した場合に、ステップS304−Bにおいて第1報酬r1を減少させる。そして、ステップS304−CにおいてステップS302で取得した重付情報に含まれる係数を増大又減少させた第1報酬r1に乗算する。
続いて、報酬計算部24Rbは、学習用割付情報400、学習用回数情報401を使用して、予め定められた回数閾値と上述の合計回数との差に基づいて第2報酬r2を増加させるか(ステップS304−A)又は第2報酬r2を減じるか(ステップS304−B)を判断する。
報酬計算部24Rbは、第2報酬r2を増大させると判断した場合に、ステップS304−Aにおいて第2報酬r2を増大させる。一方、報酬計算部24Rbは、第2報酬r2を減少させると判断した場合に、ステップS304−Bにおいて第2報酬r2を減少させる。そして、ステップS304−CにおいてステップS302で取得した重付情報に含まれる係数を増大又減少させた第2報酬r2に乗算する。
そして、ステップS304−Dにおいて、報酬計算部24Rbは、計算した第1報酬r1と第2報酬r2とを加算して最終報酬を計算する。
ステップS304−Eにおいて、関数更新部24Ubは、報酬計算部24Rbによって計算された最終報酬に基づいて、モデル記憶部24bが記憶する数3で表される行動価値関数Q(st,at)を更新する。
学習部21bは、以上のステップS303からS304までのステップを、学習用の割付情報400の異なる自動制御システムASに対して繰り返し実行し、行動価値関数Q(st,at)を学習済モデルとして生成する。
なお、上述した学習用割付情報400、学習用回数情報401、学習用時間帯情報500、学習用ユニット消費電力情報600、学習用機器消費電力情報700、学習用第1入力情報800b、学習用システム電力使用情報900、及び、学習用第2入力情報1000b(これらをまとめて「学習用データを得るための情報」ともいう)とは、学習部21bでの機械学習に用いる情報である。学習用データを得るための情報は、後述する推論部20bでの自動制御システムASにおける制御対象機器150の割り付け状態を推論する演算処理を行う際に入力される、割付情報400、回数情報401、時間帯情報500、ユニット消費電力情報600、機器消費電力情報700、第1入力情報800、システム電力使用情報900、及び、第2入力情報1000と区別するために用いた用語である。学習用データを得るための情報は、推論用の情報に対して、各情報としては、それぞれの情報構成は同じであり、各情報を示す具体的な数値等の内容の異なる情報である。
以下に、本実施の形態2に係る割付支援プログラム及び割付支援装置1bの動作について図を用いて説明する。
図19は、本実施の形態2に係る割付支援プログラム及び割付支援装置1bの動作を示すフローチャートである。割付支援装置1bはインストールされた割付支援プログラムを起動することで動作を開始できる状態となる。
ユーザは、稼働させている自動制御システムASの割付情報400、時間帯情報500、自動制御システムASに使用している入出力ユニットのユニット消費電力情報600、機器消費電力情報700、割付情報400に対応する自動制御システムASに含まれる複数の入出力ユニット202のそれぞれが有する複数の入出力端子に送信される信号の送信回数を示す回数情報401の5つの情報で構成される第1入力情報800b、又は、稼働させている自動制御システムASの割付情報400、システム電力使用情報、回数情報401の3つの情報で構成される第2入力情報1000bのいずれかを準備する。
そして、準備した第1入力情報800b又は第2入力情報1000bのいずれかを割付支援装置1に入力する。入力された第1入力情報800b又は第2入力情報1000bは、記憶部102に記憶される。記憶部102に記憶されている第1入力情報800b又は第2入力情報1000bを、情報取得部11bが読み出して取得する(ステップS401)。
次に、情報取得部11bが取得した第1入力情報800b又は第2入力情報1000bのいずれかが、推論部20bに入力される(ステップS402)。推論部20bは、入力された情報に基づいた演算処理を実行する。ここで、入力された情報に基づく推論部20bの演算処理について具体的に説明する。
推論部20bに入力された情報が第1入力情報800bである場合は、第1入力情報800bは、前処理部22により第1演算処理が実行される(ステップS403)。具体的には、上述した数1、数2に相当するシステム電力使用計算用関数を記憶部102に記憶しておき、前処理部22は、記憶部102から読み出して、第1入力情報800bに含まれる、時間帯情報500、自動制御システムASに使用している入出力ユニットのユニット消費電力情報600、機器消費電力情報700に基づき、システム電力使用情報900に相当する情報を算出する。
続いて、ステップS402で推論部20bに入力された第1入力情報800bに含まれていた割付情報400、回数情報401と、ステップS403で第1演算処理を行い取得した情報と、に基づき、演算処理部26bは、学習済モデルを使用した第2演算処理を実行する(ステップS404)。つまり、演算処理部26bは、学習部21bのモデル記憶部25bに記憶されている学習済みの学習済モデルを読み出して、第2演算処理を実行し、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加するような割り付け状態を推論する。さらに、この割り付け状態は、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少するように推論部20bにより推論される。そして、推論の結果が推論部20bから出力される。
また、推論部20bに入力された情報が第2入力情報1000bである場合は、第2入力情報1000bにシステム電力使用情報900を含んでいるため、上述のステップS403で行った第1演算処理が不要となるため、ステップS402の後、ステップS404を実行する。第2入力情報1000bが入力された場合は、ステップS404で行う第2演算処理について、第2入力情報1000bを構成する割付情報400と回数情報401とシステム電力使用情報900に基づいて実行する。つまり、推論部20bが行う推論とは、上述の演算処理であり、第1入力情報800bが入力された場合は、第1演算処理及び第2演算処理を指し、第2入力情報1000bが入力された場合は、第2演算処理を指す。
そして、割付情報出力部12bは、推論部20bの演算処理部26bが出力した結果を、見直割付情報1100bとして取得し出力する(ステップS405)。ステップS405を完了することで、割付支援プログラム及び割付支援装置1bは動作を終了する。なお、割付情報出力部12bは、見直割付情報1100bに含まれる、入出力ユニットと入出力ユニットの入出力端子と各入出力端子に割り付けられる制御対象機器150とを対応付けた自動制御システムASにおける制御対象機器150の割り付けの情報を取得して出力するようにしてもよい。
以上により、本実施の形態2における割付支援プログラム及び割付支援装置1bは、第1入力情報800b、又は、第2入力情報1000bのいずれかを取得する情報取得部11b、第1入力情報800b、又は、第2入力情報1000bが入力されることで、学習済モデルを用いた推論を行う推論部20bから取得した、見直割付情報1100bに含まれる制御対象機器150の割り付けの情報を出力する割付情報出力部12bを有する。これにより、自動制御システムASにおける制御対象機器150の割り付けを見直す指標である、本実施の形態2で説明した自動制御システムASにおける制御対象機器150の割り付けの情報を提供することができる。
したがって、本実施の形態2における見直割付情報1100bを用いた自動制御システムASの割り付けによれば、自動制御システムASに割り付けられた制御対象機器150の稼働時間帯を、各入出力ユニット202に対して偏らせることで、上述の実施の形態1と同様に自動制御システムASの電力使用量を低減することができる。
また、入出力ユニット202は、通常、入出力端子へ送信される信号を所定の回路へ伝達するためにリレーやコンデンサ等の消耗部品を備えている。入出力ユニット202の備える複数の入出力端子に対応する消耗部品のうち1つが消耗し破損した場合、他の入出力端子に異常がなくとも、入出力ユニット202ごと交換又は修理が必要となる。本実施の形態2における見直割付情報1100bを用いた自動制御システムASの割り付けによれば、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値を減少させることができる。
つまり、割り付けを見直した後の入出力ユニット202は、見直す前に比べ、最も多く信号が送信されていた入出力端子へ信号の送信回数の少ない制御対象機器150が割り付けられることとなる。他方、最も多く信号が送信されていた入出力端子に割り付けられていた制御対象機器150は、他の入出力ユニット202の入出力端子へ割り付けられることとなる。言い換えれば、自動制御システムASの備える複数の入出力ユニット202に対して、入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数が多くなるように制御対象機器150を割り付けられるものと、入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数が少なくなるように制御対象機器150を割り付けられるものと、が生じるように複数の入出力ユニット202に対して信号の送信回数を偏らせる割り付けとすることができる。
したがって、1つの入出力ユニット202の有する複数の入出力端子に信号の送信回数が少なくなるように割り付けられた入出力ユニット202は、交換又は修理の頻度を低減することができる。また、1つの入出力ユニット202の有する複数の入出力端子に信号の送信回数が多くなるように割り付けられた入出力ユニット202であっても、1つの入出力端子が異常であるために入出力ユニット202ごと交換又は修理するという事態を低減できるため、自動制御システムASのメンテナンス性を向上させることができる。
なお、学習部21bが、上述のように割付情報400と回数情報401と自動制御システムASを稼働させたときの電力使用情報を含む学習用データに基づいて、学習済モデルを生成している。このため、割付情報400で特定される自動制御システムASにおける制御対象機器150の割り付け状態によって、自動制御システムASが稼働したときの電力使用量がどのように変化するか、及び、自動制御システムASが稼働したときの各入出力ユニット202の備える各入出力端子へ信号を送信される送信回数がどのように変化するかを推論することができる。
そして、自動制御システムASが稼働したときの電力使用量は、自動制御システムASに含まれる入出力ユニット202への電力供給が行われている場合は、電力使用量が高くなる傾向にあり、入出力ユニット202への電力供給が停止されている場合は低くなる傾向にある。また、入出力端子への信号の送信回数は、割り付けられている制御対象機器150に依存する。つまり、頻繁に稼働する制御対象機器150が割り付けられた入出力端子は、信号が送信される回数が多くなる。したがって、自動制御システムASが稼働したときの電力使用量が低く、且つ、少なくとも1つの入出力ユニットに対して信号の送信回数の最大値が小さくなる割り付け状態を推論することで、割付情報400で割り付けた前記自動制御システムASの電力使用量が減少し、且つ、割付情報400で割り付けた自動制御システムASの複数の入出力ユニット202のうち少なくとも1つの入出力ユニット202への電力供給を停止する時間が増加し、且つ、割付情報400で割り付けた自動制御システムASの少なくとも1つの入出力ユニット202の有する複数の入出力端子に送信される信号の送信回数のうちの最大値が減少する制御対象機器150の割り付け状態を推論することができる。
実施の形態3.
本発明の実施の形態3に係る割付支援プログラム、割付支援装置、割付学習プログラム、割付学習装置について図面を用いて説明する。本実施の形態3においても、割付支援プログラムに割付学習プログラムを含み、割付支援装置が割付学習装置としての機能を有する形態として説明する。なお、上述の実施の形態1及び実施の形態2と同様の構成については、同じ符号を用いて記載し、具体的な説明は省略する。また、本実施の形態3では、上述の実施の形態1と同様に、入出力端子を3つ有する入出力デバイス部を備えた入出力ユニット202を3台備え、各入出力端子に制御対象機器150が割り付けられており制御対象機器150を9台備えた自動制御システムASを一例にして説明を行う。以下、実施の形態1及び実施の形態2と異なる構成について具体的に説明する。
図20は、本実施の形態3に係る割付支援装置1cの機能ブロックの一例を模式的に示す図である。図21は、本実施の形態3に係る割付シミュレーション部の機能ブロックの一例を示す図である。本実施の形態3に係る割付支援装置1cは、上述の実施の形態1及び実施の形態2で説明した構成に加え、割付シミュレーション部31を有している。
割付シミュレーション部31は、図21に示すように、1つの割付情報400に基づいて、複数の学習用の情報を作成する機能を有する。割付シミュレーション部31は、制御情報取得部32、割付演算部33、情報演算部34を備えている。以下割付シミュレーション部31の機能ブロックについて説明する。
制御情報取得部32は、自動制御システムASを稼働させるための制御プログラムを演算装置300から取得する。本実施の形態3で取得する制御プログラムは、上述の実施の形態1及び実施の形態2で例示した自動制御システムASを稼働させるためのラダープログラムである。
割付演算部33は、1つの割付情報400に基づいて、複数の学習用割付情報400を作成する。なお、学習用割付情報400とは、上述の割付情報400と区別するために用いた用語であり、情報構成は割付情報400と同じである。具体的には、入出力ユニット202A、202B、202Cと各入出力端子X0、X1、X2、Y0、Y1、Y2、Z0、Z1、Z2が対応付けられており、各入出力端子Xn、Yn、Znと制御対象機器150を特定する機器名Mnとの対応関係が学習用割付情報400ごとに異なる情報である。
情報演算部34は、割付演算部33が演算により作成した複数の学習用割付情報400のそれぞれに対し、制御情報取得部32で取得した制御プログラムに基づいて、学習用時間帯情報500、学習用回数情報401、学習用システム電力使用情報900、を演算し作成する。なお、学習用時間帯情報500、学習用システム電力使用情報900とは、時間帯情報500、ユニット消費電力情報600、システム電力使用情報900、と区別するために用いた用語であり、各情報としての情報構成は同じであり、各情報を示す具体的な数値等の内容の異なる情報である。
以下に、本実施の形態3に係る割付シミュレーション部31が実行する演算処理について図を用いて説明する。
図22は、割付シミュレーション部31の動作を示すフローチャートである。割付シミュレーション部31は、演算装置300に記憶されている制御プログラムを取得する(ステップS501)。そして、割付シミュレーション部31は、割付情報400、ユニット消費電力情報600、機器消費電力情報700、の入力を受け付ける(ステップS502)。割付シミュレーション部31は、割付演算部33を用いて、入力を受け付けた割付情報400に基づいて、学習用割付情報400を作成する(ステップS503)。割付シミュレーション部31は、情報演算部34を用いて、取得した制御プログラムと、作成した学習用割付情報400とに基づいて、学習用時間帯情報500、学習用回数情報401、学習用システム電力使用情報900、を作成する(ステップS504)。以下に各ステップにおける演算処理を具体的に説明する。
ステップS501において、制御情報取得部32は、演算装置300の記憶部102に記憶されている制御プログラムを読み出して取得する。
ステップS502において、割付シミュレーション部31は、ユーザの操作により、割付情報400、割付情報400に含まれる入出力ユニット202のユニット消費電力情報600、割付情報400に含まれる制御対象機器150の機器消費電力情報700の入力を受け付ける。
ステップS503において、割付演算部33は、ステップS502で入力された割付情報400を基に、学習用割付情報400を複数作成する。具体的には、入出力ユニット202と入出力端子との対応関係は変更せず、入出力端子と制御対象機器150との対応関係を変更する演算処理を行い、各入出力端子と制御対象機器150との組み合わせが異なる学習用割付情報400を複数作成する。作成した複数の学習用割付情報400は記憶部102に記憶される。
ステップS504において、情報演算部34は、ステップS503で作成した複数の学習用割付情報400のうち1つを記憶部102から読み出して、学習用割付情報400に基づいた、模擬自動制御システムASを構築する。構築した模擬自動制御システムASに対して、ステップS501で取得した制御プログラムを所定時間分実行する演算処理を行う。情報演算部34は、演算処理の結果、学習用時間帯情報500、学習用回数情報401を取得する。情報演算部34は、取得した学習用時間帯情報500、学習用割付情報400、S502で入力されたユニット消費電力情報600及び機器消費電力情報700に基づいて、学習用システム電力使用情報900を演算する。学習用システム電力使用情報900の演算は、記憶部102に記憶された上述の数1、数2で表される関数を記憶部102から読み出して演算処理を行う。情報演算部34は、演算処理の結果、学習用システム電力使用情報900を取得する。取得した各学習用の情報は、学習用割付情報400と合わせて、記憶部102に記憶される。
割付シミュレーション部31は、1つの学習用割付情報400に対して、ステップS504が完了すると、ステップS503で作成した他の学習用割付情報400に対してステップS504を行う。これにより、複数の学習用第1入力情報800、800b及び複数の学習用第2入力情報1000、1000bを作成することができる。
本実施の形態3に係る学習部21cで行う学習済モデルの生成については、上述のシミュレーション部31で作成した学習用第1入力情報800、800b及び学習用第2入力情報1000、1000bのいずれかを学習用データとして利用することで学習済モデルを生成することができる。具体的な内容については、上述の実施の形態1又は実施の形態2と同様であるため説明を省略する。なお、本実施の形態3においても、学習部21cは割付学習装置2cの機能を表す機能ブロックである。
以上により、本実施の形態3における割付支援プログラム及び割付支援装置1cは、シミュレーション部31を備えることにより、学習部21、21bに入力される学習用第1入力情報800、800b及び学習用第2入力情報1000、1000bを多数準備することが容易になり、学習部21,21bでの学習効率を向上させることができる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
上述の実施の形態1から実施の形態3において、割付学習プログラムは割付支援プログラムに組み込まれており、割付支援装置1、1b、1cは割付学習装置2、2b、2cの機能を有する形態を説明したが、割付支援プログラムと割付学習プログラムとは、別のプログラムとして2つのプログラムとしてもよい。つまり、情報取得部及び割付情報出力部を少なくとも含むプログラムを割付支援プログラムとし、学習部を少なくとも含むプログラムを割付学習プログラムとしてもよい。さらに、別に作成した割付支援プログラムと割付学習プログラムとを、別々の演算装置可読記憶媒体に記憶してもよいし、1つの演算装置可読記憶媒体に記憶してもよい。
また、別に作成された割付支援プログラムと割付学習プログラムとは、別々の演算装置にインストールされ、割付支援装置と割付学習装置とを別々に準備されることとしてもよい。さらに、別に作成された割付支援プログラムと割付学習プログラムとは、1つの演算装置にインストールされ、1つの演算装置を割付支援装置および割付学習装置として機能させてもよい。
上述の実施の形態1から実施の形態3において、自動制御システムASは3台の入出力ユニット202、9台の制御対象機器を備える構成として説明したが、入出力ユニット202と制御対象機器とは複数台備えていればよい。
実施の形態1から実施の形態3において、時間帯情報500、システム電力使用情報900は、1日を0時00分からの24時間として1日稼働させた場合のデータを示したが、所定時間稼働させた場合のデータであればよい。例えば、1日を0時00分からの24時間として3日稼働させて、3日間のデータを平均して1日分のデータとしてもよいし、1日に満たない所定時間のデータとしてもよい。ただし、より効果的な見直割付情報を得るためには、1日以上稼働させた場合のデータを使用することが好ましい。
上述の実施の形態2において、重付情報取得部27は、学習部21bの機能ブロックとして説明したが、学習部21bで学習を行う際に重付情報を取得できればよい。例えば、割付学習プログラムと割付支援プログラムとが別に構成されている場合に、重付情報取得部27として演算装置を機能させるプログラムを割付支援プログラムに組み込んでもよい。このような場合、ユーザが入力した重付情報を学習データの1つとして、学習部21bの学習データ取得部23bが取得してもよい。
上述の実施の形態3において、割付シミュレーション部31は割付支援装置1cの機能ブロックとして説明したが、割付シミュレーション部31を学習部21、21bの機能ブロックとして構成してもよい。
また、割付シミュレーション部31は、学習用時間帯情報500、学習用回数情報401、学習用システム電力使用情報900を作成することを説明したが、学習用データとして不要な情報は作成しないこととしてもよい。例えば、上述の実施の形態1に係る学習部21の学習では、学習用回数情報401は不要であるため、このような場合、学習用回数情報401を作成しないこととすることができる。