(57)【特許請求の範囲】
【請求項１】
所与のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するための施策を生成する方法であって、
前記コンピュータが、使用量が予測値からどれだけ外れるかの誤差分布と、前記リソースを蓄積し、または放出する蓄積手段の特性と、前記コスト構造をコンピュータ可読な形式で用意するステップと、
前記コンピュータが、前記誤差分布と、前記蓄積手段の特性と、前記コスト構造に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程の期待コストと、遷移確率を含むパラメータを計算するステップと、
前記コンピュータが、前記マルコフ決定過程の期待コストと、遷移確率を含む前記パラメータを用いて、前記状態に対する、前記蓄積手段の前記リソースの蓄積または放出のアクションを含む最適施策を決定するステップを有する、
リソースのコストを最適化するための施策を生成する方法。
【請求項２】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項１に記載の方法。
【請求項３】
前記コスト構造が、区間線形関数である、請求項１に記載の方法。
【請求項４】
前記最適施策を決定するステップが、線形計画法を使用して解かれる、請求項１に記載の方法。
【請求項５】
前記最適施策を決定するステップが、value iterationを使用して解かれる、請求項１
に記載の方法。
【請求項６】
前記最適施策を決定するステップが、policy iterationを使用して解かれる、請求項１に記載の方法。
【請求項７】
所与のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するための施策を生成するプログラムであって、
前記コンピュータに、
使用量が予測値からどれだけ外れるかの誤差分布と、前記リソースを蓄積し、または放出する蓄積手段の特性と、前記コスト構造をコンピュータ可読な形式で用意するステップと、
前記誤差分布と、前記蓄積手段の特性と、前記コスト構造に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程の期待コストと、遷移確率を含むパラメータを計算するステップと、
前記マルコフ決定過程の期待コストと、遷移確率を含む前記パラメータを用いて、前記状態に対する、前記蓄積手段の前記リソースの蓄積または放出のアクションを含む最適施策を決定するステップを実行させる、
リソースのコストを最適化するための施策を生成するプログラム。
【請求項８】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項７に記載のプログラム。
【請求項９】
前記コスト構造が、区間線形関数である、請求項７に記載のプログラム。
【請求項１０】
前記最適施策を決定するステップが、線形計画法を使用して解かれる、請求項７に記載のプログラム。
【請求項１１】
前記最適施策を決定するステップが、value iterationを使用して解かれる、請求項７に記載のプログラム。
【請求項１２】
前記最適施策を決定するステップが、policy iterationを使用して解かれる、請求項７に記載のプログラム。
【請求項１３】
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化する方法であって、
前記コンピュータが、前記コスト構造に基づき、請求項１の方法に従い生成された施策をコンピュータ可読に保存するステップと、
前記コンピュータが、前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定するステップと、
前記コンピュータが、前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定するステップとを有する、
リソースのコストを最適化する方法。
【請求項１４】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項１３に記載の方法。
【請求項１５】
前記コスト構造が、区間線形関数である、請求項１３に記載の方法。
【請求項１６】
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するプログラムであって、
前記コンピュータに、
前記コスト構造に基づき、請求項７のプログラムに従い生成された施策をコンピュータ可読に保存するステップと、
前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定するステップと、
前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定するステップと、
を実行させる、リソースのコストを最適化するプログラム。
【請求項１７】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項１６に記載のプログラム。
【請求項１８】
前記コスト構造が、区間線形関数である、請求項１６に記載のプログラム。
【請求項１９】
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するシステムであって、
記憶手段と、
前記リソースを蓄積し、または放出する蓄積手段と、
前記コスト構造に基づき、請求項７のプログラムを用いて生成された施策をコンピュータ可読に前記記憶手段に保存する手段と、
前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定する手段と、
前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定する手段を有する、
リソースのコストを最適化するシステム。
【請求項２０】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項１９に記載のシステム。
【請求項２１】
前記コスト構造が、区間線形関数である、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電力、ガス、水道などのリソースを使用する際に、所定のコスト体系で使用料金が課される状況で、コンピュータの制御によりコストを調整する技法に関するものである。
【背景技術】
【０００２】
本発明は、電力のみに限定されるものではないが、以下、電力を例にして、説明する。電力会社は、事前に電力消費量の需要予測ができるなら、発電設備の稼働率を調整することによって、コストを節約できるので有利である。そのため、製鉄所などのように大量を電力を消費する施設に対しては、事前に想定電力消費量を電力会社に伝えて、その範囲内で電力を消費するなら相対的に安い料金になるように設定している。
【０００３】
その際の典型的な製鉄所のシナリオは例えば、３０分間隔で使用電力を設定して電力会社に通知するようにし、次の３０分の使用電力を、１５分前に決定するというものである。図１は、製鉄所の電力需給の予測と、実際の電力消費量の時間的推移を模式的に示す図である。図１において、階段状の線１０２が電力会社に通知される電力需給である。一方、曲線１０４は、実際の電力消費量を示す。
【０００４】
図１に示すように、実際の電力消費量１０４が、電力会社に通知される電力需給１０２を上回ると、斜線の領域で示す上回った電力量に応じて割高の追加料金を徴収され（買電という）、一方、通知した使用電力を下回ると、それは無駄なので、その使用電力の差額は最小限にすることが望ましく、コンピュータの処理でこのような制御を行うシステムが要望されている。電力制御に関する特許文献として下記のものが知られている。
【０００５】
特開２００２−２０９３３５号公報は、オフィスビルにおける消費電力をネットワークを介してエネルギセンタにより管理することにより適確に低減し得る需要家消費電力制御管理システムを提供するために、各オフィスビルのＢＡＳ３との通信により各オフィスビルにおける消費電力の計測データをＢＡＳ３から収集し、この各オフィスビルの消費電力の計測データの過去から現在のデータから算出した各オフィスビルの消費電力履歴パターン、各オフィスビルの消費電力の計測データ、気温および湿度を含む天候、オフィスビルにおけるイベント情報を含む総需要電力予測用付帯情報に基づいて各オフィスビルの総需要電力を予測し、この各オフィスビルの総需要電力に基づいて各オフィスビルにおける消費電力を制御するようにネットワークを介してＢＡＳ３に指令することを開示する。
【０００６】
特開２００３−１８９４７７号公報は、太陽電池および蓄電池を用いて電力の有効活用を達成し、しかも電力購入コストを低減するために、商用交流電源に接続された商用交流電源ラインに対して、空調装置を含むものとして表される電力負荷を接続し、インバータ、ＤＣ／ＤＣコンバータをこの順に介して太陽電池を接続し、双方向インバータ、双方向ＤＣ／ＤＣコンバータをこの順に介して蓄電池を接続し、双方向インバータの方向性を制御する制御部を設けることを開示する。
【０００７】
特開２００６−５０７３０号公報は、系統信頼度および発電機の運用制約を満たし、火力発電機所，揚水発電所，水力発電所，融通電力等の最適な供給力の運用計画方法および装置を提供するために、火力発電機の起動停止状態を実数変数に緩和するとともに、起動停止状態の時間変化の制約を追加することにより、すべての制約条件を満足する運用計画を作成し、この計画をもとにして実数の起動停止状態を評価関数の設定あるいは近傍探索により起動あるいは停止に確定させることにより、最適な運用計画を作成することを開示する。
【０００８】
特開２０１０−２６８６０２号公報は、蓄電池の充放電の際に、電気料金や充電時間帯および充電時間あるいは売電についての選択肢を提供するために、表示部兼入力部が、充放電の制約条件の入力を受け付け、系統電力の買電／売電料金テーブル記憶部が、売電および買電の料金情報を取得し、蓄電池充放電制御／蓄電池状態検知部が、蓄電池の情報を取得し、最適スケジュール演算部が、制約条件と、料金情報と、蓄電池の情報とに基づいて、制約条件を満たすように充放電のスケジュールを作成し、充放電制御部が、最適スケジュール演算部が作成したスケジュールに基づいて蓄電池の充放電を行うようにすることを開示する。
【０００９】
また、非特許文献として、下記のものが知られている。
【００１０】
O. Sundstr¨om and C. Binding, “Optimization Methods to Plan the Charging of Electric Vehicle Fleets,” Proc. CCPE 2010, pp. 323-328は、混合整数計画による充放電計画の最適化について記述する。この技法は、電力需要の予測値を確定的な値として最適化する。
【００１１】
J. Goez, J. Luedtke, D. Rajan, and J. Kalagnanam, “Stochastic Unit Commitment Problem,” IBM Research Report, RC24713, 2008は、混合整数計画による発電計画の最適化について記述する。この技法は、電力需要を複数のシナリオとして予測し、各シナリオに確率を割り当てておく。しかし、この技法では、多数のシナリオを扱うのは計算量的に困難であり、また多期間の最適化は計算量的に困難である。
【００１２】
D. Nikovski and W. Zhang, “Factored Markov Decision Process Models for Stochastic Unit Commitment,” Technical Report TR2010-083, MITSUBISHI ELECTRIC RESEARCH LABORATORIES, 2010は、発電計画にマルコフ決定過程を用いている例を示す。マルコフ決定過程を用いつつ、需要予測結果を使っており、有限期間の最適化について記述する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００２−２０９３３５号公報
【特許文献２】特開２００３−１８９４７７号公報
【特許文献３】特開２００６−５０７３０号公報
【特許文献４】特開２０１０−２６８６０２号公報
【非特許文献】
【００１４】
【非特許文献１】O. Sundstr¨om and C. Binding, “Optimization Methods to Plan the Charging of Electric Vehicle Fleets,” Proc. CCPE 2010, pp. 323-328
【非特許文献２】J. Goez, J. Luedtke, D. Rajan, and J. Kalagnanam, “Stochastic Unit Commitment Problem,” IBM Research Report, RC24713, 2008
【非特許文献３】D. Nikovski and W. Zhang, “Factored Markov Decision Process Models for Stochastic Unit Commitment,” Technical Report TR2010-083, MITSUBISHI ELECTRIC RESEARCH LABORATORIES, 2010
【発明の概要】
【発明が解決しようとする課題】
【００１５】
この発明の目的は、マルコフ決定過程に基づき、リソースの蓄積・放出のアクションを併用することによって、リソース使用量の変動のコストを削減する技法を提供することにある。
【課題を解決するための手段】
【００１６】
本発明は、上記目的を達成することを意図するものであり、説明の便宜上、電力について説明すると、本発明に従うシステムは、電力の予測誤差分布、蓄電池特性、及び電力コスト構造を入力として、マルコフ決定過程に基づき、施策を決定する。
【００１７】
本発明に従うと、電力会社に通知する予測値を適用する期間が、好適には均等に分割されたサブ区間に分けられ、その各々のサブ区間で更に電力使用量誤差・蓄電量・設定済み充放電量ターゲット（以下では、充放電量ターゲットを短縮して、ターゲットと書く）に依存した状態を持つようなマルコフ決定過程に基づき、任意の時点でのアクションとしての蓄電池の充放電量が、その時点での電気使用量誤差・蓄電量・時間・設定済みターゲットに依存して、最適に決定される。
【００１８】
サブ区間のうちの所定の時点は、ターゲット設定時点であり、そこでは、アクションとしてさらに、将来のターゲットが設定される。
【００１９】
ここで、本発明で用いる定義を説明すると、(ある区間の)ターゲット＝(その区間の)発電所に通知する使用電力量− (その区間の)使用電力予測値である。
【００２０】
また、状態とは次のようなものである。
−状態は、決定された将来のターゲットに関する情報を含む。
−状態は、T個のサブ区間（1,2,...,T）のうち、どのサブ区間にあるかの情報を含み、更に以下のように定義される電力使用量誤差に関する情報を含む：
（サブ区間tの）電力使用量誤差＝(サブ区間tまでの)電力使用量実績値 −（当該区間の）ターゲット −(t/T)×（当該区間の）使用電力予測値
【００２１】
アクションは、当該サブ区間の充放電量を決定し、またターゲットを設定すべきサブ区間においては、将来のターゲットをも決定することを含む。
【発明の効果】
【００２２】
この発明によれば、予測電力使用量を超えると割高の料金になる電力コスト構造の下で、マルコフ決定過程のアクションとして決定される蓄電池の充放電量を利用して、電力料金を低減することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】製鉄所における電力需給の例を示す図である。
【図２】本発明の構成の一例を示す概要図である。
【図３】本発明の構成における、コンピュータのハードウェア構成のブロック図である。
【図４】本発明の構成における、機能構成のブロック図である。
【図５】区間とサブ区間の関係を示す図である。
【図６】通知電力量、ターゲット及び使用電力予測値の関係を示す図である。
【図７】本発明に従い、最適施策を作成するための処理の概要フローチャートを示す図である。
【図８】電力使用量の予測誤差分布を示す図である。
【図９】電力のコスト関数の例を示す図である。
【図１０】電力のコスト関数の例を示す図である。
【図１１】マルコフ決定過程（ＭＤＰ）のパラメータを計算する処理のフローチャートを示す図である。
【図１２】ＭＤＰのパラメータを計算する処理のフローチャートを示す図である。
【図１３】最適施策に従い、サブ区間の充放電量を決定する処理を示す模式図である。
【図１４】最適施策に従い、サブ区間の最適アクションを決定する処理フローチャートを示す図である。
【図１５】サブ区間の充放電量決定と、次区間のターゲット設定の処理を示す模式図である。
【図１６】tがTtrgtでない場合の状態遷移の例を示す図である。
【図１７】tがTtrgtである場合の状態遷移の例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。また、以下の実施例は、リソースとして電力を考慮した場合について説明するが、一時的に蓄積し放出可能で、所定のコスト構造をもつリソースであるなら、電力に限らず、水道、ガスなど任意のリソースに適用可能であることを理解されたい。
【００２５】
図２は、本発明を実施するための設備及び機器の概要を示す図であり、示されているように、電力会社（発電所）２０２は、製鉄所の設備２０４に送電する。電力会社２０２から製鉄所の設備２０４に送電される電力は、電力計２０６で測定される。
【００２６】
送電される電力は、蓄電池２０８の制御器２１０にも入力され、従って、電力計２０６は、製鉄所の設備２０４に供給される電力と、制御器２１０に供給される電力の合計の電力量を測定する。
【００２７】
コンピュータ２１２は、本発明に従う制御動作を行うためのものであり、電力計２０６から、測定された電力量の値を受け取り、制御器２１０に、蓄電池２０８の充放電を制御する信号を送る。すなわち、蓄電池２０８は、制御器２１０が設定する充電モードでは、電力会社２０２から送電される電力を充電し、制御器２１０が設定する放電モードでは、蓄電池２０８に充電されている電力を、製鉄所の設備２０４に供給する。
【００２８】
ここで、蓄電池２０８は、大規模の電力貯蔵用に適するものであり、これらには限定されないが、好適であるのは、ナトリウム硫黄電池と、鉛蓄電池である。
【００２９】
コンピュータ２１２はさらに、製鉄所の使用電力量の予測値および充放電の計画量に基づいて決定された使用電力量を、電力会社２０２に通知する機能をもつ。予め決められたスケジュールに従い製鉄所の使用電力量を予測することは、従来知られている範囲の技術を使用してよい。このため、例えば、特開昭６４−１５２０１号公報、特開平６−２６２２２３号公報、及び特開２００１−３２１８１０号公報に記載されているような技術を使うことができる。
【００３０】
図３は、コンピュータ２１２のより詳細な構成を示すブロック図である。コンピュータ２１２として、パーソナル・コンピュータ、ワークステーションなどの任意のタイプをコンピュータを使用することができるが、ここでは、パーソナル・コンピュータの例で説明する。図３において、システム・バス３０２には、ＣＰＵ３０４と、主記憶（ＲＡＭ）３０６と、ハードディスク・ドライブ（ＨＤＤ）３０８と、キーボード３１０と、マウス３１２と、ディスプレイ３１４が接続されている。ＣＰＵ３０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶３０６は、好適には、２ＧＢ以上の容量、より好ましくは、４ＧＢ以上の容量をもつものである。ハードディスク・ドライブ３０８は好適には、５００ＧＢ以上の容量をもつものである。
【００３１】
ハードディスク・ドライブ３０８には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。本発明に係る処理プログラムについては、図４を参照して後述する。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）７、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ３０４に適合する任意のものでよい。
【００３２】
キーボード３１０及びマウス３１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ３１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード３１０及びマウス３１２はまた、後述する最適施策作成処理、あるいは最適施策実行処理を開始する操作を行うためにも使用される。
【００３３】
ディスプレイ３１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ３１４は、電力消費量の推移などを、数字やグラフ等で表示するために使用される。
【００３４】
システム・バス３０２にはさらに、インターフェース・カード３１６と、通信インターフェース・カード３１８が接続されている。インターフェース・カード３１６は、ＰＣＩ、ＵＳＢなどの既存のインターフェースに基づくものであり、図２に示す電力計２０６と、蓄電池２０８の制御器２１０が接続されている。詳しくは後述するが、コンピュータ２１２は、インターフェース・カード３１６を介して、電力計２０６から、指定期間の消費電力量の値を取得し、蓄電池２０８の充放電を制御するために、インターフェース・カード３１６を介して、制御器２１０に制御信号を送出する。
【００３５】
通信インターフェース・カード３１８は、イーサネット(R)プロトコルに従い動作するカードであり、製鉄会社のイントラネット内にあるプロキシ・サーバ（図示しない）に接続され、外部のインターネットに接続されている。通信インターフェース・カード３１８は、図２に示すように、コンピュータ２１２から電力会社に、予測電力量を通知するために使用される。
【００３６】
次に、図４の機能ブロック図を参照して、本発明の処理の機能構成について説明する。図示するように、この機能構成は、最適施策作成モジュール４１０と、最適施策実施モジュール４２０を有する。
【００３７】
最適施策作成モジュール４１０と、最適施策実施モジュール４２０は、C、C++、Java(R)などの既存の任意の適当なプログラミング言語で記述され、コンパイルされた実行可能バイナリ・ファイルがハードディスク・ドライブ３０８に保存され、キーボード３１０やマウス３１２などに応答するオペレーティング・システムの働きで主記憶３０６にロードされて実行される。
【００３８】
最適施策作成モジュール４１０は、予測誤差分布４１１、蓄電池特性４１２及び電力コスト構造４１３という３つの設定情報をもつ。予測誤差分布４１１は、過去の予測電力と実際の電力の間の誤差の値の時系列を基に作成された統計的情報である。蓄電池特性４１２は、蓄電池の、充電電流特性、充電電圧特性、充電時間特性、放電電流特性、放電終止電圧特性、及び放電時間特性などの特性の情報であり、蓄電池のメーカーから提供される仕様の情報を、コンピュータ可読な形式で記述したものである。電力コスト構造４１３は、電力会社と、電力を供給される組織（この場合、製鉄所）の間の電力料金体系の情報を、コンピュータ可読な形式で記述したものである。予測誤差分布４１１、蓄電池特性４１２及び電力コスト構造４１３の情報は、データ・ファイルとして、所定の形式で、ハードディスク・ドライブ３０８に保存されている。
【００３９】
最適施策作成モジュール４１０はさらに、処理ルーチンとして、マルコフ決定過程（ＭＤＰ）最適化ルーチン４１４と、ソルバ４１５をもつ。ＭＤＰ最適化ルーチン４１４は、予測誤差分布４１１、蓄電池特性４１２及び電力コスト構造４１３の情報を読み取って、期待コスト、遷移確率などの値を計算する。ＭＤＰ最適化ルーチン４１４はさらに、ソルバ４１５を利用して、期待コスト及び遷移確率の情報を使って、最適施策４２１の情報を計算して、コンピュータ可読な形式で、ハードディスク・ドライブ３０８に保存する。ソルバ４１５の機能の詳細については、後述する。
【００４０】
最適施策実施モジュール４２０は、最適施策作成モジュール４１０によって作成された最適施策４２１の情報に基づき電力管理を行う電力管理ルーチン４２２を含む。電力管理ルーチン４２２は、最適施策４２１を実施する際、電力計２０６から得られる消費電力の情報を用いて、蓄電池２０８を充電または放電させるために、制御器２１０に制御信号を送出する。予測消費電力ルーチン４２３は、製鉄所の設備２０４における所定のスケジュールに従い、予測消費電力量を計算する。予測消費電力量の計算自体は、特開昭６４−１５２０１号公報、特開平６−２６２２２３号公報、及び特開２００１−３２１８１０号公報等に記載されているように、従来より知られているので、ここでは詳しく説明しない。電力管理ルーチン４２２は、予測消費電力ルーチン４２３によって計算された予測消費電力量と、電力管理ルーチン４２２が最適施策４２１に従い計算した補正項の合計を、ある区間の予測される使用電力量として、電力会社２０２に通知する。
【００４１】
次に、最適施策作成モジュール４１０の機能をより詳細に説明する。まず、本発明の前提として、電力の調整は、図５に示すような一定の区間毎に行われ、各区間は、一定間隔で細分化されたサブ区間に分割される。
本発明は、次のように定義する「ターゲット」を、以下に特定する用途で、用いるものである。
定義：(ある区間の)ターゲット ＝(その区間の)発電所に通知する使用電力量− (その区間の)使用電力予測値
用途：以下のような特徴を持つＭＤＰの最適施策を求める。
状態は、決定された将来のターゲットに関する情報を含む。
状態は、T個のサブ区間（1,2,...,T）のうち、どのサブ区間にあるかの情報を含み、更に以下のように定義される。
また、電力使用量誤差に関する情報を含む：
（サブ区間tの）電力使用量誤差 ＝(サブ区間tまでの)電力使用量実績値 −（当該区間の）ターゲット −(t/T)×（当該区間の）使用電力予測値
アクションは、当該サブ区間の充放電量を決定し、またターゲットを設定すべきサブ区間においては、将来のターゲットをも決定することを含む。
図６は、１つの区間内での、通知する使用電力量、電力使用量誤差、電力使用量実績値、及び使用電力予測値の間の関係を説明するための図である。
本発明におけるＭＤＰの定義は、後で詳しく説明する。
【００４２】
本発明の１つの実施例では、区間は３０分であり、それが{1,2,..,T=10}という、３分のサブ区間に分割される。そして、次の区間の電力使用量が１５分前(サブ区間Ttrgt = 5)に通知される。また、各サブ区間tの開始時点においてサブ区間tの充放電量が決定される。また、蓄電池の効率は100%であると仮定する。
【００４３】
次に、最適施策作成モジュール４１０の処理について、より詳しく説明する。これは、概要ステップとしては、ステップ７０２における、電力使用量が予測値からどれくらい離れるかを推定する処理と、ステップ７０４における、ＭＤＰパラメータの決定処理と、ステップ７０６における、最適施策の算出処理からなる。
【００４４】
ステップ７０２の処理は、予測誤差分布４１１を用意する処理であり、サブ区間tにおいて使用量誤差がxの時、次のサブ区間t+1において使用量誤差がyとなる確率を決めるモデルを作ることである。ここでは、蓄電池は使わない前提での値である。
【００４５】
例えば、３０分毎の電力使用量の履歴がある場合、３０分毎の電力使用量の予測誤差分布Fから、X1 + ... + XTが近似的に確率分布Fをもつように、X1, ...,XTの確率分布を決定する。
【００４６】
そのために例えば、図８(a)に示すFを正規分布N(μ,σ2)で近似して、各Xiを、図８(b)に示す、N(μ/T,σ2/T)を有限区間に離散化した分布とする。以下、X1, ...,XTは、独立同一分布Δをもち、値xjを確率pj(j=1,...,T)でとるとする。
【００４７】
なお、X1, ...,XTが独立同一分布をもつというのは必須ではなく、自己回帰モデルのように相関をもたせてもいい。
【００４８】
なお、もしサブ区間毎の予測誤差Xiの分布が正規分布で近似できない場合は、サブ区間毎の予測誤差Xiの分布が推定可能であることを前提とする。
【００４９】
次にステップ７０４を説明する前提として、本実施例で使用するＭＤＰの定義を与える。
状態を4つの値の組で定義するs=(x,b,t,trgt)
x: 電力使用量誤差
b: 蓄電量
t: サブ区間
trgt: 次の区間のターゲット(t≦Ttrgtではtrgt=null)
【００５０】
状態s =(x,b,t,trgt)で取り得るアクションa=(a1,a2)は:
t=Ttrgtにおいては、サブ区間tの充放電量a1と次区間のターゲットa2の決定
t≠Ttrgtにおいては、サブ区間tの充放電量a1の決定(a2=null)
ただし、可能なa1の値は、蓄電量に依存する。
【００５１】
また、a1の値の候補は{-1,0,1}、a2の値の候補は{-5,-4,...,4,5} とする
状態s =(x,b,t,trgt)でアクションa=(a1,a2)をとった時の遷移は、
t<T,t≠Ttrgtにおいては、状態s’=(x+a1+xｊ,b+a1,t+1,trgt)への遷移確率がpj（j=1,...,n）
t=Ttrgtにおいては、状態s’=(x+a1+xj,b+a1,t+1,a2)への遷移確率がpj（j=1,...,n）
t=Tにおいては、状態s’=(-trgt,b+a1,1,null)への遷移確率が１
コストはt=Tの状態からの遷移でのみ発生し、 状態s=(x,b,T,trgt)で
アクションa=(a1,null)をとった時に発生する期待コストは、
【数１】
0005710325.tif 000002
で決まる。ここで、fは図９のような関数とする。電力が余る場合に不連続にコストが発生する場合は、図１０に示すように、原点においてコスト0ではなく、正の値をとる場合もありえる。電力のコストは、このような区分線形関数であらわされるのが一般的であるが、本発明は、任意の関数形のコスト構造に対応可能であることを理解されたい。
【００５２】
次に、図１１及び図１２のフローチャートを参照して、ＭＤＰ最適化ルーチン４１４がＭＤＰパラメータを決定する処理を説明する。
【００５３】
図１１において、ステップ１１０２では、ＭＤＰ最適化ルーチン４１４は、予め決められた以下の量を読み取る。
T: インターバルの分割数
Ttrgt: ターゲットを設定するサブ区間
{-m1,...,0,...,n1}: 充（放）電アクション候補集合
{-m2,...,0,...,n2}: ターゲット設定アクション候補集合
B: 蓄電池容量
【００５４】
ステップ１１０４では、ＭＤＰ最適化ルーチン４１４は、以下の式で、サブ区間1の状態集合S1を算出する。
S1={<x,y,1,null> | x∈{-n1,...,m1}; y∈[0,B]}
【００５５】
ステップ１１０６では、ＭＤＰ最適化ルーチン４１４は、サブ区間の番号である変数t = 1とおく。
【００５６】
ステップ１１０８では、ＭＤＰ最適化ルーチン４１４は、各s∈Stについて、アクション集合A(s)を算出し、各s∈St,a∈A(s)のペアについて、次状態s’への遷移確率p(s'|s,a)及びコストCs,a
を算出する。ステップ１１０８の詳細は、図１２のフローチャートを参照して、後で説明する。
【００５７】
ステップ１１１０では、ＭＤＰ最適化ルーチン４１４は、t < T、すなわちサブ区間が終端に達していないかどうかを判断する。
【００５８】
もしt < Tであるなら、ＭＤＰ最適化ルーチン４１４は、ステップ１１１２で、下記の式により、サブ区間t+1の状態集合St+1を算出する:
St+1={s'|∃s∈St,∃a∈A(s) s.t. p(s'|s,a)>0}
ここで、s.t.とは、such thatの略で、以下の制約条件を満たす場合、ということを意味する。
【００５９】
ステップ１１１２の後は、ステップ１１１４でtを１つ増分して処理は、ステップ１１０８に戻る。
【００６０】
ステップ１１１０に戻って、t < Tが否定的、すなわちt = Tなら、処理は終わる。
【００６１】
次に、図１２のフローチャートを参照して、ステップ１１０８の処理をより詳細に説明する。図１２において、ステップ１２０２では、ＭＤＰ最適化ルーチン４１４は、コスト関数fと、誤差分布(xj,pj) j = 1,...,nを決定する。コスト関数fは、電力コスト構造４１３によって決定され、誤差分布(xj,pj)は、予測誤差分布４１１によって決定される。
【００６２】
ステップ１２０４では、ＭＤＰ最適化ルーチン４１４は、Stからs=<x,b,t,trgt>をpopする。
【００６３】
ステップ１２０６で、ＭＤＰ最適化ルーチン４１４は、t = Ttrgtかどうか判断し、もしそうなら、ステップ１２０８で、A(s)={<a1,a2> |a1=max{y-m1,0},...,min{y+n1,B};a2=-m2,...,n2}によって、A(s)を決定する。
【００６４】
t = Ttrgtでないなら、ＭＤＰ最適化ルーチン４１４は、ステップ１２１０で、A(s)={<a1,trgt> |a1=max{y-m1,0},...,min{y+n1,B}}によって、A(s)を決定する。
【００６５】
ステップ１２０８もしくはステップ１２１０からは、ステップ１２１２に進み、そこで、ＭＤＰ最適化ルーチン４１４は、A(s)から、a = <a1,a2>をpopする。
【００６６】
次のステップ１２１４ではＭＤＰ最適化ルーチン４１４は、t < T、すなわちサブ区間が終端に達していないかどうかを判断する。そしてもしt < Tなら、ステップ１２１６に進み、そこで、ＭＤＰ最適化ルーチン４１４は、各j=1,...nについて、p(<x+a1+xj,b+a1,t+1,a2>|s,a)=pjとする。
【００６７】
t < Tでないなら、ＭＤＰ最適化ルーチン４１４は、ステップ１２１８でp(<-trgt,b+a1,1,null>|s,a)=1とし、ステップ１２２０で、各j = 1,...,nについて、
【数２】
0005710325.tif 000003
とする。
【００６８】
ステップ１２１６もしくはステップ１２２０からはステップ１２２２に進み、そこで、ＭＤＰ最適化ルーチン４１４は、A(s)が空かどうか判断する。そしてA(s)が空でないなら、処理はステップ１２１２に戻る。
【００６９】
A(s)が空ならば、処理はステップ１２２４に進み、そこで、ＭＤＰ最適化ルーチン４１４は、Stが空かどうか判断する。そして、もしStが空でないなら、処理はステップ１２０２に戻り、一方もしStが空なら、図１２のフローチャートで示す処理は終わって、図１１のステップ１１８に戻る。
【００７０】
結局、図１１の処理が完了すると、下記に示すように、状態と最適施策の対応が得られる。
【表１】
0005710325.tif 000004
この内容は、後でコンピュータの処理により検索可能に、好適には、ハードディスク・ドライブ３０８に保存される。
【００７１】
これで図７のステップ７０４は完了するので、次に、ステップ７０６の各状態への遷移確率p(s'|s,a)と、コストCs,aを利用して最適施策を算出する処理を説明する。
【００７２】
最適施策は、好適には、ソルバ４１５を使用して計算される。ソルバ４１５として、これらには限定されないが、IBM(R) ILOG CPLEX、jMDP(http://copa.uniandes.edu.co/software/jmarkov/)などの既存のソルバを使用することができる。
【００７３】
ＭＤＰの最適施策を求めるために、線形計画法、value iteration、policy iterationなどの技法を使用することができる。
【００７４】
ＭＤＰの線形計画による最適化に関しては、M. L. Puterman, Markov Decision Processes: Discrete Stochastic Dynamic Programming, Wiley-Interscience, 2005のSection 6.9、あるいは、D. Bello and G. Riano, “Linear programming solvers for Markov decision processes,” in Proc. of the IEEE Systems and Information Engineering Design Symposium, pp. 90-95, 2006.  http://www.sys.virginia.edu/sieds06/papers/FMorningSession5.1.pdf  などの参考文献を参照されたい。
【００７５】
ステップ７０６における、ＭＤＰの最適施策の１つの実施例は、Sを状態集合、A(s)を状態sからのアクション候補集合、Cs,aを状態sでアクションaをとった時の期待コスト、p(s'|s,a)を、状態sでアクションaを取った時に状態s'に遷移する確率としたとき、下記の線形計画問題をIBM(R) ILOG CPLEXによって解くことである。
【数３】
0005710325.tif 000005
【００７６】
ステップ７０６における、ＭＤＰの最適施策のさらに別の実施例は、Sを状態集合、A(s)を状態sからのアクション候補集合、Cs,aを状態sでアクションaをとった時の期待コスト、p(s'|s,a)を、状態sでアクションaを取った時に状態s'に遷移する確率、αsを初期状態が状態sである確率、γを１サブ区間内の割引率とすると、下記の線形計画問題をIBM(R) ILOG CPLEXによって解くことである。γの値は、例えば、0.99である。
【数４】
0005710325.tif 000006
【００７７】
また、value iterationとpolicy iterationは例えば、上記jMDPを使って解かれる。
【００７８】
value iterationは、次のようなアルゴリズムで解かれる。
ステップ１：下記の式でバリューを初期化する。ここで、バリューは0でなくてもいい。
【数５】
0005710325.tif 000007
ステップ２：下記の式を、n = 0,1,... と順次計算していく。
【数６】
0005710325.tif 000008
終了条件を満たしたら、例えば、前回のvとの差ず十分小さくなったら、または時間制限がきたら終了する。
ステップ３：そして、下記の式であらわされるd(s)が、sでの最適アクションである。
【数７】
0005710325.tif 000009
【００７９】
policy iterationは、次のようなアルゴリズムで解かれる。
ステップ１：下記の式でアクションを初期化する。
【数８】
0005710325.tif 000010
ステップ２：下記の式をvについて解く。
【数９】
0005710325.tif 000011
これは、連立一次方程式なので、標準的な方法で下記のとおり解ける。
【数１０】
0005710325.tif 000012
但し、rdは縦ベクトルで、第s成分は、cs,d(s)である。
また、Pdは正方行列で、第(s',s)成分は、p(s'|s,d(s))である。
ステップ３：下記の式で、d(s)を求める。
【数１１】
0005710325.tif 000013
ここで、v(s')はステップ２で求めたvの第s'成分である。
ステップ４：ステップ２に戻る。
そうして終了条件を満たしたら終了する。このとき、有限回でdが更新されなくなるので、そこで終了するのが標準的である。
【００８０】
このようにして求められた最適アクションは、最適施策４２１として、好適にはハードディスク・ドライブ３０８に保存される。
【００８１】
次に、このようにして作成された最適施策４２１を利用して、最適施策を実行する処理について説明する。図１３は、最適施策４２１が電力管理ルーチン４２２によって利用される様子を示す図である。すなわち、電力管理ルーチン４２２は、各サブ区間の開始時点において、状態すなわち電力使用量誤差・蓄電量・設定済みターゲット１３０２ａを取得し、最適施策４２１を参照して、当該サブ区間の充放電量を決定する。そして、区間内のあるサブ区間(t = Ttrgt)では、状態１３０２ｂと消費電力予測値１３０４とを取得し、最適施策４２１を参照して、次の３０分のターゲット設定も行う。
【００８２】
次に、図１４のフローチャートを参照して、電力管理ルーチン４２２の処理を説明する。まずステップ１４０２では、電力管理ルーチン４２２は、以下のように初期設定を行う。
t := 1
b := 開始時点の蓄電量
trgt := 0
x := 0
z := 当該区間の電力消費量予測値
【００８３】
ステップ１４０４では、電力管理ルーチン４２２は、t = 1すなわち、最初のサブ区間であるかどうか判断し、もしそうなら、ステップ１４０６で、w := (z + trgt)/T, trgt := nullという初期設定を行う。ここで、wは、各サブ区間でこれくらい電力を使うという目安となる量を表す。
【００８４】
ステップ１４０８では、電力管理ルーチン４２２は、状態<x,b,t,trgt>に対応する最適アクション<a1,a2>を、最適施策４２１から取得する。
【００８５】
ステップ１４１０では、電力管理ルーチン４２２は、t = Ttrgtかどうかを判断し、もしそうなら、下記の処理を行う。
z := 次区間の電力消費量予測値（既存手法で予測）
z+a2だけ電力を消費すると発電所に通知
trgt := a2
なお、図１５に示すように、区間内にあって、t = Ttrgtとなるサブ区間は、次区間のターゲット設定を行うという意味で、特別なサブ区間である。t = Ttrgtは、電力会社と製鉄所の契約で合意された使用電力通知期限に基づいて、決定される。
【００８６】
次に電力管理ルーチン４２２は、ステップ１４１４で、サブ区間tにおいてa1だけ充電（a1が負の時は|a1|だけ放電）するように、蓄電池を制御する。
【００８７】
次に電力管理ルーチン４２２は、ステップ１４１６で、下記の処理を行う。
w := サブ区間tの電力消費量（放電分はカウントしない）
x := x + w - w
b := b + a1
【００８８】
次に電力管理ルーチン４２２は、ステップ１４１８で、t < Tならtを1つ増分し、t >= Tならt = 1にリセットする処理を行い、ステップ１４０４に戻る。
【００８９】
図１６は、t = Ttrgtでなくt=Tでもない場合の状態遷移の例を示す。すなわち、ターゲットtrgtを与えて、アクションとして充放電量を決定する。
【００９０】
一方、図１７は、t = Ttrgtである場合の状態遷移の例を示す。この場合、アクションとして充放電量を決定するのみならず、ターゲットtrgtをも決定する。
【００９１】
なお、この実施例では、説明の便宜上、充電と放電の特性を対称的であるとみなしたが、実際は非対称であるので、現実の特性に応じて、パラメータを変更することになる。
【００９２】
以上、電力料金のコスト調整に関して、本発明の特定の実施例を説明してきたが、本発明は、これに限らず、特定のコスト構造をもち、貯蔵・放出を制御可能な、ガスや水道のようなリソースのコスト合理化にも適用可能であることを理解されたい。
【符号の説明】
【００９３】
２０２・・・電力会社
２０４・・・製鉄所の設備
２０６・・・電力計
２０８・・・蓄電池
２１０・・・蓄電池の制御器
２１２・・・コンピュータ
３０４・・・ＣＰＵ
３０６・・・主記憶
３０８・・・ハードディスク・ドライブ
４１１・・・予測誤差分布
４１２・・・蓄電池特性
４１３・・・電力コスト構造
４１４・・・ＭＤＰ最適化ルーチン
４１５・・・ソルバ
４２１・・・最適施策
４２２・・・電力管理ルーチン
４２３・・・消費電力予測ルーチン
【図１】
0005710325.tif 000014
【図２】
0005710325.tif 000015
【図３】
0005710325.tif 000016
【図４】
0005710325.tif 000017
【図５】
0005710325.tif 000018
【図６】
0005710325.tif 000019
【図７】
0005710325.tif 000020
【図８】
0005710325.tif 000021
【図９】
0005710325.tif 000022
【図１０】
0005710325.tif 000023
【図１１】
0005710325.tif 000024
【図１２】
0005710325.tif 000025
【図１３】
0005710325.tif 000026
【図１４】
0005710325.tif 000027
【図１５】
0005710325.tif 000028
【図１６】
0005710325.tif 000029
【図１７】
0005710325.tif 000030