(57)【要約】【課題】環境の変化に合った適切な負荷制御を行うこと。【解決手段】風車制御装置１００は、風速、および、風車１１０の回転数に基づいて、発電機１２０の負荷トルクを制御する。風車制御装置１００は、風速、および、風車１１０の回転数を観測値とし、発電機１２０による発電量を報酬とし、特性曲線上の風車１１０の動作点を、特性曲線の山の左側に移動させるか否かを行動とした強化学習を、エージェントに実行させる。風車制御装置１００は、風速、および、風車１１０の回転数が入力されたエージェントが、動作点を特性曲線の山の左側に移動させる出力を行った場合、発電機１２０の負荷トルクを制御することにより、風車１１０の動作点を特性曲線の山の左側に移動させる。【選択図】図１
2019070346.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御し、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習をエージェントに実行させ、
風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、
処理を実行させる風車制御プログラム。
【請求項２】
前記風車は、前記風車のピッチを制御する機能を有さない、ことを特徴とする請求項１に記載の風車制御プログラム。
【請求項３】
前記制御する処理は、風速、前記風車の回転数、および、前記特性曲線上の現在の動作点に基づいて、前記発電機の負荷トルクを制御する、ことを特徴とする請求項１または２に記載の風車制御プログラム。
【請求項４】
前記発電機の負荷トルクを制御する間隔は、前記エージェントが行動を出力する間隔よりも短い、ことを特徴とする請求項１〜３のいずれか一つに記載の風車制御プログラム。
【請求項５】
コンピュータが、
風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御し、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習をエージェントに実行させ、
風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、
処理を実行することを特徴とする風車制御方法。
【請求項６】
風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御する制御部と、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習を実行するエージェントと、を有し、
前記制御部は、風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、ことを特徴とする風車制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、風車制御プログラム、風車制御方法、および風車制御装置に関する。
【背景技術】
【０００２】
従来、自然エネルギーを利用した発電システムとして風力発電システムがある。風力発電システムは、風車のピッチの制御、または、発電機の負荷トルクの制御により、風車の回転数や発電機の発電量を制御する。また、風力発電システムは、風車の回転数が風車の破損の恐れが生じる回転数上限に達しないように、風車の回転を停止させて風車の破損を防止するブレーキを有する。
【０００３】
先行技術としては、例えば、発電機の回転数が上昇しトルク指令値が保護検出レベル以上に上昇した時にトルク指令パターンから保護トルク指令パターンへ移行させるものがある。また、例えば、発電機の動作点を探索するごとに、発電機の出力電力と出力電力の時間微分との関係で定まる失速領域であるか否かを判定し、失速領域であると判定した場合に発電機の負荷を開放または軽減する風力発電システムがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２５７９８５号公報
【特許文献２】特開２０１１−６０２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、環境の変化に合わせて風力発電システムに対して適切な制御を行うことが難しい。例えば、強化学習により風車のピッチを制御することが考えられるが、風車のピッチを変更してから、次に風車のピッチを変更し直すまでの間、風速の変化に対応することができず、ブレーキにより風車の回転が停止し、発電機による発電が停止することがある。
【０００６】
１つの側面では、本発明は、環境の変化に合った適切な負荷制御を行うことを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御し、風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習をエージェントに実行させ、風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる風車制御プログラム、風車制御方法、および風車制御装置が提案される。
【発明の効果】
【０００８】
一態様によれば、環境の変化に合った適切な負荷制御を行うことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる風車制御方法の一実施例を示す説明図である。
【図２】図２は、風力発電システム１０１の一例を示す説明図である。
【図３】図３は、風車制御装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、直近計測値情報４００の記憶内容の一例を示す説明図である。
【図５】図５は、風車トルク特性情報５００の記憶内容の一例を示す説明図である。
【図６】図６は、比率情報６００の記憶内容の一例を示す説明図である。
【図７】図７は、移動フラグ情報７００の記憶内容の一例を示す説明図である。
【図８】図８は、観測履歴８００の記憶内容の一例を示す説明図である。
【図９】図９は、行動価値テーブル９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、行動履歴１０００の記憶内容の一例を示す説明図である。
【図１１】図１１は、風車制御装置１００の機能的構成例を示すブロック図である。
【図１２】図１２は、風力発電システム１０１の具体的な機能的構成例を示すブロック図である。
【図１３】図１３は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その１）である。
【図１４】図１４は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その２）である。
【図１５】図１５は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その３）である。
【図１６】図１６は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その４）である。
【図１７】図１７は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その５）である。
【図１８】図１８は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その６）である。
【図１９】図１９は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図（その７）である。
【図２０】図２０は、発電機１２０の負荷トルクを制御する流れを示す説明図である。
【図２１】図２１は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その１）である。
【図２２】図２２は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その２）である。
【図２３】図２３は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その３）である。
【図２４】図２４は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その４）である。
【図２５】図２５は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その５）である。
【図２６】図２６は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その６）である。
【図２７】図２７は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その７）である。
【図２８】図２８は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その８）である。
【図２９】図２９は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その９）である。
【図３０】図３０は、発電機１２０の負荷トルクを制御する動作例を示す説明図（その１０）である。
【図３１】図３１は、全体処理手順の一例を示すフローチャートである。
【図３２】図３２は、稼働・停止処理手順の一例を示すフローチャートである。
【図３３】図３３は、強化学習処理手順の一例を示すフローチャートである。
【図３４】図３４は、負荷トルク制御処理手順の一例を示すフローチャートである。
【図３５】図３５は、左側制御処理手順の一例を示すフローチャートである。
【図３６】図３６は、右側制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる風車制御プログラム、風車制御方法、および風車制御装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる風車制御方法の一実施例）
図１は、実施の形態にかかる風車制御方法の一実施例を示す説明図である。図１において、風車制御装置１００は、風力発電システム１０１を制御するコンピュータである。
【００１２】
風力発電システム１０１は、風車１１０と発電機１２０とを有する。風車１１０は、風を受け、風力を風車トルクに変換し、発電機１２０の軸に伝達する。風は、風速が変動しうる。風力は、風車トルクに変換される際、損失が発生する。風車１１０は、ブレーキを有する。
【００１３】
発電機１２０は、風車１１０を用いて発電を行う。発電機１２０は、例えば、風車１１０から軸に伝達された風車トルクを用いて発電を行う。発電機１２０は、軸に伝達された風車トルクの逆方向に、負荷トルクをかけることができる。負荷トルクは、例えば、発電機１２０を電動機としても機能させることにより発生することができる。負荷トルクは、負荷トルク上限がある。発電機１２０に供給されたエネルギーが余ると、風車１１０の回転数が増加する。発電機１２０に供給されたエネルギーが、発電機１２０で消費されるエネルギーに不足すると、風車１１０の回転数が減少する。
【００１４】
ここで、風力発電システム１０１では、風速などの環境が変化すると、発電機１２０の発電効率を最大化することができる風車１１０の回転数および風車トルクも変化するという性質がある。このため、風速などの環境の変化に応じて、風力発電システム１０１に対して適切な制御を行うことが望まれる。
【００１５】
しかしながら、風速などの環境の変化に合わせて、風力発電システム１０１に対して適切な制御を行うことは難しい。例えば、下記に示す第１の技術、第２の技術、第３の技術、および、第４の技術などが考えられるが、風速などの環境の変化に合わせて、風力発電システム１０１に対して適切な制御を行うことは難しい。
【００１６】
第１の技術として、例えば、風車１１０のピッチを制御することにより、風車１１０の風車トルクおよび風車１１０の回転数を制御する技術が考えられる。ピッチは、風車１１０が風から受ける力の大きさを制御する要素である。ピッチは、例えば、風車１１０の羽の角度である。ピッチの制御は、例えば、強化学習を用いて行われる。
【００１７】
しかしながら、ピッチを制御する構造を設けると、風力発電システム１０１の製造コストの増大化を招いてしまう。また、小型風力発電システム１０１では、風車１１０のサイズが小さいほど、風速の変化に応じて風車１１０の回転数が変化する応答時間が短くなる傾向がある。また、強化学習を用いてピッチを制御する場合、ピッチを変更する間隔が長くなる傾向がある。このため、ピッチを変更してから、次にピッチを変更し直すまでの間、風速の変化に応じた風車１１０の回転数の変化に対応することができず、発電機１２０の発電効率の低下を招きうる。
【００１８】
第２の技術として、例えば、発電機１２０の負荷トルクを制御することにより、風車１１０の風車トルクおよび風車１１０の回転数を制御する技術が考えられる。具体的には、発電機１２０の負荷トルクを制御することにより、風車１１０の風車トルクと風車１１０の回転数との関係を表す特性曲線上の風車１１０の動作点を、発電機１２０の発電効率を最大化する動作点に移動させる技術が考えられる。
【００１９】
発電機１２０の発電効率を最大化する動作点は、特性曲線において風車トルクの極大点よりも回転数が大きい側の領域にある。以下の説明では、特性曲線において風車トルクの極大点よりも回転数が大きい側の領域を「山の右側」と表記する場合がある。また、以下の説明では、特性曲線において風車トルクの極大点よりも回転数が小さい側の領域を「山の左側」と表記する場合がある。
【００２０】
しかしながら、特性曲線の山の右側では、風速が増加すると回転数が増加する性質があり、回転数が回転数上限に達しやすいという性質がある。また、風速が増加すると、負荷トルクを負荷トルク上限まで増加させても、回転数を減少させることが難しくなる場合がある。このため、風車１１０の破損を防止するために、ブレーキにより風車１１０の回転が停止され、発電機１２０の発電も停止され、発電機１２０の長期的な発電効率の低下を招きうる。
【００２１】
第３の技術として、例えば、風速が一定以上になったことに応じてブレーキにより風車１１０の回転が停止されないように、発電機１２０の負荷トルクを制御することにより、特性曲線上の風車１１０の動作点を特性曲線の山の左側に移動させる技術が考えられる。
【００２２】
しかしながら、風速が一定以上になっても、ブレーキにより風車１１０の回転が停止されるとは限らない。このため、風車１１０の動作点を、特性曲線の山の右側にした方が、発電機１２０の長期的な発電効率がよくても、風車１１０の動作点を、特性曲線の山の左側に移動してしまい、発電機１２０の長期的な発電効率の低下を招きうる。
【００２３】
第４の技術として、例えば、強化学習を用いて発電機１２０の負荷トルクを制御することにより、風車１１０の風車トルクおよび風車１１０の回転数を制御する技術が考えられる。
【００２４】
しかしながら、第１の技術と同様に、強化学習を用いて発電機１２０の負荷トルクを制御する場合、発電機１２０の負荷トルクを変更する間隔が長くなる傾向がある。このため、発電機１２０の負荷トルクを変更してから、次に発電機１２０の負荷トルクを変更し直すまでの間、風速の変化に応じた風車１１０の回転数の変化に対応することができない。
【００２５】
結果として、風車１１０の動作点が、特性曲線の山の左側にある場合、風速が急に減少すると、風車１１０の回転が停止してしまうことがある。また、この場合、風速が急に増加すると、風車１１０の動作点が、意図せず特性曲線の山の右側に移動してしまうことがある。また、風車１１０の動作点が、特性曲線の山の右側にある場合、風速が急に増加すると、回転数が回転数上限に達してしまうことがある。
【００２６】
そこで、本実施の形態では、発電機１２０の負荷トルクを制御中に、強化学習を行うエージェントにより風車１１０の動作点を特性曲線の山の左側に移動させるタイミングを決定する風車制御方法について説明する。これにより、風車制御方法は、環境の変化に合わせて発電機１２０の負荷トルクを制御する。
【００２７】
（１−１）風車制御装置１００は、風速、および、風車１１０の回転数に基づいて、発電機１２０の負荷トルクを制御する。これにより、風車制御装置１００は、エージェントの行動決定の実行間隔に関わらず、風速の変化に応じて発電機１２０の負荷トルクを制御する速度の低下を抑制することができ、風車１１０の動作点が意図せず移動してしまうことを防止することができる。
【００２８】
（１−２）風車制御装置１００は、風速、および、風車１１０の回転数を観測値とし、発電機１２０による発電量を報酬とし、特性曲線上の風車１１０の動作点を、特性曲線の山の左側に移動させるか否かを行動とした強化学習を、エージェントに実行させる。これにより、風車制御装置１００は、風速などの環境を考慮して、発電機１２０の長期的な発電効率を向上させる行動を決定するための制御モデルを、エージェントに学習させることができる。
【００２９】
制御モデルは、例えば、観測値を入力されると行動を出力することができるモデルである。制御モデルは、例えば、観測値に対する条件に、観測値に対する条件を満たす場合にどのような行動を出力するかを対応付けたテーブルである。制御モデルは、例えば、数式モデルであってもよい。制御モデルは、例えば、決定木モデルであってもよい。
【００３０】
（１−３）風車制御装置１００は、風速、および、風車１１０の回転数が入力されたエージェントが、動作点を特性曲線の山の左側に移動させる出力を行った場合、発電機１２０の負荷トルクを制御することにより、動作点を特性曲線の山の左側に移動させる。これにより、風車制御装置１００は、発電機１２０の長期的な発電効率を向上可能な場合に、特性曲線上の風車１１０の動作点を、特性曲線の山の左側に移動させることができる。
【００３１】
このように、風車制御装置１００は、風速などの環境の変化に合わせて、風力発電システム１０１に対して適切な制御を行うことができ、発電機１２０の長期的な発電効率の低下を招くことを回避することができる。
【００３２】
風車制御装置１００は、例えば、風速の変化に応じて発電機１２０の負荷トルクを制御する速度の低下を抑制することができ、風車１１０の動作点が意図せず移動してしまうことを防止することができる。風車制御装置１００は、具体的には、風車１１０の動作点が、特性曲線の山の右側にある場合、風速が急に増加しても、回転数が回転数上限に達してしまうことを防止することができる。このため、風車制御装置１００は、発電機１２０の発電効率の低下を防止することができる。
【００３３】
一方で、風車制御装置１００は、具体的には、風車１１０の動作点が、特性曲線の山の左側にある場合、風速が急に減少しても、風車１１０の回転が停止してしまうことを防止することができる。また、風車制御装置１００は、具体的には、風車１１０の動作点が、特性曲線の山の左側にある場合、風速が急に増加しても、風車１１０の動作点が、意図せず特性曲線の山の右側に移動してしまうことを防止することができる。このため、風車制御装置１００は、発電機１２０の発電効率の低下を防止することができる。
【００３４】
また、風車制御装置１００は、例えば、風速が一定以上であっても、ブレーキにより風車１１０の回転が停止されないような環境であれば、風車１１０の動作点を、発電機１２０の発電効率を最大化する動作点に移動させることができる。このため、風車制御装置１００は、発電機１２０の長期的な発電効率の向上を図ることができる。
【００３５】
一方で、風車制御装置１００は、例えば、ブレーキにより風車１１０の回転が停止されうる環境であれば、風車１１０の動作点を、特性曲線の山の左側に移動させることができる。このため、風車制御装置１００は、ブレーキにより風車１１０の回転が停止され、発電機１２０の発電も停止されてしまうことを防止することができ、発電機１２０の長期的な発電効率の向上を図ることができる。
【００３６】
また、風車制御装置１００は、例えば、風車１１０のピッチを制御しなくても、風車１１０の風車トルクおよび風車１１０の回転数を制御することができるため、風車１１０のピッチを制御する構造を有さない風力発電システム１０１にも適用することができる。また、風車制御装置１００は、風力発電システム１０１の製造の際、風車１１０のピッチを制御する構造を設けなくてもよくすることができ、風力発電システム１０１の製造コストの増大化を抑制することができる。
【００３７】
（風力発電システム１０１の一例）
次に、図２を用いて、図１に示した風車制御装置１００を適用した、風力発電システム１０１の一例について説明する。
【００３８】
図２は、風力発電システム１０１の一例を示す説明図である。図２において、風力発電システム１０１は、風車制御装置１００と風車１１０と発電機１２０とを含む。
【００３９】
風力発電システム１０１において、風車制御装置１００と風車１１０と発電機１２０とは、直接接続される。風車制御装置１００と風車１１０と発電機１２０とは、有線または無線のネットワークを介して接続されてもよい。ネットワークは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００４０】
風車１１０は、風を受け、風力を風車トルクに変換し、発電機１２０の軸に伝達する物体である。風車１１０は、風車１１０の回転を停止するためのブレーキが設けられる。風車１１０は、風車１１０の近傍での風速、風車１１０の風車トルク、および、風車１１０の回転数などを計測するための計測機が設けられる。風車１１０に設けられた計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサなどの少なくともいずれかを有してもよい。
【００４１】
発電機１２０は、風車１１０を用いて発電を行う機械である。発電機１２０は、例えば、風車１１０から軸に伝達された風車トルクを用いて発電を行う。発電機１２０は、軸に伝達された風車トルクの逆方向に、負荷トルクをかけることができる。発電機１２０は、発電機１２０の負荷トルクおよび発電機１２０の累積発電量などを計測するための計測機が設けられる。発電機１２０に設けられた計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサ、電力センサ、電圧センサ、電流センサなどの少なくともいずれかを有してもよい。
【００４２】
風車制御装置１００は、風力発電システム１０１を制御する。風車制御装置１００は、例えば、風車１１０に設けられた計測機から、風車１１０の近傍での風速、風車１１０の風車トルク、および、風車１１０の回転数などの計測値を取得する。風車制御装置１００は、例えば、発電機１２０に設けられた計測機から、発電機１２０の負荷トルクおよび発電機１２０の累積発電量などの計測値を取得する。
【００４３】
風車制御装置１００は、例えば、発電機１２０の負荷トルクを制御することにより、風車１１０の回転数を制御する。風車制御装置１００は、例えば、風車１１０の動作点を、特性曲線の山の左側に移動させるか否かを決定する。風車制御装置１００は、例えば、風車１１０に設けられたブレーキを制御し、風車１１０の回転を制御する。風車制御装置１００は、例えば、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、マイコン、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）などである。
【００４４】
ここでは、風車制御装置１００が、発電機１２０の負荷トルクの制御と、風車１１０の動作点を特性曲線の山の左側に移動させるか否かの決定とを行う場合について説明したが、これに限らない。例えば、発電機１２０の負荷トルクの制御を行う装置と、風車１１０の動作点を特性曲線の山の左側に移動させるか否かの決定を行う装置とが異なる装置であり、それぞれの装置が協働する場合があってもよい。
【００４５】
ここでは、風車１１０に設けられた計測機と、発電機１２０に設けられた計測機とが別の装置である場合について説明したが、これに限らない。例えば、風車１１０に設けられた計測機と、発電機１２０に設けられた計測機とが同じ装置である場合があってもよい。
【００４６】
（風車制御装置１００のハードウェア構成例）
次に、図３を用いて、風車制御装置１００のハードウェア構成例について説明する。
【００４７】
図３は、風車制御装置１００のハードウェア構成例を示すブロック図である。図３において、風車制御装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４８】
ここで、ＣＰＵ３０１は、風車制御装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。メモリ３０２は、図４〜図１０に後述する各種テーブル４００〜１０００を記憶してもよい。
【００４９】
通信Ｉ／Ｆ３０３は、通信回線を通じてネットワークに接続され、ネットワークを介して他のコンピュータに接続される。そして、通信Ｉ／Ｆ３０３は、ネットワークと内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５０】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御に従って記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ３０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体３０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体３０５は、風車制御装置１００から着脱可能であってもよい。記録媒体３０５は、メモリ３０２の代わりに、図４〜図１０に後述する各種テーブル４００〜１０００を記憶してもよい。
【００５１】
風車制御装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、風車制御装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を複数有していてもよい。また、風車制御装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を有していなくてもよい。
【００５２】
（直近計測値情報４００の記憶内容）
次に、図４を用いて直近計測値情報４００の記憶内容について説明する。直近計測値情報４００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００５３】
図４は、直近計測値情報４００の記憶内容の一例を示す説明図である。図４に示すように、直近計測値情報４００は、計測時刻と、風速と、回転数と、発電量とのフィールドを有する。直近計測値情報４００は、計測時刻に対応付けて各フィールドに情報を設定することにより、レコードとして記憶される。
【００５４】
計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が計測された計測時刻が設定される。風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量のサンプリング間隔が異なる場合がある。この場合、計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が取得された取得時刻が、計測時刻の代わりに設定されてもよい。
【００５５】
風速のフィールドには、計測時刻に計測された風車１１０の風速の計測値が設定される。回転数のフィールドには、計測時刻に計測された風車１１０の回転数の計測値が設定される。発電量のフィールドには、計測時刻に計測された発電機１２０の発電量の計測値が設定される。発電量は、１つ前の計測時刻から最新の計測時刻までの発電量である。
【００５６】
（風車トルク特性情報５００の記憶内容）
次に、図５を用いて風車トルク特性情報５００の記憶内容について説明する。風車トルク特性情報５００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００５７】
図５は、風車トルク特性情報５００の記憶内容の一例を示す説明図である。図５に示すように、風車トルク特性情報５００は、回転数と、風車トルクとのフィールドを有する。風車トルク特性情報５００は、回転数ごとに各フィールドに情報を設定することにより、レコードとして記憶される。
【００５８】
風車トルク特性情報５００は、基準風速における風車トルクの特性曲線を示す。基準風速は、例えば、５ｍ／ｓである。回転数のフィールドには、風車１１０の回転数が設定される。風車トルクのフィールドには、基準風速における風車トルクの特性曲線上で、風車１１０の回転数に対応する風車トルクが設定される。
【００５９】
基準風速とは異なる風速における風車トルクの特性曲線は、基準風速における風車トルクの特性曲線から特定可能である。このため、風車トルク特性情報５００は、基準風速とは異なる風速における風車トルクの特性曲線を示さなくてもよい。
【００６０】
（比率情報６００の記憶内容）
次に、図６を用いて比率情報６００の記憶内容について説明する。比率情報６００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００６１】
図６は、比率情報６００の記憶内容の一例を示す説明図である。図６に示すように、比率情報６００は、最大トルクに対する最大発電トルクの比率のフィールドを有する。比率情報６００は、フィールドに情報を設定することにより、レコードとして記憶される。
【００６２】
最大トルクに対する最大発電トルクの比率のフィールドには、風車１１０の風車トルクの最大値である最大トルクに対する、発電機１２０の発電効率を最大化する風車１１０の風車トルクである最大発電トルクの比率が設定される。
【００６３】
（移動フラグ情報７００の記憶内容）
次に、図７を用いて移動フラグ情報７００の記憶内容について説明する。移動フラグ情報７００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００６４】
図７は、移動フラグ情報７００の記憶内容の一例を示す説明図である。図７に示すように、移動フラグ情報７００は、左への移動有無のフラグのフィールドを有する。移動フラグ情報７００は、フィールドに情報を設定することにより、レコードとして記憶される。
【００６５】
左への移動有無のフラグのフィールドには、風車１１０の動作点を、特性曲線の山の左側に移動させるか否かを示すフラグが設定される。フラグは、１であれば、風車１１０の動作点を、特性曲線の山の左側に移動させることを示し、０であれば、風車１１０の動作点を、特性曲線の山の左側に移動させないことを示す。
【００６６】
（観測履歴８００の記憶内容）
次に、図８を用いて観測履歴８００の記憶内容について説明する。観測履歴８００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００６７】
図８は、観測履歴８００の記憶内容の一例を示す説明図である。図８に示すように、観測履歴８００は、計測時刻と、風速と、回転数と、発電量とのフィールドを有する。観測履歴８００は、計測時刻ごとに各フィールドに情報を設定することにより、履歴情報がレコードとして記憶される。
【００６８】
計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が計測された計測時刻が設定される。風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量のサンプリング間隔が異なる場合がある。この場合、計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が取得された取得時刻が、計測時刻の代わりに設定されてもよい。
【００６９】
風速のフィールドには、計測時刻に計測された風車１１０の風速の計測値が設定される。回転数のフィールドには、計測時刻に計測された風車１１０の回転数の計測値が設定される。発電量のフィールドには、計測時刻に計測された発電機１２０の発電量の計測値が設定される。発電量は、１つ前の計測時刻から最新の計測時刻までの発電量である。
【００７０】
（行動価値テーブル９００の記憶内容）
次に、図９を用いて行動価値テーブル９００の記憶内容について説明する。行動価値テーブル９００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００７１】
図９は、行動価値テーブル９００の記憶内容の一例を示す説明図である。図９に示すように、行動価値テーブル９００は、１以上の風速と、１以上の回転数と、行動と、Ｑ値とのフィールドを有する。行動価値テーブル９００は、強化学習ごとに各フィールドに情報を設定することにより、行動価値情報がレコードとして記憶される。
【００７２】
風速のフィールドには、風速に対する条件が設定される。条件は、範囲である。図９の例では、風速１のフィールドには、現在の風速に対する条件が設定される。また、風速２のフィールドには、過去の風速に対する条件が設定される。回転数のフィールドには、風車１１０の回転数に対する条件が設定される。図９の例では、回転数１のフィールドには、現在の風車１１０の回転数に対する条件が設定される。また、回転数２のフィールドには、過去の風車１１０の回転数に対する条件が設定される。
【００７３】
行動のフィールドには、エージェントにより行動として決定された左への移動有無のフラグが設定される。Ｑ値のフィールドには、現在および過去の風速および回転数が、風速および回転数のフィールドが示す条件に当てはまる場合に、決定された行動を行うと、報酬である発電機１２０の発電量の増加にどの程度寄与するかを示すＱ値が設定される。
【００７４】
（行動履歴１０００の記憶内容）
次に、図１０を用いて行動履歴１０００の記憶内容について説明する。行動履歴１０００は、例えば、図３に示した風車制御装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００７５】
図１０は、行動履歴１０００の記憶内容の一例を示す説明図である。図１０に示すように、行動履歴１０００は、計測時刻と、左への移動有無のフラグとのフィールドを有する。行動履歴１０００は、計測時刻ごとに各フィールドに情報を設定することにより、履歴情報がレコードとして記憶される。
【００７６】
計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が計測された計測時刻が設定される。風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量のサンプリング間隔が異なる場合がある。この場合、計測時刻のフィールドには、風車１１０の風速、風車１１０の回転数、および、発電機１２０の発電量が取得された取得時刻が、計測時刻の代わりに設定されてもよい。左への移動有無のフラグのフィールドには、計測時刻に計測された風車１１０の風速、風車１１０の回転数、発電機１２０の発電量に基づいて、エージェントにより決定された、左への移動有無のフラグが設定される。
【００７７】
（風車制御装置１００の機能的構成例）
次に、図１１を用いて、風車制御装置１００の機能的構成例について説明する。
【００７８】
図１１は、風車制御装置１００の機能的構成例を示すブロック図である。風車制御装置１００は、記憶部１１００と、取得部１１０１と、負荷トルク制御部１１０２と、エージェント１１０３と、出力部１１０４とを含む。
【００７９】
記憶部１１００は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。以下では、記憶部１１００が、風車制御装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部１１００が、風車制御装置１００とは異なる装置に含まれ、記憶部１１００の記憶内容が風車制御装置１００から参照可能である場合があってもよい。
【００８０】
取得部１１０１〜出力部１１０４は、制御部となる機能である。取得部１１０１〜出力部１１０４は、具体的には、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、通信Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００８１】
記憶部１１００は、各機能部の処理に用いられる各種情報を記憶する。記憶部１１００は、例えば、風速、風車１１０の風車トルク、風車１１０の回転数、および、発電機１２０の発電量などを記憶してもよい。記憶部１１００は、例えば、風車１１０の風車トルクと、風車１１０の回転数との関係を表す特性曲線を示す情報を記憶してもよい。
【００８２】
記憶部１１００は、例えば、強化学習アルゴリズム、および、行動選択アルゴリズムを記憶する。強化学習アルゴリズムは、例えば、Ｑ−Ｌｅａｒｎｉｎｇアルゴリズムである。記憶部１１００は、例えば、強化学習により学習された制御モデル、または、制御モデルにより決定された行動を記憶してもよい。
【００８３】
制御モデルは、例えば、観測値を入力されると行動を出力することができるモデルである。制御モデルは、例えば、観測値に対する条件に、観測値に対する条件を満たす場合にどのような行動を出力するかを対応付けたテーブルである。制御モデルは、例えば、数式モデルや決定木モデルであってもよい。記憶部１１００は、具体的には、図４〜図１０に示した各種テーブル４００〜１０００を記憶する。
【００８４】
取得部１１０１は、各機能部の処理に用いられる各種情報を記憶部１１００から取得し、各機能部に出力する。取得部１１０１は、例えば、風速、風車１１０の風車トルク、風車１１０の回転数、および、発電機１２０の発電量などを取得してもよい。
【００８５】
取得部１１０１は、具体的には、風車１１０に設けられた計測機から、風車１１０の近傍での風速、風車１１０の風車トルク、および、風車１１０の回転数などの計測値を取得してもよい。取得部１１０１は、具体的には、発電機１２０に設けられた計測機から、発電機１２０の負荷トルクおよび発電機１２０の累積発電量などの計測値を取得してもよい。取得部１１０１は、具体的には、発電機１２０の累積発電量の差分から、一定時間における発電機１２０の発電量を取得してもよい。
【００８６】
負荷トルク制御部１１０２は、風速、および、風車１１０の回転数に基づいて、発電機１２０の負荷トルクを制御する。風車１１０は、風車１１０のピッチを制御する機能を有さなくてもよい。これにより、負荷トルク制御部１１０２は、エージェント１１０３の行動決定の実行間隔に関わらず、風速の変化に応じて発電機１２０の負荷トルクを制御する速度の低下を抑制することができ、動作点が意図せず移動してしまうことを防止することができる。
【００８７】
負荷トルク制御部１１０２は、例えば、風速、風車１１０の回転数、および、特性曲線上の現在の動作点に基づいて、発電機１２０の負荷トルクを制御する。これにより、負荷トルク制御部１１０２は、現在の動作点に合わせて負荷トルクを設定することができ、現在の動作点を維持しやすくすることができる。
【００８８】
具体的には、特性曲線上の現在の動作点が、極大点よりも風車１１０の回転数が小さい側の領域にある場合がある。極大点は、風車１１０の負荷トルクが極大になる点である。極大点よりも風車１１０の回転数が小さい側の領域は、山の左側の領域である。この場合、負荷トルク制御部１１０２は、発電機１２０の負荷トルクを、動作点の風車トルクより大きい値と、動作点の風車トルクより小さい値とに、交互に設定することにより、動作点を山の左側の領域で維持する。
【００８９】
ここで、動作点の風車トルクより大きい値は、例えば、負荷トルク上限である。また、動作点の風車トルクより大きい値は、負荷トルク上限よりも小さく、動作点の風車トルクに近い値であり、負荷トルクに負荷トルク上限を設定した場合に比べて、動作点が移動する速度を抑制することができる値であってもよい。
【００９０】
動作点の風車トルクより小さい値は、例えば、零である。また、動作点の風車トルクより小さい値は、零よりも大きく、動作点の風車トルクに近い値であり、負荷トルクに零を設定した場合に比べて、動作点が移動する速度を抑制することができる値であってもよい。これにより、負荷トルク制御部１１０２は、動作点を一定範囲に維持することができ、回転数の変動を抑制し、風車１１０にかかる負荷を抑制することができる。
【００９１】
また、具体的には、特性曲線上の現在の動作点が、極大点よりも風車１１０の回転数が大きい側の領域にある場合がある。極大点よりも風車１１０の回転数が大きい側の領域は、山の右側の領域である。この場合、負荷トルク制御部１１０２は、発電機１２０の負荷トルクを、発電機１２０の発電効率を最大化する最大発電トルクに設定することにより、動作点を山の右側の領域で維持する。また、負荷トルク制御部１１０２は、最大発電トルクが負荷トルク上限より大きければ、発電機１２０の負荷トルクを、負荷トルク上限に設定してもよい。これにより、負荷トルク制御部１１０２は、発電機１２０の発電効率の最大化を図ることができる。
【００９２】
負荷トルク制御部１１０２は、風速、風車１１０の回転数、および、発電機１２０による発電量に基づいて、発電機１２０の負荷トルクを制御してもよい。これにより、負荷トルク制御部１１０２は、最大トルクに対する最大発電トルクの比率を設定されなくても、発電機１２０による発電量が増大するように、負荷トルクの制御により動作点を制御することができる。
【００９３】
負荷トルク制御部１１０２は、エージェント１１０３より出力される行動が、動作点を山の左側の領域に移動させる行動である場合、発電機１２０の負荷トルクを制御することにより、動作点を山の左側の領域に移動させる。これにより、負荷トルク制御部１１０２は、ブレーキによる風車１１０が停止しないようにすることができ、長期的な発電効率の向上を図ることができる。
【００９４】
負荷トルク制御部１１０２は、例えば、発電機１２０の負荷トルクを、極大点の風車トルクより大きい値に設定することにより、動作点を山の左側の領域に移動させる。これにより、負荷トルク制御部１１０２は、動作点を山の左側に移動させる速度の向上を図ることができ、風速が変化する速度が大きい場合に対応しやすくすることができる。
【００９５】
エージェント１１０３は、学習時には、風速、および、風車１１０の回転数を観測値とし、発電機１２０による発電量を報酬とし、動作点を、山の左側の領域に移動させるか否かを行動とした強化学習を実行する。また、エージェント１１０３は、行動決定の動作時には、風速、および、風車１１０の回転数を観測値として、動作点を、山の左側の領域に移動させるか否かを行動とした出力を行う。エージェント１１０３は、例えば、Ｑ−Ｌｅａｒｎｉｎｇアルゴリズムにより、動作点を、山の左側の領域に移動させるか否かを、強化学習し、また、行動決定の動作時に行動として出力する。
【００９６】
これにより、エージェント１１０３は、学習時には、観測値を入力されると行動を出力する制御モデルを、風速の変化傾向などの環境の性質に適合するように学習し、更新することができる。また、エージェント１１０３は、行動決定の動作時には、実際の風速の変化傾向に合わせて、報酬である発電量の最大化を図ることができる行動を決定することができる。ここで、エージェント１１０３が行動決定する間隔は、負荷トルク制御部１１０２が発電機１２０の負荷トルクを制御する間隔よりも長くてもよい。
【００９７】
出力部１１０４は、各機能部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、通信Ｉ／Ｆ３０３による外部装置への送信、または、メモリ３０２や記録媒体３０５などの記憶領域への記憶である。これにより、出力部１１０４は、各機能部の処理結果を利用者に通知可能にし、風車制御装置１００の管理や運用、例えば、風車制御装置１００の設定値の更新などを支援することができ、風車制御装置１００の利便性の向上を図ることができる。
【００９８】
（風力発電システム１０１の具体的な機能的構成例）
次に、図１２を用いて、風力発電システム１０１の具体的な機能的構成例について説明する。
【００９９】
図１２は、風力発電システム１０１の具体的な機能的構成例を示すブロック図である。風力発電システム１０１は、風車１１０と、発電機１２０と、計測部１２０１と、ブレーキ１２０２と、稼働・停止部１２０３と、電力消費先１２０４と、風車制御装置１００とを含む。
【０１００】
風車１１０は、風を受け、風力を風車トルクに変換し、発電機１２０の軸に回転エネルギーとして伝達する。稼働・停止部１２０３は、風速の増加に伴い、ブレーキ１２０２を制御して、風車１１０を停止させるか、風車１１０を稼働させるかを決定する。ブレーキ１２０２は、稼働・停止部１２０３の制御に従って、風車１１０を停止する。稼働・停止部１２０３は、風車制御装置１００が有してもよい。
【０１０１】
発電機１２０は、風車１１０から回転エネルギーとして軸に伝達された風車トルクを用いて発電を行い、電力消費先１２０４に供給する。電力消費先１２０４は、発電された電力を消費する。計測部１２０１は、風速、風車１１０の風車トルク、風車１１０の回転数、および、発電機１２０の累計発電量を計測し、計測値を出力する。
【０１０２】
風車制御装置１００は、計測値取得部１２１１と、左右指定部１２１２と、左側維持部１２１３と、追随制御部１２１４と、負荷トルク設定部１２１５とを含む。図１１に示した負荷トルク制御部１１０２は、例えば、計測値取得部１２１１と、左右指定部１２１２と、左側維持部１２１３と、追随制御部１２１４と、負荷トルク設定部１２１５とによって実現される。
【０１０３】
計測値取得部１２１１は、一定時間ごとに、風速、風車１１０の風車トルク、風車１１０の回転数、および、発電機１２０の累計発電量の計測値を、計測部１２０１から取得する。計測値取得部１２１１は、取得した計測値に基づいて、図４に示した直近計測値情報４００を更新する。
【０１０４】
左右指定部１２１２は、一定時間ごとに、左側維持部１２１３または追随制御部１２１４に、制御指示を出力する。制御指示は、例えば、図４に示した直近計測値情報４００と、図５に示した風車トルク特性情報５００と、図６に示した比率情報６００とに基づいて生成される。左右指定部１２１２は、例えば、図７に示した移動フラグ情報７００が動作点を山の左側に移動させることを示せば、左側維持部１２１３に、制御指示を出力する。一方で、左右指定部１２１２は、例えば、図７に示した移動フラグ情報７００が動作点を山の左側に移動させないことを示せば、追随制御部１２１４に、制御指示を出力する。
【０１０５】
左側維持部１２１３は、負荷トルク設定部１２１５を介して発電機１２０の負荷トルクを制御することにより、風車１１０の動作点を特性曲線の山の左側に維持する。左側維持部１２１３は、負荷トルク設定部１２１５に、発電機１２０の負荷トルクを、現在の風車１１０の動作点の風車トルクより大きい値と小さい値とに交互に設定させることにより、風車１１０の動作点を特性曲線の山の左側に維持する。
【０１０６】
追随制御部１２１４は、負荷トルク設定部１２１５を介して発電機１２０の負荷トルクを制御することにより、風車１１０の動作点を特性曲線の山の右側に維持する。追随制御部１２１４は、負荷トルク設定部１２１５に、発電機１２０の負荷トルクを、発電機１２０の発電効率を最大化する最大発電トルクに設定させることにより、動作点を山の右側の領域で維持し、発電機１２０の発電効率の最大化を図る。
【０１０７】
負荷トルク設定部１２１５は、左側維持部１２１３または追随制御部１２１４の制御に従って、発電機１２０の負荷トルクを設定する。
【０１０８】
また、風車制御装置１００は、観測部１２２１と、報酬関数部１２２２と、状態更新部１２２３と、行動決定部１２２４とを含む。図１１に示したエージェント１１０３は、例えば、観測部１２２１と、報酬関数部１２２２と、状態更新部１２２３と、行動決定部１２２４とによって実現される。
【０１０９】
観測部１２２１は、一定時間ごとに、風速、風車１１０の風車トルク、風車１１０の回転数、および、発電機１２０の累計発電量の計測値を、計測部１２０１から取得する。観測部１２２１は、取得した計測値を、図８に示した観測履歴８００に記憶する。
【０１１０】
報酬関数部１２２２は、図８に示した観測履歴８００から発電機１２０の発電量を取得し、発電機１２０の発電量に対応する報酬値を算出し、状態更新部１２２３に出力する。
【０１１１】
状態更新部１２２３は、強化学習を実行し、図８に示した観測履歴８００から風速および風車１１０の回転数を取得し、報酬関数部１２２２から報酬値を取得し、図１０に示した行動履歴１０００を取得し、図９に示した行動価値テーブル９００を更新する。
【０１１２】
行動決定部１２２４は、図９に示した行動価値テーブル９００に基づいて、風車１１０の動作点を、特性曲線の山の左側に移動させるか否かを、行動として決定する。行動決定部１２２４は、決定した行動に基づいて、図７に示した移動フラグ情報７００を更新し、図１０に示した行動履歴１０００を更新する。
【０１１３】
（風車トルク特性に基づく発電機１２０の負荷トルクの制御指標）
図１３〜図１９を用いて、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標について説明する。
【０１１４】
図１３〜図１９は、風車トルク特性に基づく発電機１２０の負荷トルクの制御指標を示す説明図である。図１３の例では、表１３００を示し、風速ごとの風車トルク特性と、風速ごとの発電量特性とを示す。風速ごとの風車トルク特性は、曲線１３２１〜１３２３である。風車トルク特性は、山なりの特性である。風速ごとの発電量特性は、曲線１３１１〜１３１３である。発電量特性は、山なりの特性である。風速の変化に対する、発電機１２０の発電量を最大化することができる風車１１０の回転数および風車１１０の風車トルクの組み合わせを示す最大発電量点は、曲線１３０１上にある。
【０１１５】
このため、風車１１０の動作点は、曲線１３０１と曲線１３２１〜１３２３の交点となる最大発電量点ａ0，ａ1，ａ2に設定することが好ましく、山の右側にすることが好ましいという制御指標が得られる。次に、図１４の説明に移行する。
【０１１６】
図１４の例では、表１４００を示し、風速ごとの風車トルク特性と、風速ごとの発電量特性とを示す。風速Ｖ１，Ｖ２の風車トルク特性は、曲線１４２１，１４２２である。風速Ｖ１＜風速Ｖ２である。風速Ｖ１，Ｖ２の発電量特性は、曲線１４１１，１４１２である。風速の変化に対する、発電機１２０の発電量を最大化することができる風車１１０の回転数および風車１１０の風車トルクの組み合わせを示す最大発電量点は、曲線１４０１上にある。
【０１１７】
風速Ｖ１で動作点ａ１であると、風速がＶ１からＶ２に増加したとき、負荷トルクが一定であれば、風速の増加により動作点がａ1からａ2Bに移動する。このため、風速がＶ１からＶ２に増加した場合は、風速Ｖ２の最大発電量点ａ2の風車トルクと釣り合う大きさの負荷トルクを設定し、風車１１０の動作点を最大発電量点ａ2に移動することが好ましいという制御指標が得られる。次に、図１５の説明に移行する。
【０１１８】
図１５の例では、表１５００を示し、風速ごとの風車トルク特性と、風速ごとの発電量特性とを示し、風車１１０が破損する恐れがある回転数上限を示す。また、負荷トルクに設定可能な負荷トルク上限がある。風速Ｖ２，Ｖ３，Ｖ４の風車トルク特性は、曲線１５１１，１５１２，１５１３である。風速Ｖ２＜風速Ｖ３＜風速Ｖ４である。風速Ｖ２，Ｖ３，Ｖ４の発電量特性は、曲線１５１１，１５１２，１５１３である。風速の変化に対する、発電機１２０の発電量を最大化することができる風車１１０の回転数および風車１１０の風車トルクの組み合わせを示す最大発電量点は、曲線１５０１上にある。
【０１１９】
ここで、風速Ｖ３では、発電機１２０の負荷トルクを負荷トルク上限に設定しても、風車１１０の動作点を、最大発電量点ａ3にすることができない。また、風車１１０の回転数が、回転数上限を超えると、ブレーキ１２０２が作動し、風車１１０の回転が停止され、発電機１２０による発電が停止される。このため、風速Ｖ３から風速Ｖ４に増加すると、風車１１０の動作点がａ4に移動し、風車１１０の回転数が回転数上限を超えてしまい、ブレーキ１２０２が作動し、風車１１０の回転が停止される。風車１１０の回転が一度停止すると、風車１１０の再稼働に時間がかかり、長期的な発電効率の低下を招く。次に、図１６の説明に移行する。
【０１２０】
図１６の例では、表１６００を示す。表１６００は、表１５００と同様である。図１５に示したように、風速Ｖ４になると、風車１１０の動作点がａ4に移動し、風車１１０の回転数が回転数上限を超えてしまい、ブレーキ１２０２が作動してしまう。
【０１２１】
このため、風速Ｖ４の場合、風車１１０の動作点を、特性曲線の山の左側の点ａ4Lにすることが好ましいという制御指標を得ることができる。しかしながら、風速Ｖ２を超えた場合、負荷トルクを負荷トルク上限に設定しても、風車１１０の動作点を山の右側から左側に移動することができないため、風速Ｖ２を超える前に移動させることが好ましいという制御指標を得ることができる。一方で、風速Ｖ４に達せず、風速Ｖ３付近で風速が変動する場合、可能であれば風車１１０の動作点を、山の右側にすることが好ましいという制御指標を得ることができる。次に、図１７の説明に移行する。
【０１２２】
図１７の例では、表１７００を示し、風速ごとの風車トルク特性を示し、風車１１０の動作点を山の右側に維持する場合について示す。風速Ｖ１，Ｖ２の風車トルク特性は、曲線１７０１，１７０２である。風速Ｖ１＜風速Ｖ２である。
【０１２３】
ここで、山の右側では、風車１１０の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが釣り合う方向へ移動するという性質がある。また、風速が増加時は回転数が増加し、風速が減少時は回転数が減少するという性質がある。
【０１２４】
このため、負荷トルクを設定してから時間が経過しても、風車１１０の動作点は、風車トルクと負荷トルクとが釣り合う点で停止するので、負荷トルクを制御する時間間隔は比較的長くてもよいという制御指標が得られる。次に、図１８の説明に移行する。
【０１２５】
図１８の例では、表１８００を示し、風速ごとの風車トルク特性を示し、風車１１０の動作点を山の左側に維持する場合について示す。風速Ｖ１，Ｖ２の風車トルク特性は、曲線１８０１，１８０２である。風速Ｖ１＜風速Ｖ２である。
【０１２６】
ここで、山の左側は、不安定領域であり、山の左側では、風車１１０の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが離れる方向へ移動するという性質がある。また、風速が増加時は回転数が増加し、風速が減少時は回転数が減少するという性質がある。
【０１２７】
このため、負荷トルクを設定してから時間が経過すると、風車１１０の動作点は、風車トルクと負荷トルクとが離れていき、回転数は加速度的に変化する傾向があり、負荷トルクを制御する時間間隔は比較的短くすることが好ましいという制御指標が得られる。回転数が変化する速度は、例えば、下記式（１）に基づいて特定される。
【０１２８】
【数１】
2019070346.tif 000003
【０１２９】
Ｉは、慣性モーメントである。慣性モーメントは、回転体が同じ回転運動を保ち続けようとする回転の慣性の大きさである。慣性モーメントが小さいほど、定常状態までの回転数の変化スピードは早くなる。慣性モーメントは、重さや長さが小さいほど小さな値となる。このため、慣性モーメントは、小型風力発電システム１０１では小さくなりやすい。
【０１３０】
ＴUは、風車トルクである。λは、周速比である。Ｕは、風速である。風速が大きいほど、風車トルクの絶対値は大きくなる。ＴLは、負荷トルクである。上記式（１）の右辺が大きいほど、回転数の変化量ｄｗ／ｄｔは大きくなるため、風速が上がると、回転数が変化する速度が上がりやすい。次に、図１９の説明に移行する。
【０１３１】
図１９の例では、表１９００を示し、風速ごとの風車トルク特性を示し、風車１１０の動作点を山の左側に維持する場合についてさらに示す。風車トルク特性は、曲線１９０１である。山の左側では、風車１１０の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが離れる方向へ移動するという性質がある。
【０１３２】
このため、回転数を減少方向に動かすための負荷トルクと、回転数を増加方向に動かすための負荷トルクとを交互に設定することにより、風車１１０の動作点を、零にせず、一定範囲内に収めることが好ましいという制御指標が得られる。回転数を減少方向に動かすための負荷トルクは、山の左側の現在の動作点の風車トルクより大きい。回転数を増加方向に動かすための負荷トルクは、山の左側の現在の動作点の風車トルクより小さい。ここで、風車１１０の動作点を収める範囲を徐々に狭めることが好ましい。
【０１３３】
（発電機１２０の負荷トルクを制御する流れ）
次に、図２０を用いて、図１３〜図１９に示した制御指標を考慮して、風車制御装置１００が発電機１２０の負荷トルクを制御する流れについて説明する。
【０１３４】
図２０は、発電機１２０の負荷トルクを制御する流れを示す説明図である。図２０において、風車制御装置１００は、風車１１０の動作点が、山の右側になるように、負荷トルクを制御する。風車制御装置１００は、エージェント１１０３により、風車１１０の動作点を、山の左側へ移動させるタイミングが決定されると、風車１１０の動作点を、山の左側に移動させ、風車１１０の動作点が、山の左側で維持されるように、負荷トルクを制御する。負荷トルクを制御する間隔は、エージェント１１０３による行動決定にかかる時間より短くなるように設定することが好ましい。
【０１３５】
表２０１０は、風車１１０の動作点が、山の右側になるように、負荷トルクを制御する場合に対応する。風車トルク特性は、曲線２０１１である。発電機１２０の発電量を最大化することができる風車１１０の回転数および風車１１０の風車トルクの組み合わせを示す最大発電量点は、曲線２０１２上にある。風車制御装置１００は、例えば、計測機から風速を取得し、最大発電点の負荷トルクを算出して、発電機１２０に設定する。
【０１３６】
また、風車制御装置１００は、例えば、回転数が、極大点の回転数、または、極大点の回転数＋マージンまで下がれば、負荷トルクを下げるように制御する。風車制御装置１００は、具体的には、負荷トルクを、動作点を最大発電点に近づける値として、負荷トルク０、または、直前の設定値の８０％などに設定する。
【０１３７】
また、風車制御装置１００は、例えば、回転数が、回転数上限、または、回転数上限−マージンまで上がれば、負荷トルクを上げるように制御する。風車制御装置１００は、具体的には、負荷トルクを、風速増加による回転エネルギーを吸収する値として、負荷トルク上限、または、直前の設定値の１２０％などに設定する。
【０１３８】
表２０２０は、風車１１０の動作点が、山の左側になるように、負荷トルクを制御する場合に対応する。風車トルク特性は、曲線２０２１である。風車制御装置１００は、例えば、計測機から風速を取得し、現在の風車トルクを算出する。
【０１３９】
風車制御装置１００は、例えば、算出した風車トルクが目標トルクより大きければ、同じ回転数で風速１２０％の風車トルクを、負荷トルクに設定する。目標トルクは、例えば、負荷トルク上限−マージンである。そして、風車制御装置１００は、風速が上がっても、風速１２０％までは許容し、回転数と風車トルクとを減少方向に変化させる。
【０１４０】
風車制御装置１００は、例えば、算出した風車トルクが目標トルクより小さければ、同じ回転数で風速８０％の風車トルクを、負荷トルクに設定する。そして、風車制御装置１００は、風速が下がっても、風速８０％までは許容し、回転数と風車トルクとを増加方向に変化させる。
【０１４１】
風車制御装置１００は、例えば、動作点が山の右側の場合、負荷トルク上限を、負荷トルクに設定する。そして、風車制御装置１００は、回転数を減少方向に変化させる。これにより、風車制御装置１００は、エージェント１１０３の行動決定にかかる時間に関わらず、負荷トルクの制御により風車トルクと回転数を安定して制御することができ、発電効率の最大化を図ることができる。
【０１４２】
（発電機１２０の負荷トルクを制御する動作例）
次に、図２１〜図３０を用いて、風車制御装置１００が発電機１２０の負荷トルクを制御する動作例について説明する。
【０１４３】
図２１〜図３０は、発電機１２０の負荷トルクを制御する動作例を示す説明図である。図２１〜図３０の例では、風速は、１秒間隔で計測される。また、回転数は、負荷トルクの制御間隔に合わせて計測される。制御間隔は、例えば、０．０１〜０．１秒である。発電量は、１秒間隔で積算値の差分が計測される。以下の説明では、風速、回転数、発電量をまとめて取得した時刻を「計測時刻」と表記する場合がある。
【０１４４】
また、風速６ｍ／ｓ超の場合、風車トルクは、負荷トルク上限を超える。また、風速８ｍ／ｓ以上の場合、負荷トルクを負荷トルク上限に設定しても、回転数は、回転数上限５００ｒｐｍを超過する。また、発電電力は、風速６ｍ／ｓで２０Ｗ程度であり、測定値である積算電力値としては５．５ｍＷｈ程度である。強化学習は、風速および回転数を、それぞれ、１ｍ／ｓ、５０ｒｐｍの幅で離散化し、Ｑ−Ｌｅａｒｎｉｎｇにより行われる。次に、図２１および図２２の説明に移行する。
【０１４５】
図２１および図２２の例は、風速５ｍ／ｓ〜７ｍ／ｓである地域Ａにおいて、風車１１０の動作点を山の右側にした場合の、強化学習による行動価値の変化を示す。まず、図２１の説明に移行する。
【０１４６】
図２１の最初の状態は、風速６ｍ／ｓにおいて、左への移動有無のフラグ＝０であり、風車制御装置１００が風車１１０の動作点を山の右側で制御している状態である。
【０１４７】
（２１−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２１０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１４８】
（２１−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量５．０３を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値２．５１を算出する。
【０１４９】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２１０２を特定する。風車制御装置１００は、特定したレコード２１０２のＱ値を、算出したＱ値で更新する。
【０１５０】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の右側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。次に、図２２の説明に移行する。
【０１５１】
図２２の例は、図２１の例の続きである。図２２の最初の状態は、図２１の最後の状態の次の計測時刻でも風速７ｍ／ｓであり、風車制御装置１００が風車１１０の動作点を山の右側で制御している状態である。
【０１５２】
（２２−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２２０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１５３】
（２２−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量８．５６を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値４．２８を算出する。
【０１５４】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２２０２を特定する。風車制御装置１００は、特定したレコード２２０２のＱ値を、算出したＱ値で更新する。
【０１５５】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の右側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。次に、図２３および図２４の説明に移行する。
【０１５６】
図２３および図２４の例は、図２１および図２２と同じく風速５ｍ／ｓ〜７ｍ／ｓである地域Ａにおいて、図２１および図２２とは異なり風車１１０の動作点を山の左側にした場合の、強化学習による行動価値の変化を示す。まず、図２３の説明に移行する。
【０１５７】
図２３の最初の状態は、風速６ｍ／ｓにおいて、左への移動有無のフラグ＝１であり、風車制御装置１００が風車１１０の動作点を山の左側で制御している状態である。
【０１５８】
（２３−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２３０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１５９】
（２３−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量４．７５を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値２．３７を算出する。
【０１６０】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２３０２を特定する。風車制御装置１００は、特定したレコード２３０２のＱ値を、算出したＱ値で更新する。
【０１６１】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の左側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。風車制御装置１００は、例えば、レコード２１０２と、レコード２３０２のように、風速および回転数の条件が同じ、かつ、行動が異なるレコードを記憶することができる。
【０１６２】
このため、風車制御装置１００は、現在および過去の風速および回転数が、風速および回転数の条件に当てはまる場合、いずれの行動を行った方が、Ｑ値が大きいかを特定可能にすることができる。Ｑ値が大きい行動の方が、発電機１２０の発電効率の最大化の観点から好ましい行動である。次に、図２４の説明に移行する。
【０１６３】
図２４の例は、図２３の例の続きである。図２４の最初の状態は、図２３の最後の状態の次の計測時刻でも風速７ｍ／ｓであり、風車制御装置１００が風車１１０の動作点を山の左側で制御している状態である。
【０１６４】
（２４−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２４０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１６５】
（２４−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量３．３１を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値１．６５を算出する。
【０１６６】
風車制御装置１００は、行動価値テーブル９００から、現在の計測時刻の風速および回転数と、１つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２４０２を特定する。風車制御装置１００は、特定したレコード２４０２のＱ値を、算出したＱ値で更新する。
【０１６７】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の左側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。風車制御装置１００は、例えば、レコード２２０２と、レコード２４０２のように、風速および回転数の条件が同じ、かつ、行動が異なるレコードを記憶することができる。
【０１６８】
このため、風車制御装置１００は、現在および過去の風速および回転数が、風速および回転数の条件に当てはまる場合、いずれの行動を行った方が、Ｑ値が大きいかを特定可能にすることができる。Ｑ値が大きい行動の方が、発電機１２０の発電効率の最大化の観点から好ましい行動である。次に、図２５および図２６の説明に移行する。
【０１６９】
図２５および図２６の例は、風速５ｍ／ｓ〜８ｍ／ｓである地域Ｂにおいて、風車１１０の動作点を山の右側にした場合の、強化学習による行動価値の変化を示す。まず、図２５の説明に移行する。
【０１７０】
図２５の最初の状態は、風速６ｍ／ｓにおいて、左への移動有無のフラグ＝０であり、風車制御装置１００が風車１１０の動作点を山の右側で制御している状態である。
【０１７１】
（２５−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２５０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１７２】
（２５−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量５．０３を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値２．５１を算出する。
【０１７３】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２５０２を特定する。風車制御装置１００は、特定したレコード２５０２のＱ値を、算出したＱ値で更新する。
【０１７４】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の右側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。次に、図２６の説明に移行する。
【０１７５】
図２６の例は、図２５の例の続きである。図２６の最初の状態は、図２５の最後の状態の次の計測時刻でも風速７ｍ／ｓであり、風車制御装置１００が風車１１０の動作点を山の右側で制御した後の状態である。図２６の最初の状態は、さらに次の計測時刻で風速８ｍ／ｓであり、風車１１０の動作点を山の右側で制御している状態である。
【０１７６】
（２６−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速８ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２６０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。ここで、風速８ｍ／ｓのため、ブレーキにより風車１１０の回転が停止され、発電量が小さくなってしまう。
【０１７７】
（２６−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量０．８５を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値０．４２を算出する。
【０１７８】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２６０２を特定する。風車制御装置１００は、特定したレコード２６０２のＱ値を、算出したＱ値で更新する。
【０１７９】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の右側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。また、風車制御装置１００は、地域Ａの風力発電システムと地域Ｂの風力発電システムとで、異なる行動価値テーブル９００を生成可能にすることができる。次に、図２７および図２８の説明に移行する。
【０１８０】
図２７および図２８の例は、図２５および図２６と同じく風速５ｍ／ｓ〜８ｍ／ｓである地域Ｂにおいて、図２５および図２６とは異なり風車１１０の動作点を山の左側にした場合の、強化学習による行動価値の変化を示す。まず、図２７の説明に移行する。
【０１８１】
図２７の最初の状態は、風速６ｍ／ｓにおいて、左への移動有無のフラグ＝１であり、風車制御装置１００が風車１１０の動作点を山の左側で制御している状態である。
【０１８２】
（２７−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２７０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１８３】
（２７−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量４．７５を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値２．３７を算出する。
【０１８４】
風車制御装置１００は、行動価値テーブル９００から、１つ前の計測時刻の風速および回転数と、２つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２７０２を特定する。風車制御装置１００は、特定したレコード２７０２のＱ値を、算出したＱ値で更新する。
【０１８５】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の左側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。風車制御装置１００は、例えば、レコード２５０２と、レコード２７０２のように、風速および回転数の条件が同じ、かつ、行動が異なるレコードを記憶することができる。
【０１８６】
このため、風車制御装置１００は、現在および過去の風速および回転数が、風速および回転数の条件に当てはまる場合、いずれの行動を行った方が、Ｑ値が大きいかを特定可能にすることができる。Ｑ値が大きい行動の方が、発電機１２０の発電効率の最大化の観点から好ましい行動である。次に、図２８の説明に移行する。
【０１８７】
図２８の例は、図２７の例の続きである。図２８の最初の状態は、図２７の最後の状態の次の計測時刻でも風速７ｍ／ｓであり、風車制御装置１００が風車１１０の動作点を山の左側で制御した後の状態である。図２８の最初の状態は、さらに次の計測時刻で風速８ｍ／ｓであり、風車制御装置１００が風車１１０の動作点を山の左側で制御している状態である。
【０１８８】
（２８−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速７ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２８０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。ここで、風車１１０の動作点を山の左側で制御したため、ブレーキにより風車１１０の回転が停止されず、回転が停止した場合に比べて発電量が大きくなっている。
【０１８９】
（２８−２）風車制御装置１００は、報酬を算出する。風車制御装置１００は、例えば、直近の発電量３．２７を、報酬として用いる。風車制御装置１００は、１つ前の計測時刻での行動の価値としてＱ値１．６３を算出する。
【０１９０】
風車制御装置１００は、行動価値テーブル９００から、現在の計測時刻の風速および回転数と、１つ前の計測時刻での風速および回転数とが条件に当てはまり、１つ前の計測時刻での行動を示すレコード２８０２を特定する。風車制御装置１００は、特定したレコード２８０２のＱ値を、算出したＱ値で更新する。
【０１９１】
これにより、風車制御装置１００は、様々な環境の変化に対して、風車１１０の動作点を山の左側にしたことが、発電機１２０の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。風車制御装置１００は、例えば、レコード２６０２と、レコード２８０２のように、風速および回転数の条件が同じ、かつ、行動が異なるレコードを記憶することができる。
【０１９２】
このため、風車制御装置１００は、現在および過去の風速および回転数が、風速および回転数の条件に当てはまる場合、いずれの行動を行った方が、Ｑ値が大きいかを特定可能にすることができる。Ｑ値が大きい行動の方が、発電機１２０の発電効率の最大化の観点から好ましい行動である。風車制御装置１００は、具体的には、風車１１０の動作点を山の左側で制御する行動の方が、ブレーキにより風車１１０の回転が停止されないため好ましいことを特定可能にすることができる。また、風車制御装置１００は、地域Ａの風力発電システムと地域Ｂの風力発電システムとで、異なる行動価値テーブル９００を生成可能にすることができる。次に、図２９の説明に移行する。
【０１９３】
図２９の例は、風速５ｍ／ｓ〜７ｍ／ｓである地域Ａにおいて、風車制御装置１００が、行動価値テーブル９００に基づいて、エージェント１１０３により行動を決定する一例を示す。図２９の最初の状態は、風速６ｍ／ｓの状態である。
【０１９４】
（２９−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速６ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード２９０１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１９５】
（２９−２）風車制御装置１００は、行動価値テーブル９００に基づいて、現在の計測時刻の風速および回転数と、１つ前の計測時刻での風速および回転数とが条件に当てはまるレコード２９０２，２９０３を特定する。そして、風車制御装置１００は、レコード２９０２，２９０３のうちＱ値が大きい方のレコード２９０２が示す行動を、次の行動に決定する。
【０１９６】
これにより、風車制御装置１００は、地域Ａにおける様々な環境の変化に対して、発電機１２０の発電効率の最大化の観点から好ましい行動を決定することができる。風車制御装置１００は、例えば、地域Ａにおける様々な環境の変化に対して発電機１２０の発電効率の最大化するように、風車１１０の動作点を山の左側に移動させるか否かを決定することができる。次に、図３０の説明に移行する。
【０１９７】
図３０の例は、風速５ｍ／ｓ〜８ｍ／ｓである地域Ｂにおいて、風車制御装置１００が、行動価値テーブル９００に基づいて、エージェント１１０３により行動を決定する一例を示す。図３０の最初の状態は、風速６ｍ／ｓの状態である。
【０１９８】
（３０−１）風車制御装置１００は、計測部から計測値を取得し、観測履歴８００へ追加する。風車制御装置１００は、例えば、新たに風速６ｍ／ｓなどの計測値を取得し、観測履歴８００にレコード３００１を追加する。発電量は、１つ前の計測時刻での行動の結果である。
【０１９９】
（３０−２）風車制御装置１００は、行動価値テーブル９００に基づいて、現在の計測時刻の風速および回転数と、１つ前の計測時刻での風速および回転数とが条件に当てはまるレコード３００２，３００３を特定する。そして、風車制御装置１００は、レコード３００２，３００３のうちＱ値が大きい方のレコード３００３が示す行動を、次の行動に決定する。
【０２００】
これにより、風車制御装置１００は、地域Ａにおける様々な環境の変化に対して、発電機１２０の発電効率の最大化の観点から好ましい行動を決定することができる。風車制御装置１００は、例えば、地域Ａにおける様々な環境の変化に対して発電機１２０の発電効率を最大化するように、風車１１０の動作点を山の左側に移動させるか否かを決定することができる。
【０２０１】
（全体処理手順）
次に、図３１を用いて、風車制御装置１００が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２０２】
図３１は、全体処理手順の一例を示すフローチャートである。図３１において、まず、風車制御装置１００は、風速、回転数、および、発電量を、それぞれに対応するサンプリング間隔で計測する（ステップＳ３１０１）。次に、風車制御装置１００は、計測値を取得し、直近の計測値を更新する（ステップＳ３１０２）。そして、風車制御装置１００は、計測値を取得し、観測履歴８００を更新する（ステップＳ３１０３）。
【０２０３】
次に、風車制御装置１００は、風速および回転数の計測値に基づいて、図３２に後述する稼働・停止処理を実行する（ステップＳ３１０４）。そして、風車制御装置１００は、図３３に後述する強化学習処理を実行し、左への移動有無フラグを更新する（ステップＳ３１０５）。その後、風車制御装置１００は、図３４に後述する負荷トルク制御処理を実行し、発電機１２０の負荷トルクを設定する（ステップＳ３１０６）。
【０２０４】
次に、風車制御装置１００は、全体処理を終了するか否かを判定する（ステップＳ３１０７）。ここで、全体処理を終了しない場合（ステップＳ３１０７：Ｎｏ）、風車制御装置１００は、ステップＳ３１０１の処理に移行する。一方で、全体処理を終了する場合（ステップＳ３１０７：Ｙｅｓ）、風車制御装置１００は、全体処理を終了する。
【０２０５】
（稼働・停止処理手順）
次に、図３２を用いて、風車制御装置１００が実行する、稼働・停止処理手順の一例について説明する。稼働・停止処理手順は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２０６】
図３２は、稼働・停止処理手順の一例を示すフローチャートである。図３２において、風車制御装置１００は、最新の風速および回転数を取得する（ステップＳ３２０１）。
【０２０７】
次に、風車制御装置１００は、取得した風速がカットオフ風速以上であるか否かを判定する（ステップＳ３２０２）。ここで、カットオフ風速以上である場合（ステップＳ３２０２：Ｙｅｓ）、風車制御装置１００は、ステップＳ３２０５の処理に移行する。一方で、カットオフ風速未満である場合（ステップＳ３２０２：Ｎｏ）、風車制御装置１００は、ステップＳ３２０３の処理に移行する。
【０２０８】
ステップＳ３２０３では、風車制御装置１００は、取得した風速がカットイン風速未満であるか否かを判定する（ステップＳ３２０３）。ここで、カットイン風速未満である場合（ステップＳ３２０３：Ｙｅｓ）、風車制御装置１００は、ステップＳ３２０５の処理に移行する。一方で、カットイン風速以上である場合（ステップＳ３２０３：Ｎｏ）、風車制御装置１００は、ステップＳ３２０４の処理に移行する。
【０２０９】
ステップＳ３２０４では、風車制御装置１００は、取得した回転数が、回転数上限に関する閾値以上であるか否かを判定する（ステップＳ３２０４）。ここで、回転数上限に関する閾値以上である場合（ステップＳ３２０４：Ｙｅｓ）、風車制御装置１００は、ステップＳ３２０５の処理に移行する。一方で、回転数上限に関する閾値未満である場合（ステップＳ３２０４：Ｎｏ）、風車制御装置１００は、ステップＳ３２０６の処理に移行する。
【０２１０】
ステップＳ３２０５では、風車制御装置１００は、ブレーキにより風車１１０を停止する（ステップＳ３２０５）。そして、風車制御装置１００は、稼働・停止処理を終了する。
【０２１１】
ステップＳ３２０６では、風車制御装置１００は、ブレーキによる風車１１０の停止を解除する（ステップＳ３２０６）。そして、風車制御装置１００は、稼働・停止処理を終了する。
【０２１２】
（強化学習処理手順）
次に、図３３を用いて、風車制御装置１００が実行する、強化学習処理手順の一例について説明する。強化学習処理手順は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２１３】
図３３は、強化学習処理手順の一例を示すフローチャートである。図３３において、風車制御装置１００は、観測履歴８００の直近Ｋ個のレコードを取得する（ステップＳ３３０１）。
【０２１４】
次に、風車制御装置１００は、行動履歴から１つ前の行動を取得する（ステップＳ３３０２）。そして、風車制御装置１００は、前回の強化学習処理までの累積発電量と今回の強化学習処理までの累積発電量の差分である、直近の発電量を報酬として算出する（ステップＳ３３０３）。
【０２１５】
次に、風車制御装置１００は、Ｋ個の風速および回転数の組み合わせを状態とし、取得した１つ前の行動と、算出した報酬とに基づいて、強化学習アルゴリズムにより、行動価値テーブル９００を更新する（ステップＳ３３０４）。
【０２１６】
そして、風車制御装置１００は、Ｋ個の風速および回転数の組み合わせを状態とし、行動価値テーブル９００を参照し、行動選択アルゴリズムにより、左への移動有無を行動として決定し、左への移動有無フラグを更新する（ステップＳ３３０５）。その後、風車制御装置１００は、強化学習処理を終了する。
【０２１７】
（負荷トルク制御処理手順）
次に、図３４を用いて、風車制御装置１００が実行する、負荷トルク制御処理手順の一例について説明する。負荷トルク制御処理手順は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２１８】
図３４は、負荷トルク制御処理手順の一例を示すフローチャートである。図３４において、風車制御装置１００は、直近の計測値から、最新の風速、回転数、および、発電量を取得する（ステップＳ３４０１）。
【０２１９】
次に、風車制御装置１００は、左への移動有無のフラグを取得する（ステップＳ３４０２）。そして、風車制御装置１００は、風車トルク特性を取得する（ステップＳ３４０３）。
【０２２０】
次に、風車制御装置１００は、風車１１０の動作点を山の左側に移動させるか否かを判定する（ステップＳ３４０４）。ここで、山の左側に移動させる場合（ステップＳ３４０４：Ｙｅｓ）、風車制御装置１００は、ステップＳ３４０５の処理に移行する。一方で、山の左側に移動させない場合（ステップＳ３４０４：Ｎｏ）、風車制御装置１００は、ステップＳ３４０６の処理に移行する。
【０２２１】
ステップＳ３４０５では、風車制御装置１００は、図３５に後述する左側制御処理を実行し、発電機１２０の負荷トルクの設定値を決定する（ステップＳ３４０５）。そして、風車制御装置１００は、ステップＳ３４０７の処理に移行する。
【０２２２】
ステップＳ３４０６では、風車制御装置１００は、図３６に後述する右側制御処理を実行し、発電機１２０の負荷トルクの設定値を決定する（ステップＳ３４０６）。そして、風車制御装置１００は、ステップＳ３４０７の処理に移行する。
【０２２３】
ステップＳ３４０７では、風車制御装置１００は、決定した発電機１２０の負荷トルクの設定値を、発電機１２０に設定する（ステップＳ３４０７）。そして、風車制御装置１００は、負荷トルク制御処理を終了する。
【０２２４】
（左側制御処理手順）
次に、図３５を用いて、風車制御装置１００が実行する、左側制御処理手順の一例について説明する。左側制御処理手順は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２２５】
図３５は、左側制御処理手順の一例を示すフローチャートである。図３５において、風車制御装置１００は、最新の風速および回転数と、風車トルク特性とに基づいて、現在の風車トルクを算出する（ステップＳ３５０１）。
【０２２６】
次に、風車制御装置１００は、算出した風車トルクが山の左側における基準トルク以上であるか否かを判定する（ステップＳ３５０２）。ここで、基準トルク以上である場合（ステップＳ３５０２：Ｙｅｓ）、風車制御装置１００は、ステップＳ３５０３の処理に移行する。一方で、基準トルク未満である場合（ステップＳ３５０２：Ｎｏ）、風車制御装置１００は、ステップＳ３５０４の処理に移行する。
【０２２７】
ステップＳ３５０３では、風車制御装置１００は、最新の回転数と同じ回転数において最新の風速よりも増加方向に調整した風速に対応する風車トルクを算出し、発電機１２０の負荷トルクの設定値に決定する（ステップＳ３５０３）。そして、風車制御装置１００は、ステップＳ３５０５の処理に移行する。
【０２２８】
ステップＳ３５０４では、風車制御装置１００は、最新の回転数と同じ回転数において最新の風速よりも減少方向に調整した風速に対応する風車トルクを算出し、発電機１２０の負荷トルクの設定値に決定する（ステップＳ３５０４）。そして、風車制御装置１００は、ステップＳ３５０５の処理に移行する。
【０２２９】
ステップＳ３５０５では、風車制御装置１００は、最新の回転数が、山の左側における回転数上限に関する閾値以上であるか否かを判定する（ステップＳ３５０５）。ここで、回転数上限に関する閾値以上である場合（ステップＳ３５０５：Ｙｅｓ）、風車制御装置１００は、ステップＳ３５０６の処理に移行する。一方で、回転数上限に関する閾値未満である場合（ステップＳ３５０５：Ｎｏ）、風車制御装置１００は、左側制御処理を終了する。
【０２３０】
ステップＳ３５０６では、風車制御装置１００は、発電機１２０の負荷トルクの設定値を、山の左側における回転数上限に関する閾値に到達時の設定値に変更する（ステップＳ３５０６）。そして、風車制御装置１００は、左側制御処理を終了する。
【０２３１】
（右側制御処理手順）
次に、図３６を用いて、風車制御装置１００が実行する、右側制御処理手順の一例について説明する。右側制御処理手順は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、通信Ｉ／Ｆ３０３とによって実現される。
【０２３２】
図３６は、右側制御処理手順の一例を示すフローチャートである。図３６において、風車制御装置１００は、最新の風速および回転数と、風車トルク特性と、最大トルクに対する最大発電トルクの比率とに基づいて、最大発電点の負荷トルクを算出し、発電機１２０の負荷トルクの設定値に決定する（ステップＳ３６０１）。
【０２３３】
次に、風車制御装置１００は、最新の回転数が、回転数上限に関する閾値以上であるか否かを判定する（ステップＳ３６０２）。ここで、回転数上限に関する閾値以上である場合（ステップＳ３６０２：Ｙｅｓ）、風車制御装置１００は、ステップＳ３６０３の処理に移行する。一方で、回転数上限に関する閾値未満である場合（ステップＳ３６０２：Ｎｏ）、風車制御装置１００は、ステップＳ３６０４の処理に移行する。
【０２３４】
ステップＳ３６０３では、風車制御装置１００は、発電機１２０の負荷トルクの設定値を、回転数上限に関する閾値に到達時の設定値に変更する（ステップＳ３６０３）。そして、風車制御装置１００は、右側制御処理を終了する。
【０２３５】
ステップＳ３６０４では、風車制御装置１００は、最新の回転数が回転数下限に関する閾値以下であるか否かを判定する（ステップＳ３６０４）。ここで、回転数下限に関する閾値以下である場合（ステップＳ３６０４：Ｙｅｓ）、風車制御装置１００は、ステップＳ３６０５の処理に移行する。一方で、回転数下限に関する閾値より大きい場合（ステップＳ３６０４：Ｎｏ）、風車制御装置１００は、右側制御処理を終了する。
【０２３６】
ステップＳ３６０５では、風車制御装置１００は、発電機１２０の負荷トルクの設定値を、回転数下限に関する閾値に到達時の設定値に変更する（ステップＳ３６０５）。そして、風車制御装置１００は、右側制御処理を終了する。
【０２３７】
以上説明したように、風車制御装置１００によれば、風速、および、風車１１０の回転数に基づいて、風車１１０を用いた発電機１２０の負荷トルクを制御することができる。風車制御装置１００によれば、風速、および、風車１１０の回転数を観測値とし、発電機１２０による発電量を報酬とし、風車１１０の動作点を山の左側に移動させるか否かを行動とした強化学習をエージェント１１０３に実行させることができる。風車制御装置１００によれば、風速、および、風車の回転数が入力されたエージェント１１０３が、動作点を山の左側に移動させる出力を行った場合、発電機１２０の負荷トルクを制御することにより、動作点を山の左側に移動させることができる。これにより、風車制御装置１００は、風速などの環境の変化に合わせて、風力発電システム１０１に対して適切な制御を行うことができ、発電機１２０の長期的な発電効率の低下を招くことを回避することができる。
【０２３８】
風車制御装置１００によれば、風車１１０のピッチを制御する機能を風車１１０が有さなくても、風力発電システム１０１を制御することができる。これにより、風車制御装置１００は、自装置を適用することができる風力発電システム１０１の種類を増加させることができる。風車制御装置１００は、風力発電システム１０１の製造コストの低減化を図ることができる。
【０２３９】
風車制御装置１００によれば、風速、風車１１０の回転数、および、特性曲線上の現在の動作点に基づいて、発電機１２０の負荷トルクを制御することができる。これにより、風車制御装置１００は、現在の動作点に合わせて負荷トルクを設定することができ、現在の動作点を維持しやすくすることができる。
【０２４０】
風車制御装置１００によれば、発電機１２０の負荷トルクを制御する間隔が、エージェント１１０３が行動を出力する間隔よりも短くても、風力発電システム１０１を制御することができる。これにより、風車制御装置１００は、エージェント１１０３の行動決定の実行間隔に関わらず、風速の変化に応じて発電機１２０の負荷トルクを制御する速度の低下を抑制することができる。
【０２４１】
風車制御装置１００によれば、発電機１２０の負荷トルクを、極大点の風車トルクより大きい値に設定することにより、動作点を山の左側に移動させることができる。これにより、風車制御装置１００は、動作点を山の左側に移動させる速度の向上を図ることができ、風速が変化する速度が大きい場合に対応しやすくすることができる。
【０２４２】
風車制御装置１００によれば、特性曲線上の現在の動作点が山の左側にある場合、発電機１２０の負荷トルクを、動作点の風車トルクより大きい値と、動作点の風車トルクより小さい値とに、交互に設定することができる。これにより、風車制御装置１００は、動作点を一定範囲に維持することができ、回転数の変動を抑制し、風車１１０にかかる負荷を抑制することができる。
【０２４３】
風車制御装置１００によれば、風速、風車１１０の回転数、および、発電機１２０による発電量に基づいて、発電機１２０の負荷トルクを制御することができる。これにより、風車制御装置１００は、最大トルクに対する最大発電トルクの比率を設定されなくても、負荷トルクの制御により動作点を制御することができる。
【０２４４】
なお、本実施の形態で説明した風車制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した風車制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した風車制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２４５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２４６】
（付記１）コンピュータに、
風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御し、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習をエージェントに実行させ、
風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、
処理を実行させることを特徴とする風車制御プログラム。
【０２４７】
（付記２）前記風車は、前記風車のピッチを制御する機能を有さない、ことを特徴とする付記１に記載の風車制御プログラム。
【０２４８】
（付記３）前記制御する処理は、風速、前記風車の回転数、および、前記特性曲線上の現在の動作点に基づいて、前記発電機の負荷トルクを制御する、ことを特徴とする付記１または２に記載の風車制御プログラム。
【０２４９】
（付記４）前記発電機の負荷トルクを制御する間隔は、前記エージェントが行動を出力する間隔よりも短い、ことを特徴とする付記１〜３のいずれか一つに記載の風車制御プログラム。
【０２５０】
（付記５）前記移動させる処理は、前記発電機の負荷トルクを、前記極大点の風車トルクより大きい値に設定することにより、前記動作点を前記領域に移動させる、ことを特徴とする付記１〜４のいずれか一つに記載の風車制御プログラム。
【０２５１】
（付記６）前記制御する処理は、前記特性曲線上の現在の動作点が前記領域にある場合、前記発電機の負荷トルクを、前記動作点の風車トルクより大きい値と、前記動作点の風車トルクより小さい値とに、交互に設定することにより、前記動作点を前記領域で維持する、ことを特徴とする付記３に記載の風車制御プログラム。
【０２５２】
（付記７）前記制御する処理は、風速、前記風車の回転数、および、前記発電機による発電量に基づいて、前記発電機の負荷トルクを制御する、ことを特徴とする付記１〜６のいずれか一つに記載の風車制御プログラム。
【０２５３】
（付記８）コンピュータが、
風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御し、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習をエージェントに実行させ、
風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、
処理を実行することを特徴とする風車制御方法。
【０２５４】
（付記９）風速、および、風車の回転数に基づいて、前記風車を用いた発電機の負荷トルクを制御する制御部と、
風速、および、前記風車の回転数を観測値とし、前記発電機による発電量を報酬とし、前記風車の回転数と前記風車の風車トルクとの関係を表す特性曲線上の動作点を、極大点よりも前記風車の回転数が小さい側の領域に移動させるか否かを行動とした強化学習を実行するエージェントと、を有し、
前記制御部は、風速、および、前記風車の回転数が入力された前記エージェントが、前記動作点を前記領域に移動させる出力を行った場合、前記発電機の負荷トルクを制御することにより、前記動作点を前記領域に移動させる、ことを特徴とする風車制御装置。
【符号の説明】
【０２５５】
１００  風車制御装置
１０１  風力発電システム
１１０  風車
１２０  発電機
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  通信Ｉ／Ｆ
３０４  記録媒体Ｉ／Ｆ
３０５  記録媒体
４００  直近計測値情報
５００  風車トルク特性情報
６００  比率情報
７００  移動フラグ情報
８００  観測履歴
９００  行動価値テーブル
１０００  行動履歴
１１００  記憶部
１１０１  取得部
１１０２  負荷トルク制御部
１１０３  エージェント
１１０４  出力部
１２０１  計測部
１２０２  ブレーキ
１２０３  稼働・停止部
１２０４  電力消費先
１２１１  計測値取得部
１２１２  左右指定部
１２１３  左側維持部
１２１４  追随制御部
１２１５  負荷トルク設定部
１２２１  観測部
１２２２  報酬関数部
１２２３  状態更新部
１２２４  行動決定部
１３００，１４００，１５００，１６００，１７００，１８００，１９００，２０１０，２０２０  表
１３０１，１３１１〜１３１３，１３２１〜１３２３，１４１１，１４１２，１４２１，１４２２，１５１１〜１５１３，１７０１，１７０２，１８０１，１８０２，１９０１，２０１１，２０２１  曲線
２１０１，２１０２，２２０１，２２０２，２３０１，２３０２，２４０１，２４０２，２５０１，２５０２，２６０１，２６０２，２７０１，２７０２，２８０１，２８０２，２９０１〜２９０３，３００１〜３００３  レコード
【図１】
2019070346.tif 000004
【図２】
2019070346.tif 000005
【図３】
2019070346.tif 000006
【図４】
2019070346.tif 000007
【図５】
2019070346.tif 000008
【図６】
2019070346.tif 000009
【図７】
2019070346.tif 000010
【図８】
2019070346.tif 000011
【図９】
2019070346.tif 000012
【図１０】
2019070346.tif 000013
【図１１】
2019070346.tif 000014
【図１２】
2019070346.tif 000015
【図１３】
2019070346.tif 000016
【図１４】
2019070346.tif 000017
【図１５】
2019070346.tif 000018
【図１６】
2019070346.tif 000019
【図１７】
2019070346.tif 000020
【図１８】
2019070346.tif 000021
【図１９】
2019070346.tif 000022
【図２０】
2019070346.tif 000023
【図２１】
2019070346.tif 000024
【図２２】
2019070346.tif 000025
【図２３】
2019070346.tif 000026
【図２４】
2019070346.tif 000027
【図２５】
2019070346.tif 000028
【図２６】
2019070346.tif 000029
【図２７】
2019070346.tif 000030
【図２８】
2019070346.tif 000031
【図２９】
2019070346.tif 000032
【図３０】
2019070346.tif 000033
【図３１】
2019070346.tif 000034
【図３２】
2019070346.tif 000035
【図３３】
2019070346.tif 000036
【図３４】
2019070346.tif 000037
【図３５】
2019070346.tif 000038
【図３６】
2019070346.tif 000039