以下、本発明の実施形態について、図1乃至図19を参照して具体的に説明する。
図1は、本発明の実施形態における情報処理システムの一例を示す図である。図1に示すように、情報処理システムは、情報処理装置1と、分電盤2と、機器3と、機器4とを有している。情報処理装置1は、分電盤2および機器3と相互に通信可能に接続されている。分電盤2は、機器3および機器4と電気的に接続されている。
以下、情報処理システムを構成する各部の機能について説明する。
情報処理装置1は、電力事業者が所有する、DRにより機器3への供給電力を制御するための管理装置であり、例えばサーバである。情報処理装置1は、初期設定部5と、入力装置6と、記憶部7と、稼働状態監視部8と、電源状態制御部9と、稼働情報取得部10と、相関性判定部11と、制御対象選択部12と、相関性制御部13と、電力情報取得部14と、電力算出部15と、推定評価部16とを備えている。
初期設定部5は、制御対象となる複数の機器3の各々を識別する識別情報と、稼働状態監視部8が各機器3から受信する稼働状態の情報である稼働情報を取得するタイミング(取得タイミング)とを含む初期設定情報を、入力装置6を介して受信する。
入力装置6は、例えばキーボードまたはマウス等である。初期設定部5は、入力装置6を介して受信した初期設定情報を記憶部7に格納する。機器3の稼働情報の取得タイミングは、例えば情報を取得する時刻、または最初に取得する時刻と取得する時間間隔(インターバル)である。インターバルは、例えば5分〜15分である。なお、インターバルは不規則にすることも可能である。
記憶部7は、各種情報を格納するためのデータベース(DB;Data Base)として用いられる。記憶部7は、初期設定部5が入力装置6から受信した制御対象の機器3を識別する情報と、稼働状態監視部8が各機器3から受信する稼働情報とを格納することができる。
また、記憶部7は、稼働情報取得部10が取得した各機器3の稼働情報と、電力情報取得部14が取得した、機器3および機器4が消費する電力の系統毎の合計値を示す総消費電力の情報である総電力情報とを対応付けて格納することができる。また、記憶部7は、電力算出部15で算出された消費電力の情報を格納することもできる。また、記憶部7は、情報処理装置1内で実行する各種判定処理に用いられる閾値を格納することもできる。
記憶部7は、例えばROM(Read Only Memory)またはフラッシュメモリなどの半導体メモリ、またはHDD(Hard Disk Drive)などのストレージ装置である。なお、記憶部7は格納する情報の種類毎に複数個有していても良いし、同一の記憶部として構成することもできる。
稼働状態監視部8は、機器3の稼働状態を監視する。具体的には、稼働状態監視部8は、機器3の電源の状態がオンからオフ、またはオフからオンに変化したことを示す情報を各機器3から取得する。
電源状態制御部9は、稼働状態監視部8が取得した機器3の稼働情報に基づいて、機器3が有するバッテリの充電のオン/オフを制御する。具体的には、電源状態制御部9は、複数の機器3のうち、電源の状態がオンからオフに変化した機器が存在することが検出された場合に、電源の状態がオンからオフに変化した機器の電源のバッテリが充電されないように制御する。一方、電源の状態がオフからオンに変化した機器が存在することが検出された場合には、電源の状態がオフからオンに変化した機器のバッテリが充電されるように制御する。制御方法の詳細については後述する。
稼働情報取得部10は、稼働情報として例えば、各機器の電源の状態の情報と各機器の受電の状態(受電状態)の情報とが対応付けられた情報を取得する。ここで、各機器の電源の状態の情報とは、例えば、各機器の電源がオン、オフまたはスタンバイのいずれの状態かを示す情報である。各機器の受電状態の情報とは、例えば各機器が、交流(AC;Alternating Current)電源から受電しているがバッテリへの充電が行われていない状態なのか、AC電源から受電するとともにバッテリへの充電も行っている状態なのか、あるいはAC電源から受電されておらずバッテリの電力を消費(または放電)している状態なのかを示す情報である。スタンバイの状態とは、AC電源または機器のバッテリから一部のデバイス、例えばメモリへの電力の供給を維持したまま、機器内のその他のデバイスに対する電力の供給をオフにした状態である。
また、稼働情報取得部10は、各機器から、CPU使用率と、バッテリ残量の情報とを取得する。ここで、CPU使用率とは、コンピュータで実行中のプログラムがCPUの処理時間を占有している割合である。バッテリ残量の情報とは、バッテリが完全に充電された状態に対する、取得時のバッテリの残量の割合であり、例えば%を単位として表わされる情報である。
以降の説明では、AC電源から受電しているが充電が行われていない受電状態を「AC」、AC電源から受電するとともにバッテリへの充電も行われている受電状態を「AC+充電」、AC電源からの受電もバッテリへの充電もしておらず、バッテリにより機器3を駆動させている受電状態を「バッテリ」と表記する。
たとえば、AC電源から受電しているが充電が行われていない状態であり、且つ機器3のAC電源がオンになっている稼働状態を「AC/ON」と表記する。「AC/ON」の状態では、機器3はAC電源によって稼働している。また、AC電源から受電しているが充電が行われていない状態であり、且つ機器3のAC電源がオフになっている稼働状態を「AC/OFF」と表記する。また、AC電源から受電しているが充電が行われていない状態であり、且つ機器3がスタンバイになっている稼働状態を「AC/スタンバイ」と表記する。
また、AC電源から受電するとともにバッテリへの充電も行われている状態であり、且つAC電源がオンになっている稼働状態を「AC+充電/ON」と表記する。また、AC電源から受電するとともにバッテリへの充電も行われている状態であり、且つAC電源がオフになっている稼働状態を「AC+充電/OFF」と表記する。また、AC電源から受電するとともにバッテリへの充電も行われている状態であり、且つAC電源がスタンバイになっている稼働状態を「AC+充電/スタンバイ」と表記する。
相関性判定部11は、稼働情報取得部10が取得した各機器3の電源の状態の情報と各機器の受電状態の情報とが対応付けられた情報に基づいて、各機器3の中で稼働状態に相関性を有する機器3の組み合わせが存在するかどうかを判定する。
制御対象選択部12は、相関性判定部11による相関性の有無の判定結果に基づいて、稼働状態に相関性がある機器3の組み合わせが存在する場合に、受電状態を制御する方法を決定し、制御対象となる機器3を選択する。
相関性制御部13は、相関性を有する機器3の組み合わせが存在する場合に、稼働状態の相関性を有する組み合わせに対応する各機器3のいずれかの受電状態を、他の機器と異なる受電状態になるように変更し、これにより稼働状態の相関性を低下させる。受電状態を変更する方法については後述する。
電力情報取得部14は、分電盤2から総電力情報を取得し、取得した総電力情報を記憶部7に格納する。
電力算出部15は、電力情報取得部14が取得した総電力情報と、稼働状態取得部10が取得した稼働情報とに基づいて、各機器の消費電力を算出し、算出した消費電力の値を記憶部7に格納する。
推定評価部16は、電力算出部15により算出された各機器の推定消費電力の値の精度を算出し、所定の基準を満たすかどうかを評価する。精度の評価方法については後述する。
初期設定部5、稼働状態監視部8、電源状態制御部9、稼働情報取得部10、相関性判定部11、制御対象選択部12、相関性制御部13、電力情報取得部14、電力算出部15、および推定評価部16は、例えばCPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサにより実現することができる。より具体的には、例えば半導体メモリやHDD等の記憶媒体に格納された情報処理プログラムをCPUやMPU等のプロセッサに読み出して、情報処理プログラムの各処理を実行することにより実現することができる。
分電盤2は、通信機能を備えた電力メーターであり、例えばスマートメータである。分電盤2は、入出力インターフェースである入出力IF17を介して、情報処理装置1と相互に通信したり、機器3の電力消費を制御したりすることができる。機器3は、需要家が所有する、電力消費の制御対象となる機器であり、交流電源から供給された供給電力の少なくとも一部が充電されるバッテリを備えている。機器3は、例えばパーソナルコンピュータ(PC:Personal Computer)などの情報処理端末である。図1では、機器3の一例として、機器3a,3b,3cおよび3dの各々が分電盤2に電気的に接続されている。
また、各機器3には、電力制御クライアント18がそれぞれ備えられている。電力制御クライアント18は、情報処理装置1と相互に通信する際に用いられる機器3の入出力インターフェースである。図1では、電力制御クライアント18の一例として、機器3aには電力制御クライアント18a,機器3bには電力制御クライアント18b,機器3cには電力制御クライアント18c,機器3dには電力制御クライアント18dがそれぞれ備えられている。電力制御クライアント18は、情報処理装置1の稼働状態監視部4または稼働状態取得部8に稼働情報を送信するとともに、情報処理装置1の電源状態制御部5から受信した制御信号に基づいて、機器3の電源をオンまたはオフにするように制御する。
機器4は、需要家が所有するものの、電力消費の制御対象ではない機器であり、例えばサーバやプリンタなどの情報処理装置である。図1では機器4の一例として、機器4aおよび機器4bが分電盤2に電気的に接続されている。
次に、本発明の実施形態における情報処理システムの動作について説明する。
図2は、本発明の実施形態における情報処理装置1が実行する処理の一例を示すフローチャートである。
まず、初期設定部5は、制御対象となる機器と、稼働情報を取得する期間とを設定する(S101)。初期設定部5は、入力装置6を介して受信した、各機器の識別情報と、稼働状態監視部8から受信した、稼働情報の取得タイミングに関する情報とを記憶部7に格納する。取得した情報を記憶部7に格納することにより、S101の処理が完了する。
続いて、稼働状態監視部8は、機器3の稼働状態を監視し、電源状態制御部9は、稼働状態監視部8が取得した機器3の稼働情報に基づいて、機器3のバッテリへの充電のオン/オフを制御する(S102)。
ここで、本発明の実施形態における、機器3のバッテリへの充電のオン/オフの制御方法と、各機器の消費電力を推定する手段として用いる重回帰分析との関係について説明する。
図3は、機器の稼働状態および受電状態をパラメータとした消費電力を示すテーブルの一例である。
図3(a)は、機器が充電機能とスタンバイ機能とを有さない場合における、消費電力を示すテーブルの一例である。図3(a)に示すように、機器の電源の状態は2状態(オンまたはオフ)のいずれかのみであり、機器の受電状態は「AC」のみである。機器は、「AC/ON」のときのみ消費電力として電力値Wacの電力を消費する。一方、「AC/OFF」のときは電力が機器に供給されないので、機器が消費する電力はゼロである。したがって、推定すべき説明変数は1個(Wac)のみである。すなわち、Wacが明らかになれば、機器の各稼働状態における消費電力を推定することができる。
図3(b)は、充電機能とスタンバイ機能とを有し、機器の電源がオンまたはスタンバイのときだけでなく、電源がオフのときにもバッテリへの充電を行うことができる機器の消費電力を示すテーブルの一例である。図3(b)に示すように、機器の受電状態が「AC+充電」の場合、機器は、オン、スタンバイ、オフのいずれかの稼働状態をとることができる。
また、「AC/ON」のときは、AC電源からの電力の供給が行われるため、機器はWacの電力を消費する。「AC/スタンバイ」のときも、AC電源からの電力の供給が行われるため、機器はWstbの電力を消費する。
「AC+充電/ON」のときは、AC電源から機器の稼働のための電力に加えてバッテリへ充電するための電力Wchも供給されるため、機器はWac+Wchの電力を消費する。「AC+充電/スタンバイ」のときも同様に、AC電源から稼働のための電力の供給に加えて電力Wchも供給されるため、機器はWstb+Wchの電力を消費する。一方、「AC+充電/OFF」のときはWacが供給されないため、機器はWchの電力のみを消費する。
「バッテリ」は、コンセントとAC電源との間の電力経路が遮断され、バッテリまたはAC電源によって機器を稼働させる場合である。「バッテリ」の場合は新たな電力の供給が行われないため、電源の稼働状態に関わらず機器の消費電力はゼロである。
機器の受電状態が「AC+充電」の場合、機器の稼働状態に関わらずWchが消費電力の値に含まれている。そのため、各稼働状態における消費電力の値は、互いに相関性を有することとなる。この相関性が存在すると、各機器の消費電力を推定する重回帰分析を行った場合に、分析結果が異常値を示す不具合(多重共線性の問題と呼ばれている)が発生し、各機器の消費電力を正確に算出、推定することが困難となる問題が発生し得る。
一方、本発明の一実施形態によれば、各機器の消費電力の推定を行う際に、分電盤2に接続されている各機器のうち、電源がオンからオフに変化した機器に対して、バッテリへの充電を行わないように制御する。図3(c)は、機器の電源の状態がオフのときにバッテリへの充電を行わないように制御した場合における、消費電力を示すテーブルの一例である。図3(c)に示すように、機器の受電状態が「AC+充電」の場合、機器の電源の状態がオフのときにバッテリへの充電を行わないように制御すると、消費電力が発生するのは「AC/ON」、「AC/スタンバイ」、「AC+充電/ON」、「AC+充電/スタンバイ」の4通りの状態となる。
したがって、「AC/ON」のときの消費電力値Wacと、「AC+充電/ON」のときの消費電力値Wac+Wchとの差分(Wac+Wch)−Wacを求めることによってWchを導出することができる。あるいは、「AC/スタンバイ」のときの消費電力値Wstbと、「AC+充電/スタンバイ」のときの消費電力値Wstb+Wchとの差分(Wstb+Wch)−Wstbを求めることによってWchを導出することもできる。
このように、電源がオンからオフに変化した機器に対してバッテリへの充電を行わないように制御すると、機器の受電状態が「AC+充電」の場合における機器の稼働状態が3状態(オン、スタンバイ、オフ)から2状態(オン、スタンバイ)に減少するため、説明変数を1個減らすことができる。これにより、機器の稼働状態間の相関性を、説明変数を1個減らさなかった場合よりも低下させることができ、多重共線性の問題の発生を回避しながら消費電力をより正確に推定することができる。以下、S102で実行する、機器の稼働状態を監視し、受電状態を制御する方法について、図4および図5を参照しながら説明する。
図4は、S102における、各機器3のバッテリへの充電の制御方法の一例を示すフローチャートである。図5は、S102における、各機器3のバッテリへの充電の制御方法の一例に係るシーケンス図である。
まず、図5の(a)に示すように、情報処理装置1の稼働状態監視部8は、各機器3の電力制御クライアント18に、電源の状態の変更を検知した際の通知を依頼する。各機器3の電力制御クライアント18は、通知することを受諾する場合は、稼働状態監視部8に受諾する旨の信号を返送する。
続いて、図4に示すように、稼働状態監視部8は、スレッド処理により各機器3の稼働状態を、各機器3からの受信信号を監視しながら、各機器3のうち、電源がオンからオフに変化した機器3が存在するかどうかを判定する(S201)。電源がオンからオフに変化した機器3が存在すると判定された場合(S201肯定)、S202に進み、図5の(b)に示すように、情報処理装置1の電源状態制御部9は、各機器3のうち、電源がオンからオフに変化した機器3aに対してバッテリの充電の停止命令を送信し、バッテリへの電力供給(充電)を行わないように制御する。一方、電源がオンからオフに変化した機器3が存在しないと判定された場合(S201否定)、S203に進み、稼働状態監視部8は、電源がオフからオンに変化した機器3が存在するかどうかを判定する。
電源がオフからオンに変化した機器3が存在すると判定された場合(S203肯定)、図5の(c)に示すように、情報処理装置1の電源状態制御部9は、各機器3のうち、電源がオフからオンに変化したと判定された機器3aに対してバッテリの充電の開始命令を送信し、バッテリの充電を行うように制御する(S204)。一方、電源がオフからオンに変化した機器3が存在しないと判定された場合(S203否定)、S201に戻る。
S202またはS204の処理を実行した後、稼働状態監視部8は、監視を終了する時刻かどうかを判定する(S205)。稼働状態監視部8は、監視を終了する時刻か否かの判定を、例えば、初期設定部がS101で記憶部7に格納した情報取得の期間に関する情報、具体的には、稼働状態監視部8が稼働情報を情報取得の期間終了時刻の情報に基づいて行うことができる。あるいは、稼働状態監視部8が、電力算出部15または推定評価部16等から稼働状態の監視を停止する信号を受信したかどうかによって判定することもできる。
監視を終了する時刻であると判定された場合(S205肯定)、稼働状態監視部8は、監視を終了し、S104へ進む。監視を終了すると、機器の電源がオンからオフに変化した場合に、バッテリへの充電が行われるようになる。一方、監視を終了する時刻でないと判定された場合(S205否定)、S201に戻る。
図4および図5によれば、電源がオンからオフに変化した機器3が存在するかどうかを判定し、電源がオンからオフに変化した機器3が存在しなかった場合に、電源がオフからオンに変化した機器3が存在するかどうかを判定する処理を行っている。すなわち、電源がオンからオフに変化した機器3が存在するかどうかを判定する処理を優先して行っているため、電源がオンからオフに変化してからバッテリへの充電を行わないようにする制御を開始するまでのタイムラグを短縮することができる。当該タイムラグを短縮できると、電源がオフに変化してからバッテリへの充電が停止するまでのタイムラグを短縮できるため、各機器の推定消費電力の精度の向上を図ることができる。なお、電源がオフに変化してからバッテリへの充電が停止するまでのタイムラグが無視できる程度であれば、S203の処理を実行してからS201の処理を実行することも可能である。
以上のようにして、図2のS102において、機器の稼働状態を監視し、バッテリへの充電を制御することができる。
続いて、S103の処理について説明する。S103は、S102の処理と並行してスレッド処理により実行される処理である。S103において、相関性判定部11は、機器間の相関性を評価する。そして、相関性を有する機器3の組み合わせが存在する場合に、相関性制御部13は、相関性を低下させるように機器3の受電状態を制御する。以下、異なる機器間で稼働状態に相関性がある場合の問題点について、図6および図7を参照しながら説明する。
図6は、異なる機器間で稼働状態に相関性がある場合の一例を示す図である。図6は、時刻t1、t2、t3、t4およびt5における機器3a、機器3bおよび機器3cの稼働状態を示しており、時間経過がt1、t2、t3、t4、t5の順であるものとする。まず、機器3aおよび機器3bを参照すると、図6に示すように、時刻t1、t2およびt4では、機器3aおよび機器3bの稼働状態がともに「AC/ON」であり、稼働状態が同一であることがわかる。このことから、機器3aと機器3bとの間で稼働状態に相関性を有していると判定することができる。一方、機器3cは、どの時刻においても他の機器3a、3bと同一の稼働状態とはなっていない。このことから、機器3cは、他の機器3a、3bとの間で稼働状態に相関性を有していないと判定することができる。
異なる機器3の稼働状態は、例えば、会社の昼休みの時間帯にPCをスタンバイに設定するルールがある場合や、夜間はPCの電源をオフにし、朝の時間帯にPCの充電を行う習慣がある場合に同じ稼働状態になる可能性がある。あるいは、データの移行作業等において、複数のPCを用いて作業を行った場合においても、複数のPC同士が同じ稼働状態になる可能性がある。
図7は、複数の機器による総消費電力の時間変化の一例を示す図である。図7(a)、図7(b)ともに、横軸が時間、縦軸が機器3aおよび機器3bの総消費電力を示している。図7(a)に示すように、12:00から12:15の間は、機器3aの稼働状態はAC/ON、機器3bの稼働状態は「AC/OFF」である。すなわち、稼働状態が互いに異なっている。このため、12:00から12:15の間における総消費電力XAが明らかになれば、機器3aのAC/ONの場合の消費電力をXAと推定することができる。また、12:15から12:30の間は、機器3aの稼働状態は「AC/OFF」、機器3bの稼働状態は「AC/ON」である。すなわち、この時間帯も稼働状態が互いに異なっているため、12:15から12:30の間における総消費電力XBが明らかになれば、機器3bの「AC/ON」の場合の消費電力をXBと推定することができる。
一方、図7(b)に示すように、12:00から12:15の間は、機器3aの稼働状態は「AC/ON」、機器3bの稼働状態は「AC/ON」である。すなわち、稼働状態は同一である。このため、12:00から12:15の間における総消費電力XCが明らかになっても、XCを分離して機器3aおよび機器3bの消費電力を各々推定するのが困難となる可能性がある。
このように、異なる機器間で稼働状態が同じになることにより、機器が異なる説明変数同士が相関性を有する場合においても、各機器の消費電力を推定する重回帰分析を行った場合に多重共線性の問題が発生し、各機器の消費電力を正確に算出、推定することが困難となる問題が発生し得る。このため、各機器の消費電力を正確に算出、推定するためには、異なる機器間で稼働状態が同じになることを抑え、相関性を低下させることが好ましい。
続いて、S103で実行する機器間の相関性を低下させるための制御の方法について、図8乃至図10を参照しながら説明する。
図8は、S103における、機器間の相関性を評価し、受電状態を制御する処理の一例を示すフローチャートである。S101の処理の後、稼働状態監視部8は、一方の機器が有する任意の稼働状態と他方の機器が有する任意の稼働状態とを組み合わせ、全ての組み合わせのパターン毎に相関値を算出する(S301)。ここで、相関値の算出方法の一例を説明する。
図9は、S301における、相関値の算出方法の一例を示す図である。図9(a)は、各取得タイミングにおける機器毎の稼働状態のデータを表で表したものである。各データは、図1に示す機器3a、機器3bおよび機器3cの、各取得タイミングにおける機器毎の稼働状況を示している。表の縦軸はデータを取得した時刻を表し、下段へ進むほど取得タイミングが新しくなる。取得したデータ数は、一稼働状態あたり10個である。
A11,A12,A13およびA14は、機器3aの稼働状態を示すパラメータである。A11の項目には、機器3aが「AC/ON」の状態である場合に「1」が表示され、「AC/ON」の状態でない場合に「0」が表示される。A12の項目には、機器3aが「AC/スタンバイ」の状態である場合に「1」が表示され、「AC/スタンバイ」の状態でない場合に「0」が表示される。A13の項目には、機器3aが「AC+充電/ON」の状態である場合に「1」が表示され、「AC+充電/ON」の状態でない場合に「0」が表示される。A14の項目には、機器3aが「AC+充電/スタンバイ」の状態である場合に「1」が表示され、「AC+充電/スタンバイ」の状態でない場合に「0」が表示される。
また、A21,A22,A23およびA24は、機器3bの稼働状態を示すパラメータである。A21の項目には、機器3bが「AC/ON」の状態である場合に「1」が表示され、「AC/ON」の状態でない場合に「0」が表示される。A22の項目には、機器3bが「AC/スタンバイ」の状態である場合に「1」が表示され、「AC/スタンバイ」の状態でない場合に「0」が表示される。A23の項目には、機器3bが「AC+充電/ON」の状態である場合に「1」が表示され、「AC+充電/ON」の状態でない場合に「0」が表示される。A24の項目には、機器3bが「AC+充電/スタンバイ」の状態である場合に「1」が表示され、「AC+充電/スタンバイ」の状態でない場合に「0」が表示される。
また、A31,A32,A33およびA34は、機器3cの稼働状態を示すパラメータである。A31の項目には、機器3cが「AC/ON」の状態である場合に「1」が表示され、「AC/ON」の状態でない場合に「0」が表示される。A32の項目には、機器3cが「AC/スタンバイ」の状態である場合に「1」が表示され、「AC/スタンバイ」の状態でない場合に「0」が表示される。A33の項目には、機器3cが「AC+充電/ON」の状態である場合に「1」が表示され、「AC+充電/ON」の状態でない場合に「0」が表示される。A34の項目には、機器3cが「AC+充電/スタンバイ」の状態である場合に「1」が表示され、「AC+充電/スタンバイ」の状態でない場合に「0」が表示される。
相関値を表す指標としては、例えば分散拡大係数(Variance Inflation Factor、以下、VIFと呼称する)を用いることができる。VIFは、例えば以下の式(1)および式(2)により算出することができる。
式(1);
式(2);
図10は、S301における、VIFを算出する方法の一例を示す図である。図10(a)の上側の表は、A11の取得タイミング毎の稼働状態a11,1,a11,2,・・・,a11,10、およびA22の取得タイミング毎の稼働状態a22,1,a22,2,・・・,a22,10を図9(a)から抽出したデータを示している。図9(a)によれば、式(1)におけるTの値はT=10である。
まず、図10(a)の上側に示すデータを用いてA11およびA22の各稼働状態の平均値を算出する。A11の各稼働状態の平均値は、図10(a)の下側の表に示すように、
式(3);
と算出される。また、A22の各稼働状態の平均値は、図10(a)の下側の表に示すように、
式(4);
と算出される。
続いて、相関係数R11,22の分子を算出する。図10(a)および式(3)および式(4)を用いると、図10(b)に示すように、R11,22の分子は、
式(5);
と算出される。
続いて、相関係数R11,22の分母を算出する。図10(b)のデータを用いると、図10(c)に示すように、R11,22の分母は、
式(6);
と算出される。
よって、A11およびA22の相関係数R11,22は、式(5)および式(6)を用いると、
式(7);
と算出され、VIFは、式(7)を用いると、
式(8);
と算出される。
以上の方法で、機器3a、機器3bおよび機器3cの稼働情報を示すパラメータ間の全ての組み合わせにおけるVIFを算出すると、例えば図9(b)に示すデータを得ることができる。以上のようにしてVIFを算出することができる。
図8に戻り、S301で相関値を算出した後、相関性判定部11は、相関値が閾値を超える組み合わせが存在するかどうかを判定する(S302)。例えばVIFの閾値をVIF=10に設定し、図9(b)を参照すると、A11およびA21の組み合わせにおけるVIFの値が正の無限大(INF)を示しており、閾値を超えている。そこで、A11およびA21の組み合わせが、閾値を超える組み合わせであるものとして抽出される。なお、相関値が閾値を超える稼働情報の組み合わせが複数存在する場合は、該当する全ての機器を制御対象の候補とすることができる。また、VIFの閾値は、分電盤2に接続されている機器の台数等に応じて適宜設定することができる。
続いて、制御対象選択部12は、機器の制御方法を決定する(S303)。以下、機器の制御方法を決定する処理について、図11を参照しながら説明する。
図11は、S303における、機器の制御方法を決定する処理の一例を示すフローチャートである。
まず、稼働情報取得部10は、相関性を有する各機器からCPU使用率およびバッテリ残量の情報を取得する(S401)。図7および図8に示す例の場合、A11およびA21の組み合わせが抽出されたため、A11に対応する機器3aおよびA21に対応する機器3bを制御対象の候補とする。稼働情報取得部10は、機器3aおよび機器3bのCPU使用率およびバッテリ残量の情報を取得する。具体的には、稼働情報取得部10は、機器3aの電力制御クライアント18aおよび機器3bの電力制御クライアント18bにCPU使用率およびバッテリ残量の情報を要求する信号を送信する。信号を受信した電力制御クライアント18aおよび電力制御クライアント18bは、稼働情報取得部10にCPU使用率およびバッテリ残量の情報を含む応答信号を送信する。応答信号を受信した稼働情報取得部10は、取得した情報を記憶部7に格納する。
続いて、相関性判定部11は、バッテリ残量が所定の閾値CL1以上で、かつCPU使用率が所定の閾値Uh以下を満たすかどうかを判定する(S402)。相関性判定部11は、機器3aおよび機器3bのCPU使用率およびバッテリ残量の情報と、判定の基準として用いる閾値CL1および閾値Uhとを記憶部7から読み出し、上述の条件を満たすかどうかを判定する。
バッテリ残量が所定の閾値CL1以上で、かつCPU使用率が所定の閾値Uh以下を満たすと判定された場合(S402肯定)、相関性を有する各機器のいずれかを選択し、バッテリ駆動に切り替える方法を制御方法として決定する(S403)。なお、バッテリ駆動とは、機器の受電状態を図3(b)または図3(c)に示す「バッテリ」の状態にすることを意味する。
図8に戻り、制御対象選択部12は、制御対象の機器を選択し、相関性制御部13は、選択した機器の受電状態をバッテリ駆動に切り替える(S304)。バッテリ駆動に切り替える場合、機器のバッテリ残量が十分でない場合、切り替えてから短時間のうちにバッテリ切れとなる可能性がある。また、電源の種類、例えば商用電源を一例とする外部電源(AC電源)と機器内蔵のバッテリのいずれによって機器が稼働されているかによって、CPUの動作クロック周波数を変更する機器が知られている。そのため、機器のCPUの使用率が高いときにバッテリ駆動に切り替えた場合、CPUの処理のパフォーマンスが低下してしまう恐れもある。そこで、S304では、制御対象選択部12は、各機器のバッテリ残量およびCPU使用率に基づいて、バッテリ駆動に切り替える機器を選択する。具体的には、例えば相関性を有する各機器のバッテリ残量を比較し、バッテリ残量が最も多い機器をバッテリ駆動に切り替える対象として選択する。バッテリ残量が最も多い機器が複数存在する場合は、当該機器のCPU使用率同士を比較し、CPU使用率が最も低い機器をバッテリ駆動に切り替える対象として選択する。
続いて、図11のS402からS403を経てS304に至るまでの処理を、図12および図13を参照しながら具体例を用いて説明する。図12は、CPU使用率およびバッテリ残量の情報の一例を示す図である。図12は、機器3a、機器3bおよび機器3cのバッテリ残量およびCPU使用率を示している。
図11のS402において、閾値CL1を50%、閾値Uhを50%と設定した場合、機器3aのバッテリ残量が所定の閾値CL1以上で、かつCPU使用率が所定の閾値Uh以下の条件を満たす。このため、S402ではS402肯定と判定され、相関性を有する各機器のいずれかを選択し、バッテリ駆動に切り替える方法を制御方法として決定する(S403)。その後、図8のS304に移る。
S304では、まずバッテリ残量を比較する。図12を参照してバッテリ残量を比較すると、バッテリ残量が最も多い機器は機器3aおよび機器3b(ともに80%)であることがわかる。次に、機器3aおよび機器3cのCPU使用率を比較すると、機器3aのCPU使用率が20%であるのに対し、機器3cのバッテリ残量は60%である。すなわち、CPU使用率は機器3aよりも機器3cの方が高いことがわかる。このため、バッテリ駆動に切り替える対象として、CPU使用率がより低い機器3aが選択される。そして、相関性制御部13は、選択された機器3aについて、受電状態をバッテリ駆動に切り替える処理を実行する。
このように、各機器のバッテリ残量に基づいてバッテリ駆動に切り替える機器を選択することにより、バッテリ切れを引き起こす可能性が最も低い機器を選択できるため、受電状態の切り替え制御に起因するバッテリ切れを抑えることができる。また、各機器のCPUの使用率に基づいてバッテリ駆動に切り替える機器を選択することにより、パフォーマンスの低下を引き起こす可能性が最も低い機器を選択できるため、受電状態の切り替え制御に起因するパフォーマンスの低下を抑えることができる。
図13は、S304における、選択された機器の受電状態をバッテリ駆動に切り替える処理の一例を示す図である。図8のS302では、図9のデータに基づいて、相関値が閾値を超える組み合わせとしてA11およびA21が抽出された。そして、図8のS304では、図12のデータに基づいて、受電状態をバッテリ駆動に切り替える処理を実行する対象として、機器3aが選択された。そこで、相関性制御部13は、図13(a)に示すように、11回目の取得タイミングにおいて、機器3aおよび機器3bの稼働状態がともに「AC/ON」、すなわち、A11およびA21の稼働状態がともに「1」となった場合に、機器3aの稼働状態をバッテリ駆動に切り替える処理を実行する。すると、図13(b)に示すように、A11の稼働状態が「1」から「0」に変化し、A21の稼働状態「1」と異なる状態となる。このため、取得タイミング1回目から11回目までに取得したA11およびA21に関する稼働状態のデータ群の範囲において、両者の相関性を低下させることができる。
なお、11回目の取得タイミングにおいて、A11およびA21の稼働状態が異なる場合、相関性制御部13は、機器3aの稼働状態をバッテリ駆動に切り替える処理を行わなくても良い。その場合、相関性制御部13は、切り替える処理を行わずにS305を経て再びS301に戻り、12回目の取得タイミング以降の処理を実行していく。そして、12回目の取得タイミング以降において、選択された相関性を有する複数の機器の稼働状態がともに「1」となった場合に、いずれかの機器の稼働状態をバッテリ駆動に切り替える処理を実行すればよい。
一方、バッテリ残量が所定の閾値CL1以上で、かつCPU使用率が所定の閾値Uh以下を満たさないと判定された場合(S402否定)、相関性を有する各機器のバッテリ残量の合計が所定の閾値CL2以上であるかどうかを判定する(S404)。
S404において、バッテリ残量の合計が所定の閾値CL2以上であると判定された場合(S404肯定)、バッテリ残量が最も多い機器を取得タイミング毎に選択し、バッテリ駆動に切り替える方法を制御方法として決定する(S405)。その後、図8のS304に移る。
続いて、S402からS405を経てS304に至るまでの処理を、図14を参照しながら具体例を用いて説明する。
図14は、取得タイミング毎の各機器のバッテリ残量の情報の一例を示す図である。図14は、機器3a、機器3bおよび機器3cのバッテリ残量を取得タイミングの時刻t1、t2、t3毎に示しており、時間経過がt1、t2、t3の順であるものとする。
S402の判定に用いる閾値CL1を50%と設定した場合、時刻t1ではいずれの機器もバッテリ残量が50%を下回っており、所定の閾値CL1に満たない。このため、S402ではS402否定と判定され、S404に進む。
S404の判定に用いる閾値CL2を100%と設定した場合、時刻t1における各機器のバッテリ残量の合計を算出すると、40%+35%+30%=105%と算出される。よって、S404ではS404肯定と判定され、S405に進む。
S405において、制御対象選択部12は、バッテリ残量が最も多い機器を選択し、バッテリ駆動に切り替える処理を取得タイミング毎に実行する方法を制御方法として決定する。S405の処理の後、図8のS304に移る。
S304では、取得タイミング毎に取得タイミング毎にバッテリ残量が最も多い機器を選択し、バッテリ駆動に切り替える処理を実行する。
まず、図14を参照し、時刻t1における各機器のバッテリ残量を比較すると、機器3aのバッテリ残量が最も多いことがわかる。そこで、制御対象選択部12は、機器3aをバッテリ駆動に切り替える対象として選択する。そして、相関性制御部13は、選択された機器3aについて、受電状態をバッテリ駆動に切り替える処理を実行する。
続いて、時刻t1の後の取得タイミングである時刻t2において、各機器のバッテリ残量を比較すると、機器3bのバッテリ残量が最も多いことがわかる。そこで、制御対象選択部12は、機器3bをバッテリ駆動に切り替える対象として選択する。そして、相関性制御部13は、選択された機器3bについて、受電状態をバッテリ駆動に切り替える処理を実行する。
続いて、時刻t2の後の取得タイミングである時刻t3において、各機器のバッテリ残量を比較すると、機器3cのバッテリ残量が最も多いことがわかる。そこで、制御対象選択部12は、機器3cをバッテリ駆動に切り替える対象として選択する。そして、相関性制御部13は、選択された機器3cについて、受電状態をバッテリ制御に切り替える処理を実行する。バッテリ制御への切り替えは、例えば、互いに相関性を有すると判定された各機器の稼働状態が一致した場合に切り替えを行い、稼働状態が一致しない場合は待機することにより行う。
このように、取得タイミング毎に、更新されたバッテリ残量の情報に基づいてバッテリ残量が最も多い機器を選択し、バッテリ駆動に切り替える処理を実行することにより、バッテリ切れが起きる可能性が最も低い機器を最新の情報に基づいて選択できるため、上述の問題を抑えることができる。
なお、選択した機器の稼働状態が、相関性を有する他の機器の稼働状態と異なっている場合は、当該機器の稼働状態をバッテリ駆動に切り替える処理を行わない。その場合、相関性制御部13は、バッテリ残量が2番目に多い機器を選択し、切り替え処理を行うことができる。あるいは、当該取得タイミングでの切り替え処理をスキップし、次の取得タイミングでバッテリ残量が最も多い機器を再選択する方法を採ることもできる。
図11に戻り、S404において、バッテリ残量の合計が所定の閾値CL2を満たさないと判定された場合(S404否定)、相関性判定部11は、次の取得タイミングまで充電した場合の、別の機器の全ての稼働状態との相関値を算出する(S406)。なお、相関値を算出する対象となる機器は、図8のS302で相関値が閾値を超えると判定された稼働状態の組み合わせに対応する機器である。
S404の判定で各機器のバッテリ残量の合計が所定の閾値を満たさないと判定された場合、各機器のバッテリ残量が十分でないことが予想される。バッテリ残量が十分でない状態で機器の駆動方法をバッテリ駆動に切り替えると、既に説明したように、切り替えてから短時間のうちにバッテリ切れとなる可能性がある。
そこで、本実施形態では、次の取得タイミングまで充電を行って機器のバッテリ残量を増やした後に、バッテリ駆動に切り替える処理を実行する。ただし、充電することによって他の機器との稼働状態の相関性が発生し、新たな多重共線性の問題を引き起こす可能性もあり得る。このため、次の取得タイミングにおいて想定される稼働状態を考慮して他の機器との相関性を評価し、相関性が最も小さくなるような機器を選択する。
図15は、S406における相関値の算出方法の一例を示す図である。図15に示す表の見方は図9と略同様であるため、説明は省略する。図15は、10回目の取得タイミングから次の取得タイミングである11回目の取得タイミングまで機器3aの充電を行った場合を想定している。この場合、11回目の取得タイミングにおける機器3aの稼働状態は「AC+充電/ON」である。よって、図15(a)に示すように、機器3aの稼働状態「AC+充電/ON」の11回目の取得タイミングの欄には「1」が表示される。
一方、機器3b、3cは、次の取得タイミングでは、全ての稼働状態において「1」または「0」のいずれかの値を取り得る。図15(b)は、11回目の取得タイミングにおける機器3b、3cの各稼働状態が「1」である場合の、機器3b、3cの稼働情報を示している。図15(c)は、11回目の取得タイミングにおける機器3b、3cの各稼働状態が「0」である場合の、機器3b、3cの稼働情報を示している。
S406において、相関性判定部11は、機器3aの稼働情報A13と、次の取得タイミングで取り得るデータを考慮した、機器3b、3cの16通りの稼働情報との組み合わせについて相関性を算出する。具体的には、図15(a)に示す機器3aの稼働情報A13と、図15(b)に示す機器3bおよび機器3cの稼働情報A21,A22,A23、A24,A31,A32,A33,A34との相関値を算出する。また、図15(a)に示す機器3aの稼働情報A13と、図15(c)に示すA21,A22,A23,A24,A31,A32,A33,A34との相関値を算出する。
同様に、相関性判定部11は、機器3bの「AC+充電/ON」に係る稼働情報A23と、次の取得タイミングで取りうるデータを考慮した、機器3a、3cの16通りの稼働情報との組み合わせについて相関性を算出する。また、相関性判定部11は、機器3cの「AC+充電/ON」に係る稼働情報A33と、次の取得タイミングで取りうるデータを考慮した、機器3a、3bの16通りの稼働情報との組み合わせについて相関性を算出する。
図16は、S406における相関値の算出結果の一例を示す図である。各列の項目A13,A23およびA33は、次の取得タイミングまでに充電を行う機器の稼働情報を示すパラメータである。各行の項目A11,A12,・・・,A34は、次の取得タイミングまでに充電を行う機器以外の機器の稼働情報を示すパラメータである。図16(a)は、充電する機器を除く他の機器の、次の取得タイミングにおける稼働状態が「1」になると仮定した場合を示している。図16(b)は、充電する機器を除く他の機器の、次の取得タイミングにおける稼働状態が「0」になると仮定した場合を示している。
図16(a)および図16(b)を参照すると、全データを通じて機器3aを充電した場合(A13)に最も大きい相関値を示すのは、図16(a)における機器3bのA22と組み合わせた場合(VIF=2.909)である。また、機器3bを充電した場合(A23)に最も大きい相関値を示すのは、図16(a)における機器3aのA12と組み合わせた場合(VIF=2.455)である。また、機器3cを充電した場合(A33)に最も大きい相関値を示すのは、図16(a)における機器3bのA23と組み合わせた場合(VIF=1.454)である。
S406の処理の後、相関性判定部11は、算出した相関値の算出結果に基づいて、全ての相関値が所定の閾値Vth以下に収まる機器が存在するかどうかを判定する(S407)。Vthの値を例えばVth=10とし、図16(a)および図16(b)を参照すると、全ての相関値が10以下であることから、S407の判定式を満たしていることがわかる。このように、全ての相関値が所定の閾値Vth以下に収まる機器が存在する場合(S407肯定)、制御対象選択部12は、相関値が最も小さい機器を選択し、バッテリ充電後にバッテリ駆動に切り替える方法を制御方法として決定する(S408)。S408の処理の後、図8のS304に移る。
一方、全ての相関値が所定の閾値Vth以下となる機器が存在しない場合(S407否定)、相関性判定部11は、所定の時間待機する(S409)。その後、再びS401に戻り、S401以降の処理を実行する。
図8のS304では、相関値が最も小さい機器を選択し、バッテリ充電後にバッテリ駆動に切り替える処理を実行する。まず、制御対象選択部12は、図16(a)および図16(b)を参照して、機器3aを充電した場合に示す最も大きい相関値(VIF=2.909)と、機器3bを充電した場合に最も大きい相関値(VIF=2.455)と、機器3cを充電した場合に最も大きい相関値(VIF=1.454)とを比較する。そして、相関値が最も小さい機器3cを充電対象として選択する。
続いて、相関性制御部13は、選択された機器3bについて、次の取得タイミングまで充電を行った後、受電状態をバッテリ駆動に切り替える処理を実行する。
このように、各機器のバッテリ残量の合計が所定の閾値を満たさない場合に、ある機器を次の取得タイミングまで充電した場合における他の機器との相関性を評価し、評価結果に基づいて充電する機器を選択する。そして、選択した機器に対して所定の時間充電した後に、受電状態を変更する。これにより、充電しても多重共線性を起こしにくい機器を選択することができるため、各機器のバッテリ残量に関わらず各機器の消費電力をより正確に推定することができる。また、バッテリ駆動に切り替える前に充電を行うため、切り替えてから短時間のうちにバッテリ切れとなる可能性を低減させることができる。
S304の処理を実行した後、稼働状態監視部8は、監視を終了する時刻かどうかを判定する(S305)。稼働状態監視部8は、S205の処理と同様に、監視を終了する時刻か否かの判定を、例えば、初期設定部がS101で記憶部7に格納した情報取得の期間に関する情報、具体的には、稼働状態監視部8が稼働情報を情報取得の期間終了時刻の情報に基づいて行うことができる。あるいは、稼働状態監視部8が、電力算出部15または推定評価部16等から稼働状態の監視を停止する信号を受信したかどうかによって判定することもできる。
監視を終了する時刻であると判定された場合(S305肯定)、稼働状態監視部8は監視を終了し、稼働状態監視部8と並行して処理を行っていた稼働情報取得部10も、各機器の稼働情報の取得を終了する。その後、図2のS104に移る。一方、監視を終了する時刻でないと判定された場合(S305否定)、S301に戻り、S301以降の処理を繰り返す。
以上のようにして、図2のS103において、機器間の相関性を評価し、受電状態を制御することができる。
本発明の実施形態によれば、相互に相関性を有する各機器のいずれかを選択し、選択した機器をバッテリ駆動に切り替えることにより、バッテリ駆動に切り替えた機器の消費電力をゼロにすることができる。これにより、機器同士の相関性を低下させることができるため、機器の消費電力を回帰分析により推定する際に問題となる多重共線性を抑制し、推定精度の向上を図ることができる。
図2のS103の処理を実行した後、電力情報取得部14は、分電盤2に接続されている機器の消費電力の合計値を示す総電力情報を取得する。一方、稼働情報取得部10は、これまでに説明した方法で当該各機器の稼働情報を取得する。続いて、電力算出部15は、取得した総電力情報および稼働情報に基づいて、機器3ごとの消費電力を算出する(S104)。
ここで、各々の機器3の消費電力は、例えば図13(b)の例で説明すると、相関性判定部11が機器間の受電状態の相関性の有無を判定するために用いた取得タイミング1回目から10回目までの第1の稼働状態の情報と、第1の稼働状態の情報を取得した後に、相関性制御部13による受電状態の制御の下で、取得タイミング11回目以降に取得した第2の稼働状態の情報とに基づいて算出する。以下、S104において機器ごとの消費電力を算出する方法について、図17および図18を参照して説明する。
図17は、本発明の実施形態における、機器ごとの消費電力を算出する方法の一例を示すフローチャートである。図18は、本発明の実施形態における、機器ごとの消費電力を算出する方法の一例に係るシーケンス図である。
まず、図17に示すように、電力算出部15は、記憶部7に格納されている取得タイミングを示す情報に基づいて、現在の時刻が各種情報の取得タイミングかどうかを判定する(S501)。現在の時刻が各種情報の取得タイミングでないと判定された場合(S501否定)、待機状態となり、再びS501を実行する。
一方、現在の時刻が取得タイミングであると判定された場合(S501肯定)、電力情報取得部14は、図18の(a)に示すように、分電盤2に接続されている機器の消費電力の合計値を示す総電力情報yを要求する信号を送信する。総電力情報yを要求する信号を受信した分電盤2は、電力情報取得部14に総電力情報yを送信する。総電力情報yを受信して取得した電力情報取得部14は、取得した情報を記憶部7に格納する(S502)。
さらに、稼働情報取得部10は、図18の(b)に示すように、分電盤2に各機器3の稼働情報を要求する信号を送信する。総電力情報yを要求する信号を受信した分電盤2は、稼働情報取得部10に総電力情報yを送信する。総電力情報Yを受信して取得した電力情報取得部14は、取得した情報を記憶部7に格納する(S502)。
S502において、電力情報取得部14は、記憶部7に格納されている取得タイミングに関する情報に基づいて、取得タイミングになる度に総電力情報yを順次取得する。取得タイミングになる毎に順次取得された総電力値の時系列データは、行列y
式(9);
により表すことができる。なお、行列yの行は、各取得時刻における総電力値を表しており、行番号が大きくなるほど総電力値のデータを取得した時刻が新しいことを示している。すなわち、式(9)では、y1が最初に取得した総電力の値であり、ytが最後に取得した総電力の値である。行列yの各要素は、後述の重回帰分析を行う際の目的変数として用いられる。
続いて、稼働情報取得部10は、各機器3の稼働情報Aを取得し、記憶部に格納する。各機器3に稼働情報を要求する(S503)。具体的には、稼働情報取得部10は、図18の(b)に示すように、記憶部7に格納されている取得タイミングに関する情報に基づいて、取得タイミングごとに各機器3に稼働情報A’を要求する信号を送信する。稼働情報A’を要求する信号を受信した各機器3は、自機器の稼働情報A’を取得し、取得した稼働情報A’を稼働情報取得部10に送信する。稼働情報A’を受信した稼働情報取得部10は、受信した情報を記憶部7に格納する。
取得タイミングごとに取得された稼働情報A’の時系列データは、行列A’
式(10);
と表すことができる。行列A’の各要素は、後述の重回帰分析を行う際の説明変数として用いられる。
ここで、行列A’の列は、機器3,4の稼働状態の違いを表している。例えば、1列目(a1,1〜aZ,1)は、機器3aが「AC/ON」の状態、2列目は、機器3aが「AC/スタンバイ」の状態、3列目は、機器3aが「AC+充電/ON」の状態、最右列は、機器4のいずれかが稼働している状態を表している。行列A’の各要素に代入される値は、機器3または機器4が当該稼働状態になっているかどうかを時系列で示している。すなわち、当該稼働状態になっている場合は「1」、当該稼働状態になっていない場合は「0」が代入される。総電力情報yおよび各機器の稼働情報A’は同一の取得タイミングで取得されたものである。このため、行列yと行列A’とは、同じ行番号同士で対応関係を有している。
続いて、電力算出部15は、記憶部7に格納されている取得終了時刻を示す情報に基づいて、現在の日時が各種情報の取得終了時刻かどうかを判定する(S504)。現在の日時が各種情報の取得終了時刻でないと判定された場合(S504否定)、再びS501に戻る。一方、現在の日時が各種情報の取得終了時刻であると判定された場合(S504肯定)、S505に進む。
S505において、電力算出部15は、記憶部7からS502およびS503で格納した総電力情報yおよび稼働情報A’を読み出す。
続いて、読み出した総電力情報yおよび稼働情報A’に基づいて、各機器3の消費電力xを算出する(S506)。
まず、本実施形態における重回帰分析による推定対象である各機器3の消費電力は、以下の式(11)に示す行列x’で表すことができる。
式(11);
ここで、x1、x2、・・・xMは各機器3の消費電力、Zは、機器4の消費電力の合計を示している。
式(9)〜式(11)から、総電力量、稼働状態、および各機器の消費電力の関係は、重回帰式を行列y=A’×x’で表した形態、すなわち
式(12);
で表すことができる。
S505に続くS506では、最小二乗法による重回帰分析を行い、式(4)から(y−A’×x’)の行の二乗和を最小化するx’を算出する。
ここで、行列x’の算出方法について、総電力情報yおよび稼働情報A’のデータの一例を用いて説明する。
図19は、各取得タイミングにおける総電力量と機器毎の稼働状況のデータの一例を示す図である。図19は、図1に示す機器のうち、制御対象となる機器を機器3a、機器3b、制御対象でない機器を4a、4bと設定した場合の、各取得タイミングにおける総電力量と機器毎の稼働状況のデータを示している。2011年11月1日9:00が最初の取得タイミングであり、取得タイミング間のインターバルは15minである。取得したデータ数は、稼働情報を示すパラメータ1個あたり21個である。総電力量の単位はW(ワット)である。
A1a,A1b,A1cおよびA1dは、機器3aの稼働情報を示すパラメータである。A1aの項目には、機器3aが「AC/ON」の状態である場合に「1」が表示され、「AC/ON」の状態でない場合に「0」が表示される。A1bの項目には、機器3aが「AC/スタンバイ」の状態である場合に「1」が表示され、「AC/スタンバイ」の状態でない場合に「0」が表示される。A1cの項目には、機器3aが「AC+充電/ON」の状態である場合に「1」が表示され、「AC+充電/ON」の状態でない場合に「0」が表示される。A1dの項目には、機器3aが「AC+充電/スタンバイ」の状態である場合に「1」が表示され、「AC+充電/スタンバイ」の状態でない場合に「0」が表示される。
また、A2a,A2b,A2cおよびA2dは、機器3bの稼働情報を示すパラメータである。A2aの項目には、機器3bが「AC/ON」の状態である場合に「1」が表示され、「AC/ON」の状態でない場合に「0」が表示される。A2bの項目には、機器3bが「AC/スタンバイ」の状態である場合に「1」が表示され、「AC/スタンバイ」の状態でない場合に「0」が表示される。A2cの項目には、機器3bが「AC+充電/ON」の状態である場合に「1」が表示され、「AC+充電/ON」の状態でない場合に「0」が表示される。A2dの項目には、機器3bが「AC+充電/スタンバイ」の状態である場合に「1」が表示され、「AC+充電/スタンバイ」の状態でない場合に「0」が表示される。
また、Azの項目は、機器4a,4bの稼働状態を示している。なお、図19は、機器4a、4bをまとめて機器4と示している。機器4a,4bはDRの制御対象外の機器であり、電力制御クライアント18を有していない。図19に示す例では、機器4a、4bともに稼働している前提で、Azの項目には全ての取得タイミングにおいて「1」が代入されている。
Azの項目には、機器4a、機器4bのいずれかの電源がオンの状態の場合に「1」が表示され、オフの状態である場合に「0」が表示される。
図20は、図19のデータから得られる、総電力情報を示す行列y、および稼働情報を示す行列A’の一例を示す図である。図20に示すように、図19のデータから、21行1列の行列y、21行9列の行列A’を得ることができる。
重回帰分析において、y=A’×X’の式は、誤差を示す行列Eを含む形で表現すると、
式(13);
y=A’×X’=A’×X”+E
と表すことができる。ここで、X”は、誤差を持たない値によって構成される行列である。
式(13)によれば、誤差を示す行列Eを構成する各要素の値が小さいほどA’×X”はyをより正確に表していることとなるため、Eが最小となるようなX”を求めることが好ましい。誤差を示す行列Eの大きさを示すEの絶対値を二乗すると、
式(14);
と表され、Eの各要素e1,e2,e3,・・・,の各々の二乗和となる。このため、当該二乗和が最小となるX”を求めることが好ましい。式(14)の二乗和は、行列Eの転置行列ETを用いると、E×ETと表すことができる。そして、E×ETが最小となるX”は、
式(15);
X”=(A’T×A’)−1×(A’T×y)
で表すことができる。すなわち、A’の転置行列A’Tと、行列(A’T×A’)の逆行列である(A’T×A’)−1とを算出し、算出した転置行列A’Tと、(A’T×A’)−1と、yとを式(15)に代入することにより、X”を算出することができる。
図21は、図20に示す行列A’の転置行列A’Tである。図21に示すように、行列A’から、9行21列の転置行列A’Tを得ることができる。
続いて、図20の行列A’および図21の転置行列A’TからA’T×A’を算出する。
図22は、行列(A’T×A’)を算出した結果を示す図である。図22に示すように、図20の行列A’および図21の転置行列A’Tから、9行9列の行列(A’T×A’)が算出される。
続いて、図22の行列(A’T×A’)から逆行列(A’T×A’)−1を算出する。図23は、行列(A’T×A’)の逆行列(A’T×A’)−1を算出した結果を示す図である。図23に示すように、行列(A’T×A’)の逆行列(A’T×A’)−1として、9行9列の行列を得ることができる。
続いて、図20に示す行列yと、図21に示す行列A’Tとから行列(A’T×y)を算出する。図24は、行列(A’T×y)を算出した結果を示す図である。図24に示すように、行列(A’T×y)として、9行1列の行列を得ることができる。
続いて、図23に示す逆行列(A’T×A’)−1と、図24に示す行列(A’T×y)とを式(15)に代入すると、行列X”を算出することができる。図25は、行列X”を算出した結果を示す図である。図25に示すように、行列X”として、9行1列の行列を得ることができる。この行列X”の各要素が、稼働状態毎の推定消費電力を示している。
図26は、図25により得られた各機器の推定消費電力を示す図である。図26の各数値は、図26に示す行列X”の各要素を有効数字3桁で表したものである。
図3(c)を参照すると、X1aおよびX2aは、「AC/ON」のときの消費電力値Wacに対応している。また、X1bおよびX2bは、「AC/スタンバイ」のときの消費電力値Wstbに対応している。また、X1cおよびX2cは、「AC+充電/ON」のときの消費電力値Wac+Wchに対応している。また、X1dおよびX2dは、「AC+充電/スタンバイ」のときの消費電力値Wstb+Wchに対応している。
このように、行列X”を導出することによって、以上の4つの稼働状態における推定消費電力を機器毎に算出することができる。
続いて、図17に戻り、行列X”を算出した後、S507において、「AC+充電/OFF」の状態の消費電力を算出する。S502〜S506では、電源がオンからオフに変化した機器に対してバッテリへの充電を行わないように制御することにより、「AC+充電/OFF」の状態を除外した稼働環境の下で推定消費電力の算出を行った。そこで、S507では、推定消費電力を算出した結果に基づいて、除外した「AC+充電/OFF」の状態における消費電力を算出する。
図3(c)を参照すると、「AC+充電/OFF」の状態の消費電力Wchは、例えば
(1):「AC/ON」のときの消費電力値Wacと、「AC+充電/ON」のときの消費電力値Wac+Wchとの差分(Wac+Wch)−Wacを求めることによってWchの推定値を導出する方法、または
(2):「AC/スタンバイ」のときの消費電力値Wstbと、「AC+充電/スタンバイ」のときの消費電力値Wstb+Wchとの差分(Wstb+Wch)−Wstbを求めることによってWchの推定値を導出する方法
によって算出することができる。
なお、算出したWac、Wstb、Wac+Wch、Wstb+Wch の各値はそれぞれ誤差を含んでいるため、(1)の方法により求めたWchと(2)の方法により求めたWchとは、必ずしも同一の値になるとは限らない。そこで、例えば
(3):(1)の方法により求めたWchと、(2)の方法により求めたWchとの平均値を求めることによってWchの推定値を導出する方法
によって算出することもできる。
この方法によれば、(1)の方法により求めたWchの誤差の大きさと、(2)の方法により求めたWchとの誤差の大きさによらず、より正確な推定値を導出することが可能となる。
図27は、機器3aおよび機器3bの各稼働状態における推定消費電力を示すテーブルの一例である。図27は、図3(b)に示すテーブルの各項目に算出した値を代入したものである。図27(a)が、機器3aの各稼働状態における推定消費電力を示しており、図27(b)が、機器3bの各稼働状態における推定消費電力を示している。なお、図27(a)および図27(b)中の「AC+充電/OFF」の状態の消費電力は、(3)の方法を用いて算出したものである。
以上のようにして、図2のS104において、総電力情報および稼働情報を取得し、機器毎の推定消費電力を算出することができる。
ここで再び図2に戻り、S104の処理を実行した後、推定評価部16は、記憶部7に格納されている推定消費電力の精度評価を行うタイミングを示す情報に基づいて、現在の時刻が精度評価を行うタイミングかどうかを判定する(S105)。推定消費電力の精度評価を行うインターバルとしては、機器ごとの消費電力を算出するインターバルよりも大きい方が好ましく、例えば2〜3時間、あるいは1日おきとしても良い。
現在の時刻が推定消費電力の精度評価を行うタイミングでないと判定された場合(S105否定)、推定評価部16は、所定の時間が経過するまで待機状態を維持し、所定の時間が経過した後に再びS105を実行する。
一方、現在の時刻が推定消費電力の精度評価を行うタイミングであると判定された場合(S105肯定)、推定評価部16は、推定消費電力の精度を算出する(S106)。
上述の通り、S104で算出した推定消費電力は回帰計算により算出されたものであるため、算出された値には誤差が含まれている。そこで、推定消費電力の値と実際の消費電力の値とを定期的に比較しながら誤差を制御することで、推定消費電力の推定精度の向上を図ることができる。
以下、推定消費電力の精度を評価方法の一例について、図28および図29を参照しながら説明する。
図28は、本発明の実施形態における、推定消費電力の精度の評価の一例を示すフローチャートである。図29は、本発明の実施形態における、推定消費電力の精度の評価の一例を示すシーケンス図である。
まず、図28に示すように、情報処理装置1は、バッテリへの充電の制御を停止させる(S601)。バッテリへの充電の制御を停止させるのは、後の処理で「AC+充電/OFF」のときの実際の消費電力の値を取得できるようにするためである。図29に示すように、S601において、情報処理装置1の稼働状態監視部8は、電源の状態が変化した際の通知の解除を、機器3aの電力制御クライアント18aおよび機器3bの電力制御クライアント18bに要求する。電力制御クライアント18aおよび18bは、要求を受諾する旨の応答を返信する。
続いて、電力情報取得部14は、分電盤2から消費電力情報を取得する(S602)。具体的には、図29に示すように、情報処理装置1の電力情報取得部14は、分電盤2に総電力情報を要求する信号を送信する。総電力情報を要求する信号を受信した分電盤2は、電力情報取得部14に総電力情報を送信する。総電力情報を受信した電力情報取得部14は、取得した情報を推定評価部16に送信する。
その後、稼働情報取得部10は、各機器の稼働情報を取得し、記憶部7に格納する(S603)。具体的には、図29に示すように、情報処理装置1の稼働情報取得部10は、機器3a,3bに各々の稼働情報を要求する信号を送信する。各機器の稼働情報を要求する信号を受信した機器3a,3bは、稼働情報取得部10に各機器の稼働情報を送信する。各機器の稼働情報を受信した稼働情報取得部10は、取得した情報を記憶部7に格納する。
続いて、推定評価部16は、稼働情報に対応する推定消費電力情報を記憶部7から取得する(S604)。記憶部7には、S103で算出した機器ごとの推定消費電力の値が予め格納されている。図29に示すように、情報処理装置1の推定評価部16は、S603で取得した稼働情報に対応する各機器の推定消費電力の情報を記憶部7の中から抽出し、推定評価部16に送信する。
その後、推定評価部16は、推定消費電力の合計値と、総消費電力との差分を算出する(S605)。具体的には、推定評価部16は、S604で記憶部7から抽出された各機器の推定消費電力の値を合計して合計値を算出する。そして、推定評価部16は、合計値とS602で取得した総消費電力の値との差分を算出する。この差分が、推定消費電力の精度に相当する。
ここで再び図2に戻り、推定評価部16は、算出した推定消費電力の精度が基準を満たすかどうかを判定する(S107)。
S107では、図28に示すように、推定評価部16は、S605で差分を算出した後、差分の値が所定の閾値以下かどうかを判定する(S606)。所定の閾値は、電力事業者側が所望する精度レベルに応じて適宜設定することができる。差分が所定の閾値以下であると判定された場合(S606肯定)、推定評価部16は、次の評価タイミングになるまで待機し(S607)、処理を終了する。一方、差分が所定の閾値よりも大きいと判定された場合(S606否定)、S608に移り、受電状態の制御および推定消費電力の算出を再び実行するため、図2に示すように、S106からS102に戻り、S102以降の処理を再び繰り返す。
以上のようにして、推定消費電力の精度の評価を行うことができる。
以上、本発明の好ましい実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、種々の変形や変更が可能である。例えば、本実施形態では、相関値を表す指標としてVIFを用いたが、例えば、式(1)に示す相関係数Rijを、相関値を表す指標として用いることもできる。あるいは、式(2)に示すVIFの分母成分(トレランスと呼ばれている)である(1−Rij 2)を、相関値を表す指標として用いることもできる。