このような水素生成装置等は、電気料金が安い時間帯で稼働率を高め、電気料金が高い時間帯では稼働率を低減させることで水素の製造コストを低減させることが望ましい。そこで、水素生成装置は、例えば、変動する電気料金と閾値とを比較して、比較結果に応じて稼働率を制御して製造コストを低減させることが考えられる。しかしながら、例えば1日といった一定期間毎に供給すべき水素の量が定められていることがある。この場合、当該一定期間の間に、水素を十分に生成できるほど電気料金の安い時間帯が発生しないことがある。したがって、閾値等を用いて製造装置を制御しても、一定の期間の間に水素の製造量が不足してしまうこと、または、結局高い電気料金の時間帯で水素を生成させなければならなくなってしまうこと等が発生していた。
上記課題を解決するために、本発明の第1の態様においては、計画装置を提供する。計画装置は、対象期間における複数の電気調達元の電気料金の推移を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の推移を予測する電気料金予測部を備える。計画装置は、予測された将来の電気料金の推移に基づいて、将来の第1期間における電解装置の稼働計画を生成する稼働計画生成部を備える。
電気料金予測部は、複数の電気調達元のそれぞれの将来の電気料金の推移を、対応する第1因子の値に基づいて予測してよい。電気料金予測部は、複数の電気調達元のそれぞれに対応する複数の電気料金予測モデルを用いて、各電気調達元の将来の電気料金の推移を予測してよい。電気料金予測部は、将来の電気料金の確率分布を予測してよい。電気料金予測モデルは、対象期間よりも前の、電気料金、電力需要量、電力供給量、再生可能エネルギー発電量、再生可能エネルギー発電量の予測値、各電気調達元からの電力購入量、および天気情報の少なくとも1つを含む第1因子の値に基づいて、対象期間における電気料金の推移を予測してよい。
計画装置は、過去期間における第1因子の値と過去期間以降の電気料金の現実の推移とに基づいて、電気料金予測モデルを学習により更新する第1モデル更新部を備えてよい。稼働計画生成部は、対象期間における稼働計画を、対象期間よりも前に入手可能な第2因子の値と対象期間における電気料金の推移の予測結果とに基づいて生成する稼働計画生成モデルを用いて、将来の第1期間における電解装置の稼働計画を生成する第1稼働計画生成部を有してよい。
稼働計画生成モデルは、対象期間よりも前の、電解装置の稼働データ、各電気調達元との契約条件、各電気調達元の信頼度、複数の電気調達元の少なくとも1つの固定の電気料金、および電解装置の生成物貯蔵量の少なくとも1つを含む第2因子の値と、対象期間における電気料金の推移の予測結果とに基づいて、対象期間における電解装置の稼働計画を生成してよい。計画装置は、対象期間における発電装置の再生可能エネルギー発電量の推移を対象期間よりも前に入手可能な発電量予測因子の値に基づいて予測する発電量予測モデルを用いて、将来の再生可能エネルギー発電量の推移を予測する発電量予測部を有してよい。稼働計画生成部は、さらに予測された将来の再生可能エネルギー発電量の推移に基づいて稼働計画を生成してよい。
計画装置は、稼働計画を用いて、電解装置を稼働させる制御を行う制御部を備えてよい。制御部は、稼働計画上は電解装置を稼働させない予定の期間において、複数の電気調達元のうち少なくとも1つの電気料金が予測よりも低くなったことに応じて、より高い電気料金で将来電解装置を稼働させる代わりに当該期間において電解装置を稼働させてよい。電解装置は、電気分解によって水素を生成する水素生成装置であってよい。
本発明の第2の態様においては、計画装置を提供する。計画装置は、対象期間における電気料金の確率分布を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の確率分布を予測する電気料金予測部を備える。計画装置は、予測された将来の電気料金の確率分布に基づいて、将来の第1期間における電解装置の稼働計画を生成する稼働計画生成部を備える。
本発明の第3の態様においては、電解装置の稼働計画の生成方法を提供する。生成方法は、対象期間における複数の電気調達元の電気料金の推移を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の推移を予測することを備える。生成方法は、予測された将来の電気料金の推移に基づいて、将来の第1期間における電解装置の稼働計画を生成することを備える。
本発明の第5の態様においては、水素製造方法を提供する。水素製造方法は、電気料金予測部が、対象期間における複数の電気調達元の電気料金の推移を対象期間よりも前に入手可能な第1因子の値に基づいて予測する電気料金予測モデルを用いて、将来の電気料金の推移を予測する。水素製造方法は、稼働計画生成部が、予測された将来の電気料金の推移に基づいて、将来の第1期間における水素生成装置の稼働計画を生成する。水素製造方法は、水素生成装置が、稼働計画に基づいて水素を生成する。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る計画装置100の構成例を、電解装置1000および複数の電気調達元1010(1)~1010(n)(n≧2)(以下、単に「電気調達元1010」とも示す)と共に示す。計画装置100は、電解装置1000の将来の第1期間における稼働計画を生成する。計画装置100は、生成した稼働計画に応じて複数の電気調達元1010からの電力を用いて電解装置1000を稼働させ、電解装置1000が生成物を生成する製造コストを低減させる。なお、第1期間は、数日、十数日、数週間、または数十日等の予め定められた期間でよい。
ここで、電解装置1000は、電力系統の送電網を介してまたは直接、複数の電気調達元1010に接続される。電解装置1000は、複数の電気調達元1010からの電気エネルギーを用いて生成物を生成する装置でよい。電解装置1000は、例えば、電気分解によって水素を生成する水素生成装置である。また、複数の電気調達元1010は、例えば、火力発電施設等により発電した電力を供給する電力会社、再生可能エネルギー等により発電した電力を供給する発電装置、および蓄電装置のうちの複数であってよい。
計画装置100は、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。計画装置100は、コンピュータのCPU、GPU(Graphics Processing Unit)、および/またはTPU(Tensor Processing Unit)における処理によって計画等を生成してよい。また、計画装置100は、サーバコンピュータにより提供されるクラウド上で各種の処理を行うものであってよい。
計画装置100が生成する稼働計画は、例えば、第1期間における、電解装置1000の稼働すべき状態を記述したテーブルまたはデータ等である。稼働計画は、電解装置1000を稼働させる(稼働させない)時間帯、および/または、電解装置1000の時間帯毎の稼働率等を定めたテーブルまたはデータ等でよい。稼働計画は、さらに、電解装置1000を稼働させる期間における複数の電気調達元1010の電力供給の配分、および各電気調達元1010の電力供給のタイミングの少なくとも1つを含んでよい。また、稼働計画は、後述のように、電気調達元1010と複数の契約条件で契約を結んでいる場合、電気調達元1010から各契約条件に応じて電力供給を受ける配分、および電気調達元1010から各契約条件に応じて電力供給を受けるタイミングの少なくとも1つを含んでよい。計画装置100は、取得部10と、記憶部20と、モデル生成部30と、学習処理部40と、稼働計画生成部50と、制御部60とを備える。
取得部10は、学習に用いるパラメータおよび学習データ等を取得する。取得部10は、例えば、将来の予め定められた対象期間において目標とすべき電解装置1000の稼働計画と、対象期間よりも前に入手可能な因子の値とを含む学習データを取得する。対象期間は、将来における予め定められた期間である。対象期間は、第1期間を含む期間でよい。取得部10は、対象期間よりも前に入手可能な電気料金に関するパラメータを第1因子として取得してよい。また、取得部10は、対象期間よりも前に入手可能な電解装置1000に関するパラメータを第2因子として取得してよい。
取得部10は、電解装置1000および複数の電気調達元1010等に接続され、学習に用いるパラメータおよび学習データ等を取得してよい。取得部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は、電気調達元1010との契約条件、および電気調達元1010の信頼度の少なくともいずれかを含む第2因子の値と、電気料金予測部130の予測する電気料金の推移の予測結果とに基づいて、将来の第1期間における複数の電気調達元1010の電力供給の配分、および各電気調達元の電力供給のタイミングの少なくとも1つを含む稼働計画を生成してよい。
さらに、稼働計画生成部50は、これに加えて、またはこれに代えて、例えば、第1期間において、電解装置1000が生成すべき量(供給計画の水素量)の生成物を生成しつつ、電力供給を受けられるリスクを最小化または低減させる稼働計画を生成する。稼働計画生成部50が、上記のような稼働計画を生成することで、複数の電気調達元1010から供給を受けられる電力量または電気料金に変動が生じる場合であっても、需要を満たせるだけの生成物を生成する可能性を高くすることができる。これは、電気調達元1010が主に発電量が不安定な発電源を有している場合や、電気調達元1010と複数の契約条件を含む契約を結んでいる場合に特に有効である。稼働計画生成部50は、生成した稼働計画を制御部60に供給する。
さらに、稼働計画生成部50は複数の電気調達元1010から電力供給を受けられるリスクを示す電力供給リスクを算出してもよい。この場合、稼働計画生成部50は複数の電気調達元1010のそれぞれに対して電力供給リスクを算出してもよいし、複数の電気調達元の内の少なくとも一部に対して一括して電力供給リスクを算出してもよい。また、電気調達元1010と複数の契約条件を含む契約を結んでいる場合、各契約条件ごとに電力供給リスクを算出してよい。
稼働計画生成部50は、電力供給量の確率分布を算出することで電力供給リスクを算出してよい。稼働計画生成部50は、上記電力供給量の確率分布を、電気調達元1010との間の一または複数の契約条件、電気調達元1010が存在する地域、総発電容量、発電量の変化量、発電源等の内の少なくともいずれかに基づいて算出してよい。さらに、稼働計画生成部50は、これに加えて、またはこれらに代えて、要求電力量を供給できる可能性、過去に要求した電力量のうちの供給できなかった電力量の割合等の内の少なくともいずれかに基づいて電力供給量の確率分布を算出してよい。稼働計画生成部50は、上記電力供給量の確率分布を算出するために用いるデータとして、各電気調達元が公表したものを用いてもよいし、ユーザが独自に記録したものを用いてもよい。稼働計画生成部50は、これらのデータと電気調達元1010からの電力供給量とを含む教師データを用いて、上述の取得部10、記憶部20、モデル生成部30により電力供給量の確率分布を出力する学習モデルを生成してよい。
なお、電気調達元1010が存在する地域としては、例えば、「1:ドイツ、2:フランス」のように、国や地域等に番号を割り当てることによりデータとして使用してよい。電気調達元1010が要求電力量を供給できる可能性としては、例えば、「100%供給可能性:80%、80%供給可能性:85%、60%供給可能性:90%、40%供給可能性:100%」のように、要求した電力の内、供給できる割合ごとに可能性ごとに確率を割り当てたデータを使用してよい。発電源としては、「1:風力、2:地熱」のように、発電源の種類ごとに番号を割り当てたものを使用してよい。
さらに、稼働計画生成部50は、上記電力供給リスクとして、電力供給量の確率分布に加えて、または代えて、複数の電力調達元1010の供給継続性を算出してよい。稼働計画生成部50は、上記供給継続性を、複数の電力調達元1010の事業規模、売上、利益、電気料金等の内の少なくともいずれかに基づいて算出してよい。上記事業規模としては、例えば、従業員数、資本金等を用いてよい。
稼働計画生成部50は、制約を満たす稼働計画の中から予め定められた基準を満たす稼働計画を制御部60に出力してよい。また、稼働計画生成部50は、制約条件を満たす少なくとも一つの稼働計画を稼働計画候補として選択可能に出力する稼働計画選択部を有してもよい。稼働計画選択部は、稼働計画候補の内、ユーザ等に選択された稼働計画を制御部60に出力してよい。
さらに、稼働計画生成部50は、稼働計画の生成にあたって満たすべき制約を指定する制約条件指定部を有してもよい。制約条件指定部は、ユーザ等からの入力に応じて調整可能に制約条件を指定してよい。制約条件指定部は、上記制約条件として、電力購入量、水素生成量、電気料金、電力供給リスク、電気料金の変動幅等のいずれかを指定することができる。なお、例えば電気料金の変動幅は、電気料金予測部130の予測する電気料金の確率分布に基づいて算出されてよい。制約条件指定部は、例えば、電気料金の確率分布の標準偏差を電気料金の変動幅として用いてよい。制約条件指定部は、上記制約条件として、これらの数値の範囲(上限のみ、下限のみ指定する場合も含む)を指定してよい。また、制約条件指定部は、例えば、「A:10以上30未満、B:30以上50未満」のように、各条件の範囲に予め割り当てておいた番号や記号を指定してよい。さらに、制約条件指定部は、例えば、「10以上、好ましくは30以上50未満」のように、異なる条件を段階的に指定してよい。また、制約条件指定部は、上記制約条件として、許容できる割合や数値を指定してよい。制約条件指定部は、例えば、許容できる電気料金の変動幅または電力供給リスクとして、「指定した値のプラスマイナス10%」のように、制約条件に対する幅を指定してよい。さらに、制約条件指定部は、上記制約条件として、必ず満たすべき必須条件と、必ずしも満たしている必要のない目標条件とを区別して指定してよい。また、制約条件指定部は、各制約条件に優先順位を指定してよい。さらに、制約条件指定部は、上記の制約条件をテキストボックス、スライダバー、ドロップダウンリスト等の入力機能を通じてユーザからの指定を受け付けてよい。
制御部60は、第1期間における電解装置1000の稼働計画を用いて、当該電解装置1000を稼働させる制御を行う。制御部60は、複数の電解装置1000をそれぞれ稼働させてよい。また、制御部60は、電解装置1000の動作および生成部の貯蔵量等が想定とは異なる範囲となった場合に、電解装置1000の稼働の停止および開始を指示してもよい。また、制御部60は、電気料金が大きく変動した場合に、電解装置1000の稼働の停止および開始を指示してもよい。
以上の本実施形態の計画装置100によれば、複数の電気調達元1010の電気料金の変動に応じた電解装置1000の稼働計画を生成することができ、予め定められた量以上の生成物を、より低い製造コストで生成することができる。このような計画装置100のより具体的な構成例について、次に説明する。
図2は、本実施形態に係る計画装置100の第2構成例を示す。第2構成例の計画装置100において、図1に示された本実施形態に係る計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図2は、計画装置100の取得部10を省略した構成を示す。
第2構成例の計画装置100は、複数の電気調達元1010にそれぞれ対応する、複数の第1モデル生成部110、複数の第1モデル更新部120、および複数の電気料金予測部130を備え、各電気調達元1010の将来の電気料金の推移を予測する。また、第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因子は、対象期間よりも前の、電気料金、電力需要量、電力供給量、再生可能エネルギー発電量、再生可能エネルギー発電量の予測値、各電気調達元1010からの電力購入量、および天気情報の少なくとも1つを含む。電気料金は、電解装置1000が設置された場所において、電解装置1000に供給される電力に対する実際の電気料金でよい。電力需要量、電力供給量、再生可能エネルギー発電量、および再生可能エネルギー発電量の予測値は、電解装置1000が設置された地域に電力を供給する発電所、または電解装置1000に直接接続されて電力を供給する発電装置等の情報でよい。各電気調達元1010からの電力購入量は、各電気調達元1010からの電力の時間帯毎の購入量、所定期間における各電気調達元1010からの電力の購入量の累計を含んでよい。天気情報は、各電気調達元1010が有する発電所または発電装置等が存在する地域の情報でよい。
第1因子は、複数の電気調達元1010の過去の電気料金の情報に加えて、電解装置1000が消費する電力に対する電気料金に影響を及ぼす情報を含んでよい。第1因子は、略一定時間毎の時系列の情報でよい。また、第1因子は、異なる期間における種々の情報を含んでよい。また、第1因子は、複数の電気調達元1010および外部の装置等から取得部10が取得した情報を含んでよい。第1因子は、複数の電気調達元1010のそれぞれに関連付けられて記憶部20に記憶されてよい。
第2因子は、対象期間よりも前の、電解装置1000の稼働データ、各電気調達元1010との契約条件、各電気調達元1010の信頼度、発電装置の発電量、複数の電気調達元1010の少なくとも1つの固定の電気料金、および電解装置1000の水素貯蔵量の少なくとも1つを含む。また、第2因子は、対象期間において電解装置1000が生成すべき生成物の量(供給計画の水素量)、当該計画装置100が過去に生成した電解装置1000の稼働計画を含んでもよい。また、第2因子は、電解装置1000の物理モデルから算出される仮想データを含んでよい。第2因子は、略一定時間毎の時系列の情報でよい。また、第2因子は、電解装置1000から取得部10が取得した情報を含んでよい。
ここで、電気調達元1010との契約条件は、電解装置1000の事業者と電気調達元1010との間の電力の売買に関する契約条件であってよい。電気調達元1010との契約条件は、例えば、電気調達元1010からの電力購入量または電力購入タイミングに応じた電気料金、電力購入量の上限、下限、および電力購入量が所定量になると生じる割引、電力供給を受ける時間に応じた割引、電気調達元との契約期間に応じた割引のうちの少なくとも1つを含んでよい。さらに、電気調達元1010と複数の契約条件を結んでいる場合は、第2因子は、複数の契約条件を含む契約条件群を含んでよい。また、電気調達元1010の信頼度は、要求した電力量の全てを電解装置1000に供給できる可能性を示すものであってよい。電気調達元1010の信頼度は、例えば、電気調達元1010の事業規模、過去に要求した電力量のうちの供給できなかった電力量の割合、電気料金の変化量、電気調達元1010の発電量、発電量の変化量、および発電源のうちの少なくとも1つに応じて算出されてよい。
第1因子および第2因子の情報は、時間の経過と共にそれぞれ追加または更新されてよい。例えば、取得部10は、予め定められた期間毎に、それぞれの情報を取得して更新してよい。また、取得部10は、取得すべき情報に応じて、略同一または異なる期間毎に取得して、それぞれ追加または更新してよい。
複数の第1モデル生成部110(1)~110(n)(n≧2)(以下、単に「第1モデル生成部110」とも示す)はそれぞれ、対象期間よりも前の第1因子の値に基づいて、対象期間における電気料金の推移を予測する電気料金予測モデルを生成する。複数の第1モデル生成部110は、複数の電気調達元1010のそれぞれについて、対応する第1因子の値を用いて、互いに異なる複数の電気料金予測モデルを生成してよい。第1モデル生成部110は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、電気料金予測モデルを生成してよい。第1モデル生成部110は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を用いて、電気料金予測モデルを生成する。第1モデル生成部110は、生成した電気料金予測モデルを第1モデルとして第1モデル更新部120に供給する。
複数の第1モデル更新部120(1)~120(n)(n≧2)(以下、単に「第1モデル更新部120」とも示す)はそれぞれ、過去期間における第1因子の値と過去期間以降の電気料金の現実の推移とに基づいて、電気料金予測モデルを学習により更新する。複数の第1モデル更新部120は、それぞれ第1モデル学習部122を有し、第1モデル学習部122の学習結果に応じて、電気料金予測モデルを更新する。第1モデル更新部120は、例えば、予め定められた第1更新期間毎に、第1モデル学習部122が学習した電気料金予測モデルを、新たな電気料金予測モデルとして更新してよい。これに代えて、第1モデル更新部120は、第1モデル学習部122が予め定められた回数だけ学習したことに応じて、電気料金予測モデルを更新してもよい。
複数の第1モデル学習部122(1)~122(n)(n≧2)(以下、単に「第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(1)~130(n)(n≧2)(以下、単に「電気料金予測部130」とも示す)は、複数の電気調達元1010のそれぞれについて、対応する更新された電気料金予測モデルを用いて、将来の電気料金の推移を、対応する第1因子の値に基づいて予測する。電気料金予測部130は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の電気料金を予測する。電気料金予測部130は、例えば、電気料金を予測すべき期間の直前までの期間における第1因子の情報を、電気料金予測モデルに適用して電気料金を予測する。電気料金予測部130は、予測結果を稼働計画生成部50に供給する。
電気料金予測部130は、対象期間における各電気調達元1010の時間帯毎の電気料金を予測してよく、また、対象期間における各電気調達元1010の将来の電気料金の確率分布を予測してもよい。電気調達元1010が電解装置1000の事業者自身が所有する発電装置または蓄電装置である場合には、電気料金予測部130は、対象期間における電気調達元1010の維持費を電気料金として予測してよい。
第2モデル生成部210は、対象期間よりも前の第2因子の値および電気料金の推移に基づいて、稼働計画生成モデルを生成する。稼働計画生成モデルは、学習により、対象期間よりも前の第2因子の値と、対象期間における各電気調達元1010の電気料金の推移の予測結果とに基づいて、対象期間における電解装置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が生成した稼働計画に応じて、複数の電気調達元1010を切り替えながら電解装置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期間における、複数の電気調達元1010の電気料金、電解装置1000の稼働データ、各電気調達元1010との契約条件、各電気調達元1010の信頼度、複数の電気調達元1010の少なくとも1つの固定の電気料金、電解装置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条件)、電気代の低い電気調達元1010および/または時間帯を選択して電解装置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期間における、対応する電気調達元1010に関する第1因子を用いて、電気料金予測モデルを適応学習してよい。第1モデル学習部122は、電気料金予測モデルを用いて第3期間における対応する電気調達元1010の電気料金等を予測した結果が、取得した第3期間の当該電気調達元1010の電気料金と一致するように強化学習してよい。
第1モデル学習部122は、一例として、第3期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間といった期間でよい。M日間は、第1期間(N日間)と一致することが望ましい。第1モデル学習部122は、一例として、第3期間における予測期間よりも前の期間の第1因子の値に基づく予測期間の予測結果と、予測期間の実データとの差分が0または予め定められた値未満となるように強化学習する。
なお、第1モデル学習部122は、実際の各データの取得タイミングに応じて、用いるデータおよび予測する期間を調節して、学習の精度を高めてよい。例えば、一の時刻における電力供給量に応じたデータが、当該一の時刻からずれたタイミングに取得できる場合が想定できる。このような第1因子の情報として、再生可能エネルギー発電量を例に説明する。再生可能エネルギー発電量が電力調達元1010から電力が供給された後に判明する場合には、一の時刻における電力供給量に応じた再生可能エネルギー発電量は、一の時刻よりも後にずれた時刻の情報となる。そこで、第1モデル学習部122は、第3期間における予測期間よりも前の期間の再生可能エネルギー発電量を除く第1因子の値と、予測期間の再生可能エネルギー発電量の予測値とを用いて、予測期間の電気料金等を予測してよい。
また、第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つの条件を満たしつつ、水素生成コストを低減させるように稼働計画生成モデルを強化学習してよい。第2モデル学習部222は、例えば、Q学習、SARSA法、またはモンテカルロ法等の強化学習を実行してよい。
第2モデル学習部222は、一例として、実施された稼働計画の実績データを用いて、稼働計画生成モデルの生成に用いた第1条件、第2条件、および第3条件等を満たしつつ、当該稼働計画の評価指標が最大または予め定められた範囲内となるように強化学習してよい。評価指標は、例えば、電解装置1000の運営コスト、水素の売上、水素の利益、および水素の単位量当たりの原価のうちの複数についてそれぞれに重みをかけて和をとった重み付け和の目的関数で、計画装置100または外部の装置により算出されてよい。
次に、学習処理部40は、学習モデルを更新する(S340)。学習処理部40は、予め定められた時間毎に学習モデルを更新してよい。例えば、学習処理部40は、適応学習を開始してから更新に必要な初期更新期間だけ適応学習を継続させてから、学習モデルの最初の更新を実行し、その後、一定の期間毎に更新を繰り返す。ここで、初期更新期間は、生成すべき稼働計画の期間であるN日以上であることが望ましい。また、更新を繰り返す一定の期間は、数時間、十数時間、1日、数十時間、または数日等でよい。
例えば、第1モデル更新部120は、初期更新期間後、電気料金予測モデルを第1更新期間毎に更新する。複数の第1モデル更新部120はそれぞれ、互いに異なる第1更新期間毎に、または、同一の第1更新期間毎に、電気料金予測モデルを更新してよい。また、第2モデル更新部220は、初期更新期間後、稼働計画生成モデルを第2更新期間毎に更新する。第1更新期間および第2更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第1更新期間および第2更新期間は、一例として1日である。
次に、学習処理部40は、更新した学習モデルを用いて電気料金を予測する(S350)。例えば、電気料金予測部130は、対応する電気調達元1010について、更新された電気料金予測モデルおよび第1因子の値を用いて、第1期間の電気料金の推移を予測する。電気料金予測部130は、一例として、初期更新期間に取得部10が取得したN日分の第1因子の値を電気料金予測モデルに適用して、初期更新期間の後のN日分の電気料金の推移を予測する。
次に、稼働計画生成部50は、更新された学習モデルを用いて、第1期間の電解装置1000の稼働計画を生成する(S360)。例えば、第1稼働計画生成部230は、更新された稼働計画生成モデル、電気料金予測部130により生成された各電気調達元1010の電気料金の予測結果、および第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を稼働させる期間を、当該期間に電解装置1000に電力供給する電気調達元1010および電解装置1000の稼働率と共に示す稼働計画を生成してよい。第1稼働計画生成部230は、時系列に稼働率が推移する稼働計画を生成することが望ましい。第1稼働計画生成部230は、例えば、一定時間ごとの稼働計画を生成する。第1稼働計画生成部230は、数十分、1時間、または数時間ごとの稼働計画を生成してよい。
第1稼働計画生成部230は、例えば、信頼度がより低い(例えば閾値以下)電気調達元1010の予測電気料金には、料金が高くなるようにより大きなオフセットを足したり、予め定められた係数(例えば、1より大きい係数)をかけてよい。また、信頼度に応じて各調達元からの調達量に上限を設けたり(例えば、信頼度が閾値以下である場合に、調達量に予め定められた上限を設ける、または、信頼度がより低い電気調達元1010には、調達量に、より小さな上限を設ける等)、信頼度の低い調達元からの全調達量に対する調達割合に上限を設けてもよい。これにより、第1稼働計画生成部230は、信頼度に応じた予測電気料金を用いて、最も電気料金が安くなる電気調達元1010を決定できる。
また、第1稼働計画生成部230は、電気料金予測部130が出力した各電気調達元1010の予測電気料金の確率分布を用いて、各稼働時間帯で電力供給を受ける電気調達元1010を決定してよい。第1稼働計画生成部230は、一例として、予測電気料金の確率分布において最も確率の高い電気料金を用いて、複数の電気調達元1010のうち、最も安い予測電気料金の電気調達元1010を決定してよい。また、第1稼働計画生成部230は、予測電気料金の確率分布において最も確率の高い電気料金から当該確率分布の標準偏差σ(または2σ、3σ、・・・)分高くなった場合の電気料金を用いて、複数の電気調達元1010のうち、最も安い予測電気料金の電気調達元1010を決定してよい。これにより、第1稼働計画生成部230は、確率分布の分散度を考慮して、確率分布において最も確率の高い電気料金から所定の確率で上振れした場合の電気料金同士を比較して、最も電気料金が安くなる確率が高い電気調達元1010を決定できる。
また、第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は、複数の電気調達元1010の電気料金の推移および電解装置1000の稼働状態等に応じて、稼働計画を生成することを説明した。ここで、電解装置1000は、異常動作および故障によって稼働が停止することを回避すべく、定期的にメンテナンスすることが望ましい。この場合、電解装置1000は、メンテナンス等に応じて一定期間停止することがあり、稼働状態が変動することがある。そこで、計画装置100は、メンテナンス等による稼働状態の変動を加味した学習を実行してよい。このような計画装置100について、次に説明する。
図4は、本実施形態に係る計画装置100の第3構成例を示す。第3構成例の計画装置100において、図2に示された第2構成例の計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図4は、計画装置100の取得部10を省略した構成を示す。
第3構成例の計画装置100は、1つの第1モデル生成部110、1つの第1モデル更新部120、および1つの電気料金予測部130を備え、1つの電気料金予測モデルを生成して、各電気調達元1010の電気料金を予測する。第3構成例の第1モデル生成部110、第1モデル更新部120、および電気料金予測部130はそれぞれ、第2構成例の第1モデル生成部110、第1モデル更新部120、および電気料金予測部130と同様であってよい。第1モデル生成部110は、複数の電気調達元1010に関する第1因子を用いて1つの電気料金予測モデルを生成し、第1モデル更新部120は、複数の電気調達元1010の第1因子を用いて、当該電気料金予測モデルを学習してよい。電気料金予測部130は、各電気調達元1010の第1因子を電気料金予測モデルに適用して、対応する電気調達元1010の将来の電気料金を予測してよい。
第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は、電気調達元1010である発電装置の発電量と、電解装置1000の異常および劣化とを予測してよい。また、計画装置100は、学習により、電気調達元1010である発電装置の発電量と、電解装置1000の異常および劣化とを予測してもよい。このような計画装置100について、次に説明する。
図5は、本実施形態に係る計画装置100の第4構成例を示す。第4構成例の計画装置100において、図4に示された第3構成例の計画装置100の動作と略同一のものには同一の符号を付け、説明を省略する。また、図5は、計画装置100の取得部10を省略した構成を示す。
第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は、第5モデル生成部440、第5モデル更新部450、および発電量予測部460を備え、将来の発電装置の再生可能エネルギー発電量を予測する。この場合、モデル生成部30が第5モデル生成部440を有してよく、また、学習処理部40が第5モデル更新部450および発電量予測部460を有してよい。ここで、発電装置は、複数の電気調達元1010のうちの1つであってよく、再生可能エネルギーを用いて発電した電力を、送電網を介して、または送電網を介さずに直接、電解装置1000に供給するものであってよい。
第4構成例の記憶部20は、取得部10が発電量予測因子(以下、「第5因子」とも称する)を更に取得して、記憶部20に記憶する。第5因子は、発電装置の発電量に関する情報を含んでよい。第5因子は、対象期間より前における、発電装置の発電量(例えば、所定期間内での発電量の累計、または発電効率等)、発電装置の電力供給量、電解装置1000の電力購入量、他の電気調達元1010の電気料金、天気情報、発電装置の種類(例えば、発電に用いる再生可能エネルギーの種類等)、発電装置の利用期間、対象期間における、予測の天気情報、および他の電気調達元1010の電気料金の予測の少なくとも1つを含んでよい。また、第5因子は、発電装置の物理モデルから算出される仮想データを含んでよい。
第5モデル生成部440は、対象期間よりも前に入手可能な第5因子の値に基づいて、発電量予測モデルを生成する。第5モデル生成部440は、対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、発電量予測モデルを生成してよい。第5モデル生成部440は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を用いて、発電量予測モデルを生成する。なお、発電量予測モデルは、学習により、対象期間における発電装置の再生可能エネルギー発電量の推移を対象期間よりも前に入手可能な第5因子の値に基づいて予測するモデルである。
第5モデル生成部440は、一例として、図3で説明したS320の動作において、発電量予測モデルを生成してよい。即ち、第5モデル生成部440は、第2期間の第5因子の値に基づき、発電量予測モデルを生成する。第5モデル生成部440は、生成した発電量予測モデルを第5モデルとして第5モデル更新部450に供給する。
第5モデル更新部450は、過去期間における第5因子の値と過去期間以降の実際の発電量とに基づいて、発電量予測モデルを学習により更新する。第5モデル更新部450は、第5モデル学習部452を有し、第5モデル学習部452の学習結果に応じて、発電量予測モデルを更新する。第5モデル更新部450は、例えば、予め定められた第4更新期間毎に、第5モデル学習部452が学習した発電量予測モデルを、新たな発電量予測モデルとして更新してよい。これに代えて、第5モデル更新部450は、第5モデル学習部452が予め定められた回数だけ学習したことに応じて、発電量予測モデルを更新してもよい。
第5モデル学習部452は、適応学習またはオンライン学習等と呼ばれる処理により、発電量予測モデルを学習してよい。第5モデル学習部452は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を識別モデルとして、発電量予測モデルを強化学習する。第5モデル学習部452は、第5モデル生成部440が発電量予測モデルの生成に用いた第5因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。
第5モデル学習部452は、実際の発電装置の稼働によって更新された第5因子の情報を用いて、発電量予測モデルを学習する。即ち、第5モデル学習部452は、過去期間における第5因子の値に基づく予測期間の予測結果と、予測期間の実データとの差分が0または予め定められた値未満となるように、発電量予測モデルを学習する。
第5モデル学習部452は、第5因子の情報が更新されたことに応じて、発電量予測モデルの学習を実行してよい。第5モデル学習部452は、第5モデル更新部450の第5更新期間の間に、1または複数回の学習を実行する。第5モデル更新部450は、一例として、図3で説明したS330の動作において、発電量予測モデルを適応学習し、S340の動作において、発電量予測モデルを更新してよい。
例えば、第5モデル更新部450は、図3で説明した初期更新期間後、発電量予測モデルを第4更新期間毎に更新する。第4更新期間および第1更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第4更新期間は、一例として1日である。第5モデル更新部450は、更新した発電量予測モデルを発電量予測部460に供給する。
発電量予測部460は、更新された発電量予測モデルを用いて、対象期間における将来の再生可能エネルギー発電量の推移を予測する。発電量予測部460は、第5因子の値に基づいて、第1期間における予測発電量を生成する。
発電量予測部460は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の発電量を生成する。発電量予測部460は、例えば、発電量予測を予測すべき期間の直前までの期間における第5因子の情報を、発電量予測モデルに適用して予測発電量を生成する。発電量予測部460は、一例として、図3で説明したS350の動作において、予測発電量を生成してよい。
この場合、発電量予測部460は、初期更新期間に取得部10が取得した第2期間のN日分の第5因子の値を発電量予測モデルに適用して、初期更新期間の後の第1期間のN日分の予測発電量を生成する。発電量予測部460は、生成した予測発電量を新たな因子として記憶部20に記憶させる。これに代えて、発電量予測部460は、生成した予測発電量を新たな因子として、他の構成に供給してもよい。
なお、発電量予測部460による因子の供給は、第1期間から開始することになる。そこで、第4構成例の計画装置100は、第1期間よりも前の第2期間および第3期間において、第5モデル生成部440および第5モデル学習部452が学習によって出力する、更新前の発電量予測モデルの予測結果を因子として用いてよい。また、第4構成例の計画装置100は、当該第2期間および第3期間においては、初期値として、第3構成例の計画装置100と同様に、学習以外の動作によって生成された予測発電量を用いてもよい。発電量予測部460は、生成した予測発電量を記憶部20に例えば第1因子および第2因子として記憶させ、また、稼働計画生成部50に供給してよい。
第4構成例の計画装置100において、稼働計画生成部50は、さらに予測された将来の異常予測および発電量の推移の少なくとも1つに基づいて稼働計画を生成する。第1稼働計画生成部230は、稼働計画生成モデルに、予測された将来の異常予測および発電量の推移の少なくとも1つをさらに適用して、対象期間における電解装置1000の稼働計画を生成してよい。
以上のように、第4構成例の計画装置100は、学習によってより正確に予測された発電装置の発電量を用いて稼働計画を生成できる。従って、計画装置100は、発電装置からの電力を優先的に用いて、低コストに水素の供給計画を満たすように電解装置1000を稼働させることができる。また、第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が、配分算出部500と第2稼働計画生成部510と稼働計画選択部520とを更に有する構成でよい。
配分算出部500は、複数の電気調達元1010の予測電気料金を電気料金予測部130から受け取り、水素の供給計画に応じて複数の電気調達元1010の電力の供給配分を算出してよい。例えば、配分算出部500は、電気調達元1010である発電装置からの電力と、電気調達元1010である複数の電力会社からの電力との配分を算出してよい。配分算出部500は、電気料金予測部130から受け取った各電気調達元1010の予測電気料金の確率分布と、各電気調達元1010の信頼度とから、水素の供給計画の量を満たないリスクが最も低くなるように配分を算出してよい。第1稼働計画生成部230は、電気料金の推移の予測結果および/または配分算出部500からの配分に応じて、稼働計画を生成してよい。
第2稼働計画生成部510は、学習をしない予め定められたロジックにより、第1期間よりも前の第2因子の値と第1期間における複数の電気調達元1010の電気料金の予測結果とに基づいて、第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は、複数の電気調達元1010のうちで各時間帯で最も低い電気調達元1010の予測電気料金に基づいて判断を行ってよい。
第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は、電気料金の低い時間帯および対応する電気調達元1010を選択して稼働時間を増加させる。第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は、複数の電気調達元1010についての電気料金を予測して、稼働計画を生成したが、1つの電気調達元1010について予測電気料金(例えば電気料金の確率分布)を生成して、稼働計画を生成してもよい。この場合、計画装置100は、当該1つの電気調達元1010からのみ電力供給を受ける、または、他の電気調達元1010の予測電気料金もしくは固定の電気料金を外部から取得して稼働計画の生成に用いてよい。
以上の本実施形態に係る計画装置100は、将来の電気料金の推移に基づいて、将来の第1期間における電解装置1000の稼働計画を生成することを説明した。ここで、将来の電気料金の推移は、予測された値を用いるので、実際の電気料金が突発的に予測値と大きく乖離することがある。この場合、計画装置100の稼働計画を用いても、水素の製造コストを低減できなくなってしまうことがあり得る。そこで、制御部60は、このような突発的な変動に応じて、稼働計画とは異なる電解装置1000の制御を実行してよい。
例えば、制御部60は、稼働計画上は電解装置1000を稼働させない予定の期間において、複数の電気調達元1010のうち少なくとも1つの電気料金が予測よりも低くなったことに応じて、より高い電気料金で将来電解装置1000を稼働させる代わりに当該期間において電解装置1000を稼働させる。制御部60は、一例として、電解装置1000を稼働させない期間において、複数の電気調達元1010のうち最も低い予測電気料金の電気調達元1010の電気料金が、予め定められた第1閾値未満となった場合に、電解装置1000を稼働させる。また、制御部60は、電解装置1000を稼働させる期間において、電力供給予定の電気調達元1010の電気料金が予め定められた第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)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、Python、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図8は、本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ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にネットワークを介して提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。