(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】強化学習プログラム、強化学習方法、および強化学習装置
(51)【国際特許分類】
H02P 9/00 20060101AFI20221206BHJP
【FI】
H02P9/00 F
(21)【出願番号】P 2018193537
(22)【出願日】2018-10-12
【審査請求日】2021-07-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】伊東 利雄
(72)【発明者】
【氏名】落谷 亮
(72)【発明者】
【氏名】屋並 仁史
【審査官】若林 治男
(56)【参考文献】
【文献】特開2013-084175(JP,A)
【文献】特開2007-272646(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 9/00
G06N 20/00
H02P 101/15
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
需要電力が所定の閾値以下である場合、観測した前記発電機に関する
出力電圧を含む状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【請求項2】
前記コンピュータに、
需要電力が所定の閾値を超える場合、観測した前記発電機に関する
出力電圧を含む状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記2以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記2以上の領域のそれぞれの領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする請求項1に記載の強化学習プログラム。
【請求項3】
前記コンピュータに、
前記発電機が複数ある場合、前記発電機の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機の状態値を参照し、前記特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする請求項1または2に記載の強化学習プログラム。
【請求項4】
前記発電機は、風力発電機であり、
前記発電機に関する状態値は、風速、および、出力電力である、ことを特徴とする請求項1~3のいずれか一つに記載の強化学習プログラム。
【請求項5】
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した前記出力電力に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする請求項4に記載の強化学習プログラム。
【請求項6】
前記発電機は、受風性能を変更可能であり、
前記指令値は、受風性能を制御する指令値であり、
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記発電機の受風性能ごとに異なる複数の前記特性関数のうち、観測した風速および出力電力に対応する前記特性関数に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする請求項4に記載の強化学習プログラム。
【請求項7】
前記発電機は、火力発電機であり、
前記発電機に関する状態値は、燃料使用量、および、出力電力である、ことを特徴とする請求項1~3のいずれか一つに記載の強化学習プログラム。
【請求項8】
コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
需要電力が所定の閾値以下である場合、観測した前記発電機に関する出力電圧を含む状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【請求項9】
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
需要電力が所定の閾値以下である場合、観測した前記発電機に関する状態値を参照し、前記発電機に関する出力電圧を含む状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習プログラム、強化学習方法、および強化学習装置に関する。
【背景技術】
【0002】
従来、自然エネルギーを利用する1以上の発電機を含む発電システムを、強化学習により制御することがある。強化学習では、例えば、発電機に関する状態値が取りうる領域ごとに、発電機に対する指令値の有効性を示す有効値を対応付けて表すテーブルが利用される。テーブルは、例えば、Qテーブルである。強化学習では、例えば、指令値についての有効値を推定する学習が繰り返し行われ、テーブルが更新される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、強化学習における処理量の増大化を招くことがある。例えば、発電機に関する状態値が取りうる領域の数が増加するほど、指令値についての有効値を推定する学習が行われる回数が増加してしまい、強化学習における処理量の増大化を招く。
【0005】
1つの側面では、本発明は、強化学習における処理量の低減化を図ることを目的とする。
【課題を解決するための手段】
【0006】
1つの実施態様によれば、発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、需要電力が所定の閾値以下である場合、観測した前記発電機に関する出力電圧を含む状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う強化学習プログラム、強化学習方法、および強化学習装置が提案される。
【発明の効果】
【0007】
一態様によれば、強化学習における処理量の低減化を図ることが可能になる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【
図2】
図2は、発電システム200の一例を示す説明図である。
【
図3】
図3は、強化学習装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、強化学習装置100の機能的構成例を示すブロック図である。
【
図5】
図5は、風力発電機を含む発電システム200の具体的構成例を示す説明図である。
【
図6】
図6は、ストール制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。
【
図7】
図7は、ピッチ制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。
【
図8】
図8は、通常テーブル801と粗分割テーブル802とを実現する一例を示す説明図である。
【
図9】
図9は、通常テーブル801の記憶内容の一例を示す説明図である。
【
図10】
図10は、特性関数を作成する一例を示す説明図である。
【
図11】
図11は、利用するテーブルを粗分割テーブル802に切り替える一例を示す説明図である。
【
図12】
図12は、利用するテーブルを通常テーブル801に切り替える一例を示す説明図である。
【
図13】
図13は、有効値を更新する一例を示す説明図である。
【
図14】
図14は、火力発電機を含む発電システム200の具体的構成例を示す説明図である。
【
図15】
図15は、火力発電機に関する通常テーブル801の記憶内容の一例を示す説明図である。
【
図16】
図16は、全体処理手順の一例を示すフローチャートである。
【
図17】
図17は、切替判定処理手順の一例を示すフローチャートである。
【
図18】
図18は、値設定処理手順の一例を示すフローチャートである。
【
図19】
図19は、ストール制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
【
図20】
図20は、ピッチ制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
【0010】
(実施の形態にかかる強化学習方法の一実施例)
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置100は、1以上の発電機を含む発電システムに強化学習を適用し、1以上の発電機を含む発電システムを制御するコンピュータである。発電機は、例えば、風力発電機、または、火力発電機などである。
【0011】
強化学習では、例えば、1以上の発電機に関する状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、1以上の発電機に対する指令値の組み合わせごとの有効性を示す有効値を対応付けて表すテーブルが利用される。テーブルは、例えば、Qテーブルである。強化学習では、例えば、発電機に関する状態値を観測し、発電機に対する指令値を決定し、決定した指令値を発電機に入力し、観測した状態値を含む領域における、入力した指令値の有効性を示す有効値を推定する学習が繰り返し行われ、テーブルが更新される。強化学習は、例えば、Q学習やSARSAなどにより実現される。
【0012】
ここで、強化学習における処理量の増大化を招いてしまう場合が考えられる。例えば、1以上の発電機に関する状態値の組み合わせが取りうる領域の数が増加するほど、学習が行われる回数が増加してしまい、強化学習における処理量の増大化を招く。具体的には、状態値を細かく分割して領域を設定すると、領域の数が増加してしまう。また、具体的には、発電機の数が増加すると、領域の数が増加してしまう。このため、強化学習における処理量の低減化を図ることが望まれる。
【0013】
これに対し、領域の数を減少させ、強化学習における処理量の低減化を図ることが考えられる。例えば、状態値を粗く分割して領域を設定し、領域の数を減少させ、強化学習における処理量の低減化を図ることが考えられる。しかしながら、常時、粗く分割された領域を用いると、どのような状態値の場合にどのような指令値を出力することが好ましいかを詳細に検証することができず、発電システムに対して適切な制御を行うことができないことがある。適切な制御は、例えば、所定の閾値を超えない範囲で、発電システムの発電量の最大化を図る制御である。
【0014】
したがって、領域の数を動的に変更することにより、強化学習における処理量の低減化を図ることが考えられる。例えば、何らかのタイミングで、2以上の領域を結合し、領域の数を減少させることが考えられる。しかしながら、2以上の領域を結合した領域における、1以上の発電機に対する指令値の組み合わせごとの有効性を示す有効値を、どのように設定することが好ましいかが分からなければ、発電システムに対して適切な制御を行うことが難しくなる。
【0015】
そこで、本実施の形態では、強化学習において、1以上の発電機に関する状態値の組み合わせが取りうる領域の数を動的に変更可能にし、領域の数を動的に変更したことに応じて適切と判断される有効値を設定し直すことができる強化学習方法について説明する。かかる強化学習方法によれば、強化学習における処理量の低減化を図ることができる。
【0016】
図1の例では、発電システムに含まれる発電機は1つである。発電機に関する状態値は、例えば、発電機からの出力電力、および、発電機に対する自然エネルギーの供給量に関する環境値などである。環境値は、例えば、風速や燃料使用量などである。発電機に対する指令値は、例えば、発電機の電源のONとOFFとを切り替える指令値である。発電機に対する指令値は、例えば、発電機における自然エネルギーの利用効率を変更する指令値である。
【0017】
図1において、強化学習装置100は、発電機に関する状態値が取りうる複数の領域のそれぞれの領域における発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行う。領域は、例えば、区間または区間の組み合わせである。有効性情報は、例えば、Qテーブルのレコードである。有効値は、例えば、Q値である。強化学習装置100は、例えば、区間A1に有効値G1を対応付けた有効性情報と、区間A2に有効値G2を対応付けた有効性情報と、区間A3に有効値G3を対応付けた有効性情報とを含むQテーブルを利用して学習を行う。強化学習装置100は、学習を行った結果、Qテーブルを更新する。
【0018】
強化学習装置100は、複数の領域のうち連続する2以上の領域を結合した領域における発電機に対する指令値ごとの有効性を示す有効性情報を生成する。強化学習装置100は、例えば、観測した発電機に関する状態値を参照し、発電機に関する状態値についての特性関数に基づいて、結合した領域についての有効性情報を生成する。強化学習装置100は、具体的には、区間A2と区間A3とを結合した区間Aaにおける、指令値の有効性を示す有効値Gaを算出し、区間Aaに有効値Gaを対応付けた有効性情報を生成する。そして、強化学習装置100は、区間A2に有効値G2を対応付けた有効性情報と、区間A3に有効値G3を対応付けた有効性情報とを、区間Aaに有効値Gaを対応付けた有効性情報に置き換えて、Qテーブルを更新する。
【0019】
強化学習装置100は、結合した領域についての有効性情報、および、複数の領域のうち2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う。強化学習装置100は、例えば、区間A1に有効値G1を対応付けた有効性情報、および、区間A2と区間A3とを結合した区間Aaに有効値Gaを対応付けた有効性情報を含むQテーブルを利用して学習を行う。強化学習装置100は、学習を行った結果、Qテーブルを更新する。
【0020】
これにより、強化学習装置100は、2以上の領域を結合し、有効性情報を対応付けておく領域の数を動的に減少させることができる。このため、強化学習装置100は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。また、強化学習装置100は、有効性情報を生成する際、有効値を0で初期化したり、有効値をランダムに設定したりはせずに、特性関数に基づいて有効値を設定することができる。このため、強化学習装置100は、生成する有効性情報が、発電機に対する指令値ごとの有効性を精度よく示すようにすることができ、発電システムに対して適切な制御を行いやすくすることができる。
【0021】
ここでは、何らかのタイミングで、2以上の領域のそれぞれの領域についての有効性情報を、2以上の領域を結合した領域についての有効性情報に置き換えて、有効性情報を対応付けておく領域の数を動的に減少させる場合について説明したが、これに限らない。例えば、何らかのタイミングで、2以上の領域を結合した領域についての有効性情報を、2以上の領域のそれぞれの領域についての有効性情報に置き換えて、領域の数を動的に増加させる場合があってもよい。これにより、強化学習装置100は、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化して実行することができる。2以上の領域を結合した領域についての有効性情報を、2以上の領域のそれぞれの領域についての有効性情報に置き換える場合については、具体的には、
図12を用いて後述する。
【0022】
ここでは、発電システムに含まれる発電機が1つである場合について説明したが、これに限らない。例えば、発電システムに含まれる発電機が複数ある場合があってもよい。この場合、例えば、強化学習装置100は、発電機の状態値の組み合わせが取りうる複数の領域のうち連続する2以上の領域を結合した領域についての有効性情報を生成する。そして、強化学習装置100は、2以上の領域のそれぞれの領域についての有効性情報を、結合した領域についての有効性情報に置き換え、有効性情報を対応付けておく領域の数を動的に減少させる。これにより、強化学習装置100は、強化学習にかかる処理量の低減化を図ることができる。発電システムに含まれる発電機が複数ある場合については、
図11および
図12を用いて後述する。
【0023】
ここでは、発電システムに含まれる発電機の種類を特定せずに、強化学習装置100について説明した。これに対し、例えば、発電システムに含まれる発電機が、風力発電機である場合があってもよい。発電システムに含まれる発電機が、風力発電機である場合については、具体的には、
図11および
図12を用いて後述する。また、例えば、発電システムに含まれる発電機が、火力発電機である場合があってもよい。発電システムに含まれる発電機が、火力発電機である場合については、具体的には、
図15を用いて後述する。また、例えば、発電システムが、風力発電機と火力発電機との両方を含む場合があってもよい。
【0024】
ここでは、2以上の領域を結合した領域についての有効性情報を生成するタイミングを限定せずに、強化学習装置100について説明した。これに対し、例えば、強化学習装置100が、観測した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成する場合があってもよい。また、例えば、強化学習装置100が、観測した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成する場合があってもよい。
【0025】
(発電システム200の一例)
次に、
図2を用いて、
図1に示した強化学習装置100を適用した、発電システム200の一例について説明する。
【0026】
図2は、発電システム200の一例を示す説明図である。
図2において、発電システム200は、強化学習装置100と、1以上の発電機201とを含む。
【0027】
発電システム200において、強化学習装置100と1以上の発電機201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0028】
発電機201は、例えば、風力エネルギーを利用し、風車を用いて発電を行う機械である。発電機201は、例えば、風車から伝達される風車トルクを用いて発電を行う。発電機201は、発電機201に関する状態値を観測する計測機が設けられる。計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサ、電力センサ、電圧センサ、および、電流センサなどの少なくともいずれかを有してもよい。発電機201は、例えば、火力エネルギーを利用し、タービンを用いて発電を行う機械であってもよい。
【0029】
強化学習装置100は、発電システム200に強化学習を適用し、発電システム200を制御する。強化学習装置100は、例えば、発電システム200に含まれる1以上の発電機201に対する指令値を制御する。強化学習装置100は、具体的には、発電機201に設けられた計測機から、発電機201に関する状態値を取得する。強化学習装置100は、取得した状態値と、有効性情報を含むテーブルとに基づいて、発電機201に対する指令値を決定して出力する。強化学習装置100は、指令値を出力した結果に応じて、テーブルを更新する。強化学習装置100は、例えば、サーバ、PC(Personal Computer)、マイコン、PLC(Programmable Logic Controller)などである。
【0030】
(強化学習装置100のハードウェア構成例)
次に、
図3を用いて、強化学習装置100のハードウェア構成例について説明する。
【0031】
図3は、強化学習装置100のハードウェア構成例を示すブロック図である。
図3において、強化学習装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0032】
ここで、CPU301は、強化学習装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0033】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。他のコンピュータは、例えば、発電機201である。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
【0034】
記録媒体I/F304は、CPU301の制御にしたがって記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、強化学習装置100から着脱可能であってもよい。
【0035】
強化学習装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、強化学習装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0036】
(強化学習装置100の機能的構成例)
次に、
図4を用いて、強化学習装置100の機能的構成例について説明する。
【0037】
図4は、強化学習装置100の機能的構成例を示すブロック図である。強化学習装置100は、記憶部400と、取得部401と、切替部402と、学習部403と、出力部404とを含む。
【0038】
記憶部400は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、強化学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、強化学習装置100とは異なる装置に含まれ、記憶部400の記憶内容が強化学習装置100から参照可能である場合があってもよい。
【0039】
取得部401~出力部404は、制御部の一例として機能する。取得部401~出力部404は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0040】
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、発電システム200に関する状態値を記憶する。発電システム200に関する状態値は、例えば、発電システム200に含まれる1以上の発電機201のそれぞれの発電機201に関する状態値、および、発電システム200全体に関する状態値を含む。発電機201は、例えば、風力発電機または火力発電機などである。発電機201に関する状態値は、例えば、ストール制御の風力発電機に関する出力ワット値および風速と、ピッチ制御の風力発電機に関する出力ワット値および風速とである。発電機201に関する状態値は、例えば、火力発電機に関する出力ワット値および燃料使用量である。また、発電システム200全体に関する状態値は、例えば、発電システム200全体における需要電力である。
【0041】
記憶部400は、発電システム200に含まれる1以上の発電機201のそれぞれの発電機201に対する指令値を記憶する。発電機201に対する指令値は、発電機201における自然エネルギーの利用効率を変更する指令値である。指令値は、例えば、発電機201の電源をONとOFFとで切り替えさせる指令値である。指令値は、例えば、風力発電機の受風性能を変更する指令値である。指令値は、例えば、ピッチ制御の風力発電機のピッチ角をどの程度変更するかを示す指令値である。ピッチ角をどの程度変更するかを示す指令値は、具体的には、-ΔΘと±0と+ΔΘとである。指令値は、例えば、火力発電機の発電機に設けられた燃料供給孔の大きさをどの程度変更するかを示す指令値である。指令値は、例えば、火力発電機の燃料使用量をどの程度変更するかを示す指令値である。
【0042】
記憶部400は、1以上の発電機201に関する状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、1以上の発電機201に対する指令値の組み合わせごとの有効性を示す有効性情報を記憶する。状態値の組み合わせは、1つの状態値であってもよい。また、記憶部400は、複数の領域のうち2以上の領域を結合した領域における、1以上の発電機201に対する指令値の組み合わせごとの有効性を示す有効性情報を記憶する。記憶部400は、例えば、複数の領域のそれぞれの領域に、指令値の組み合わせごとの有効性を示す有効値を対応付けた有効性情報をレコードとして含むテーブルを記憶する。有効値は、例えば、発電機における報酬の増加に寄与する度合いを示す。報酬は、例えば、発電量である。また、記憶部400は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、2以上の領域のそれぞれの領域についての有効性情報を、2以上の領域を結合した領域についての有効性情報に置き換えたテーブルを記憶する。
【0043】
記憶部400は、発電機201についての特性関数を記憶する。特性関数は、発電機201に関する状態値の変化を示す。特性関数は、例えば、風速と風力発電機からの出力電力との関係を示す。特性関数は、例えば、火力発電機の燃料使用量と火力発電機からの出力電力との関係を示す。記憶部400は、例えば、特性関数を近似する近似曲線を記憶する。記憶部400は、例えば、風力発電機の受風性能ごとに異なる特性関数を記憶する。記憶部400は、具体的には、風力発電機のピッチ角ごとに異なる特性関数を記憶する。
【0044】
記憶部400は、例えば、強化学習アルゴリズム、および、行動選択アルゴリズムによる処理手順を記憶する。強化学習アルゴリズムは、例えば、Q学習アルゴリズムである。強化学習アルゴリズムは、Q学習アルゴリズム以外であってもよい。行動選択アルゴリズムは、例えば、ε-greedyアルゴリズムである。
【0045】
取得部401は、各機能部の処理に用いられる各種情報を記憶部400から取得し、各機能部に出力する。取得部401は、各機能部の処理に用いられる各種情報を、強化学習装置100とは異なる装置から取得し、各機能部に出力してもよい。取得部401は、例えば、発電システム200に関する状態値を取得する。取得部401は、発電機201に設けられた計測機から、発電機201に関する状態値を取得する。取得部401は、具体的には、電気会社のコンピュータから発電システム200における需要電力を取得する。
【0046】
取得部401は、例えば、特性関数を表す情報を取得してもよい。取得部401は、例えば、特性関数に関する閾値を取得し、特性関数を表す情報を生成してもよい。特性関数に関する閾値は、少なくとも定格風速と最大出力とである。特性関数に関する閾値は、さらに、カットイン風速とカットアウト風速とであってもよい。取得部401は、様々な風速における発電機201からの出力電力を取得し、特性関数を表す情報を生成してもよい。
【0047】
切替部402は、強化学習における学習に利用する有効性情報を切り替える。切替部402は、例えば、複数の領域のそれぞれの領域についての有効性情報を、学習に利用する有効性情報に設定する。切替部402は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、2以上の領域のそれぞれの領域についての有効性情報を、2以上の領域を結合した領域についての有効性情報に置き換え、学習に利用する有効性情報に設定する。
【0048】
具体的には、2以上の領域のそれぞれの領域についての有効性情報を、学習に利用する有効性情報に設定している場合がある。この場合、切替部402は、取得した発電機201に関する状態値を参照し、特性関数に基づいて、2以上の領域を結合した領域についての有効性情報を生成する。また、切替部402は、2以上の領域のそれぞれの領域についての有効性情報に基づいて、2以上の領域を結合した領域についての有効性情報を生成してもよい。そして、切替部402は、学習に利用する有効性情報のうち、2以上の領域のそれぞれの領域についての有効性情報を、生成した有効性情報に置き換える。
【0049】
具体的には、2以上の領域を結合した領域についての有効性情報を、学習に利用する有効性情報に設定している場合がある。この場合、切替部402は、取得した発電機201に関する状態値を参照し、特性関数に基づいて、2以上の領域のそれぞれの領域についての有効性情報を生成する。また、切替部402は、2以上の領域を結合した領域についての有効性情報に基づいて、2以上の領域のそれぞれの領域についての有効性情報を生成してもよい。そして、切替部402は、学習に利用する有効性情報のうち、2以上の領域を結合した領域についての有効性情報を、生成した有効性情報に置き換える。
【0050】
切替部402は、具体的には、特性関数に基づいて、取得した風速に対応する出力電力を特定し、特定した出力電力に基づいて、結合した領域についての有効性情報を生成する。また、切替部402は、具体的には、発電機201の受風性能ごとに異なる複数の特性関数のうち、取得した風速および出力電力に対応する特性関数に基づいて、結合した領域についての有効性情報を生成する。
【0051】
切替部402は、具体的には、取得した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成する。切替部402は、より具体的には、取得した需要電力が閾値以下である場合に、出力電力についての複数の領域のうち、相対的に大きい出力電力についての2以上の領域を結合した領域についての有効性情報を生成する。
【0052】
切替部402は、具体的には、取得した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成する。切替部402は、より具体的には、取得した需要電力が閾値を超える場合に、出力電力についての複数の領域のうち、相対的に小さい出力電力についての2以上の領域を結合した領域についての有効性情報を生成する。
【0053】
学習部403は、切替部402が設定した有効性情報を利用して学習を行い、少なくともいずれかの有効性情報を更新する。学習部403は、例えば、複数の領域のそれぞれの領域についての有効性情報を利用して学習を行う。学習部403は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、2以上の領域のそれぞれの領域についての有効性情報を、2以上の領域を結合した領域についての有効性情報に置き換えて学習を行う。
【0054】
出力部404は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部404は、各機能部の処理結果を利用者に通知可能にし、強化学習装置100の管理や運用、例えば、強化学習装置100の設定値の更新などを支援することができ、強化学習装置100の利便性の向上を図ることができる。
【0055】
(風力発電機を含む発電システム200についての強化学習装置100の動作例)
次に、
図5~
図13を用いて、風力発電機を含む発電システム200についての強化学習装置100の動作例について説明する。まず、
図5の説明に移行し、風力発電機を含む発電システム200の具体的構成例について説明する。
【0056】
図5は、風力発電機を含む発電システム200の具体的構成例を示す説明図である。
図5の例では、発電システム200は、強化学習装置100と、ストール制御の風力発電機i(i=1,・・・,n)と、ピッチ制御の風力発電機i(i=1,・・・,m)とを含む。ストール制御の風力発電機iは、指令値ai(i=1,・・・,n)を強化学習装置100から受信する。ピッチ制御の風力発電機iは、指令値bi(i=1,・・・,m)を強化学習装置100から受信する。
【0057】
発電システム200は、ストール制御の風力発電機iについての風速計si(i=1,・・・,n)と、ピッチ制御の風力発電機iについての風速計pi(i=1,・・・,m)とを含む。風速計siは、風速値Fsi(tj)を、強化学習装置100に送信する。tjは、時刻である。風速計piは、風速値Fpi(tj)を、強化学習装置100に送信する。発電システム200は、ストール制御の風力発電機iについての電力計と、ピッチ制御の風力発電機iについての電力計とを含む。ストール制御の風力発電機iについての電力計は、出力ワット値Psi(tj)を、強化学習装置100に送信する。ピッチ制御の風力発電機iについての電力計は、出力ワット値Ppi(tj)を、強化学習装置100に送信する。
【0058】
強化学習装置100は、テーブル生成部501と、区間切替部502と、値設定部503と、行動決定部504と、状態計算部505と、報酬計算部506と、テーブル更新部507とを含む。強化学習装置100は、発電システム200全体に関する需要電力ワット値P’(tj)を超えない範囲で、ストール制御の風力発電機iについての出力ワット値Psi(tj)と、ピッチ制御の風力発電機iについての出力ワット値Ppi(tj)との合計の増大化を図る。
【0059】
テーブル生成部501は、
図6および
図7に後述する通常分割手法により分割された複数の通常区間についての有効性情報を記憶する通常テーブルを作成する。テーブル生成部501は、いずれの2以上の通常区間を結合すると、複数の通常区間が、
図6および
図7に後述する粗分割手法により分割された複数の粗分割区間に変換されるかを設定する。
【0060】
区間切替部502は、風速値Fsi(tj)と、風速値Fpi(tj)と、出力ワット値Psi(tj)と、出力ワット値Ppi(tj)と、需要電力ワット値P’(tj)とを受信する。区間切替部502は、受信した各種情報に基づいて、利用するテーブルを、通常テーブルと、複数の粗分割区間についての有効性情報を記憶する粗分割テーブルとで切り替える。区間切替部502は、閾値α>需要電力ワット値P’(tj)であれば、粗分割テーブルを、利用するテーブルに設定する。区間切替部502は、閾値α≦需要電力ワット値P’(tj)であれば、通常テーブルを、利用するテーブルに設定する。
【0061】
値設定部503は、切り替えた結果に基づいて、テーブルに有効値を設定する。値設定部503は、2以上の領域を結合した場合、結合した領域に対応するレコードに有効値を設定する。値設定部503は、2以上の領域を分離した場合、分離した領域ごとに対応するレコードに有効値を設定する。値設定部503は、有効値を設定したテーブルを出力する。
【0062】
行動決定部504は、テーブルを利用して、ストール制御の風力発電機iに対する指令値aiを選択し、ストール制御の風力発電機iに送信し、ピッチ制御の風力発電機iに対する指令値biを選択し、ピッチ制御の風力発電機iに送信する。行動決定部504は、例えば、テーブルにおいて最も大きい有効値が対応付けられた、指令値aiと指令値biとの組み合わせを選択する。行動決定部504は、具体的には、ε-greedyアルゴリズムを用いて、εの確率で指令値をランダムに選択し、1-εの確率で現在の発電システム200の状態において最も大きい有効値が対応付けられた指令値aiと指令値biとの組み合わせを選択する。
【0063】
状態計算部505は、風速値Fsi(tj)と、風速値Fpi(tj)と、出力ワット値Psi(tj)と、出力ワット値Ppi(tj)と、需要電力ワット値P’(tj)とに基づいて、発電システム200の状態を特定する。状態計算部505は、特定した状態に対応するテーブルのレコードを示す状態結果を出力する。報酬計算部506は、出力ワット値Psi(tj)と、出力ワット値Ppi(tj)と、需要電力ワット値P’(tj)とに基づいて、報酬値を算出する。テーブル更新部507は、状態結果が示すレコードにおける有効値を、算出した報酬値に基づいて更新する。
【0064】
次に、
図6~
図13の説明に移行し、テーブル生成部501と、区間切替部502と、値設定部503と、行動決定部504と、状態計算部505と、報酬計算部506と、テーブル更新部507との、各部分の動作について具体的に説明する。まず、
図6および
図7の説明に移行し、テーブル生成部501において設定される粗分割区間について具体的に説明する。
【0065】
図6は、ストール制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。例えば、
図6のグラフ601に示すように、均一に分割する通常分割手法により、出力電力および風速についての全体区間が複数の通常区間に分割される。例えば、出力電力の全体区間は通常区間1,2,・・・,npsiに分割される。風速の全体区間は通常区間1,2,・・・,nfsiに分割される。そして、例えば、
図6のグラフ602に示すように、出力電力が大きい方にある2つの領域が結合する対象に設定され、出力電力および風速についての全体区間が複数の粗分割区間に分割される。例えば、出力電力の全体区間は粗分割区間1,2,・・・,npsi-1に分割される。風速の全体区間は粗分割区間1,2,・・・,nfsi-1に分割される。次に、
図7の説明に移行する。
【0066】
図7は、ピッチ制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。例えば、
図7のグラフ701に示すように、均一に分割する通常分割手法により、出力電力および風速についての全体区間が、複数の通常区間に分割される。例えば、出力電力の全体区間は通常区間1,2,・・・,nppiに分割される。風速の全体区間は通常区間1,2,・・・,nfpiに分割される。そして、例えば、
図7のグラフ702に示すように、出力電力が大きい方にある2つの領域が結合する対象に設定され、出力電力および風速についての全体区間が複数の粗分割区間に分割される。例えば、出力電力の全体区間は粗分割区間1,2,・・・,nppi-1に分割される。風速の全体区間は粗分割区間1,2,・・・,nfpi-1に分割される。
【0067】
次に、
図8の説明に移行し、テーブル生成部501において作成される通常区間についての通常テーブル801と、通常テーブル801から切り替えられる粗分割区間についての粗分割テーブル802とを実現する一例について具体的に説明する。
【0068】
図8は、通常テーブル801と粗分割テーブル802とを実現する一例を示す説明図である。
図8において、強化学習装置100は、通常テーブル801のレコードを、粗分割テーブル802のレコードとして流用することにより、通常テーブル801と粗分割テーブル802とを相互に変換可能に実現する。
【0069】
強化学習装置100は、例えば、通常テーブル801を作成する。強化学習装置100は、通常テーブル801を粗分割テーブル802に変換する場合、結合する2以上の通常区間の一方の通常区間に対応するレコードを、結合した粗分割区間に対応するレコードとして流用する。そして、強化学習装置100は、他方の通常区間のレコードに設定された有効性情報を削除する。強化学習装置100は、例えば、通常区間npsi-1と通常区間npsiとを結合する場合、通常区間npsi-1に対応するレコードを粗分割区間npsi-1に対応するレコードとして流用する。強化学習装置100は、例えば、区間npsiに対応するレコードに設定された有効性情報を削除する。
【0070】
また、強化学習装置100は、粗分割テーブル802を通常テーブル801に変換する場合、結合した区間に対応するレコードを、結合した区間から分割される2以上の区間の一方の区間に対応するレコードとして流用する。そして、強化学習装置100は、他方の区間のレコードに有効性情報を再び設定する。強化学習装置100は、例えば、粗分割区間npsi-1を、通常区間npsi-1と通常区間npsiとに分割する場合、粗分割区間npsi-1に対応するレコードを、通常区間npsi-1に対応するレコードとして流用する。強化学習装置100は、例えば、通常区間npsiに対応するレコードに有効性情報を再び設定する。
【0071】
次に、
図9を用いて、テーブル生成部501において作成される通常テーブル801の記憶内容の一例について説明する。通常テーブル801は、例えば、
図3に示した強化学習装置100のメモリ302や記録媒体305などの記憶領域により実現される。以下の通常テーブル801の説明は、強化学習手法としてQ学習を利用する場合に対応し、異なる強化学習手法を利用する場合には記憶内容が異なってもよい。
【0072】
図9は、通常テーブル801の記憶内容の一例を示す説明図である。
図9に示すように、通常テーブル801は、状態値と指令値と有効値とのフィールドを有する。通常テーブル801は、各フィールドに情報を設定することにより、有効性情報をレコードとして記憶する。
【0073】
状態値のフィールドには、発電システム200に関する状態値が取りうる区間が設定される。発電システム200に関する状態値は、風力発電機に関する状態値、および、発電システム200全体に関する状態値を含む。
図9の例では、風力発電機に関する状態値は、ストール制御の風力発電機に関する出力ワット値および風速値と、ピッチ制御の風力発電機に関する出力ワット値および風速値とである。また、発電システム200全体に関する状態値は、発電システム200全体における需要電力ワット値である。
【0074】
指令値のフィールドには、風力発電機に対する指令値が設定される。
図9の例では、風力発電機に対する指令値は、ストール制御の風力発電機の電源をONとOFFとで切り替えさせる指令値である。また、風力発電機に対する指令値は、ピッチ制御の風力発電機のピッチ角をどの程度変更するかを示す指令値である。ピッチ角をどの程度変更するかを示す指令値は、具体的には、-ΔΘと±0と+ΔΘとである。有効値のフィールドには、それぞれの状態値がいずれかの区間に含まれる場合における、風力発電機ごとの指令値の組み合わせの有効性を示す有効値が設定される。
【0075】
次に、
図10の説明に移行し、区間切替部502が、通常テーブル801を粗分割テーブル802に変換する場合、または、粗分割テーブル802を通常テーブル801に変換する場合に用いられる、風力発電機に関する特性関数を作成する一例について説明する。風力発電機に関する特性関数は、強化学習装置100に予め入力されてもよい。
【0076】
図10は、特性関数を作成する一例を示す説明図である。
図10において、強化学習装置100は、風力発電機に関する特性関数を作成する。強化学習装置100は、例えば、様々な風速におけるストール制御の風力発電機からの出力ワット値を取得する。また、強化学習装置100は、定格風速と最大出力とカットイン風速とカットアウト風速とを取得する。
【0077】
次に、強化学習装置100は、定格風速と最大出力とカットイン風速とカットアウト風速と様々な風速における出力ワット値とに基づいて、ストール制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線fi(t)を求める。強化学習装置100は、例えば、風速0からカットイン風速までは、y=0の形状で近似曲線fi(t)の一部を求める。
【0078】
強化学習装置100は、例えば、カットイン風速から定格風速までは、様々な風速における出力ワット値に基づいて、y=a*x^3の形状で近似曲線f
i(t)の一部を求める。強化学習装置100は、例えば、定格風速以降では、様々な風速における出力ワット値に基づいて、y=b*x^2の形状で近似曲線f
i(t)の一部を求める。これにより、強化学習装置100は、
図10のグラフ1000に示すような近似曲線f
i(t)を求める。
【0079】
また、強化学習装置100は、例えば、ピッチ角Θ=0,ΔΘ,2ΔΘ,・・・,kΔΘにおける、様々な風速におけるピッチ制御の風力発電機からの出力ワット値を取得する。また、強化学習装置100は、定格風速と最大出力とカットイン風速とカットアウト風速とを取得する。
【0080】
次に、強化学習装置100は、定格風速と最大出力とカットイン風速とカットアウト風速と様々な風速における出力ワット値とに基づいて、ピッチ制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線fi(t)を求める。強化学習装置100は、例えば、風速0からカットイン風速までは、y=0の形状で近似曲線fi(t)の一部を求める。
【0081】
強化学習装置100は、例えば、カットイン風速から定格風速までは、様々な風速における出力ワット値に基づいて、y=a*x^3の形状で近似曲線f
i(t)の一部を求める。強化学習装置100は、例えば、定格風速以降では、様々な風速における出力ワット値に基づいて、y=b*x^2の形状で近似曲線f
i(t)の一部を求める。これにより、強化学習装置100は、ピッチ角Θ=0,ΔΘ,2ΔΘ,・・・,kΔΘにおける、
図10のグラフ1000に示すような近似曲線f
i(t)を求める。
【0082】
次に、
図11の説明に移行し、区間切替部502が、予め作成された特定関数の近似曲線f
i(t)に基づいて、通常テーブル801を粗分割テーブル802に変換し、利用するテーブルを粗分割テーブル802に切り替える一例について説明する。
【0083】
図11は、利用するテーブルを粗分割テーブル802に切り替える一例を示す説明図である。
図11において、強化学習装置100は、閾値α>需要電力ワット値P’(t
j)であるため、粗分割テーブル802を利用するテーブルに設定する。
図11の例では、通常区間nps1-1と通常区間nps1とを結合した粗分割区間npsi-1に対応する、●1101で示すフィールドに有効値を設定する場合について説明する。
【0084】
強化学習装置100は、例えば、粗分割区間nps1-1に対応するレコードを特定する。強化学習装置100は、特定したレコードに設定されたストール制御の風力発電機iに関する風速値Fs1,・・・,Fsnを取得する。また、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機iからの出力ワット値Pp1,・・・,Ppmを取得する。また、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機iに関する風速値Fp1,・・・,Fpmを取得する。また、強化学習装置100は、特定したレコードに設定された発電システム200全体に関する需要電力ワット値P’を取得する。
【0085】
強化学習装置100は、ストール制御の風力発電機iに対して、観測した風速Fsiと近似曲線fi(t)とに基づいて、電源をONにした時の予測出力電力P’si=fi(Fsi)を算出する。また、強化学習装置100は、ストール制御の風力発電機iに対して、電源をOFFにした時の予測出力電力P’si=0を決定する。
【0086】
また、強化学習装置100は、ピッチ制御の風力発電機iに対して、観測した風速Fpiと出力ワット値Ppiと近似曲線fi,Θ(t)とに基づいて、fi,Θ(Fpi)≒Ppiになるピッチ角Θを決定する。次に、強化学習装置100は、決定したピッチ角Θに対して-ΔΘ、±0、+ΔΘをした場合における予測出力電力P’pi=fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)を算出する。
【0087】
強化学習装置100は、予測出力電力P’si=fi(Fsi)と、予測出力電力P’pi=fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)とに基づいて、予測出力電力テーブル1100を作成する。強化学習装置100は、●1101で示すフィールドに対応する、ストール制御の風力発電機に対する指令値a1,・・・,anと、ピッチ制御の風力発電機に対する指令値b1,・・・,bmとを取得する。そして、強化学習装置100は、作成した予測出力電力テーブル1100から、取得した指令値に対応する予測出力電力P’siと、予測出力電力P’piとを取得し、下記式(1)を用いて、発電システム200全体における予測出力電力P~を算出する。
【0088】
【0089】
そして、強化学習装置100は、取得した需要電力ワット値P’と、算出した予測出力電力P~との差分値P”に基づいて、有効値Q=r(P”)を算出して、●1101で示すフィールドに設定する。r(P”)は、下記式(2)~下記式(5)により定義される。具体的には、P”を下記式(2)により定義し、δ>0を設定するとき、P”>δの場合には下記式(3)によりr(P”)を定義し、-δ≦P”≦δの場合には下記式(4)によりr(P”)を定義し、P”<-δの場合には下記式(5)によりr(P”)を定義する。
【0090】
【0091】
【0092】
【0093】
【0094】
強化学習装置100は、他のフィールドにも同様に有効値を設定する。これにより、強化学習装置100は、出力ワット値の合計が需要電力ワット値に近づくほど、有効値が大きくなるように、有効値を算出することができる。このため、強化学習装置100は、有効値を参照して、発電システム200を適切に制御しやすくすることができる。また、強化学習装置100は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【0095】
次に、
図12の説明に移行し、区間切替部502が、予め作成された特定関数の近似曲線f
i(t)に基づいて、粗分割テーブル802を通常テーブル801に変換し、利用するテーブルを通常テーブル801に切り替える一例について説明する。
【0096】
図12は、利用するテーブルを通常テーブル801に切り替える一例を示す説明図である。
図12において、強化学習装置100は、閾値α≦需要電力ワット値P’(t
j)であるため、通常テーブル801を利用するテーブルに設定する。
図12の例では、粗分割区間npsi-1から分割した通常区間nps1-1に対応する、●1201で示すフィールドに有効値を設定する場合について説明する。
【0097】
強化学習装置100は、例えば、粗分割区間npsi-1に対応するレコードを特定する。次に、強化学習装置100は、特定したレコードに設定されたストール制御の風力発電機iに関する風速値Fs1,・・・,Fsnを取得する。また、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機iからの出力ワット値Pp1,・・・,Ppmを取得する。また、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機iに関する風速値Fp1,・・・,Fpmを取得する。また、強化学習装置100は、特定したレコードに設定された発電システム200全体に関する需要電力ワット値P’を取得する。
【0098】
強化学習装置100は、ストール制御の風力発電機iに対して、観測した風速Fsiと近似曲線fi(t)とに基づいて、電源をONにした時の予測出力電力P’si=fi(Fsi)を算出する。また、強化学習装置100は、ストール制御の風力発電機iに対して、電源をOFFにした時の予測出力電力P’si=0を決定する。
【0099】
また、強化学習装置100は、ピッチ制御の風力発電機iに対して、観測した風速Fpiと出力ワット値Ppiと近似曲線fi,Θ(t)とに基づいて、fi,Θ(Fpi)≒Ppiになるピッチ角Θを決定する。次に、強化学習装置100は、決定したピッチ角Θに対して-ΔΘ、±0、+ΔΘをした場合における予測出力電力P’pi=fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)を算出する。
【0100】
強化学習装置100は、予測出力電力P’si=fi(Fsi)と、予測出力電力P’pi=fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)とに基づいて、予測出力電力テーブル1200を作成する。強化学習装置100は、●1201で示すフィールドに対応する、ストール制御の風力発電機に対する指令値a1,・・・,anと、ピッチ制御の風力発電機に対する指令値b1,・・・,bmとを取得する。そして、強化学習装置100は、作成した予測出力電力テーブル1200から、取得した指令値に対応する予測出力電力P’siと、予測出力電力P’piとを取得し、上記式(1)を用いて、発電システム200全体における予測出力電力P~を算出する。
【0101】
そして、強化学習装置100は、取得した需要電力ワット値P’と、算出した予測出力電力P~との差分値P”に基づいて、有効値Q=r(P”)を算出して、●1201で示すフィールドに設定する。r(P”)は、具体的には、上記式(2)~上記式(5)により定義される。
【0102】
強化学習装置100は、通常区間nps1-1に対応する他のフィールド、および、通常区間npsiに対応するフィールドにも同様に有効値を設定する。これにより、強化学習装置100は、出力ワット値の合計が需要電力ワット値に近づくほど、有効値が大きくなるように、有効値を算出することができる。このため、強化学習装置100は、有効値を参照して、発電システム200を適切に制御しやすくすることができる。また、強化学習装置100は、学習を行って更新する対象である有効性情報の数を増加させ、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化し実行することができる。
【0103】
以上では、強化学習装置100は、近似曲線fi(t)や近似曲線fi,Θ(t)に基づいて、有効値を算出した。ここで、現在の風速をFsi,Fpiとして、次の時刻で観測される風速をFsi+ΔFsi,Fpi+ΔFpiとする。この場合、次の時刻で観測される出力電力はfi(Fsi+ΔFsi)、fi,Θ-ΔΘ(Fpi+ΔFpi)、fi,Θ(Fpi+ΔFpi)、fi,Θ+ΔΘ(Fpi+ΔFpi)となる。さらに、近似曲線は連続関数であるため、次の時刻で観測される出力電力はfi(Fsi)+ΔPsi、fi,Θ-ΔΘ(Fpi)+ΔPpi、fi,Θ(Fpi)+ΔPpi、fi,Θ+ΔΘ(Fpi)+ΔPpiとなる。
【0104】
また、次の時刻での需要電力をP’+ΔP’とすれば、次の時刻での需要電力と出力電力との差P”nと、現在求めた需要電力と出力電力の差P”について、下記式(6)が成立する。また、報酬関数は連続関数であるため、下記式(7)が成立する。
【0105】
【0106】
【0107】
ここで、ΔFsi→0、ΔFpi→0、ΔP→0であれば、P”n→P”、r(P”n)→r(P”)が成立する。したがって、風速が安定し、かつ、需要電力の変化が小さい場合には、P”n≒P”、r(P”n)≒r(P”)が成立する。このため、強化学習装置100が、ε-greedyアルゴリズムにより、最も大きい有効値r(P”)の指令値の組み合わせを選択すれば、下記式(8)により、出力電力の合計を需要電力に近づけることができると判断される。
【0108】
【0109】
このように、強化学習装置100は、特性関数に基づいて有効値を算出することで、制御対象となる風力発電機に対し、実際の需用電力に応じた出力電力となるようにすることができる。このため、強化学習装置100は、有効値を0で初期化したり、有効値をランダムに設定したりする場合に比べて、適切な指令値を選択しやすくすることができる。
【0110】
その後、強化学習装置100は、一定時間ごとに、ε-greedyアルゴリズムを用いて、指令値aiと指令値biとの組み合わせを行動として選択して出力する。強化学習装置100は、例えば、時刻tjにおいて、風速値Fsi(tj)と、風速値Fpi(tj)と、出力ワット値Psi(tj)と、出力ワット値Ppi(tj)と、需要電力ワット値P’(tj)とを、状態値として取得する。
【0111】
強化学習装置100は、風速値Fsi(tj)の属する区間Fsi~(tj)と、風速値Fpi(tj)の属する区間Fpi~(tj)とを特定する。強化学習装置100は、出力ワット値Psi(tj)の属する区間Psi~(tj)と、出力ワット値Ppi(tj)の属する区間Ppi~(tj)とを特定する。強化学習装置100は、需要電力ワット値P’(tj)の属する区間P’~(tj)を特定する。
【0112】
そして、強化学習装置100は、εの確率で、指令値aiと指令値biとの組み合わせをランダムに選択して出力する。強化学習装置100は、1-εの確率で、利用するテーブルとして設定された通常テーブル801または粗分割テーブル802のうち、取得した状態値が属する区間の組み合わせに対応するレコードを特定する。強化学習装置100は、特定したレコードにおいて、最も大きい有効値が対応付けられた指令値aiと指令値biとの組み合わせを選択して出力する。
【0113】
また、強化学習装置100は、時刻tj-1で出力した指令値aiと指令値biとの組み合わせについて、時刻tjにおいて報酬値を算出する。強化学習装置100は、例えば、下記式(9)~下記式(12)により、報酬値r(tj)を算出する。具体的には、P”(tj)を下記式(9)により定義する。そして、P”(tj)>δの場合には下記式(10)によりr(tj)を定義し、-δ≦P”(tj)≦δの場合には下記式(11)によりr(tj)を定義し、P”(tj)<-δの場合には下記式(12)によりr(tj)を定義する。
【0114】
【0115】
【0116】
【0117】
【0118】
次に、
図13を用いて、情報処理装置が、指令値aiと指令値biとの組み合わせを出力したことに応じて算出した報酬値に基づいて、有効値を更新する場合について説明する。
図13の例では、情報処理装置は、例えば、時刻t
j+1において、時刻t
jにおいて出力した指令値aiと指令値biとの組み合わせについて算出した報酬値に基づいて、有効値を更新する場合について説明する。
【0119】
図13は、有効値を更新する一例を示す説明図である。
図13において、強化学習装置100は、時刻t
jにおいて取得した状態値が属する区間の組み合わせに対応するレコードに対応付けられた、●1301で示すフィールドに設定された有効値Qを更新する。強化学習装置100は、例えば、下記式(13)および下記式(14)を用いて、時刻t
j+1において算出した報酬値に基づいて、有効値Q’を算出し、●1301で示すフィールドに設定された有効値Qを更新する。
【0120】
強化学習装置100は、時刻tj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードであれば、下記式(13)を用いて有効値Q’を算出する。また、強化学習装置100は、時刻tj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードでなければ、下記式(14)を用いて有効値Q’を算出する。
【0121】
【0122】
【0123】
図13の例では、強化学習装置100は、時刻t
j+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードではないと判定する。強化学習装置100は、フィールド1311の状態値、フィールド1312の有効値をmax関数に代入した値、および、有効値Qに基づいて、上記式(14)を用いて有効値Q’を算出する。
【0124】
一方で、強化学習装置100が、時刻tj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードであると判定する場合がある。この場合、強化学習装置100は、フィールド1310の状態値、フィールド1320の状態値、および、有効値Qに基づいて、上記式(13)を用いて有効値Q’を算出する。これにより、強化学習装置100は、有効性情報を更新し、発電システム200に対して適切な制御を行いやすくすることができる。
【0125】
(火力発電機を含む発電システム200についての強化学習装置100の動作例)
次に、
図14および
図15を用いて、火力発電機を含む発電システム200についての強化学習装置100の動作例について説明する。まず、
図14の説明に移行し、火力発電機を含む発電システム200の具体的構成例について説明する。
【0126】
図14は、火力発電機を含む発電システム200の具体的構成例を示す説明図である。
図14の例では、発電システム200は、強化学習装置100と、燃料制御の火力発電機i(i=1,・・・,m)とを含む。燃料制御の火力発電機iは、指令値bi(i=1,・・・,m)を強化学習装置100から受信する。
【0127】
発電システム200は、燃料制御の火力発電機iについての燃料計pi(i=1,・・・,m)とを含む。燃料計piは、燃料使用量Fpi(tj)を、強化学習装置100に送信する。発電システム200は、燃料制御の火力発電機iについての電力計とを含む。燃料制御の火力発電機iについての電力計は、出力ワット値Ppiを、強化学習装置100に送信する。
【0128】
強化学習装置100は、テーブル生成部501と、区間切替部502と、値設定部503と、行動決定部504と、状態計算部505と、報酬計算部506と、テーブル更新部507とを含む。ここで、火力発電機を含む発電システム200についての強化学習装置100が有する各部分の動作は、風力発電機を含む発電システム200についての強化学習装置100が有する各部分の動作と同様であるため、説明を省略する。ここで、
図15の説明に移行し、火力発電機を含む発電システム200における、通常テーブル801の記憶内容の一例について説明する。
【0129】
図15は、火力発電機に関する通常テーブル801の記憶内容の一例を示す説明図である。
図15に示すように、通常テーブル801は、状態値と指令値と有効値とのフィールドを有する。通常テーブル801は、各フィールドに情報を設定することにより、有効性情報をレコードとして記憶する。
【0130】
状態値のフィールドには、発電システム200に関する状態値が取りうる区間が設定される。発電システム200に関する状態値は、火力発電機に関する状態値、および、発電システム200全体に関する状態値を含む。
図15の例では、火力発電機に関する状態値は、燃料制御の火力発電機に関する出力ワット値および燃料使用量とである。また、発電システム200全体に関する状態値は、発電システム200全体における需要電力である。
【0131】
指令値のフィールドには、火力発電機に対する指令値が設定される。
図15の例では、火力発電機に対する指令値は、燃料制御の火力発電機の燃料使用量をどの程度変更するかを示す指令値である。燃料使用量をどの程度変更するかを示す指令値は、具体的には、-Xと±0と+Xとである。有効値のフィールドには、それぞれの状態値がいずれかの区間に含まれる場合における、火力発電機ごとの指令値の組み合わせの有効性を示す有効値が設定される。
【0132】
(全体処理手順)
次に、
図16を用いて、強化学習装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0133】
図16は、全体処理手順の一例を示すフローチャートである。
図16において、強化学習装置100は、複数の通常区間についてのテーブルを作成し、粗分割区間になりうる2以上の通常区間を設定する(ステップS1601)。
【0134】
次に、強化学習装置100は、
図17に後述する切替判定処理を実行し、利用するテーブルを設定する(ステップS1602)。そして、強化学習装置100は、
図18に後述する値設定処理を実行し、設定したテーブルに対して有効値を設定する(ステップS1603)。
【0135】
次に、強化学習装置100は、風力発電機からの出力ワット値と、風速値と、需要電力ワット値とに基づいて、風力発電機の状態を特定する(ステップS1604)。そして、強化学習装置100は、風力発電機からの出力ワット値と需要電力ワット値とに基づいて、風力発電機からの報酬を算出する(ステップS1605)。
【0136】
次に、強化学習装置100は、設定したテーブルを利用して、風力発電機に対する指令値を決定して出力する(ステップS1606)。そして、強化学習装置100は、算出した報酬に基づいて、設定したテーブルに記憶された有効値を更新する(ステップS1607)。その後、強化学習装置100は、ステップS1602の処理に戻る。
【0137】
(切替判定処理手順)
次に、
図17を用いて、強化学習装置100が実行する、切替判定処理手順の一例について説明する。切替判定処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0138】
図17は、切替判定処理手順の一例を示すフローチャートである。
図17において、強化学習装置100は、閾値αを設定する(ステップS1701)。次に、強化学習装置100は、需要電力ワット値P’(t
j)に対し、α>P’(t
j)であるか否かを判定する(ステップS1702)。
【0139】
ここで、α>P’(tj)である場合(ステップS1702:Yes)、強化学習装置100は、ステップS1707の処理に移行する。一方で、α>P’(tj)ではない場合(ステップS1702:No)、強化学習装置100は、ステップS1703の処理に移行する。
【0140】
ステップS1703では、強化学習装置100は、通常区間についての通常テーブル801を利用すると決定する(ステップS1703)。次に、強化学習装置100は、直前まで通常区間についての通常テーブル801を利用していたか否かを判定する(ステップS1704)。
【0141】
ここで、通常区間についての通常テーブル801を利用している場合(ステップS1704:Yes)、強化学習装置100は、ステップS1706の処理に移行する。一方で、通常区間についての通常テーブル801を利用していない場合(ステップS1704:No)、強化学習装置100は、ステップS1705の処理に移行する。
【0142】
ステップS1705では、強化学習装置100は、通常区間についての通常テーブル801を作成し、利用するテーブルに設定する(ステップS1705)。そして、強化学習装置100は、切替判定処理を終了する。
【0143】
ステップS1706では、強化学習装置100は、直前まで利用していたテーブルをそのまま、利用するテーブルに設定する(ステップS1706)。そして、強化学習装置100は、切替判定処理を終了する。
【0144】
ステップS1707では、強化学習装置100は、粗分割区間についての粗分割テーブル802を利用すると決定する(ステップS1707)。次に、強化学習装置100は、直前まで粗分割区間についての粗分割テーブル802を利用していたか否かを判定する(ステップS1708)。
【0145】
ここで、粗分割区間についての粗分割テーブル802を利用している場合(ステップS1708:Yes)、強化学習装置100は、ステップS1706の処理に移行する。一方で、粗分割区間についての粗分割テーブル802を利用していない場合(ステップS1708:No)、強化学習装置100は、ステップS1709の処理に移行する。
【0146】
ステップS1709では、強化学習装置100は、粗分割区間についての粗分割テーブル802を作成し、利用するテーブルに設定する(ステップS1709)。そして、強化学習装置100は、切替判定処理を終了する。
【0147】
(値設定処理手順)
次に、
図18を用いて、強化学習装置100が実行する、値設定処理手順の一例について説明する。値設定処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0148】
図18は、値設定処理手順の一例を示すフローチャートである。
図18において、強化学習装置100は、利用するテーブルから、粗分割区間を分割する通常区間、または、通常区間を結合する粗分割区間に対応するレコードを特定する(ステップS1801)。
【0149】
次に、強化学習装置100は、特定したレコードに設定されたストール制御の風力発電機i(i=1,・・・,n)に関する風速値Fs1,・・・,Fsnを取得する(ステップS1802)。そして、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機i(i=1,・・・,m)からの出力ワット値Pp1,・・・,Ppmを取得する(ステップS1803)。
【0150】
次に、強化学習装置100は、特定したレコードに設定されたピッチ制御の風力発電機i(i=1,・・・,m)に関する風速値Fp1,・・・,Fpmを取得する(ステップS1804)。そして、強化学習装置100は、特定したレコードに設定された発電システム200全体に関する需要電力ワット値P’を取得する(ステップS1805)。
【0151】
次に、強化学習装置100は、ストール制御の風力発電機i(i=1,・・・,n)に対して、観測した風速Fsiと近似曲線fi(t)とに基づいて、電源をONにした時の予測出力電力fi(Fsi)を算出する(ステップS1806)。そして、強化学習装置100は、ピッチ制御の風力発電機i(i=1,・・・,m)に対して、観測した風速Fpiと出力ワット値Ppiと近似曲線fi,Θ(t)とに基づいて、fi,Θ(Fpi)≒Ppiになるピッチ角Θを決定する(ステップS1807)。
【0152】
次に、強化学習装置100は、決定したピッチ角Θに対して-ΔΘ、±0、+ΔΘをした場合における予測出力電力fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)を算出する(ステップS1808)。そして、強化学習装置100は、予測出力電力fi(Fsi)と、予測出力電力fi,Θ-ΔΘ(Fpi)、fi,Θ(Fpi)、fi,Θ+ΔΘ(Fpi)とに基づいて、予測出力電力テーブルを作成する(ステップS1809)。
【0153】
次に、強化学習装置100は、特定したレコードにあるフィールドごとに、ストール制御の風力発電機に対する指令値a1,・・・,anと、ピッチ制御の風力発電機に対する指令値b1,・・・,bmとを取得する(ステップS1810)。そして、強化学習装置100は、特定したレコードにあるフィールドごとに、取得した指令値と作成した予測出力電力テーブルとに基づいて、発電システム200全体における予測出力電力P~を算出する(ステップS1811)。
【0154】
次に、強化学習装置100は、特定したレコードにあるフィールドごとに、需要電力ワット値P’と算出した予測出力電力P~との差分値に基づいて、有効値を算出して設定する(ステップS1812)。そして、強化学習装置100は、値設定処理を終了する。
【0155】
(特性関数作成処理手順)
次に、
図19および
図20を用いて、強化学習装置100が実行する、特性関数作成処理手順の一例について説明する。特性関数作成処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0156】
図19は、ストール制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
図19において、強化学習装置100は、様々な風速におけるストール制御の風力発電機からの出力ワット値を観測する(ステップS1901)。
【0157】
次に、強化学習装置100は、様々な風速における出力ワット値に基づいて、ストール制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線fi(t)を求める(ステップS1902)。そして、強化学習装置100は、ストール制御の風力発電機についての特性関数作成処理を終了する。
【0158】
図20は、ピッチ制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
図20において、強化学習装置100は、ピッチ制御の風力発電機における最大ピッチ角MΘを取得する(ステップS2001)。
【0159】
次に、強化学習装置100は、ピッチ制御の風力発電機に対してピッチ角Θ=0を設定する(ステップS2002)。そして、強化学習装置100は、Θ<MΘであるか否かを判定する(ステップS2003)。
【0160】
ここで、Θ<MΘである場合(ステップS2003:Yes)、強化学習装置100は、ステップS2004の処理に移行する。一方で、Θ<MΘではない場合(ステップS2003:No)、強化学習装置100は、ピッチ制御の風力発電機についての特性関数作成処理を終了する。
【0161】
ステップS2004では、強化学習装置100は、様々な風速におけるピッチ制御の風力発電機からの出力ワット値を観測する(ステップS2004)。次に、強化学習装置100は、様々な風速における出力ワット値に基づいて、ピッチ制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線fi,Θ(t)を求める(ステップS2005)。
【0162】
そして、強化学習装置100は、ピッチ角Θ=Θ+ΔΘに設定する(ステップS2006)。その後、強化学習装置100は、ステップS2003の処理に戻る。
【0163】
ここで、強化学習装置100は、上述した各種フローチャートのうち一部ステップの処理の順序を入れ替えて実行してもよい。また、強化学習装置100は、上述した各種フローチャートのうち一部ステップの処理を省略してもよい。
【0164】
以上説明したように、強化学習装置100によれば、発電機201に関する状態値が取りうる複数の領域のそれぞれの領域における発電機201に対する指令値ごとの有効性を示す有効性情報を利用して学習を行うことができる。強化学習装置100によれば、観測した発電機201に関する状態値を参照し、特性関数に基づいて、複数の領域のうち連続する2以上の領域を結合した領域における発電機201に対する指令値ごとの有効性を示す有効性情報を生成することができる。強化学習装置100によれば、生成した結合した領域についての有効性情報、および、複数の領域のうち2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置100は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【0165】
強化学習装置100によれば、観測した発電機201に関する状態値を参照し、特性関数に基づいて、2以上の領域のそれぞれの領域における発電機201に対する指令値ごとの有効性を示す有効性情報を生成することができる。強化学習装置100によれば、生成した2以上の領域のそれぞれの領域についての有効性情報、および、複数の領域のうち2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置100は、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化して実行することができる。
【0166】
強化学習装置100によれば、発電機201の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、発電機201の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行うことができる。強化学習装置100によれば、観測した発電機201の状態値を参照し、特性関数に基づいて、複数の領域のうち連続する2以上の領域を結合した領域における、発電機201の指令値の組み合わせごとの有効性を示す有効性情報を生成することができる。強化学習装置100によれば、生成した結合した領域についての有効性情報、および、複数の領域のうち2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置100は、発電機201が複数ある場合に適用することができる。
【0167】
強化学習装置100によれば、風力発電機についての有効性情報を生成することができる。これにより、強化学習装置100は、風力発電機を含む発電システム200に適用することができる。
【0168】
強化学習装置100によれば、特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した出力電力に基づいて、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置100は、ストール制御の風力発電機についての有効性情報を生成することができる。
【0169】
強化学習装置100によれば、発電機201の受風性能ごとに異なる複数の特性関数のうち、観測した風速および出力電力に対応する特性関数に基づいて、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置100は、ピッチ制御の風力発電機についての有効性情報を生成することができる。
【0170】
強化学習装置100によれば、火力発電機についての有効性情報を生成することができる。これにより、強化学習装置100は、火力発電機を含む発電システム200に適用することができる。
【0171】
強化学習装置100によれば、観測した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置100は、比較的大きな出力電力の領域については詳細に検証しなくてもよい場合に、学習を行って更新する対象である有効性情報の数を減少させることができる。ここで、強化学習装置100は、比較的大きな出力電力の領域について結合すれば、発電システムに対する制御に与える悪影響を抑制することができる。
【0172】
強化学習装置100によれば、観測した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置100は、比較的小さな出力電力の領域については詳細に検証しなくてもよい場合に、学習を行って更新する対象である有効性情報の数を減少させることができる。ここで、強化学習装置100は、比較的小さな出力電力の領域について結合すれば、発電システムに対する制御に与える悪影響を抑制することができる。
【0173】
強化学習装置100によれば、2以上の領域のそれぞれの領域についての有効性情報に基づいて、2以上の領域を結合した領域についての有効性情報を生成することができる。これにより、強化学習装置100は、特性関数が不明であっても、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【0174】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【0175】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0176】
(付記1)コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【0177】
(付記2)前記コンピュータに、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記2以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記2以上の領域のそれぞれの領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする付記1に記載の強化学習プログラム。
【0178】
(付記3)前記コンピュータに、
前記発電機が複数ある場合、前記発電機の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機の状態値を参照し、前記特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする付記1または2に記載の強化学習プログラム。
【0179】
(付記4)前記発電機は、風力発電機であり、
前記発電機に関する状態値は、風速、および、出力電力である、ことを特徴とする付記1~3のいずれか一つに記載の強化学習プログラム。
【0180】
(付記5)前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した前記出力電力に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記4に記載の強化学習プログラム。
【0181】
(付記6)前記発電機は、受風性能を変更可能であり、
前記指令値は、受風性能を制御する指令値であり、
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記発電機の受風性能ごとに異なる複数の前記特性関数のうち、観測した風速および出力電力に対応する前記特性関数に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記4に記載の強化学習プログラム。
【0182】
(付記7)前記発電機は、火力発電機であり、
前記発電機に関する状態値は、燃料使用量、および、出力電力である、ことを特徴とする付記1~3のいずれか一つに記載の強化学習プログラム。
【0183】
(付記8)前記結合した領域についての有効性情報を生成する処理は、観測した需要電力が閾値以下である場合に、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記1~7のいずれか一つに記載の強化学習プログラム。
【0184】
(付記9)前記結合した領域についての有効性情報を生成する処理は、観測した需要電力が閾値を超える場合に、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記1~7のいずれか一つに記載の強化学習プログラム。
【0185】
(付記10)コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【0186】
(付記11)発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【0187】
(付記12)コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する2以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【0188】
(付記13)コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する2以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【0189】
(付記14)発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する2以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記2以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記2以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【符号の説明】
【0190】
100 強化学習装置
200 発電システム
201 発電機
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 記憶部
401 取得部
402 切替部
403 学習部
404 出力部
501 テーブル生成部
502 区間切替部
503 値設定部
504 行動決定部
505 状態計算部
506 報酬計算部
507 テーブル更新部
601,602,701,702,1000 グラフ
801 通常テーブル
802 粗分割テーブル
1100,1200 予測出力電力テーブル
1310~1312,1320 フィールド