説明

リソース・コスト最適化システム、方法及びプログラム

【課題】 マルコフ決定過程に基づき、蓄電池の充放電を併用することによって、電力使用量の変動のコストを削減する技法を提供すること。
【解決手段】 電力会社に通知する予測値を適用する期間が、好適には均等に分割されたサブ区間に分けられ、その各々のサブ区間で更に電力使用量誤差・蓄電量・設定済みターゲットに依存した状態を持つようなマルコフ決定過程に基づき、任意の時点でのアクションとしての蓄電池の充放電量が、その時点での電気使用量誤差・蓄電量・時間・設定済みターゲットに依存して、最適に決定される。サブ区間のうちの所定の時点は、ターゲット設定時点であり、そこでは、アクションとしてさらに、将来のターゲットが設定される。アクションは、当該サブ区間の充放電量を決定し、またターゲットを設定すべきサブ区間においては、将来のターゲットをも決定することを含む。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電力、ガス、水道などのリソースを使用する際に、所定のコスト体系で使用料金が課される状況で、コンピュータの制御によりコストを調整する技法に関するものである。
【背景技術】
【0002】
本発明は、電力のみに限定されるものではないが、以下、電力を例にして、説明する。電力会社は、事前に電力消費量の需要予測ができるなら、発電設備の稼働率を調整することによって、コストを節約できるので有利である。そのため、製鉄所などのように大量を電力を消費する施設に対しては、事前に想定電力消費量を電力会社に伝えて、その範囲内で電力を消費するなら相対的に安い料金になるように設定している。
【0003】
その際の典型的な製鉄所のシナリオは例えば、30分間隔で使用電力を設定して電力会社に通知するようにし、次の30分の使用電力を、15分前に決定するというものである。図1は、製鉄所の電力需給の予測と、実際の電力消費量の時間的推移を模式的に示す図である。図1において、階段状の線102が電力会社に通知される電力需給である。一方、曲線104は、実際の電力消費量を示す。
【0004】
図1に示すように、実際の電力消費量104が、電力会社に通知される電力需給102を上回ると、斜線の領域で示す上回った電力量に応じて割高の追加料金を徴収され(買電という)、一方、通知した使用電力を下回ると、それは無駄なので、その使用電力の差額は最小限にすることが望ましく、コンピュータの処理でこのような制御を行うシステムが要望されている。電力制御に関する特許文献として下記のものが知られている。
【0005】
特開2002−209335号公報は、オフィスビルにおける消費電力をネットワークを介してエネルギセンタにより管理することにより適確に低減し得る需要家消費電力制御管理システムを提供するために、各オフィスビルのBAS3との通信により各オフィスビルにおける消費電力の計測データをBAS3から収集し、この各オフィスビルの消費電力の計測データの過去から現在のデータから算出した各オフィスビルの消費電力履歴パターン、各オフィスビルの消費電力の計測データ、気温および湿度を含む天候、オフィスビルにおけるイベント情報を含む総需要電力予測用付帯情報に基づいて各オフィスビルの総需要電力を予測し、この各オフィスビルの総需要電力に基づいて各オフィスビルにおける消費電力を制御するようにネットワークを介してBAS3に指令することを開示する。
【0006】
特開2003−189477号公報は、太陽電池および蓄電池を用いて電力の有効活用を達成し、しかも電力購入コストを低減するために、商用交流電源に接続された商用交流電源ラインに対して、空調装置を含むものとして表される電力負荷を接続し、インバータ、DC/DCコンバータをこの順に介して太陽電池を接続し、双方向インバータ、双方向DC/DCコンバータをこの順に介して蓄電池を接続し、双方向インバータの方向性を制御する制御部を設けることを開示する。
【0007】
特開2006−50730号公報は、系統信頼度および発電機の運用制約を満たし、火力発電機所,揚水発電所,水力発電所,融通電力等の最適な供給力の運用計画方法および装置を提供するために、火力発電機の起動停止状態を実数変数に緩和するとともに、起動停止状態の時間変化の制約を追加することにより、すべての制約条件を満足する運用計画を作成し、この計画をもとにして実数の起動停止状態を評価関数の設定あるいは近傍探索により起動あるいは停止に確定させることにより、最適な運用計画を作成することを開示する。
【0008】
特開2010−268602号公報は、蓄電池の充放電の際に、電気料金や充電時間帯および充電時間あるいは売電についての選択肢を提供するために、表示部兼入力部が、充放電の制約条件の入力を受け付け、系統電力の買電/売電料金テーブル記憶部が、売電および買電の料金情報を取得し、蓄電池充放電制御/蓄電池状態検知部が、蓄電池の情報を取得し、最適スケジュール演算部が、制約条件と、料金情報と、蓄電池の情報とに基づいて、制約条件を満たすように充放電のスケジュールを作成し、充放電制御部が、最適スケジュール演算部が作成したスケジュールに基づいて蓄電池の充放電を行うようにすることを開示する。
【0009】
また、非特許文献として、下記のものが知られている。
【0010】
O. Sundstr¨om and C. Binding, “Optimization Methods to Plan the Charging of Electric Vehicle Fleets,” Proc. CCPE 2010, pp. 323-328は、混合整数計画による充放電計画の最適化について記述する。この技法は、電力需要の予測値を確定的な値として最適化する。
【0011】
J. Goez, J. Luedtke, D. Rajan, and J. Kalagnanam, “Stochastic Unit Commitment Problem,” IBM Research Report, RC24713, 2008は、混合整数計画による発電計画の最適化について記述する。この技法は、電力需要を複数のシナリオとして予測し、各シナリオに確率を割り当てておく。しかし、この技法では、多数のシナリオを扱うのは計算量的に困難であり、また多期間の最適化は計算量的に困難である。
【0012】
D. Nikovski and W. Zhang, “Factored Markov Decision Process Models for Stochastic Unit Commitment,” Technical Report TR2010-083, MITSUBISHI ELECTRIC RESEARCH LABORATORIES, 2010は、発電計画にマルコフ決定過程を用いている例を示す。マルコフ決定過程を用いつつ、需要予測結果を使っており、有限期間の最適化について記述する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2002−209335号公報
【特許文献2】特開2003−189477号公報
【特許文献3】特開2006−50730号公報
【特許文献4】特開2010−268602号公報
【非特許文献】
【0014】
【非特許文献1】O. Sundstr¨om and C. Binding, “Optimization Methods to Plan the Charging of Electric Vehicle Fleets,” Proc. CCPE 2010, pp. 323-328
【非特許文献2】J. Goez, J. Luedtke, D. Rajan, and J. Kalagnanam, “Stochastic Unit Commitment Problem,” IBM Research Report, RC24713, 2008
【非特許文献3】D. Nikovski and W. Zhang, “Factored Markov Decision Process Models for Stochastic Unit Commitment,” Technical Report TR2010-083, MITSUBISHI ELECTRIC RESEARCH LABORATORIES, 2010
【発明の概要】
【発明が解決しようとする課題】
【0015】
この発明の目的は、マルコフ決定過程に基づき、リソースの蓄積・放出のアクションを併用することによって、リソース使用量の変動のコストを削減する技法を提供することにある。
【課題を解決するための手段】
【0016】
本発明は、上記目的を達成することを意図するものであり、説明の便宜上、電力について説明すると、本発明に従うシステムは、電力の予測誤差分布、蓄電池特性、及び電力コスト構造を入力として、マルコフ決定過程に基づき、施策を決定する。
【0017】
本発明に従うと、電力会社に通知する予測値を適用する期間が、好適には均等に分割されたサブ区間に分けられ、その各々のサブ区間で更に電力使用量誤差・蓄電量・設定済み充放電量ターゲット(以下では、充放電量ターゲットを短縮して、ターゲットと書く)に依存した状態を持つようなマルコフ決定過程に基づき、任意の時点でのアクションとしての蓄電池の充放電量が、その時点での電気使用量誤差・蓄電量・時間・設定済みターゲットに依存して、最適に決定される。
【0018】
サブ区間のうちの所定の時点は、ターゲット設定時点であり、そこでは、アクションとしてさらに、将来のターゲットが設定される。
【0019】
ここで、本発明で用いる定義を説明すると、(ある区間の)ターゲット=(その区間の)発電所に通知する使用電力量− (その区間の)使用電力予測値である。
【0020】
また、状態とは次のようなものである。
−状態は、決定された将来のターゲットに関する情報を含む。
−状態は、T個のサブ区間(1,2,...,T)のうち、どのサブ区間にあるかの情報を含み、更に以下のように定義される電力使用量誤差に関する情報を含む:
(サブ区間tの)電力使用量誤差=(サブ区間tまでの)電力使用量実績値 −(当該区間の)ターゲット −(t/T)×(当該区間の)使用電力予測値
【0021】
アクションは、当該サブ区間の充放電量を決定し、またターゲットを設定すべきサブ区間においては、将来のターゲットをも決定することを含む。
【発明の効果】
【0022】
この発明によれば、予測電力使用量を超えると割高の料金になる電力コスト構造の下で、マルコフ決定過程のアクションとして決定される蓄電池の充放電量を利用して、電力料金を低減することが可能となる。
【図面の簡単な説明】
【0023】
【図1】製鉄所における電力需給の例を示す図である。
【図2】本発明の構成の一例を示す概要図である。
【図3】本発明の構成における、コンピュータのハードウェア構成のブロック図である。
【図4】本発明の構成における、機能構成のブロック図である。
【図5】区間とサブ区間の関係を示す図である。
【図6】通知電力量、ターゲット及び使用電力予測値の関係を示す図である。
【図7】本発明に従い、最適施策を作成するための処理の概要フローチャートを示す図である。
【図8】電力使用量の予測誤差分布を示す図である。
【図9】電力のコスト関数の例を示す図である。
【図10】電力のコスト関数の例を示す図である。
【図11】マルコフ決定過程(MDP)のパラメータを計算する処理のフローチャートを示す図である。
【図12】MDPのパラメータを計算する処理のフローチャートを示す図である。
【図13】最適施策に従い、サブ区間の充放電量を決定する処理を示す模式図である。
【図14】最適施策に従い、サブ区間の最適アクションを決定する処理フローチャートを示す図である。
【図15】サブ区間の充放電量決定と、次区間のターゲット設定の処理を示す模式図である。
【図16】tがTtrgtでない場合の状態遷移の例を示す図である。
【図17】tがTtrgtである場合の状態遷移の例を示す図である。
【発明を実施するための形態】
【0024】
以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。また、以下の実施例は、リソースとして電力を考慮した場合について説明するが、一時的に蓄積し放出可能で、所定のコスト構造をもつリソースであるなら、電力に限らず、水道、ガスなど任意のリソースに適用可能であることを理解されたい。
【0025】
図2は、本発明を実施するための設備及び機器の概要を示す図であり、示されているように、電力会社(発電所)202は、製鉄所の設備204に送電する。電力会社202から製鉄所の設備204に送電される電力は、電力計206で測定される。
【0026】
送電される電力は、蓄電池208の制御器210にも入力され、従って、電力計206は、製鉄所の設備204に供給される電力と、制御器210に供給される電力の合計の電力量を測定する。
【0027】
コンピュータ212は、本発明に従う制御動作を行うためのものであり、電力計206から、測定された電力量の値を受け取り、制御器210に、蓄電池208の充放電を制御する信号を送る。すなわち、蓄電池208は、制御器210が設定する充電モードでは、電力会社202から送電される電力を充電し、制御器210が設定する放電モードでは、蓄電池208に充電されている電力を、製鉄所の設備204に供給する。
【0028】
ここで、蓄電池208は、大規模の電力貯蔵用に適するものであり、これらには限定されないが、好適であるのは、ナトリウム硫黄電池と、鉛蓄電池である。
【0029】
コンピュータ212はさらに、製鉄所の使用電力量の予測値および充放電の計画量に基づいて決定された使用電力量を、電力会社202に通知する機能をもつ。予め決められたスケジュールに従い製鉄所の使用電力量を予測することは、従来知られている範囲の技術を使用してよい。このため、例えば、特開昭64−15201号公報、特開平6−262223号公報、及び特開2001−321810号公報に記載されているような技術を使うことができる。
【0030】
図3は、コンピュータ212のより詳細な構成を示すブロック図である。コンピュータ212として、パーソナル・コンピュータ、ワークステーションなどの任意のタイプをコンピュータを使用することができるが、ここでは、パーソナル・コンピュータの例で説明する。図3において、システム・バス302には、CPU304と、主記憶(RAM)306と、ハードディスク・ドライブ(HDD)308と、キーボード310と、マウス312と、ディスプレイ314が接続されている。CPU304は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium(商標)4、インテル社のCore(商標) 2 DUO、AMD社のAthlon(商標)などを使用することができる。主記憶306は、好適には、2GB以上の容量、より好ましくは、4GB以上の容量をもつものである。ハードディスク・ドライブ308は好適には、500GB以上の容量をもつものである。
【0031】
ハードディスク・ドライブ308には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。本発明に係る処理プログラムについては、図4を参照して後述する。オペレーティング・システムは、Linux(商標)、マイクロソフト社のWindows Vista、Windows XP(商標)、Windows(商標)7、アップルコンピュータのMac OS(商標)などの、CPU304に適合する任意のものでよい。
【0032】
キーボード310及びマウス312は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ314に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード310及びマウス312はまた、後述する最適施策作成処理、あるいは最適施策実行処理を開始する操作を行うためにも使用される。
【0033】
ディスプレイ314は、これには限定されないが、好適には、1024×768以上の解像度をもち、32ビットtrue colorのLCDモニタである。ディスプレイ314は、電力消費量の推移などを、数字やグラフ等で表示するために使用される。
【0034】
システム・バス302にはさらに、インターフェース・カード316と、通信インターフェース・カード318が接続されている。インターフェース・カード316は、PCI、USBなどの既存のインターフェースに基づくものであり、図2に示す電力計206と、蓄電池208の制御器210が接続されている。詳しくは後述するが、コンピュータ212は、インターフェース・カード316を介して、電力計206から、指定期間の消費電力量の値を取得し、蓄電池208の充放電を制御するために、インターフェース・カード316を介して、制御器210に制御信号を送出する。
【0035】
通信インターフェース・カード318は、イーサネット(R)プロトコルに従い動作するカードであり、製鉄会社のイントラネット内にあるプロキシ・サーバ(図示しない)に接続され、外部のインターネットに接続されている。通信インターフェース・カード318は、図2に示すように、コンピュータ212から電力会社に、予測電力量を通知するために使用される。
【0036】
次に、図4の機能ブロック図を参照して、本発明の処理の機能構成について説明する。図示するように、この機能構成は、最適施策作成モジュール410と、最適施策実施モジュール420を有する。
【0037】
最適施策作成モジュール410と、最適施策実施モジュール420は、C、C++、Java(R)などの既存の任意の適当なプログラミング言語で記述され、コンパイルされた実行可能バイナリ・ファイルがハードディスク・ドライブ308に保存され、キーボード310やマウス312などに応答するオペレーティング・システムの働きで主記憶306にロードされて実行される。
【0038】
最適施策作成モジュール410は、予測誤差分布411、蓄電池特性412及び電力コスト構造413という3つの設定情報をもつ。予測誤差分布411は、過去の予測電力と実際の電力の間の誤差の値の時系列を基に作成された統計的情報である。蓄電池特性412は、蓄電池の、充電電流特性、充電電圧特性、充電時間特性、放電電流特性、放電終止電圧特性、及び放電時間特性などの特性の情報であり、蓄電池のメーカーから提供される仕様の情報を、コンピュータ可読な形式で記述したものである。電力コスト構造413は、電力会社と、電力を供給される組織(この場合、製鉄所)の間の電力料金体系の情報を、コンピュータ可読な形式で記述したものである。予測誤差分布411、蓄電池特性412及び電力コスト構造413の情報は、データ・ファイルとして、所定の形式で、ハードディスク・ドライブ308に保存されている。
【0039】
最適施策作成モジュール410はさらに、処理ルーチンとして、マルコフ決定過程(MDP)最適化ルーチン414と、ソルバ415をもつ。MDP最適化ルーチン414は、予測誤差分布411、蓄電池特性412及び電力コスト構造413の情報を読み取って、期待コスト、遷移確率などの値を計算する。MDP最適化ルーチン414はさらに、ソルバ415を利用して、期待コスト及び遷移確率の情報を使って、最適施策421の情報を計算して、コンピュータ可読な形式で、ハードディスク・ドライブ308に保存する。ソルバ415の機能の詳細については、後述する。
【0040】
最適施策実施モジュール420は、最適施策作成モジュール410によって作成された最適施策421の情報に基づき電力管理を行う電力管理ルーチン422を含む。電力管理ルーチン422は、最適施策421を実施する際、電力計206から得られる消費電力の情報を用いて、蓄電池208を充電または放電させるために、制御器210に制御信号を送出する。予測消費電力ルーチン423は、製鉄所の設備204における所定のスケジュールに従い、予測消費電力量を計算する。予測消費電力量の計算自体は、特開昭64−15201号公報、特開平6−262223号公報、及び特開2001−321810号公報等に記載されているように、従来より知られているので、ここでは詳しく説明しない。電力管理ルーチン422は、予測消費電力ルーチン423によって計算された予測消費電力量と、電力管理ルーチン422が最適施策421に従い計算した補正項の合計を、ある区間の予測される使用電力量として、電力会社202に通知する。
【0041】
次に、最適施策作成モジュール410の機能をより詳細に説明する。まず、本発明の前提として、電力の調整は、図5に示すような一定の区間毎に行われ、各区間は、一定間隔で細分化されたサブ区間に分割される。
本発明は、次のように定義する「ターゲット」を、以下に特定する用途で、用いるものである。
定義:(ある区間の)ターゲット =(その区間の)発電所に通知する使用電力量− (その区間の)使用電力予測値
用途:以下のような特徴を持つMDPの最適施策を求める。
状態は、決定された将来のターゲットに関する情報を含む。
状態は、T個のサブ区間(1,2,...,T)のうち、どのサブ区間にあるかの情報を含み、更に以下のように定義される。
また、電力使用量誤差に関する情報を含む:
(サブ区間tの)電力使用量誤差 =(サブ区間tまでの)電力使用量実績値 −(当該区間の)ターゲット −(t/T)×(当該区間の)使用電力予測値
アクションは、当該サブ区間の充放電量を決定し、またターゲットを設定すべきサブ区間においては、将来のターゲットをも決定することを含む。
図6は、1つの区間内での、通知する使用電力量、電力使用量誤差、電力使用量実績値、及び使用電力予測値の間の関係を説明するための図である。
本発明におけるMDPの定義は、後で詳しく説明する。
【0042】
本発明の1つの実施例では、区間は30分であり、それが{1,2,..,T=10}という、3分のサブ区間に分割される。そして、次の区間の電力使用量が15分前(サブ区間Ttrgt = 5)に通知される。また、各サブ区間tの開始時点においてサブ区間tの充放電量が決定される。また、蓄電池の効率は100%であると仮定する。
【0043】
次に、最適施策作成モジュール410の処理について、より詳しく説明する。これは、概要ステップとしては、ステップ702における、電力使用量が予測値からどれくらい離れるかを推定する処理と、ステップ704における、MDPパラメータの決定処理と、ステップ706における、最適施策の算出処理からなる。
【0044】
ステップ702の処理は、予測誤差分布411を用意する処理であり、サブ区間tにおいて使用量誤差がxの時、次のサブ区間t+1において使用量誤差がyとなる確率を決めるモデルを作ることである。ここでは、蓄電池は使わない前提での値である。
【0045】
例えば、30分毎の電力使用量の履歴がある場合、30分毎の電力使用量の予測誤差分布Fから、X1 + ... + XTが近似的に確率分布Fをもつように、X1, ...,XTの確率分布を決定する。
【0046】
そのために例えば、図8(a)に示すFを正規分布N(μ,σ2)で近似して、各Xiを、図8(b)に示す、N(μ/T,σ2/T)を有限区間に離散化した分布とする。以下、X1, ...,XTは、独立同一分布Δをもち、値xjを確率pj(j=1,...,T)でとるとする。
【0047】
なお、X1, ...,XTが独立同一分布をもつというのは必須ではなく、自己回帰モデルのように相関をもたせてもいい。
【0048】
なお、もしサブ区間毎の予測誤差Xiの分布が正規分布で近似できない場合は、サブ区間毎の予測誤差Xiの分布が推定可能であることを前提とする。
【0049】
次にステップ704を説明する前提として、本実施例で使用するMDPの定義を与える。
状態を4つの値の組で定義するs=(x,b,t,trgt)
x: 電力使用量誤差
b: 蓄電量
t: サブ区間
trgt: 次の区間のターゲット(t≦Ttrgtではtrgt=null)
【0050】
状態s =(x,b,t,trgt)で取り得るアクションa=(a1,a2)は:
t=Ttrgtにおいては、サブ区間tの充放電量a1と次区間のターゲットa2の決定
t≠Ttrgtにおいては、サブ区間tの充放電量a1の決定(a2=null)
ただし、可能なa1の値は、蓄電量に依存する。
【0051】
また、a1の値の候補は{-1,0,1}、a2の値の候補は{-5,-4,...,4,5} とする
状態s =(x,b,t,trgt)でアクションa=(a1,a2)をとった時の遷移は、
t<T,t≠Ttrgtにおいては、状態s’=(x+a1+xj,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)への遷移確率が1
コストはt=Tの状態からの遷移でのみ発生し、 状態s=(x,b,T,trgt)で
アクションa=(a1,null)をとった時に発生する期待コストは、
【数1】


