以下に、本願の開示する制御方法、制御サーバ及び制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例に係るシステムの構成について説明する。図1は、本実施例に係るシステムの構成を示す図である。図1に示すように、このシステムは、分電盤20と、ノートPC(Personal Computer)30a,30b,30cと、照明50aと、複合機50bと、制御サーバ100とを有する。分電盤20、ノートPC30a,30b,30c、制御サーバ100は、ネットワーク10を介して相互に接続される。また、分電盤20、ノートPC30a,30b,30c、照明50a、複合機50bは、電源線40に接続される。
ネットワーク10は、例えば、社内LAN(Local Area Network)に対応する。社内LANとしては、有線LANや無線LANなどの任意の種類の通信網が採用され、インターネットやLANなどの他のネットワークに接続されても良い。
図1に示す例では、制御サーバ100にノートPC30a,30b,30cが接続される場合を示したが、図示の構成に限定されない。例えば、制御サーバ100には任意の数のノートPCが接続されて良い。
図1に示す例では、電源線40にノートPC30a,30b,30cや、照明50a、複合機50bが接続される場合を示したが、図示の構成に限定されない。つまり、電源線40には任意の電気製品が接続されて良い。例えば、電源線40にはテレビ、冷蔵庫、電子レンジ、などの電気製品が接続される。また、以下では、照明50a、複合機50b及び他の電気製品を区別無く総称する場合には、電気製品50と記載する。電気製品50は、例えば、社内で電力を消費するあらゆる製品を含む。
制御サーバ100は、社内に設置されたサーバ装置であり、複数のノートPCのバッテリの充放電を規定する制御計画を作成する。
分電盤20は、電源線40を介してノートPC30a,30b,30cや、照明50a、複合機50bに電源を供給する。
ノートPC30a,30b,30cは、社内の利用者が利用するノート型パーソナルコンピュータである。以下の説明では、ノートPC30a,30b,30cを適宜、「ノートPC30」あるいは単に「PC」と記載する。
ノートPC30には、自装置に搭載された蓄電池の充放電を制御するクライアント用アプリケーションがインストールされる。例えば、ノートPC30は、自装置の蓄電池の充放電に関する状態を規定した制御計画を制御サーバ100から受け付けて、受け付けた制御ポリシーにしたがって自装置の蓄電池の充放電に関する状態を切り替える。また、ノートPC30は、装置の一例である。また、ノートPCの蓄電池を適宜「バッテリ」とも記載する。
ここで、ノートPC30の蓄電池の充放電に関する状態について説明する。図2は、ノートPCの蓄電池の充放電に関する状態について説明するための図である。図2の横軸は時間を示し、縦軸は電力値[W]を示す。例えば、時間帯2a及び2dには、蓄電池は充放電を行わずノートPC30がAC(Alternating Current)電源で稼働している状態を示す。この状態を「AC」とも記載する。また、例えば、時間帯2bには、蓄電池が放電することでノートPC30が稼働している状態を示す。この状態を「BA」とも記載する。また、例えば、時間帯2cには、蓄電池が充電しつつノートPC30がAC電源で稼働している状態を示す。この状態を「CH」とも記載する。図2に示すように、ノートPC30は、「AC」、「BA」又は「CH」のいずれかの状態で稼働する。例えば、ノートPC30は、「9:00〜9:30」の時間帯に「BA」で稼働する旨の制御計画を制御サーバ100から受け付けると、指定された時間帯に「BA」で稼働する。
次に、図1に示した制御サーバ100の構成について説明する。図3は、本実施例に係る制御サーバの構成を示す図である。図3に示すように、この制御サーバ100は、通信制御部110、記憶部120、制御部130を有する。
通信制御部110は、分電盤20、ノートPC30との間でデータを送受信する処理部である。通信制御部110は、例えば、ネットワークインターフェースカード(NIC:Network Interface Card)等に対応する。後述する制御部130は、通信制御部110を介して、分電盤20、ノートPC30とデータをやり取りする。
記憶部120は、需要予測データ121、PC情報テーブル122、充電データ123、放電データ124、第1制御計画テーブル125、第2制御計画テーブル126を有する。記憶部120は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。
需要予測データ121は、システム内の予測される需要電力の時系列データである。例えば、需要予測データ121は、一日における各時間帯と需要電力値とを対応づけたデータである。この需要電力値は、例えば、過去の消費電力値の統計データから算出される。
図4は、需要予測データの一例を示す図である。図4の横軸は時間を示し、縦軸は電力値[kW]を示す。図4は、社内における一日の需要予測データ121を例示したものである。例えば、需要予測データ121は、社内で電力を消費するあらゆる製品によって消費された過去の消費電力値の統計データから算出される。図4では、需要予測データ121が1パターンである場合を示したが、本発明はこれに限定されるものではない。例えば、需要予測データ121は、曜日や時期に違いがあり、複数の推移の仕方が予想されるような場合には、複数パターン存在する場合もある。
PC情報テーブル122は、例えば、ノートPC30に関する各種の情報を保持する。図5は、PC情報テーブルの一例を示す図である。図5に示すように、PC情報テーブル122は、「ID」と、「観測可否」と、「制御可否」と、「状態」と、「バッテリ容量」と、「充電率」とを対応づけて記憶する。
図5において、IDは、社内のノートPC30を一意に識別するID(Identification)を示す。観測可否は、制御サーバ100が該当するノートPC30を観測できているか否かを示す。例えば、観測可否「○」は、制御サーバ100が該当するノートPC30を観測できている、つまり、該当するノートPC30が社内LAN10に接続されていることを示す。また、例えば、観測可否「×」は、制御サーバ100が該当するノートPC30を観測できていない、つまり、該当するノートPC30が社内LAN10に接続されていないことを示す。
図5において、制御可否は、該当するノートPC30が電源線40に接続されているか否かを示す。例えば、制御可否「○」は、該当するノートPC30が電源線40に接続されていることを示す。また、例えば、制御可否「×」は、該当するノートPC30が電源線40に接続されていないことを示す。
状態は、該当するノートPC30の現在の状態を示す。例えば、状態「AC」は、蓄電池が充放電を行わず、ノートPCがAC電源で稼働している状態を示す。また、例えば、状態「BA」は、蓄電池が放電することでノートPCが稼働している状態を示す。また、例えば、状態「CH」は、蓄電池が充電しつつノートPCがAC電源で稼働している状態を示す。バッテリ容量は、該当するノートPC30のバッテリの仕様として定められた電力の容量[Wh]を示す。充電率は、該当するノートPC30の現在の充電率[%]を示す。なお、PC情報テーブル122には、例えば、社内で利用されるノートPC30が予め登録されるものとする。また、図中の「−」は、該当するデータが存在しないことを示す。
図5に示すように、例えば、PC情報テーブル122は、ID「PC1」と、観測可否「○」と、制御可否「○」と、状態「AC」と、バッテリ容量「65」と、充電率「80」とを対応づけて記憶する。つまり、PC1がネットワーク10及び電源線40に接続され、AC電源で稼働している状態であり、バッテリ容量が65[Wh]であり、現在の充電率が80%であることを示す。また、PC情報テーブル122は、他のノートPC30についても同様に、情報を記憶する。
図3の説明に戻る。充電データ123は、例えば、バッテリを充電する際の充電率の変化を示すデータである。例えば、充電データ123は、ノートPC30のバッテリを充電する際の充電率と時間とを対応づけたデータである。充電データ123は、バッテリの仕様として定められたものである。また、充電データ123は、ノートPC30のバッテリを充電する際の時間ごとの充電率を記憶しておき、記憶したデータから算出しても良い。
図6は、充電データの一例を示す図である。図6の横軸は時間[秒]を示し、縦軸は充電率[%]を示す。図6には、ノートPC30のバッテリを充電する際の充電率を例示する。なお、ここでは、説明の都合上、あるノートPC30に搭載されたバッテリの充電データ123を示したが、充電データ123は、ノートPC30ごとに記憶されるものである。例えば、充電データ123は、ノートPC30のIDごとに対応づけて記憶される。
図3の説明に戻る。放電データ124は、例えば、バッテリを放電する際の充電率の変化を示すデータである。例えば、放電データ124は、ノートPC30のバッテリを放電する際の充電率と時間とを対応づけたデータである。放電データ124は、バッテリの仕様として定められたものである。放電データ124は、ノートPC30のバッテリを放電する際の時間ごとの充電率を記憶しておき、記憶したデータから算出しても良い。
図7は、放電データの一例を示す図である。図7の横軸は時間[秒]を示し、縦軸は充電率[%]を示す。図7には、ノートPC30のバッテリを放電する際の充電率を例示する。なお、ここでは、説明の都合上、あるノートPC30に搭載されたバッテリの放電データ124を示したが、放電データ124は、ノートPC30ごとに記憶されるものである。例えば、放電データ124は、ノートPC30のIDごとに対応づけて記憶される。
第1制御計画テーブル125は、同一の第1グループに含まれる複数のノートPC30を、単一のノートPCとみなした場合において、蓄電池それぞれの充放電を時間帯毎に規定する制御計画の情報を保持する。第1グループに関する詳しい説明は後述する。図8Aは、第1制御計画テーブルの一例を示す図である。図8に示すように、この第1制御計画テーブル125は、グループIDと、30分ごとの時間帯とを対応づけて記憶する。例えば、時間帯「9:00」は、9時から9時半までの時間帯に対応する。グループIDは、グループを一意に識別する情報である。
第2制御計画テーブル126は、各ノートPCについて、蓄電池それぞれの充放電を時間帯ごとに規定する制御計画の情報を保持する。図8Bは、第2制御計画テーブルの一例を示す図である。図8Bに示すように、第2制御計画テーブル126は、IDと、30分ごとの時間帯とを対応づけて記憶する。例えば、時間帯「9:00」は、9時から9時半までの時間帯に対応する。また、第2制御計画テーブル126の1レコードは、該当するノートPC30の制御ポリシーに対応する。
制御部130は、取得部131と、測定部132と、作成部133と、制御計画特定部134と、出力部135とを有する。制御部130は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部130は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。
取得部131は、ノートPC30の各種の情報を取得し、取得した情報をPC情報テーブル122に登録する処理部である。なお、取得部131が情報を取得するタイミングは、制御サーバ100を利用する者が任意のタイミングを設定して良い。例えば、取得部131は、後述する作成部133が制御計画を作成する直前に情報を取得しても良い。
図5を用いて、取得部131の処理を説明する。例えば、取得部131は、PC2の状態が「CH」であり、充電率が「50%」であり、電源線40に接続されている旨の情報をPC2から取得する。取得部131は、取得した情報を図5のPC情報テーブル122に記録する。例えば、取得部131は、PC2に対応づけて、制御可否「○」と、状態「CH」と、充電率「50」とをPC情報テーブル122に記録する。また、取得部131は、PC2から情報を取得したので、PC2が社内LAN10に接続されているものと判定し、観測可否「○」をPC情報テーブル122に記録する。また、例えば、取得部131は、情報を取得できないPCについては、社内LAN10に接続されていないものと判定し、観測可否「×」をPC情報テーブル122に記録する。例えば、取得部131は、他のPCについて情報を取得するタイミングでPC3の情報を取得できない場合には、PC3が社内LAN10に接続されていないものと判定し、観測可否「×」をPC情報テーブル122に記録する。
測定部132は、図1のシステム内で消費された電力を測定する。測定部132は、測定した消費電力の情報を、作成部133に出力する。
例えば、測定部132は、電源線40に接続された電気製品により社内で消費された総電力量を測定する。測定部132は、測定した電力量の情報を記憶部120に記録する。記憶部120に記憶される電力の情報の図示は省略する。測定部132が社内で消費された電力を測定する方法は、従来のいかなる技術でも適用することができる。例えば、測定部132は、分電盤20が電源線40を介して供給された電力量を測定し、測定された電力量を分電盤20から取得しても良い。また、例えば、測定部132は、社内の全てのコンセントから供給された電力量を測定し、その総和を算出しても良い。
作成部133は、各ノートPC30を蓄電池の残量に基づいて、複数のグループに分類した後に、グループ毎に局所探索法を実行し、制御計画を作成する処理部である。作成部133は、分類部133a、電力算出部133b、生成部133c、シミュレート部133d、更新部133e、実行部133fを有する。
分類部133aは、各ノートPC30を蓄電池の残量に基づいて、複数のグループに分類する処理部である。まず、分類部133aは、複数のノートPC30が有する蓄電池の残量に基づいて、蓄電池の残量が類似する装置を同一のグループに追加して、複数のノートPC30を複数の第1グループに分類する。そして、分類部133aは、各第2グループに含まれる複数のノートPCの蓄電池の残量分布が均一となるように、第1グループ単位で複数のノートPC30を複数の第2グループに分類する。
まず、分類部133aが、ノートPC30を複数の第1グループに分類する処理の一例について説明する。図9は、分類部の処理を説明するための図(1)である。図9では説明の便宜上、各ノートPC30に内蔵される蓄電池のみを示し、ノートPC30の図を省略する。例えば、蓄電池1a〜1xを、それぞれ、ノートPC30a〜30xに内蔵される蓄電池とする。蓄電池の網掛け部分が多い蓄電池ほど、蓄電池の残量が多いものとする。分類部133aは、各蓄電池1a〜1xを、残量が少ないものから順に並び替えを行う。なお、残量が同じ蓄電池については、どちらを先に並べても良い。
例えば、分類部133aが蓄電池1a〜1xの並び変えを行うと、蓄電池は残量の少ない順に、1h,1l,1e,1q,1s,1m,1u,1p,1w,1j,1o,1x,1g,1d,1i,1b,1t,1n,1v,1r,1a,1c,1k,1fとなる。分類部133aは、先頭1番から4番目までの蓄電池1h,1q,1l,1eを第1グループ3Aに分類する。なわち、第1グループ3Aには、ノートPC30h,30q,30l,30eが含まれる。
分類部133aは、5番目から8番目までの蓄電池1s,1m,1u,1pを第1グループ3Bに分類する。なわち、第1グループ3Bには、ノートPC30s,30m,30u,30pが含まれる。
分類部133aは、9番目から12番目までの蓄電池1w,1j,1o,1xを第1グループ3Cに分類する。すなわち、第1グループ3Cには、ノートPC30w,30j,30o,30xが含まれる。
分類部133aは、13番目から16番目までの蓄電池1g,1d,1i,1bを第1グループ3Dに分類する。すなわち、第1グループ3Dには、ノートPC30g,30d,30i,30bが含まれる。
分類部133aは、17番目から20番目までの蓄電池1t,1n,1v,1rを第1グループ3Eに分類する。すなわち、第1グループ3Eには、ノートPC30t,30n,30v,30rが含まれる。
分類部133aは、21番目から24番目までの蓄電池1a,1c,1k,1fを第1グループ3Fに分類する。すなわち、第1グループ3Fには、ノートPC30a,30c,30k,30fが含まれる。
上記のように、分類部133aは、各ノートPC30a〜30xを、第1グループ3A〜3Fに分類することで、蓄電池の残量が類似するノートPC同士をグループ化することができる。
続いて、分類部133aは、各ノートPC30を複数の第1グループに分類した後に、各第2グループに含まれる複数のノートPCの蓄電池の残量分布が均一となるように、第1グループ単位で、複数のノートPC30を複数の第2グループに分類する。ここで、残量分布は、ノートPC30の台数と、蓄電池の残量との関係を示す分布である。図10は、残量分布の一例を示す図である。図10において、縦軸がノートPC30の台数を示し、横軸が蓄電池の残量(%)を示す。
分類部133aは、第1グループからn個の第1グループをまとめてM個の第2グループを生成する。例えば、分類部133aは、第1グループから3個の第1グループをまとめて2つの第2グループを生成する。分類部133aは、第2グループに含まれるノートPCの台数と蓄電池の残量とを基にして、残量分布を求め、各第2グループの残量分布の類似度を算出する。分類部133aは、上記処理を繰り返し実行して、類似度が最大となる第1グループの組み合わせを特定し、特定した組み合わせによって、各ノートPC30を第2グループに分類する。
例えば、第1グループ3A,3C,3Fをまとめた第2グループの残量分布と、第1グループ3B,3D,3Eをまとめた第2グループの残量分布との類似度が他の組み合わせよりも大であるとする。この場合には、分類部133aは、第1グループ3A,3C,3Fをまとめて第2グループ4Aとし、第1グループ3B,3D,3Eをまとめて第2グループ4Bとする。なお、分類部133aは、如何なる従来技術を用いて、類似度を算出しても良い。
例えば上記のように、分類部133aは、各ノートPC30a〜30xを、第1グループ3A〜3Fに分類し、第1グループ3A〜3Fを第2グループ4A,4Bに分類する。分類部133aがこのような分類を行うことで、各ノートPC30は、図11に示すように階層化される。
図11は、階層化されたノードPCの一例を示す図である。図11に示すように、グループ化する前の層を下層5Aとする。第1グループに分類した層を中層5Bとする。第2グループに分類した層を上層5Cとする。分類部133aは、分類結果の情報を、電力計算部133b、生成部133c、シミュレート部133d、更新部133e、制御計画特定部134に出力する。
図12は、本実施例に係る分類結果の一例を示す図である。図12に示すようにこの分類結果は、第2グループを一意に識別する第2グループ識別情報と、第1グループを一意に識別する第1グループ識別情報と、各ノートPCを一意に識別するIDとを対応付ける。例えば、各ノートPC30a〜30xに対応するIDをそれぞれ30a〜30xとする。図12に示す例では、第1グループ3AにノートPC30a,30h,30l,30qが含まれる。また、第1グループ3Aは、第2グループ4Aに含まれる。
電力計算部133bは、分類部133aが分類した各グループに割り当てる電力を算出する処理部である。例えば、電力算出部133bは、式(1)に基づいて、各第2グループに割り当てる電力の値を算出する。式(1)に示すピーク電力予測値は、ノートPC30の消費電力を除いた、システム全体のピーク電力予測値である。現在の消費電力は、ノートPC30の消費電力を除いた、システム全体の現在の消費電力である。電力算出部133bは、各第2グループに割り当てる電力の情報を、シミュレート部133dに出力する。
各第2グループに割り当てる電力=(ピーク電力予測値−現在の消費電力)/第2グループ数・・・(1)
続いて、電力算出部133bの処理をより詳細に説明する。電力算出部133bは、より具体的には、式(2)に示す最適化問題を解くことで、各時間帯でノートPC30が使用可能な電力を計算する。ただし、式(3)、(4)、(5)の条件を満たすものとする。式(2)〜(5)において「k」は、各時間帯を示す変数である。図13は、本実施例に係る電力算出部の処理を説明するための図である。図13において、横軸は、時間を示し、縦軸は電力値を示す。線分6aは、ノートPC30の電力を除いた各時間帯の需要電力値の予測値を示す。線分6bは、ノートPC30の電力を除いた需要電力値の予測値の最大値であり、Dmaxに対応する。u[k]は、時間帯kにおいて、全ノートPC30に割り当てる電力の合計値である。D[k]は、時間帯kにおける、全ノートPC30の電力を除いた需要電力値の予測値である。なお、需要電力値の予測値が最大値となる時間帯をk’とする。
minΣu[k]・・・(2)
u[k]≦Dmax−D[k]・・・(3)
D[k−1]+u[k−1]+g[k-1]≦D[k]+u[k]+g[k]・・・(4)
ここで、式(2)は、図13の網掛け部分の面積を最小化するという最適化問題である。式(3)は、ある時間帯kの一つ前の時間帯にノートPC30に割り当てる電力が、需要電力の最大値を超えないようにするための条件式である。式(4)は、u[k]とD[k]とg[k]とを合計した値が、徐々に大きくなるという条件である。ここで、g[k]は、g[k]=0(Dmax−D[k]≦全ノートPCをCHした時の電力)、g[k]=Dmax−D[k](Dmax−D[k]>全ノートPCをCHした時の電力)で定められる。なお、式(5)は、時間帯k’の一つ前の時間帯にノートPC30の蓄電池の平均残量が、所定値τ以上であることを示す。これにより、ノートPC30の電力を除いた需要電力値の予測値の最大値となる前に、ノートPC30の蓄電池の平均残量を所定値τ以上にすることができる。
電力算出部133bは、式(2)の最適化問題を解いて、各時間帯のu[k]を算出し、u[k]を第2グループ数で除算することで、各時間帯において各第2グループに割り当てる電力を算出する。電力算出部133bは、各第2グループに割り当てる電力の情報を、シミュレート部133dに出力する。
なお、電力算出部133bが各第2グループに割り当てる電力を算出する区間は、第1制御計画テーブルの区間よりも大きな区間となる。例えば、図8Aに示した第1制御計画テーブルの区間は30分区切りであるが、電力算出部133bが、90分区切りで、各第2グループに割り当てる電力を算出する。電力算出部133bは、需要電力値の予測値の最大値を含む大まかなトレンドを基に、各区間で使用可能な電力を割り出す。
生成部133cは、第1グループに含まれる複数のノートPCを単一のノートPC30とみなして、制御計画を生成する処理部である。例えば、図12のようにノートPC30が分類されている場合には、ノートPC30e,30h,30l,30qを単一のノートPC「第1グループ3A」とみなす。
生成部133cは、単一のノートPCとみなした各第1グループの蓄電池を、第1グループに含まれる各ノートPCの蓄電池をまとめたものとする。例えば、第1グループ3Aの蓄電池を、ノートPC30e,30h,30l,30qの各蓄電池をまとめた蓄電池とする。例えば、第1グループの蓄電池の残量を、第1グループに含まれる各ノートPC30の残量を平均した値とする。
生成部133cは、第1制御テーブル125のそれぞれの第1グループに対して、時間帯ごとに状態を設定することで初期の第1制御計画を生成する。図14〜図16は、本実施例に係る生成部の処理を説明するための図である。図14では一例として、単一のノートPCとみなした第1グループ3A,3Bを用いて説明を行う。図14に示すように、例えば、生成部133cは、PC情報テーブル122を参照し、制御可能なノートPCを含む第1グループ全ての時間帯に対して、状態「AC」を設定する。なお、ここでは説明を省略するが、第1グループに制御不能なノートPCが含まれる場合には、該グループに対応する各時間帯の状態を「UN1」または「UN2」を設定しても良い。
生成部133cは、生成した制御計画の任意の時間帯を選択し、「AC」「BA」「CH」のいずれかの状態に切り替える。これを「切り替え指示」と記載する。図15(1)には、切り替え前の第1制御計画テーブル125の一例を示し、図15(2)には、切り替え後の第1制御計画テーブル125の一例を示す。図15に示すように、例えば、生成部133cは、第1グループ3Bの「9:30」を選択する。生成部133cは、選択した時間帯と、それ以降の時間帯の状態を「BA」に切り替える。なお、図15の網掛け領域は、切り替え指示が出されたグループの時間帯を示す。また、生成部133cは、切り替え指示が出された第1グループの時間帯を第1制御計画テーブル125に記録する。
また、生成部133cは、状態を切り替える場合に、次の時間帯以降に切り替え指示があるまでの状態を切り替える。図16(1)には、切り替え前の第1制御計画テーブル125の一例を示し、図16(2)には、切り替え後の第1制御計画テーブル125の一例を示す。図16は、切り替え済みの状態が存在する場合を説明する。図16(1)では、第1グループ3Aの「12:30」の状態「BA」の切り替え指示がある場合を説明する。図16に示すように、例えば、生成部133cは、第1グループ3Bの「11:30」を選択し、「CH」に切り替える「切り替え指示」をだす。生成部133cは、選択したそれ以降の時間帯の状態を「CH」に切り替える。この場合、第1グループ3Aの「12:30」の状態「BA」の切り替え指示があるので、生成部133cは、「12:00」までの状態を「CH」に切り替える。
生成部133cは、第1グループに含まれる複数のノートPCを単一のノートPCとみなして、上記処理を実行し、各第1グループの第1制御計画の情報を、シミュレート部133dに出力する。なお、生成部133cは、第2グループ毎に第1制御計画の情報を生成する。例えば、第2グループ4A,4Bが存在する場合には、第2グループ4Aに含まれる第1グループ3A,3C,3Fをそれぞれ単一のノートPCとみなして、第1制御計画を生成する。制御部133cは、第2グループ4Bに含まれる第1グループ3B,3D,3Eをそれぞれ単一のノートPCとみなして、第1制御計画を生成する。
図3の説明に戻る。シミュレート部133dは、生成部133cによって生成された第1グループ毎の第1制御計画を用いて、各時間帯の需要電力をシミュレートする処理部である。例えば、シミュレート部133dは、需要予測データ121から第1グループによる電力使用量を減算し、グループが第1制御計画通りに稼働した場合の電力使用量を加算することで、需要電力をシミュレートする。シミュレート部133dは、シミュレート結果を、更新部133eに出力する。
図17は、本実施例に係るシミュレート部の処理を説明するための図である。図17の横軸は時間を示し、縦軸は電力値[kW]を示す。図17には、8時から20時まで10分間隔で制御計画が作成された場合のシミュレートの結果を示す。図17に示すように、例えば、シミュレート部133dは、第1制御計画に基づいて、10分間ごとの需要電力をシミュレートし、10分間ごとの制御後ピーク11aを算出する。例えば、シミュレート部133dは、下記の式(6)を用いて、時間帯ごとの制御後ピークmaxjを算出する。なお、11bは、図4の需要予測データ121に対応する。
maxj(需要予測[j]−ΣiEAi+ΣiEsi[j])・・・(6)
式(6)において、iは、単一のノートPCとみなした第1グループのインデックスを示す。jは、時間帯のインデックスを示す。例えば、j=1は、9時から9時半までの時間帯に対応する。需要予測[j]は、j番目の時間帯の需要予測値を示し、例えば、需要予測データ121から与えられる値である。Esi[j]は、i番目の第1グループのj番目の時間帯における各状態の電力値を示す。
例えば、状態「AC」の電力使用量EAは、例えば、10[W]に第1グループに含まれるノートPCの台数を乗算した値である。また、状態「BA」の電力値EBは、例えば、0[W]に第1グループに含まれるノートPCの台数を乗算した値である。また、状態「CH」の電力値ECは、例えば、60[W]に第1グループに含まれるノートPCの台数を乗算した値である。
また、状態「UN1」の電力使用量EU1は、状態「CH」時の電力を使用するのでEC[W]に第1グループに含まれるノートPCの台数を乗算した値である。また、状態「UN2」の電力使用量EU2は、状態「AC」時の電力を使用するのでEA[W]に第1グループに含まれるノートPCの台数を乗算した値である。また、EAiは、i番目の第1グループの状態「AC」の電力使用量を示す。なお、上記の式(6)は一例であり、これに限定されるものではない。例えば、より余裕をもって制御する場合にはΣiEAiを減算しなくても良い。
更に、シミュレート部133dは、第1制御計画に制約条件を追加して時間帯ごとの需要電力をシミュレートする。例えば、シミュレート部133dは、第1グループごとの各時間帯における蓄電池の充電率を算出する。例えば、シミュレート部133dは、PC情報テーブル122を参照し、第1グループの充電率を取得する。第1グループの蓄電池をある時間分充電する場合には、シミュレート部133dは、図6の充電データ123を参照し、上記時間経過後の充電率を推定する。第1グループの蓄電池からある時間分放電する場合には、シミュレート部133dは、図7の放電データ124を参照し、上記時間経過後の充電率を推定する。
そして、シミュレート部133dは、推定した充電率が式(7)の条件を満たし、式(8)を満たすか否かを判定する。式(7)の制約条件は、「最終時刻k’’で、充電量が最大になる」というものである。式(7)のCiは、i番目の第1グループの電気容量を示す。式(8)のNは、分類部133aによって分類された第2グループの数である。なお、ここで説明した制約条件やその数値は一例であり、これに限定されるものではない。制約条件及びその数値は、例えば、制御サーバ100を利用する者が蓄電池の特性などを考慮して任意に設定して良い。
maxΣCi[k’’]・・・(7)
時間帯kでのグループ内の消費電力≦u[k]/N・・・(8)
シミュレート部133dは、式(7)、(8)を満たさないと判定した場合には、第1グループの状態を直前の時間帯の状態を継続する。シミュレート部133dは、変更した第1制御計画を用いて、制約条件を満たすまで再びシミュレートする。なお、シミュレート部133dは、第2グループ毎に、第1制御計画をシミュレートする。例えば、第2グループ4Aと、第2グループ4Bが存在する場合には、第2グループ4Aに対する第1制御計画をシミュレートし、第2グループ4Bに対する第1制御計画をシミュレートする。
更新部133eは、シミュレートされた結果が、切り替え前の第1制御計画のシミュレート結果よりも改善している場合には、第1制御計画を切り替え後の第1制御計画に更新する。例えば、更新部133eは、シミュレートされた結果が、切り替え前の第1制御計画のシミュレート結果よりも改善している場合には、第1制御計画テーブル225について、第1制御計画を切り替え後の第1制御計画に更新する。
例えば、更新部133eは、シミュレート結果からピーク電力を求める。更新部133eは、一日のうちで、現在時刻までの各時間帯における電力使用量を実測値として取得する。更新部133eは、一日のうちで、現在時刻以降の各時間帯における電力使用量をシミュレート結果から取得する。更新部133eは、取得した使用電力量のうちの最大値をピーク電力として算出する。更新部133eは、算出したピーク電力と、切り替え前の第1制御計画のシミュレート結果から算出したピーク電力とを比較する。更新部133eは、切り替え前の第1制御計画のシミュレート結果から算出したピーク電力よりもピーク電力が低下している場合に、第1制御計画を切り替え後の第1制御計画に更新する。
実行部133fは、所定の終了条件を満たすか否かを判定する。例えば、実行部133fは、作成部133が処理を開始してから5分経過したか否かを判定する。実行部133fは、5分経過していない場合には、電力計算部133b、生成部133c、シミュレート部133d及び更新部133eの処理を繰り返し実行させる。なお、ここでは、終了条件が5分経過である場合を説明したが、これに限定されるものではない。例えば、終了条件は任意の時間であっても良く、また、任意の繰り返し回数であっても良い。
一方、5分経過した場合には、実行部133fは、更新された第1制御計画テーブル125の情報を、制御計画特定部134に出力する。
制御計画特定部134は、第1制御計画テーブル125を基にして、ノートPC30毎の第2制御計画を生成し、生成したノートPC30毎の第2制御計画の情報を、第2制御計画テーブル126に登録する処理部である。制御計画特定部134は、第2制御計画テーブル126の情報を、出力部136に出力する。
制御計画特定部134は、第1グループに設定された各時間帯の状態を、第1グループ内の各ノートPCで消費できる最大値とする。例えば、各第1グループに含まれるノートPCの台数を4とする。この場合には、状態「AC」の電力使用量は、例えば、10×4[W]である。また、状態「BA」の電力値は、例えば、0×4[W]である。また、状態「CH」の電力値は、例えば、60×4[W]である。制御計画特定部134は、各時間帯に消費できる電力の最大値を制約条件に加えた上で、上記作成部133と同様に最適化問題を解くことで、グループに含まれる各ノートPCの第2制御計画を生成する。
例えば、第1制御計画テーブル125が、図8Aに示すものとなっている場合には、第1グループ3Aに含まれる各ノートPC30に加える制約条件は、下記のようになる。すなわち、「9:00〜11:30」の間に消費できる電力の最大値は「40W」、「11:30〜11:30」の間に消費できる電力の最大値は「240W」となる。また、「12:30〜13:30」の間に消費できる電力の最大値は「0W」となる。
出力部135は、第2制御計画テーブル126のデータを該当するノートPC30に出力する。出力部135は、第2制御計画テーブル126のデータを制御計画特定部134から受け付ける。
出力部135から第2制御計画のデータを取得した各ノートPC30は、第2制御計画のデータのうち、最初の区間に対応する状態を適用する。例えば、ノートPC30aが、図8Aに示す第2制御計画のデータを取得し、現在の時刻が「8:30〜9:00」の場合には、時刻が「9:00」になった時点で、ノートPC30aは、状態を「AC」にして、駆動する。
ところで、上記分類部133aは、最適化計算を行って、最適な第2グループの数、第1グループの数、第1グループに含まれるノートPCの数を計算し、計算結果に基づいて、各ノートPCを階層化しても良い。以下において、分類部133aが実行する最適化計算の一例について説明する。ここでは一例として、ノートPC全体の数をs、第1グループに含まれるノートPCの数をs1、第1グループの数をs2、第2グループの数をs3と定義する。このため、式(9)の条件が成り立つ。
s=s1×s2×s3・・・(9)
分類部133aは、式(10)のs1、s2、s3、hの値を変更して、Minimizeが最小値となるs1、s2、s3、hの値を探索する。分類部133aは、式(10)で探索したs1、s2、s3を基にして、各ノートPC30を第1グループ、第2グループに分類しても良い。
ここで、式(10)に含まれるhは、制御計画の区間数である。例えば、hは、hrequiredからhmaxまで変化する。式(10)に含まれるt(s2、h)は、s2とhの値によって所定の値を出力する関数であり、例えば、制御計画の計算時間を求めるものである。分類部133aは、s2およびhの値と、t(s2、h)の値との関係を定義したテーブルを保持しているものとする。
Minimize=t(s2、h)×s1×s3・・・(10)
なお、例えば、分類部133aは、式(11)、(12)、(13)の制約条件のもと、Minimizeが最小値となるs1、s2、s3、hの値を探索するものとする。制約条件は、適宜、管理者が変更してもよい。
s1≦s・・・(11)
s1=s3・・・(12)
600≦t(s2、h)≦900・・・(13)
次に、本実施例に係る制御サーバ100の処理について説明する。図18は、本実施例に係る制御サーバの処理手順を示すフローチャートである。例えば、図18に示す処理は、所定の時間間隔で実行される。
図18に示すように、制御サーバ100は、各ノートPCからPC情報テーブル122に関する各種のデータを取得する(ステップS101)。制御サーバ100は、各ノートPC30の台数を計数する(ステップS102)。
制御サーバ100の分類部133aは、階層化構造の計算処理を実行する(ステップS103)。例えば、ステップS103において、分類部133aは、上記の式(10)のMinimizeが最小値をとるs1、s2、s3、hの値を探索する。制御サーバ100の分類部133aは、各ノートPC30を分類して階層化する(ステップS104)。制御サーバ100は、上層の各第2グループに割り当てる電力を計算する(ステップS105)。
制御サーバ100は、制御計画生成処理を実行し(ステップS106)、各ノートPC30の駆動状態の制御を行う(ステップS107)。
次に、図18のステップS106に示した制御計画生成処理の処理手順の一例について説明する。図19は、制御計画生成処理の処理手順を示すフローチャートである。図19に示すように、制御サーバ100の生成部133cは、第1グループに含まれる複数のノートPC30を単一のノートPCと見なし、第1制御計画を生成する(ステップS201)。
制御サーバ100の生成部133dは、第1制御計画の状態を切り替え(ステップS202)、シミュレート部133dは、需要電力をシミュレートする(ステップS203)。シミュレート部133dは、シミュレートした結果が制約条件を満たすか否かを判定する(ステップS204)。シミュレート部133dは、制約条件を満たさない場合には(ステップS204,No)、ステップS207に移行する。
一方、制御サーバ100のシミュレート部133dは、制約条件を満たす場合には(ステップS204,Yes)、ステップS205に移行する。制御サーバ100の更新部133eは、シミュレート結果が切り替え前の第1制御計画よりも改善しているか否かを判定する(ステップS205)。更新部133eは、シミュレート結果が改善されていない場合には(ステップS205,No)、ステップS207に移行する。
一方、制御サーバ100の更新部133eは、シミュレート結果が改善されている場合には(ステップS205,Yes)、切り替え後の第1制御計画に更新する(ステップS206)。制御サーバ100の実行部133fは、終了タイミングであるか否かを判定する(ステップS207)。実行部133fが終了タイミングではないと判定した場合には(ステップS207,No)、ステップS202に移行する。
一方、制御サーバ100は、実行部133fが終了タイミングであると判定した場合には(ステップS207,Yes)、制御サーバ100の制御計画特定部134は、第1制御計画を基にして、第2制御計画を生成する(ステップS208)。
次に、本実施例に係る制御サーバ100の効果について説明する。本実施例100に係る制御サーバ100は、各ノートPC30が有する蓄電池の残量に基づいて、各ノートPCを第1グループ、第2グループに分類することで階層化し、制御計画を生成する。このため、少ない処理時間で制御計画を作成することができる。
また、本実施例に係る制御サーバ100は、第1グループに含まれる複数のノートPCを単一のノートPC30とみなして、制御計画を生成するため、制御計画を作成する時間を短縮することができる。
また、本実施例に係る制御サーバ100は、階層に合った時間分解能、目的関数を使って制御することができる。図20は、マルチタイムスケジューリングによる3階層での制御の一例を示す図である。図20の縦軸は電力値であり、横軸は時間を示す。また、線分7Aは、電力需要予測曲線であり、点7Bは、電力需要予測曲線のピークを示す点である。図20に示すように、上層5Cでは、ピーク点7Bを含む電力需要予測カーブの大まかな動きを長期間見ることにより、グローバルな視点で制御することができる。また、中層5Bでは、短期的かつローカルな視点で制約や目的関数を策定しやすくなり、第1グループ毎の異なる特性を考慮して、目的関数を設定することができる。また、下層5Aでは、各区間単位で、各ノートPC30を制御することができる。
次に、上記の実施例に示した制御サーバ100と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。図21は、制御プログラムを実行するコンピュータの一例を示す図である。
図21に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303を有する。また、コンピュータ300は、記憶媒体からプログラム等を読取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307を有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、例えば、分類プログラム307a、電力算出プログラム307b、生成プログラム307c、シミュレートプログラム307d、更新プログラム307e、実行プログラム307fを有する。CPU301は、各プログラム307a〜307fを読み出してRAM306に展開する。
分類プログラム307aは、分類プロセス306aとして機能する。電力算出プログラム307bは、電力算出プロセス306bとして機能する。生成プログラム307cは、生成プロセス306cとして機能する。シミュレートプログラム307dは、シミュレートプロセス306dとして機能する。更新プログラム307eは、更新プロセス306eとして機能する。実行プログラム307fは、実行プロセス306fとして機能する。
例えば、分類プロセス306aは、分類部133aに対応する。電力算出プロセス306bは、電力算出部133bに対応する。生成プロセス306cは、生成部133cに対応する。シミュレートプロセス306dは、シミュレート部133dに対応する。更新プログラム306eは、更新部133eに対応する。実行プロセス306fは、実行部133fに対応する。
なお、各プログラム307a〜307fについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300がこれらから各プログラム307a〜307fを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが実行する制御方法であって、
複数の装置が有する蓄電池の残量に基づいて、蓄電池の残量が類似する装置を同一のグループに追加して、前記複数の装置を複数の第1グループに分類し、
各第2グループに含まれる複数の装置の蓄電池の残量分布が均一となるように、前記第1グループ単位で複数の装置を第2グループに分類し、
電力の需要予測データを基にして、ある区間に前記第2グループに配分する電力を計算し、計算した電力を制約条件として、前記第2グループに属する装置の時間毎の充放電に関する状態を規定した制御計画を作成する
処理を実行することを特徴とする制御方法。
(付記2)前記制御計画を作成する処理は、前記第1グループに含まれる複数の装置を単一の装置とみなして、前記制御計画を作成することを特徴とする付記1に記載の制御方法。
(付記3)前記制御計画の一部変更して仮の制御計画を作成し、
前記仮の制御計画を用いて前記時間帯毎の需要電力をシミュレートし、
第1グループ毎に、シミュレートされた結果が、前記制御計画のシミュレート結果よりも改善している場合には、前記制御計画を前記仮の制御計画に更新する処理を繰り返し実行する処理を更に実行することを特徴とする付記1に記載の制御方法。
(付記4)複数の装置が有する蓄電池の残量に基づいて、蓄電池の残量が類似する装置を同一のグループに追加して、前記複数の装置を複数の第1グループに分類し、各第2グループに含まれる複数の装置の蓄電池の残量分布が均一となるように、前記第1グループ単位で複数の装置を第2グループに分類する分類部と、
電力の需要予測データを基にして、ある区間に前記第2グループに配分する電力を計算し、計算した電力を制約条件として、前記第2グループに属する装置の時間毎の充放電に関する状態を規定した制御計画を作成する作成部と
を有することを特徴とする制御サーバ。
(付記5)前記作成部は、前記第1グループに含まれる複数の装置を単一の装置とみなして、前記制御計画を作成することを特徴とする付記4に記載の制御サーバ。
(付記6)前記作成部は、前記制御計画の一部変更して仮の制御計画を生成し、前記仮の制御計画を用いて前記時間帯毎の需要電力をシミュレートし、第1グループ毎に、シミュレートされた結果が、前記制御計画のシミュレート結果よりも改善している場合には、前記制御計画を前記仮の制御計画に更新する処理を繰り返し実行することを特徴とする付記4に記載の制御サーバ。
(付記7)コンピュータに
複数の装置が有する蓄電池の残量に基づいて、蓄電池の残量が類似する装置を同一のグループに追加して、前記複数の装置を複数の第1グループに分類し、
各第2グループに含まれる複数の装置の蓄電池の残量分布が均一となるように、前記第1グループ単位で複数の装置を第2グループに分類し、
電力の需要予測データを基にして、ある区間に前記第2グループに配分する電力を計算し、計算した電力を制約条件として、前記第2グループに属する装置の時間毎の充放電に関する状態を規定した制御計画を作成する
処理を実行させることを特徴とする制御プログラム。
(付記8)前記制御計画を作成する処理は、前記第1グループに含まれる複数の装置を単一の装置とみなして、前記制御計画を生成することを特徴とする付記7に記載の制御プログラム。
(付記9)前記制御計画の一部変更して仮の制御計画を生成し、
前記仮の制御計画を用いて前記時間帯毎の需要電力をシミュレートし、
第1グループ毎に、シミュレートされた結果が、前記制御計画のシミュレート結果よりも改善している場合には、前記制御計画を前記仮の制御計画に更新する処理を繰り返し実行する処理を更に実行させることを特徴とする付記7に記載の制御プログラム。