このような水素生成装置等は、電気料金が安い時間帯で稼働率を高め、電気料金が高い時間帯では稼働率を低減させることで水素の製造コストを低減させることが望ましい。そこで、水素生成装置は、例えば、変動する電気料金と閾値とを比較して、比較結果に応じて稼働率を制御して製造コストを低減させることが考えられる。しかしながら、例えば1日といった一定期間毎に供給すべき水素の量が定められていることがある。この場合、当該一定期間の間に、水素を十分に生成できるほど電気料金の安い時間帯が発生しないことがある。したがって、閾値等を用いて製造装置を制御しても、一定の期間の間に水素の製造量が不足してしまうこと、または、結局高い電気料金の時間帯で水素を生成させなければならなくなってしまうこと等が発生していた。
本発明の第1の態様においては、対象期間における電気料金の推移を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の推移を予測する電気料金予測部と、予測された将来の電気料金の推移に基づいて、将来の第1期間における電解装置の稼働計画を生成する稼働計画生成部とを備える計画装置、稼働計画の生成方法およびプログラムを提供する。
本発明の第2の態様においては、対象期間において目標とすべき電解装置の稼働計画と、対象期間よりも前に入手可能な因子の値とを含む学習データを取得する取得部と、取得された学習データに基づいて、対象期間よりも前に入手可能な因子に基づいて対象期間における稼働計画を生成する稼働計画生成モデルを学習する学習処理部と、第1期間よりも前の因子の値に基づいて、第1期間中の各時点において電解装置を稼働させるか否かを含む稼働計画を、稼働計画生成モデルを用いて生成する稼働計画生成部とを備える計画装置を提供する。
本発明の第3の態様においては、電気料金予測部が、対象期間における電気料金の推移を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の推移を予測し、稼働計画生成部が、予測された将来の電気料金の推移に基づいて、将来の第1期間における水素生成装置の稼働計画を生成し、水素生成装置が、稼働計画に基づいて水素を生成する水素製造方法。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る計画装置100の構成例を電解装置1000と共に示す。計画装置100は、電解装置1000の将来の第1期間における稼働計画を学習により生成する。計画装置100は、生成した稼働計画に応じて電解装置1000を制御し、電解装置1000が生成物を生成する製造コストを低減させる。なお、第1期間は、数日、十数日、数週間、または数十日等の予め定められた期間でよい。
ここで、電解装置1000は、電気エネルギーを用いて生成物を生成する装置でよい。電解装置1000は、例えば、電気分解によって水素を生成する水素生成装置である。計画装置100が生成する稼働計画は、例えば、第1期間における、電解装置1000の稼働すべき状態を記述したテーブルまたはデータ等である。稼働計画は、電解装置1000を稼働させる(稼働させない)時間帯、および/または、電解装置1000の時間帯毎の稼働率等を定めたテーブルまたはデータ等でよい。計画装置100は、取得部10と、記憶部20と、モデル生成部30と、学習処理部40と、稼働計画生成部50と、制御部60とを備える。
取得部10は、学習に用いるパラメータおよび学習データ等を取得する。取得部10は、例えば、将来の予め定められた対象期間において目標とすべき電解装置1000の稼働計画と、対象期間よりも前に入手可能な因子の値とを含む学習データを取得する。対象期間は、将来における予め定められた期間である。対象期間は、第1期間を含む期間でよい。取得部10は、対象期間よりも前に入手可能な電気料金に関するパラメータを第1因子として取得してよい。また、取得部10は、対象期間よりも前に入手可能な電解装置1000に関するパラメータを第2因子として取得してよい。
取得部10は、電解装置1000等に接続され、学習に用いるパラメータおよび学習データ等を取得してよい。取得部10は、ネットワーク等に接続され、当該ネットワークを介してデータを取得してもよい。取得部10は、取得すべきデータの少なくとも一部が外部のデータベース等に記憶されている場合、当該データベース等にアクセスして、取得してよい。また、取得部10は、取得したデータを、記憶部20に供給してよい。
記憶部20は、取得部10が取得した情報を記憶する。記憶部20は、当該計画装置100が処理するデータを記憶可能でよい。記憶部20は、計画装置100が稼働計画を生成する過程で算出する(または利用する)中間データ、算出結果、およびパラメータ等をそれぞれ記憶してもよい。また、記憶部20は、計画装置100内の各部の要求に応じて、記憶したデータを要求元に供給してよい。記憶部20は、一例として、モデル生成部30の要求に応じて、記憶したデータを当該モデル生成部30に供給する。
モデル生成部30は、計画装置100が学習する学習モデルを生成する。モデル生成部30は、第1因子および第2因子等に応じて、学習モデルを生成する。モデル生成部30は、1または複数の学習モデルを生成してよい。モデル生成部30は、生成した学習モデルを学習処理部40に供給する。
学習処理部40は、取得された学習データに基づいて、生成した学習モデルを学習する。学習処理部40は、強化学習を実行して、学習モデルを更新してよい。学習処理部40は、1または複数の学習モデルを更新してよい。学習処理部40は、更新した学習モデルを稼働計画生成部50に供給する。
稼働計画生成部50は、将来の第1期間における電解装置の稼働計画を生成する。稼働計画生成部50は、例えば、第1期間において、電解装置1000が生成すべき生成物を生成しつつ、生成物の製造コストを最小化または低減させる稼働計画を生成する。稼働計画生成部50は、生成した稼働計画を制御部60に供給する。
制御部60は、第1期間における電解装置1000の稼働計画を用いて、当該電解装置1000を稼働させる制御を行う。制御部60は、複数の電解装置1000をそれぞれ稼働させてよい。また、制御部60は、電解装置1000の動作および生成部の貯蔵量等が想定とは異なる範囲となった場合に、電解装置1000の稼働の停止および開始を指示してもよい。また、制御部60は、電気料金が大きく変動した場合に、電解装置1000の稼働の停止および開始を指示してもよい。
以上の本実施形態の計画装置100によれば、電気料金の変動に応じた電解装置1000の稼働計画を生成することができ、予め定められた量以上の生成物を、より低い製造コストで生成することができる。このような計画装置100のより具体的な構成例について、次に説明する。
図2は、本実施形態に係る計画装置100の第2構成例を示す。第2構成例の計画装置100において、図1に示された本実施形態に係る計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図2は、計画装置100の取得部10を省略した構成を示す。
第2構成例の計画装置100は、第1モデル生成部110、第1モデル更新部120、および電気料金予測部130を備え、将来の電気料金の推移を予測する。また、第2構成例の計画装置100は、第2モデル生成部210、第2モデル更新部220、および第1稼働計画生成部230を備え、予測した電気料金の推移に基づいて、将来の電解装置1000の稼働計画を生成する。この場合、モデル生成部30が第1モデル生成部110および第2モデル生成部210を有してよく、また、学習処理部40が第1モデル更新部120、電気料金予測部130、および第2モデル更新部220を有してよい。
第2構成例の記憶部20は、取得部10が取得した第1因子および第2因子を記憶する。第1因子は、対象期間よりも前の、電気料金、電力需要量、電力供給量、再生エネルギー発電量、再生エネルギー発電量の予測値、および天気情報の少なくとも1つを含む。電気料金は、電解装置1000が設置された場所において、電解装置1000に供給される電力に対する実際の電気料金でよい。電力需要量、電力供給量、再生エネルギー発電量、および再生エネルギー発電量の予測値は、電解装置1000が設置された地域に電力を供給する発電所等の情報でよい。天気情報は、電解装置1000が設置された地域の情報でよい。
第1因子は、過去の電気料金の情報に加えて、電解装置1000が消費する電力に対する電気料金に影響を及ぼす情報を含んでよい。第1因子は、略一定時間毎の時系列の情報でよい。また、第1因子は、異なる期間における種々の情報を含んでよい。また、第1因子は、外部の装置等から供給される情報を含んでよい。
第2因子は、対象期間よりも前の、電解装置1000の稼働データ、および電解装置1000の水素貯蔵量の少なくとも1つを含む。また、第2因子は、当該計画装置100が過去に生成した電解装置1000の稼働計画を含んでもよい。また、第2因子は、電解装置1000の物理モデルから算出される仮想データを含んでよい。第2因子は、略一定時間毎の時系列の情報でよい。また、第2因子は、電解装置1000から取得部10が取得した情報を含んでよい。
第1因子および第2因子の情報は、時間の経過と共にそれぞれ追加または更新されてよい。例えば、取得部10は、予め定められた期間毎に、それぞれの情報を取得して更新してよい。また、取得部10は、取得すべき情報に応じて、略同一または異なる期間毎に取得して、それぞれ追加または更新してよい。
第1モデル生成部110は、対象期間よりも前の第1因子の値に基づいて、対象期間における電気料金の推移を予測する電気料金予測モデルを生成する。第1モデル生成部110は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、電気料金予測モデルを生成してよい。第1モデル生成部110は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を用いて、電気料金予測モデルを生成する。第1モデル生成部110は、生成した電気料金予測モデルを第1モデルとして第1モデル更新部120に供給する。
第1モデル更新部120は、電気料金予測モデルを学習により更新する。第1モデル更新部120は、第1モデル学習部122を有し、第1モデル学習部122の学習結果に応じて、電気料金予測モデルを更新する。第1モデル更新部120は、例えば、予め定められた第1更新期間毎に、第1モデル学習部122が学習した電気料金予測モデルを、新たな電気料金予測モデルとして更新してよい。これに代えて、第1モデル更新部120は、第1モデル学習部122が予め定められた回数だけ学習したことに応じて、電気料金予測モデルを更新してもよい。
第1モデル学習部122は、適応学習またはオンライン学習等と呼ばれる処理により、電気料金予測モデルを学習してよい。第1モデル学習部122は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、強化学習を実行することによって、電気料金予測モデルを学習する。第1モデル学習部122は、第1モデル生成部110が電気料金予測モデルの生成に用いた第1因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。
即ち、第1モデル学習部122は、実際の電気料金の推移によって更新された第1因子の情報を用いて、電気料金予測モデルを学習する。第1モデル学習部122は、第1因子の情報が更新されたことに応じて、電気料金予測モデルの学習を実行してよい。一例として、第1モデル学習部122は、過去期間における第1因子の値と過去期間以降の電気料金の現実の推移とに基づいて、電気料金予測モデルを学習する。第1モデル学習部122は、第1モデル更新部120の第1更新期間の間に、1または複数回の学習を実行する。第1モデル更新部120は、更新した電気料金予測モデルを電気料金予測部130に供給する。
電気料金予測部130は、更新された電気料金予測モデルを用いて、将来の電気料金の推移を予測する。電気料金予測部130は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の電気料金を予測する。電気料金予測部130は、電気料金予測モデルと第1因子の情報を用いて、電気料金を予測する。電気料金予測部130は、例えば、電気料金を予測すべき期間の直前までの期間における第1因子の情報を、電気料金予測モデルに適用して電気料金を予測する。電気料金予測部130は、予測結果を稼働計画生成部50に供給する。
第2モデル生成部210は、対象期間よりも前の第2因子の値および電気料金の推移に基づいて、稼働計画生成モデルを生成する。稼働計画生成モデルは、学習により、対象期間よりも前の第2因子の値と、対象期間における電気料金の推移の予測結果とに基づいて、対象期間における電解装置1000の稼働計画を生成するモデルとなる。なお、第2モデル生成部210は、過去の電気料金の推移として、第1因子の値を用いてよい。第2モデル生成部210は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる学習処理により、稼働計画生成モデルを生成してよい。
第2モデル生成部210は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、強化学習を実行することによって、稼働計画生成モデルを生成する。第2モデル生成部210は、生成した稼働計画生成モデルを第2モデルとして第2モデル更新部220に供給する。
第2モデル更新部220は、稼働計画生成モデルを学習により更新する。第2モデル更新部220は、第2モデル学習部222を有し、第2モデル学習部222の学習結果に応じて、稼働計画生成モデルを更新する。第2モデル更新部220は、例えば、予め定められた第2更新期間毎に、第2モデル学習部222が学習した稼働計画生成モデルを、新たな稼働計画生成モデルとして更新してよい。これに代えて、第2モデル更新部220は、第2モデル学習部222が予め定められた回数だけ学習したことに応じて、稼働計画生成モデルを更新してもよい。
第2モデル学習部222は、適応学習またはオンライン学習等と呼ばれる処理により、稼働計画生成モデルを学習してよい。第2モデル学習部222は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、強化学習を実行することによって、稼働計画生成モデルを学習する。第2モデル学習部222は、第2モデル生成部210が稼働計画生成モデルの生成に用いた第2因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。
即ち、第2モデル学習部222は、実際の電気料金の推移によって更新された第1因子の情報と、実際の電解装置1000の稼働によって更新された第2因子の情報とを用いて、稼働計画生成モデルを学習する。なお、電気料金の推移については、例えば、実際の電気料金の推移に代えて、電気料金予測部130の予測結果を用いてもよい。即ち、第2モデル学習部222は、過去期間における第2因子の値と、過去期間以降における電気料金の推移または電気料金の推移の予測結果とに基づいて、稼働計画生成モデルを学習する。
第2モデル学習部222は、第2因子の情報が更新されたことに応じて、稼働計画生成モデルの学習を実行してよい。第2モデル学習部222は、第2モデル更新部220の第2更新期間の間に、1または複数回の学習を実行する。第2モデル更新部220は、更新した稼働計画生成モデルを稼働計画生成部50に供給する。
稼働計画生成部50は、電気料金予測部130によって予測された将来の電気料金の推移に基づいて、将来の第1期間における電解装置1000の稼働計画を生成する。稼働計画生成部50は、第1稼働計画生成部230を有する。
第1稼働計画生成部230は、対象期間における稼働計画を、対象期間よりも前に入手可能な第2因子の値と対象期間における電気料金の推移の予測結果とに基づいて生成する稼働計画生成モデルを用いて、将来の第1期間における電解装置1000の稼働計画を生成する。第1稼働計画生成部230は、例えば、数日または十数日、1または数週間といった期間を第1期間として、電解装置1000の稼働計画を生成する。第1稼働計画生成部230は、一例として、N日分の稼働計画を生成する。
制御部60は、稼働計画生成部50が生成した稼働計画に応じて、電解装置1000を稼働させる。また、制御部60は、電解装置1000が稼働することによって変動する第2因子の情報を、取得部10が取得できるように電解装置1000を制御してもよい。
以上の本実施形態に係る計画装置100は、電解装置1000の稼働計画を学習によって生成する。また、計画装置100は、電気料金を学習によって予測しつつ、電解装置1000の稼働計画を生成する。このような計画装置100の動作について、次に説明する。図3は、本実施形態に係る第2構成例の計画装置100の動作フローの一例を示す。計画装置100は、図3に示す動作フローを実行して、電解装置1000を稼働させてよい。
まず、取得部10は、電気料金および電解装置1000の過去のトレンドとなる第1因子および第2因子の情報を取得する(S310)。取得部10は、例えば、時刻t0から時刻t1における、第1因子および第2因子の情報を取得する。ここで、時刻t0から時刻t1の間の期間は、第1期間よりも前の第2期間とする。取得部10は、取得した第1因子および第2因子の情報を記憶部20に記憶する。また、取得部10は、第1因子および第2因子の情報をモデル生成部30に供給してもよい。
次に、モデル生成部30は、学習モデルを生成する(S320)。モデル生成部30は、第2期間の第1因子および第2因子の値に基づき、学習モデルを生成する。例えば、第1モデル生成部110は、第1因子の値に基づき、電気料金予測モデルを生成する。第1モデル生成部110は、第2期間における、電気料金、電力需要量、電力供給量、再生エネルギー発電量、再生エネルギー発電量の予測値、および天気情報の少なくとも1つを用いて、電気料金予測モデルを生成する。
また、第2モデル生成部210は、第1因子および第2因子の値に基づき、稼働計画生成モデルを生成する。例えば、第2モデル生成部210は、第2期間における、電気料金、電解装置1000の稼働データ、水素貯蔵量、および稼働計画の仮想データの少なくとも1つを用いて、稼働計画生成モデルを生成する。
また、第2モデル生成部210は、電解装置1000の物理モデルに基づく仮想データを目標とすべき予測データとし、当該予測データおよび過去の電解装置1000の稼働によって取得された実データとを比較することにより、稼働計画生成モデルを生成してよい。例えば、第2モデル生成部210は、目標とすべき予測データおよび過去の実データの差分が0または予め定められた値未満となるように、強化学習を実行して稼働計画生成モデルを生成する。
第2モデル生成部210は、一例として、第2期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間といった期間でよい。M日間は、第1期間(N日間)と一致することが望ましい。そして、第2モデル生成部210は、第2期間における予測期間よりも前の期間の第1因子および第2因子の値に基づく予測期間の稼働動作の予測結果と、予測期間の実データまたは仮想データとの誤差が、最小となるように強化学習する。
この場合、第2モデル生成部210は、水素貯蔵量の変動範囲を0から最大貯蔵量の範囲とする(第1条件)、電解装置1000が生成して供給する水素の量が予め定められた供給計画を満たす(第2条件)、電気代の低い時間帯を選択して電解装置1000を稼働する(第3条件)、等といった条件を満たしながら、水素生成コストを低減させるように強化学習してよい。なお、このようなモデル生成部30による学習モデルの生成は、電解装置1000の稼働に伴って計画装置100が当該電解装置1000の実データを取得する前に、実行されてよい。
次に、学習処理部40は、生成した学習モデルを適応学習する(S330)。ここで、取得部10は、第1因子および第2因子の情報を取得してよい。取得部10は、例えば、時刻t1から時刻t2における、第1因子および第2因子の情報を取得する。なお、時刻t1から時刻t2の間の期間は、第1期間および第2期間の間の第3期間とする。学習処理部40は、取得部10が新たに取得した第1因子および第2因子の情報を用いて適応学習してよい。
例えば、第1モデル学習部122は、第1因子の値に基づき、電気料金予測モデルを適応学習する。第1モデル学習部122は、第3期間における、電気料金、電力需要量、電力供給量、再生エネルギー発電量、再生エネルギー発電量の予測値、および天気情報の少なくとも1つを用いて、電気料金予測モデルを適応学習してよい。第1モデル学習部122は、電気料金予測モデルを用いて第3期間における電気料金等を予測した結果が、取得した第3期間の電気料金と一致するように強化学習してよい。
第1モデル学習部122は、一例として、第3期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間といった期間でよい。M日間は、第1期間(N日間)と一致することが望ましい。第1モデル学習部122は、一例として、第3期間における予測期間よりも前の期間の第1因子の値に基づく予測期間の予測結果と、予測期間の実データとの差分が0または予め定められた値未満となるように強化学習する。
なお、第1因子の情報のうち、再生エネルギー発電量は、電力が供給された後に発生するエネルギーである。例えば、一の時刻における電力供給量に応じた再生エネルギー発電量は、一の時刻よりも後にずれた時刻の情報となる。そこで、第1モデル学習部122は、第3期間における予測期間よりも前の期間の再生エネルギー発電量を除く第1因子の値と、予測期間の再生エネルギー発電量の予測値とを用いて、予測期間の電気料金等を予測してよい。このように、第1モデル学習部122は、実際の各データの取得タイミングに応じて、用いるデータおよび予測する期間を調節して、学習の精度を高めてよい。
また、第2モデル学習部222は、第1因子および第2因子の値に基づき、稼働計画生成モデルを適用学習してよい。例えば、第2モデル学習部222は、第3期間における、電気料金、電解装置1000の稼働データ、水素貯蔵量、および稼働計画の実データの少なくとも1つを用いて、稼働計画生成モデルを学習してよい。第2モデル学習部222は、稼働計画生成モデルを用いて第3期間における電解装置1000の稼働動作を予測した結果と、取得した第3期間の実データの差分が0または予め定められた値未満となるように、強化学習を実行してよい。
第2モデル学習部222は、一例として、第3期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間といった期間でよい。M日間は、第1期間(N日間)と一致することが望ましい。そして、第2モデル学習部222は、第3期間における予測期間よりも前の期間の第1因子および第2因子の値に基づく予測期間の稼働動作の予測結果と、予測期間の実データとの差分が0または予め定められた値未満となるように強化学習する。
この場合、第2モデル学習部222は、第2モデル生成部210が稼働計画生成モデルの生成に用いた、第1条件、第2条件、および第3条件等を同様に用いてよい。即ち、第2モデル学習部222は、3つの条件を満たしつつ、水素生成コストを低減させるように稼働計画生成モデルを強化学習してよい。
次に、学習処理部40は、学習モデルを更新する(S340)。学習処理部40は、予め定められた時間毎に学習モデルを更新してよい。例えば、学習処理部40は、適応学習を開始してから更新に必要な初期更新期間だけ適応学習を継続させてから、学習モデルの最初の更新を実行し、その後、一定の期間毎に更新を繰り返す。ここで、初期更新期間は、生成すべき稼働計画の期間であるN日以上であることが望ましい。また、更新を繰り返す一定の期間は、数時間、十数時間、1日、数十時間、または数日等でよい。
例えば、第1モデル更新部120は、初期更新期間後、電気料金予測モデルを第1更新期間毎に更新する。また、第2モデル更新部220は、初期更新期間後、稼働計画生成モデルを第2更新期間毎に更新する。第1更新期間および第2更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第1更新期間および第2更新期間は、一例として1日である。
次に、学習処理部40は、更新した学習モデルを用いて電気料金を予測する(S350)。例えば、電気料金予測部130は、更新された電気料金予測モデルおよび第1因子の値を用いて、第1期間の電気料金の推移を予測する。電気料金予測部130は、一例として、初期更新期間に取得部10が取得したN日分の第1因子の値を電気料金予測モデルに適用して、初期更新期間の後のN日分の電気料金の推移を予測する。
次に、稼働計画生成部50は、更新された学習モデルを用いて、第1期間の電解装置1000の稼働計画を生成する(S360)。例えば、第1稼働計画生成部230は、更新された稼働計画生成モデル、電気料金予測部130の電気料金の予測結果、および第1因子の値を用いて、第1期間の稼働計画を生成する。第1稼働計画生成部230は、一例として、初期更新期間に取得部10が取得したN日分の第2因子の値と、初期更新期間の後のN日分の電気料金の推移の予測結果とを稼働計画生成モデルに適用して、初期更新期間の後のN日分の稼働計画を生成する。
第1稼働計画生成部230は、第2モデル生成部210が稼働計画生成モデルの生成に用いた、第1条件、第2条件、および第3条件等を同様に用いてよい。即ち、第1稼働計画生成部230は、3つの条件を満たしつつ、水素生成コストを低減させる稼働計画を生成してよい。第1稼働計画生成部230は、水素生成コストを最小化させる稼働計画を生成することが望ましい。
第1稼働計画生成部230は、例えば、第1期間において、電解装置1000を稼働させる期間と、稼働させない期間とを含む稼働計画を生成する。また、第1稼働計画生成部230は、電解装置1000を稼働させる期間を、稼働率と共に示す稼働計画を生成してよい。第1稼働計画生成部230は、時系列に稼働率が推移する稼働計画を生成することが望ましい。第1稼働計画生成部230は、例えば、一定時間ごとの稼働計画を生成する。第1稼働計画生成部230は、数十分、1時間、または数時間ごとの稼働計画を生成してよい。
また、第1稼働計画生成部230は、制御部60が複数の電解装置1000を制御する場合、当該複数の電解装置1000のそれぞれに対する稼働計画を生成してよい。第1稼働計画生成部230は、複数の電解装置1000が略同一の電解装置である場合は、略同一の稼働計画をそれぞれ生成してよい。また、第1稼働計画生成部230は、制御部60が異なる種類の電解装置、異なる時期に購入した電解装置、異なる製造メーカの電解装置、またはこれらの組み合わせを含む複数の電解装置1000を制御する場合、それぞれの電解装置1000に対応して、異なる稼働計画をそれぞれ生成してよい。
この場合、第2モデル生成部210は、複数の電解装置1000の稼働台数毎または複数の電解装置の組み合わせ毎にそれぞれ対応する複数の稼働計画生成モデルを生成してよい。また、第2モデル学習部222は、複数の稼働生成モデルをそれぞれ学習してよく、第2モデル更新部220は、複数の稼働生成モデルをそれぞれ更新してよい。第1稼働計画生成部230は、複数の稼働計画生成モデルのうち、第1期間における複数の電解装置1000の運用予定に応じた稼働計画生成モデルを用いて、第1期間における電解装置の稼働計画を生成してよい。ここで、運用予定は、電解装置1000が満たすべき、予め定められた水素の供給計画でよい。
制御部60は、稼働計画生成部50が生成した稼働計画を用いて、電解装置1000をN日分稼働させる(S370)。これにより、電解装置1000は、第1期間において、予め定められた水素の供給計画を満たしつつ、水素生成コストを低減させるように稼働させることができる。
計画装置100が第1期間の経過後に電解装置1000の稼働を継続させる場合(S380:No)、S330に戻り、学習処理部40は学習モデルを適応学習させる。この場合、取得部10は、当該第1期間の第1因子の情報と、当該第1期間の電解装置1000の稼働によって推移する第2因子の情報を順次取得し、記憶部20に順次記憶する。即ち、計画装置100は、第1期間の情報を過去の情報に含め、予測すべき対象期間を第1期間よりも後の期間(一例として、第4期間)とする。
そして、計画装置100は、第1期間の情報を用いてモデルの適応学習を繰り返し、一定期間の経過に応じてモデルを更新して、第4期間の電解装置1000の稼働計画を生成し、生成した稼働計画に応じて電解装置1000を稼働させる。このように、本実施形態に係る計画装置100は、電解装置1000の対象期間の稼働計画の生成と、当該対象期間の稼働とを繰り返すことにより、学習モデルを更新しつつ電解装置1000を継続して稼働できる。
以上の計画装置100の動作フローにおいて、第2期間、第3期間、第1期間、および第4期間の順に、計画装置100を時系列に動作させる例を説明した。ここで、第2期間、第3期間、第1期間、および第4期間は、この順に時間的に連続した期間でよい。少なくとも、第1期間および第4期間は、連続した期間であることが望ましい。
以上の本実施形態に係る計画装置100は、電気料金の推移および電解装置1000の稼働状態等に応じて、稼働計画を学習により生成することを説明した。ここで、電解装置1000は、異常動作および故障によって稼働が停止することを回避すべく、定期的にメンテナンスすることが望ましい。この場合、電解装置1000は、メンテナンス等に応じて一定期間停止することがあり、稼働状態が変動することがある。そこで、計画装置100は、メンテナンス等による稼働状態の変動を加味した学習を実行してよい。このような計画装置100について、次に説明する。
図4は、本実施形態に係る計画装置100の第3構成例を示す。第3構成例の計画装置100において、図2に示された第2構成例の計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図4は、計画装置100の取得部10を省略した構成を示す。
第3構成例の計画装置100は、第3モデル生成部310、第3モデル更新部320、およびメンテナンス計画生成部330を備え、将来の電解装置1000のメンテナンスによる稼働状態の推移を予測する。この場合、モデル生成部30が第3モデル生成部310を有してよく、また、学習処理部40が第3モデル更新部320およびメンテナンス計画生成部330を有してよい。
第3構成例の記憶部20は、取得部10が第3因子を更に取得して、記憶部20に記憶する。第3因子は、電解装置1000の過去のメンテナンス計画を含んでよい。第3因子は、メンテナンスを実行できる人員、装置、および交換部品等の配置の情報を含んでよい。また、第3因子は、過去に電解装置1000がメンテナンスを実行した時期、期間、内容、およびメンテナンスによる電解装置1000の稼働率の変化等の情報を含んでよい。
また、第3構成例の計画装置100において、取得部10は、外部等から電解装置1000の異常および劣化を予測する予測データを取得して第3因子の情報として記憶部20に記憶してよい。この場合、予測データは、過去の電解装置1000が稼働してから異常および劣化が発生するまでの期間と同等の期間で、次の異常および劣化が発生することを予想してよい。また、予測データは、異なる同型の電解装置1000を稼働させた結果、取得された異常および劣化の履歴を、電解装置1000の予測データとして用いてもよい。
第3モデル生成部310は、対象期間よりも前に入手可能な第3因子の値に基づいて、メンテナンス計画生成モデルを生成する。第3モデル生成部310は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、メンテナンス計画生成モデルを生成してよい。
第3モデル生成部310は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、強化学習を実行することによって、メンテナンス計画生成モデルを生成する。なお、メンテナンス計画生成モデルは、学習により、メンテナンスを実行する人員の配置、メンテナンスのスケジュール、メンテナンスの内容、および電解装置1000の稼働率等を含むメンテナンス計画を生成するモデルである。
第3モデル生成部310は、例えば、予め定められた期間において、異常または劣化が予測される場合、当該異常または劣化が発生する日時よりも前にメンテナンスを開始または完了するように、メンテナンス計画生成モデルを強化学習して生成する。なお、異常および劣化の予測に応じて、メンテナンスを開始または完了させる計画を、目標とすべき電解装置1000のメンテナンス計画とする。
第3モデル生成部310は、一例として、図3で説明したS320の動作において、メンテナンス計画生成モデルを生成してよい。即ち、第3モデル生成部310は、第2期間の第3因子の値に基づき、メンテナンス計画生成モデルを生成する。第3モデル生成部310は、生成したメンテナンス計画生成モデルを第3モデルとして第3モデル更新部320に供給する。
第3モデル更新部320は、メンテナンス計画生成モデルを学習により更新する。第3モデル更新部320は、第3モデル学習部322を有し、第3モデル学習部322の学習結果に応じて、メンテナンス計画生成モデルを更新する。第3モデル更新部320は、例えば、予め定められた第3更新期間毎に、第3モデル学習部322が学習したメンテナンス計画生成モデルを、新たなメンテナンス計画生成モデルとして更新してよい。これに代えて、第3モデル更新部320は、第3モデル学習部322が予め定められた回数だけ学習したことに応じて、メンテナンス計画生成モデルを更新してもよい。
第3モデル学習部322は、適応学習またはオンライン学習等と呼ばれる処理により、メンテナンス計画生成モデルを学習してよい。第3モデル学習部322は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、メンテナンス計画生成モデルを強化学習する。第3モデル学習部322は、第3モデル生成部310がメンテナンス計画生成モデルの生成に用いた第3因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。
第3モデル学習部322は、実際の電解装置1000の稼働によって更新された第3因子の情報を用いて、メンテナンス計画生成モデルを学習する。即ち、第3モデル学習部322は、過去期間における第3因子の値と、過去期間以降において目標とすべき電解装置1000のメンテナンス計画とに基づいて、メンテナンス計画生成モデルを学習する。
第3モデル学習部322は、第3因子の情報が更新されたことに応じて、メンテナンス計画生成モデルの学習を実行してよい。第3モデル学習部322は、第3モデル更新部320の第3更新期間の間に、1または複数回の学習を実行する。第3モデル生成部310は、一例として、図3で説明したS330の動作において、メンテナンス計画生成モデルを適応学習し、S340の動作において、メンテナンス計画生成モデルを更新してよい。
例えば、第3モデル更新部320は、図3で説明した初期更新期間後、メンテナンス計画生成モデルを第3更新期間毎に更新する。第3更新期間および第1更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第3更新期間は、一例として1日である。第3モデル更新部320は、更新したメンテナンス計画生成モデルをメンテナンス計画生成部330に供給する。
メンテナンス計画生成部330は、更新されたメンテナンス計画生成モデルを用いて、将来の第1期間における電解装置1000のメンテナンス計画を生成する。メンテナンス計画生成部330は、第1期間における電解装置1000の異常予測を含む第3因子の値に基づいて、第1期間における電解装置のメンテナンス計画を生成する。
メンテナンス計画生成部330は、例えば、予め定められた期間毎に、将来における当該予め定められた期間のメンテナンス計画を生成する。メンテナンス計画生成部330は、例えば、将来の予め定められた期間が開始する直前までの期間における第3因子の情報を、メンテナンス計画生成モデルに適用してメンテナンス計画を生成する。メンテナンス計画生成部330は、一例として、図3で説明したS350の動作において、メンテナンス計画を生成してよい。
この場合、メンテナンス計画生成部330は、初期更新期間に取得部10が取得したN日分の第3因子の値をメンテナンス計画生成モデルに適用して、初期更新期間の後の第1期間のN日分のメンテナンス計画を生成する。メンテナンス計画生成部330は、生成したメンテナンス計画を稼働計画生成部50に供給する。
第3構成例の稼働計画生成部50は、第1期間における電解装置1000のメンテナンス計画に更に基づいて、第1期間における電解装置1000の稼働計画を生成する。第1稼働計画生成部230は、第2モデル生成部210が稼働計画生成モデルの生成に用いた、第1条件、第2条件、および第3条件等に、メンテナンス計画に従った電解装置1000の稼働台数および稼働率で稼働する第4条件を加えた条件を同様に用いてよい。即ち、第1稼働計画生成部230は、4つの条件を満たしつつ、水素生成コストを低減させる稼働計画を生成してよい。第1稼働計画生成部230は、水素生成コストを最小化させる稼働計画を生成することが望ましい。
以上のように、第3構成例の計画装置100は、学習によって生成されたメンテナンス計画を考慮して稼働計画を生成するので、より精度の高い電解装置1000の制御を実行することができる。なお、第3構成例の計画装置100は、外部等より電解装置1000の異常および劣化を予測する予測データを取得する例を説明した。これに代えて、計画装置100は、電解装置1000の異常および劣化を予測してよい。また、計画装置100は、学習により、電解装置1000の異常および劣化を予測してもよい。このような計画装置100について、次に説明する。
図5は、本実施形態に係る計画装置100の第4構成例を示す。第4構成例の計画装置100において、図4に示された第3構成例の計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図5は、計画装置100の取得部10を省略した構成を示す。
第4構成例の計画装置100は、第4構成例の計画装置100は、第4モデル生成部410、第4モデル更新部420、および異常予測部430を備え、将来の電解装置1000の異常動作等を予測する。この場合、モデル生成部30が第4モデル生成部410を有してよく、また、学習処理部40が第4モデル更新部420および異常予測部430を有してよい。
第4構成例の記憶部20は、取得部10が第4因子を更に取得して、記憶部20に記憶する。第4因子は、対象期間よりも前の電解装置1000の稼働状況を含む。第4因子は、電解装置1000の過去に発生した異常および劣化等の履歴を含んでよい。第4因子は、例えば、異常および劣化等の発生時間、修理期間、異常および劣化等が発生時間の前後の電解装置1000の稼働率、および異常および劣化等の内容等を含む。
また、第4因子は、電解装置1000の点検結果、およびメンテナンス結果による、部品等の摩耗、疲労、および劣化の度合い等の情報を含んでよい。また、第4因子は、部品メーカが推奨する部品の交換時期の情報、および当該部品の使用時間または当該電解装置1000に搭載してから経過した時間等の情報を含んでよい。
第4モデル生成部410は、対象期間よりも前に入手可能な第4因子の値に基づいて、異常予測モデルを生成する。第4モデル生成部410は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、異常予測モデルを生成してよい。第4モデル生成部410は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を用いて、異常予測モデルを生成する。なお、異常予測モデルは、学習により、第4因子の値に基づいて、対象期間における電解装置1000の異常予測を生成するモデルである。
第4モデル生成部410は、一例として、図3で説明したS320の動作において、異常予測モデルを生成してよい。即ち、第4モデル生成部410は、第2期間の第4因子の値に基づき、異常予測モデルを生成する。第4モデル生成部410は、生成した異常予測モデルを第4モデルとして第4モデル更新部420に供給する。
第4モデル更新部420は、過去期間における第4因子の値と過去期間以降の異常発生状況とに基づいて、異常予測モデルを学習により更新する。第4モデル更新部420は、第4モデル学習部422を有し、第4モデル学習部422の学習結果に応じて、異常予測モデルを更新する。第4モデル更新部420は、例えば、予め定められた第4更新期間毎に、第4モデル学習部422が学習した異常予測モデルを、新たな異常予測モデルとして更新してよい。これに代えて、第4モデル更新部420は、第4モデル学習部422が予め定められた回数だけ学習したことに応じて、稼働計画生成モデルを更新してもよい。
第4モデル学習部422は、適応学習またはオンライン学習等と呼ばれる処理により、異常予測モデルを学習してよい。第4モデル学習部422は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、異常予測モデルを強化学習する。第4モデル学習部422は、第4モデル生成部410が異常予測モデルの生成に用いた第4因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。
第4モデル学習部422は、実際の電解装置1000の稼働によって更新された第4因子の情報を用いて、異常予測モデルを学習する。即ち、第4モデル学習部422は、過去期間における第4因子の値と、過去期間以降の異常発生状況とに基づいて、異常予測モデルを学習する。
第4モデル学習部422は、第4因子の情報が更新されたことに応じて、異常予測モデルの学習を実行してよい。第4モデル学習部422は、第4モデル更新部420の第4更新期間の間に、1または複数回の学習を実行する。第4モデル更新部420は、一例として、図3で説明したS330の動作において、異常予測モデルを適応学習し、S340の動作において、異常予測モデルを更新してよい。
例えば、第4モデル更新部420は、図3で説明した初期更新期間後、異常予測モデルを第4更新期間毎に更新する。第4更新期間および第1更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第4更新期間は、一例として1日である。第4モデル更新部420は、更新した異常予測モデルを異常予測部430に供給する。
異常予測部430は、更新された異常予測モデルを用いて、対象期間における電解装置1000の異常予測を、異常予測モデルを用いて、第1期間における異常予測を生成する。異常予測部430は、第1期間における電解装置1000の異常予測を含む第4因子の値に基づいて、第1期間における電解装置の異常予測を生成する。
異常予測部430は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の異常予測を生成する。異常予測部430は、例えば、異常予測を予測すべき期間の直前までの期間における第4因子の情報を、異常予測モデルに適用して異常予測を生成する。異常予測部430は、一例として、図3で説明したS350の動作において、異常予測を生成してよい。
この場合、異常予測部430は、初期更新期間に取得部10が取得した第2期間のN日分の第4因子の値を異常予測モデルに適用して、初期更新期間の後の第1期間のN日分の異常予測を生成する。異常予測部430は、生成した異常予測を新たな第3因子として記憶部20に記憶させる。これに代えて、異常予測部430は、生成した異常予測を新たな第3因子として、第3モデル生成部および第3モデル更新部320に供給してもよい。
なお、異常予測部430による第3因子の供給は、第1期間から開始することになる。そこで、第4構成例の計画装置100は、第1期間よりも前の第2期間および第3期間において、第4モデル生成部410および第4モデル学習部422が学習によって出力する、更新前の異常予測モデルの予測結果を第3因子として用いてよい。また、第4構成例の計画装置100は、当該第2期間および第3期間においては、初期値として、第3構成例の計画装置100と同様に、学習以外の動作によって生成された異常予測を用いてもよい。
以上のように、第4構成例の計画装置100は、学習によってより正確に予測された電解装置1000の異常動作に基づき、メンテナンス計画を生成することができる。即ち、計画装置100は、異常動作および故障等を学習によって予想し、装置の稼働状態が大きく変動しないように予めメンテナンスが実行できるようにメンテナンス計画を生成することができる。そして、第4構成例の計画装置100は、このようなメンテナンス計画を考慮した稼働計画を生成するので、より精度が高く、コストを低減させた電解装置1000の制御を実行することができる。
以上のように、本実施形態に係る計画装置100は、学習によって電解装置1000の稼働計画を生成することを説明した。このような計画装置100は、学習とは異なるロジックによって稼働計画を生成する動作と組み合わされてもよい。例えば、計画装置100は、学習による稼働計画の精度が、学習する回数および/または時間に応じて向上する場合がある。この場合、計画装置100は、稼働計画の精度が向上するまで、ロジックによって稼働計画を生成してもよい。このような計画装置100について、次に説明する。
図6は、本実施形態に係る計画装置100の第5構成例を示す。第5構成例の計画装置100において、図1から図5で説明した本実施形態に係る計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。第5構成例の計画装置100は、第1構成例から第4構成例の計画装置100のいずれか一の計画装置100の稼働計画生成部50が、第2稼働計画生成部510と稼働計画選択部520とを更に有する構成でよい。
第2稼働計画生成部510は、学習をしない予め定められたロジックにより、第1期間よりも前の第2因子の値と第1期間における電気料金の推移の予測結果とに基づいて、第1期間における電解装置1000の稼働計画を生成する。第2稼働計画生成部510は、第1稼働計画生成部230と並行して、稼働計画を生成してよい。予め定められたロジックについては後述する。
稼働計画選択部520は、第1稼働計画生成部230が生成した稼働計画が予め定められた制約を満たさない場合に、第2稼働計画生成部510が生成した稼働計画を選択する。稼働計画選択部520は、例えば、第1稼働計画生成部230の稼働計画による第1期間の水素生成コストが、第2稼働計画生成部510による第1期間の水素生成コスト未満の場合に、第2稼働計画生成部510の稼働計画を選択する。
また、稼働計画選択部520は、計画装置100の学習回数および/または学習時間が予め定められた閾値未満の場合に、第2稼働計画生成部510の稼働計画を選択してよい。また、稼働計画選択部520は、計画装置100が複数の電解装置1000のうち1以上の電解装置1000の稼働を停止してメンテナンスを実行する場合、第2稼働計画生成部510の稼働計画を選択してよい。
このように、第5構成例の計画装置100は、学習が不十分、または学習が困難な場合に、ロジックによる稼働計画を採用して、電解装置1000を制御する。これにより、計画装置100は、初期期間、およびメンテナンス実行期間においても、安定に電解装置1000を稼働させて水素生成コストを低減させることができる。このような電解装置1000の第2稼働計画生成部510が用いるロジックについて次に説明する。
図7は、本実施形態に係る第2稼働計画生成部510の動作フローの一例を示す。第2稼働計画生成部510は、図7に示す動作フローを実行して、電解装置1000の稼働計画を生成してよい。本実施形態において、第2稼働計画生成部510が、第1期間(N日間)の稼働計画を生成する例を説明する。
第2稼働計画生成部510は、第1期間中において、電解装置1000の生成物の使用計画を満たし、かつ電気料金がより低いと予測された期間において、電気料金がより高いと予測された期間よりも優先して電解装置1000を稼働させる稼働計画を生成する。そこでまず、第2稼働計画生成部510は、第1期間の電気料金の推移に基づき、第1期間において水素を生成すべき電気料金の低い時間帯を選択する(S710)。
第2稼働計画生成部510は、電解装置1000が生成して供給する水素の量が予め定められた供給計画を満たすように、水素を生成すべき時間帯を選択する。なお、供給計画は、予め定められた期間毎に水素を供給する計画の場合がある。例えば、供給計画は、第1期間における水素の総供給数と、期間Q毎に水素を供給する量が設定される。期間Qは、第1期間よりも短い期間であり、一例として、1日である。
そして、第2稼働計画生成部510は、第1期間中において、更に、生成物の貯蔵量を基準範囲内に維持する稼働計画を生成する。例えば、第2稼働計画生成部510は、第1期間において、選択した時間帯で電解装置1000を稼働して水素を生成し、期間Q毎に水素を供給した場合の、水素の貯蔵量Vの推移を算出する(S720)。次に、第2稼働計画生成部510は、期間Q毎に、水素の貯蔵量Vが予め定められた閾値Th1を下回るか否かを判断する(S730)。
第2稼働計画生成部510は、水素の貯蔵量Vが予め定められた閾値Th1を下回る場合(S730:Yes)、電解装置1000の稼働計画を更新する。第2稼働計画生成部510は、例えば、水素の貯蔵量Vが低減する期間Qにおける電解装置1000の稼働時間を予め定められた一定時間だけ増加させる(S740)。第2稼働計画生成部510は、電気料金の低い時間帯を選択して稼働時間を増加させる。第2稼働計画生成部510は、S720に戻り、更新した稼働計画による水素の貯蔵量Vの推移を算出する。第2稼働計画生成部510は、第1期間において、水素の貯蔵量Vが予め定められた閾値Th1を下回らなくなる(S730:No)まで、S720からS740の動作を繰り返してよい。
次に、第2稼働計画生成部510は、期間Q毎に、水素の貯蔵量Vが予め定められた閾値Th2を上回るか否かを判断する(S750)。第2稼働計画生成部510は、水素の貯蔵量が予め定められた閾値Th2を上回る場合(S750:Yes)、電解装置1000の稼働計画を更新する。第2稼働計画生成部510は、水素の貯蔵量Vが増加する期間Qにおける電解装置1000の稼働時間を予め定められた一定時間だけ減少させる(S760)。第2稼働計画生成部510は、電気料金の高い時間帯を選択して稼働時間を減少させる。
第2稼働計画生成部510は、S720に戻り、更新した稼働計画による水素の貯蔵量Vの推移を算出する。第2稼働計画生成部510は、第1期間において、水素の貯蔵量Vが予め定められた閾値Th1およびTh2の範囲内を維持する(S730:No、S750:No)まで、S720からS760の動作を繰り返してよい。
第2稼働計画生成部510は、水素の貯蔵量が基準範囲内に維持できる稼働計画となった場合に、当該稼働計画を出力してよい(S770)。なお、第2稼働計画生成部510は、予め定められた一定の期間が経過しても、稼働計画を出力できずに動作フローをループした場合は、生成不能として外部に警告等を出力してよい。この場合、稼働計画選択部520は、第1稼働計画生成部230の稼働計画を選択してよい。第2稼働計画生成部510は、第1期間が経過する毎に、次の第1期間の稼働計画を生成してよい。以上の例のように、第2稼働計画生成部510は、学習をしない予め定められたロジックを用いて電解装置1000の稼働計画を生成する。
以上の本実施形態に係る計画装置100は、電気料金を学習により予想しつつ、電解装置1000の稼働計画を生成する例を説明した。これに代えて、計画装置100は、外部から供給される電気料金の予測結果を用いて、稼働計画を生成してもよい。このような計画装置100について、次に説明する。
図8は、本実施形態に係る計画装置100の第6構成例を示す。第6構成例の計画装置100において、図2に示された第2構成例の計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。第6構成例の計画装置100は、取得部10が、外部から電気料金の予測結果を含む電気料金の情報を取得する。したがって、第6構成例の計画装置100は、第1モデル生成部110、第1モデル更新部120、および電気料金予測部130が無くてもよい。
第6構成例の第2モデル生成部210は、電気料金の情報および第2因子の値に基づき、稼働計画生成モデルを生成してよい。また第2モデル更新部220は、稼働計画生成モデルを学習により更新する。そして、稼働計画生成部50は、外部から取得した将来の電気料金の推移に基づいて、将来の第1期間における電解装置1000の稼働計画を生成する。これにより、制御部60は、稼働計画生成部50が生成した稼働計画に応じて、電解装置1000を稼働できる。
なお、第6構成例の計画装置100は、図2に示された第2構成例の計画装置100が、外部から供給される電気料金の予測結果を用いた例を示すが、これに限定されることはない。第6構成例の計画装置100として、図4から図6に示された第3構成例から第5構成例の計画装置100のうちのいずれかが、外部から供給される電気料金の予測結果を用いる構成となってもよい。この場合、図8と同様に、計画装置100は、第1モデル生成部110、第1モデル更新部120、および電気料金予測部130が無くてよい。
以上の本実施形態に係る計画装置100は、将来の電気料金の推移に基づいて、将来の第1期間における電解装置1000の稼働計画を生成することを説明した。ここで、将来の電気料金の推移は、予測された値を用いるので、実際の電気料金が突発的に予測値と大きく乖離することがある。この場合、計画装置100の稼働計画を用いても、水素の製造コストを低減できなくなってしまうことがあり得る。そこで、制御部60は、このような突発的な変動に応じて、稼働計画とは異なる電解装置1000の制御を実行してよい。
例えば、制御部60は、稼働計画上は電解装置1000を稼働させない予定の期間において、電気料金が予測よりも低くなったことに応じて、将来より高い電気料金で電解装置1000を稼働させる代わりに当該期間において電解装置1000を稼働させる。制御部60は、一例として、電解装置1000を稼働させない期間において、電気料金が予め定められた第1閾値未満となった場合に、電解装置1000を稼働させる。また、制御部60は、電解装置1000を稼働させる期間において、電気料金が予め定められた第2閾値を超えた場合に、電解装置1000の稼働を停止させるか、または稼働率を低減させてもよい。
これにより、計画装置100は、突発的な電気料金の変動に対応して、稼働計画を修正することができる。また、本実施形態に係る計画装置100は、電解装置1000の稼働結果を用いて次の稼働計画を学習によって生成するので、制御部60が稼働計画から逸脱した制御を実行しても、学習によって稼働計画を修正することができ、全体の期間を通じて安定な動作を実現することができ、水素の製造コストを低減させることができる。
以上の本実施形態に係る計画装置100は、電解装置1000が生成して供給する水素の量が予め定められた供給計画を満たすように、稼働計画を生成することを説明した。しかしながら、実際の電解装置1000の水素の供給量が、供給計画とは異なる場合が生じることもある。例えば、電解装置1000の供給先の不具合、故障、および消費調整等により、供給計画よりも供給量が低減してしまう場合がある。この場合、電解装置1000の水素の貯蔵量は、想定よりも増加してしまう。そこで、制御部60は、電解装置1000の水素の貯蔵量に応じて、電解装置1000の稼働を調節してもよい。
例えば、制御部60は、稼働計画に基づいて電解装置1000を稼働させている期間内において電解装置1000の生成物の貯蔵量が上限値以上となったことに応じて、電解装置1000の稼働を停止させる。これにより、制御部60は、電解装置1000の水素の貯蔵量が上限を超えてしまうことを防止できる。
また、例えば、電解装置1000の供給量が供給計画よりも増加してしまう場合がある。この場合、電解装置1000の水素の貯蔵量は、想定よりも低減してしまう。そこで、制御部60は、電解装置1000の水素の貯蔵量に応じて、電解装置1000の稼働を調節してもよい。
例えば、制御部60は、稼働計画に基づいて電解装置1000を停止させている期間内において電解装置1000の生成物の貯蔵量が下限値以下となったことに応じて、電解装置1000の稼働を開始させる。これにより、制御部60は、電解装置1000の水素の貯蔵量が下限を下回ることを防止できる。
以上の図2から図8に示す第2構成例から第6構成例の計画装置100は、将来の電気料金の推移に基づいて、将来の第1期間における電解装置1000の稼働計画を生成することを説明した。ここで、計画装置100は、電気料金の推移の予想なしに、電解装置1000の稼働計画を生成してもよい。例えば、計画装置100は、図1に示す構成でよく、取得部10が取得する全ての因子に基づき、稼働計画を生成するモデルを生成して学習してよい。
この場合、取得部10は、対象期間において目標とすべき電解装置の稼働計画と、対象期間よりも前に入手可能な因子の値とを含む学習データを取得する。入手可能な因子は、第1因子および第2因子を含んでよい。これに加えて、第3因子を入手可能でよく、また、第3因子および第4因子が入手可能でもよい。
また、モデル生成部30は、対象期間よりも前に入手可能な因子に基づいて対象期間における稼働計画を生成する稼働計画生成モデルを生成する。この場合の稼働計画生成モデルは、第1因子および第2因子に基づき、稼働計画を生成してよい。なお、この場合の稼働計画生成モデルは、第1モデルおよび第2モデルを統合したモデルでよい。
これに代えて、稼働計画生成モデルは、第1因子から第3因子に基づき、稼働計画を生成してもよい。なお、この場合の稼働計画生成モデルは、第1モデルから第3モデルを統合したモデルでよい。これに代えて、稼働計画生成モデルは、第1因子から第4因子に基づき、稼働計画を生成してもよい。なお、この場合の稼働計画生成モデルは、第1モデルから第4モデルを統合したモデルでよい。稼働計画生成モデルは、事前学習により生成されてよい。
また、学習処理部40は、取得された学習データに基づいて、稼働計画生成モデルを学習する。学習処理部40は、適応学習により、稼働計画生成モデルを学習してよい。また、学習処理部40は、予め定められた期間毎に、稼働計画生成モデルを更新してよい。
また、稼働計画生成部50は、第1期間よりも前の因子の値に基づいて、第1期間中の各時点において電解装置1000を稼働させるか否かを含む稼働計画を、稼働計画生成モデルを用いて生成する。以上のように、第1構成例の計画装置100は、稼働計画を生成するモデルを電気料金の推移を考慮した1つのモデルとして生成し、学習によって更新することで、精度の高い稼働計画を出力することもできる。これにより、制御部60は、電解装置1000を稼働計画に応じて制御することができる。
以上の本実施形態に係る計画装置100によれば、電解装置1000の稼働計画を学習によって生成するので、水素の製造量が不足してしまうこと、および、高い電気料金の時間帯で水素を生成させること等の発生を防止または低減させることができる。また、計画装置100は、電気料金を予測しつつ、電解装置1000の稼働計画を生成するので、より精度の高い稼働計画を生成することができる。
図9は、本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ1200の例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。このようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、グラフィックコントローラ1216、及びディスプレイデバイス1218を含み、これらはホストコントローラ1210によって相互に接続される。コンピュータ1200はまた、通信インターフェース1222、ハードディスクドライブ1224、DVD-ROMドライブ1226、及びICカードドライブのような入出力ユニットを含み、これらは入出力コントローラ1220を介してホストコントローラ1210に接続される。コンピュータはまた、ROM1230及びキーボード1242のようなレガシの入出力ユニットを含み、これらは入出力チップ1240を介して入出力コントローラ1220に接続される。
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、これにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又は当該グラフィックコントローラ1216自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示させる。
通信インターフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVD-ROMドライブ1226は、プログラム又はデータをDVD-ROM1201から読み取り、ハードディスクドライブ1224にRAM1214を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
ROM1230は、内部に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
プログラムが、DVD-ROM1201又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース1222に対し、通信処理を命令してよい。通信インターフェース1222は、CPU1212の制御の下、RAM1214、ハードディスクドライブ1224、DVD-ROM1201、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、ハードディスクドライブ1224、DVD-ROMドライブ1226(DVD-ROM1201)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような、様々なタイプの情報が、情報処理されるべく、記録媒体に格納されてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、これにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
以上の説明によるプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、これにより、プログラムをコンピュータ1200にネットワークを介して提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。