で決まる。ここで、fは図9のような関数とする。電力が余る場合に不連続にコストが発生する場合は、図10に示すように、原点においてコスト0ではなく、正の値をとる場合もありえる。電力のコストは、このような区分線形関数であらわされるのが一般的であるが、本発明は、任意の関数形のコスト構造に対応可能であることを理解されたい。
【0052】
次に、図11及び図12のフローチャートを参照して、MDP最適化ルーチン414がMDPパラメータを決定する処理を説明する。
【0053】
図11において、ステップ1102では、MDP最適化ルーチン414は、予め決められた以下の量を読み取る。
T: インターバルの分割数
Ttrgt: ターゲットを設定するサブ区間
{-m1,...,0,...,n1}: 充(放)電アクション候補集合
{-m2,...,0,...,n2}: ターゲット設定アクション候補集合
B: 蓄電池容量
【0054】
ステップ1104では、MDP最適化ルーチン414は、以下の式で、サブ区間1の状態集合S1を算出する。
S1={<x,y,1,null> | x∈{-n1,...,m1}; y∈[0,B]}
【0055】
ステップ1106では、MDP最適化ルーチン414は、サブ区間の番号である変数t = 1とおく。
【0056】
ステップ1108では、MDP最適化ルーチン414は、各s∈Stについて、アクション集合A(s)を算出し、各s∈St,a∈A(s)のペアについて、次状態s’への遷移確率p(s'|s,a)及びコストCs,a
を算出する。ステップ1108の詳細は、図12のフローチャートを参照して、後で説明する。
【0057】
ステップ1110では、MDP最適化ルーチン414は、t < T、すなわちサブ区間が終端に達していないかどうかを判断する。
【0058】
もしt < Tであるなら、MDP最適化ルーチン414は、ステップ1112で、下記の式により、サブ区間t+1の状態集合St+1を算出する:
St+1={s'|∃s∈St,∃a∈A(s) s.t. p(s'|s,a)>0}
ここで、s.t.とは、such thatの略で、以下の制約条件を満たす場合、ということを意味する。
【0059】
ステップ1112の後は、ステップ1114でtを1つ増分して処理は、ステップ1108に戻る。
【0060】
ステップ1110に戻って、t < Tが否定的、すなわちt = Tなら、処理は終わる。
【0061】
次に、図12のフローチャートを参照して、ステップ1108の処理をより詳細に説明する。図12において、ステップ1202では、MDP最適化ルーチン414は、コスト関数fと、誤差分布(xj,pj) j = 1,...,nを決定する。コスト関数fは、電力コスト構造413によって決定され、誤差分布(xj,pj)は、予測誤差分布411によって決定される。
【0062】
ステップ1204では、MDP最適化ルーチン414は、Stからs=<x,b,t,trgt>をpopする。
【0063】
ステップ1206で、MDP最適化ルーチン414は、t = Ttrgtかどうか判断し、もしそうなら、ステップ1208で、A(s)={<a1,a2> |a1=max{y-m1,0},...,min{y+n1,B};a2=-m2,...,n2}によって、A(s)を決定する。
【0064】
t = Ttrgtでないなら、MDP最適化ルーチン414は、ステップ1210で、A(s)={<a1,trgt> |a1=max{y-m1,0},...,min{y+n1,B}}によって、A(s)を決定する。
【0065】
ステップ1208もしくはステップ1210からは、ステップ1212に進み、そこで、MDP最適化ルーチン414は、A(s)から、a = <a1,a2>をpopする。
【0066】
次のステップ1214ではMDP最適化ルーチン414は、t < T、すなわちサブ区間が終端に達していないかどうかを判断する。そしてもしt < Tなら、ステップ1216に進み、そこで、MDP最適化ルーチン414は、各j=1,...nについて、p(<x+a1+xj,b+a1,t+1,a2>|s,a)=pjとする。
【0067】
t < Tでないなら、MDP最適化ルーチン414は、ステップ1218でp(<-trgt,b+a1,1,null>|s,a)=1とし、ステップ1220で、各j = 1,...,nについて、
【数2】


とする。
【0068】
ステップ1216もしくはステップ1220からはステップ1222に進み、そこで、MDP最適化ルーチン414は、A(s)が空かどうか判断する。そしてA(s)が空でないなら、処理はステップ1212に戻る。
【0069】
A(s)が空ならば、処理はステップ1224に進み、そこで、MDP最適化ルーチン414は、Stが空かどうか判断する。そして、もしStが空でないなら、処理はステップ1202に戻り、一方もしStが空なら、図12のフローチャートで示す処理は終わって、図11のステップ118に戻る。
【0070】
結局、図11の処理が完了すると、下記に示すように、状態と最適施策の対応が得られる。
【表1】


この内容は、後でコンピュータの処理により検索可能に、好適には、ハードディスク・ドライブ308に保存される。
【0071】
これで図7のステップ704は完了するので、次に、ステップ706の各状態への遷移確率p(s'|s,a)と、コストCs,aを利用して最適施策を算出する処理を説明する。
【0072】
最適施策は、好適には、ソルバ415を使用して計算される。ソルバ415として、これらには限定されないが、IBM(R) ILOG CPLEX、jMDP(http://copa.uniandes.edu.co/software/jmarkov/)などの既存のソルバを使用することができる。
【0073】
MDPの最適施策を求めるために、線形計画法、value iteration、policy iterationなどの技法を使用することができる。
【0074】
MDPの線形計画による最適化に関しては、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 などの参考文献を参照されたい。
【0075】
ステップ706における、MDPの最適施策の1つの実施例は、Sを状態集合、A(s)を状態sからのアクション候補集合、Cs,aを状態sでアクションaをとった時の期待コスト、p(s'|s,a)を、状態sでアクションaを取った時に状態s'に遷移する確率としたとき、下記の線形計画問題をIBM(R) ILOG CPLEXによって解くことである。
【数3】

【0076】
ステップ706における、MDPの最適施策のさらに別の実施例は、Sを状態集合、A(s)を状態sからのアクション候補集合、Cs,aを状態sでアクションaをとった時の期待コスト、p(s'|s,a)を、状態sでアクションaを取った時に状態s'に遷移する確率、αsを初期状態が状態sである確率、γを1サブ区間内の割引率とすると、下記の線形計画問題をIBM(R) ILOG CPLEXによって解くことである。γの値は、例えば、0.99である。
【数4】

【0077】
また、value iterationとpolicy iterationは例えば、上記jMDPを使って解かれる。
【0078】
value iterationは、次のようなアルゴリズムで解かれる。
ステップ1:下記の式でバリューを初期化する。ここで、バリューは0でなくてもいい。
【数5】


ステップ2:下記の式を、n = 0,1,... と順次計算していく。
【数6】


終了条件を満たしたら、例えば、前回のvとの差ず十分小さくなったら、または時間制限がきたら終了する。
ステップ3:そして、下記の式であらわされるd(s)が、sでの最適アクションである。
【数7】

【0079】
policy iterationは、次のようなアルゴリズムで解かれる。
ステップ1:下記の式でアクションを初期化する。
【数8】


ステップ2:下記の式をvについて解く。
【数9】


これは、連立一次方程式なので、標準的な方法で下記のとおり解ける。
【数10】


但し、rdは縦ベクトルで、第s成分は、cs,d(s)である。
また、Pdは正方行列で、第(s',s)成分は、p(s'|s,d(s))である。
ステップ3:下記の式で、d(s)を求める。
【数11】


ここで、v(s')はステップ2で求めたvの第s'成分である。
ステップ4:ステップ2に戻る。
そうして終了条件を満たしたら終了する。このとき、有限回でdが更新されなくなるので、そこで終了するのが標準的である。
【0080】
このようにして求められた最適アクションは、最適施策421として、好適にはハードディスク・ドライブ308に保存される。
【0081】
次に、このようにして作成された最適施策421を利用して、最適施策を実行する処理について説明する。図13は、最適施策421が電力管理ルーチン422によって利用される様子を示す図である。すなわち、電力管理ルーチン422は、各サブ区間の開始時点において、状態すなわち電力使用量誤差・蓄電量・設定済みターゲット1302aを取得し、最適施策421を参照して、当該サブ区間の充放電量を決定する。そして、区間内のあるサブ区間(t = Ttrgt)では、状態1302bと消費電力予測値1304とを取得し、最適施策421を参照して、次の30分のターゲット設定も行う。
【0082】
次に、図14のフローチャートを参照して、電力管理ルーチン422の処理を説明する。まずステップ1402では、電力管理ルーチン422は、以下のように初期設定を行う。
t := 1
b := 開始時点の蓄電量
trgt := 0
x := 0
z := 当該区間の電力消費量予測値
【0083】
ステップ1404では、電力管理ルーチン422は、t = 1すなわち、最初のサブ区間であるかどうか判断し、もしそうなら、ステップ1406で、w := (z + trgt)/T, trgt := nullという初期設定を行う。ここで、wは、各サブ区間でこれくらい電力を使うという目安となる量を表す。
【0084】
ステップ1408では、電力管理ルーチン422は、状態<x,b,t,trgt>に対応する最適アクション<a1,a2>を、最適施策421から取得する。
【0085】
ステップ1410では、電力管理ルーチン422は、t = Ttrgtかどうかを判断し、もしそうなら、下記の処理を行う。
z := 次区間の電力消費量予測値(既存手法で予測)
z+a2だけ電力を消費すると発電所に通知
trgt := a2
なお、図15に示すように、区間内にあって、t = Ttrgtとなるサブ区間は、次区間のターゲット設定を行うという意味で、特別なサブ区間である。t = Ttrgtは、電力会社と製鉄所の契約で合意された使用電力通知期限に基づいて、決定される。
【0086】
次に電力管理ルーチン422は、ステップ1414で、サブ区間tにおいてa1だけ充電(a1が負の時は|a1|だけ放電)するように、蓄電池を制御する。
【0087】
次に電力管理ルーチン422は、ステップ1416で、下記の処理を行う。
w := サブ区間tの電力消費量(放電分はカウントしない)
x := x + w - w
b := b + a1
【0088】
次に電力管理ルーチン422は、ステップ1418で、t < Tならtを1つ増分し、t >= Tならt = 1にリセットする処理を行い、ステップ1404に戻る。
【0089】
図16は、t = Ttrgtでなくt=Tでもない場合の状態遷移の例を示す。すなわち、ターゲットtrgtを与えて、アクションとして充放電量を決定する。
【0090】
一方、図17は、t = Ttrgtである場合の状態遷移の例を示す。この場合、アクションとして充放電量を決定するのみならず、ターゲットtrgtをも決定する。
【0091】
なお、この実施例では、説明の便宜上、充電と放電の特性を対称的であるとみなしたが、実際は非対称であるので、現実の特性に応じて、パラメータを変更することになる。
【0092】
以上、電力料金のコスト調整に関して、本発明の特定の実施例を説明してきたが、本発明は、これに限らず、特定のコスト構造をもち、貯蔵・放出を制御可能な、ガスや水道のようなリソースのコスト合理化にも適用可能であることを理解されたい。
【符号の説明】
【0093】
202・・・電力会社
204・・・製鉄所の設備
206・・・電力計
208・・・蓄電池
210・・・蓄電池の制御器
212・・・コンピュータ
304・・・CPU
306・・・主記憶
308・・・ハードディスク・ドライブ
411・・・予測誤差分布
412・・・蓄電池特性
413・・・電力コスト構造
414・・・MDP最適化ルーチン
415・・・ソルバ
421・・・最適施策
422・・・電力管理ルーチン
423・・・消費電力予測ルーチン

【特許請求の範囲】
【請求項1】
所与のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するための施策を生成する方法であって、
使用量が予測値からどれだけ外れるかの誤差分布と、前記リソースを蓄積し、または放出する蓄積手段の特性と、前記コスト構造をコンピュータ可読な形式で用意するステップと、
前記誤差分布と、前記蓄積手段の特性と、前記コスト構造に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程の期待コストと、遷移確率を含むパラメータを計算するステップと、
前記マルコフ決定過程の期待コストと、遷移確率を含む前記パラメータを用いて、前記状態に対する、前記蓄積手段の前記リソースの蓄積または放出のアクションを含む最適施策を決定するステップを有する、
リソースのコストを最適化するための施策を生成する方法。
【請求項2】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項1に記載の方法。
【請求項3】
前記コスト構造が、区間線形関数である、請求項1に記載の方法。
【請求項4】
前記最適施策を決定するステップが、線形計画法を使用して解かれる、請求項1に記載の方法。
【請求項5】
前記最適施策を決定するステップが、value iterationを使用して解かれる、請求項1に記載の方法。
【請求項6】
前記最適施策を決定するステップが、policy iterationを使用して解かれる、請求項1に記載の方法。
【請求項7】
所与のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するための施策を生成するプログラムであって、
前記コンピュータに、
使用量が予測値からどれだけ外れるかの誤差分布と、前記リソースを蓄積し、または放出する蓄積手段の特性と、前記コスト構造をコンピュータ可読な形式で用意するステップと、
前記誤差分布と、前記蓄積手段の特性と、前記コスト構造に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程の期待コストと、遷移確率を含むパラメータを計算するステップと、
前記マルコフ決定過程の期待コストと、遷移確率を含む前記パラメータを用いて、前記状態に対する、前記蓄積手段の前記リソースの蓄積または放出のアクションを含む最適施策を決定するステップを実行させる、
リソースのコストを最適化するための施策を生成するプログラム。
【請求項8】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項7に記載のプログラム。
【請求項9】
前記コスト構造が、区間線形関数である、請求項7に記載のプログラム。
【請求項10】
前記最適施策を決定するステップが、線形計画法を使用して解かれる、請求項7に記載のプログラム。
【請求項11】
前記最適施策を決定するステップが、value iterationを使用して解かれる、請求項7に記載のプログラム。
【請求項12】
前記最適施策を決定するステップが、policy iterationを使用して解かれる、請求項7に記載のプログラム。
【請求項13】
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化する方法であって、
前記コスト構造に基づき、請求項1の方法に従い生成された施策をコンピュータ可読に保存するステップと、
前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定するステップと、
前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定するステップとを有する、
リソースのコストを最適化する方法。
【請求項14】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項13に記載の方法。
【請求項15】
前記コスト構造が、区間線形関数である、請求項13に記載の方法。
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するプログラムであって、
前記コンピュータに、
前記コスト構造に基づき、請求項7のプログラムに従い生成された施策をコンピュータ可読に保存するステップと、
前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定するステップと、
前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定するステップ実行させる、
リソースのコストを最適化するプログラム。
【請求項16】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項15に記載のプログラム。
【請求項17】
前記コスト構造が、区間線形関数である、請求項15に記載のプログラム。
【請求項18】
所定のコスト構造の下で、コンピュータの処理によって、リソースのコストを最適化するシステムであって、
記憶手段と、
前記リソースを蓄積し、または放出する蓄積手段と、
前記コスト構造に基づき、請求項7のプログラムを用いて生成された施策をコンピュータ可読に前記記憶手段に保存する手段と、
前記区間を複数のサブ区間に分けて、該個々のサブ区間で、前記施策に基づき、使用量誤差、前記蓄積手段の蓄積量、区間の指定、設定済みターゲットを含む状態をもつマルコフ決定過程を計算することによって、前記蓄積手段の蓄積・放出のアクションを決定する手段と、
前記複数のサブ区間のうちの特定のサブ区間で、前記施策に基づき、次の区間の目標リソース使用量を決定する手段を有する、
リソースのコストを最適化するシステム。
【請求項19】
前記リソースが電力であり、前記蓄積手段が蓄電池である、請求項18に記載のシステム。
【請求項20】
前記コスト構造が、区間線形関数である、請求項18に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−194935(P2012−194935A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−60037(P2011−60037)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】