(57)【特許請求の範囲】
【請求項１】
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションし、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する
処理を繰り返しコンピュータが実行し、
前記シミュレーションにおいて、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
制御計画生成方法。
【請求項２】
前記機器は、蓄電装置を備え、外部から供給される電源又は前記蓄電装置から、使用する電源を選択することができ、
前記指令は、前記機器が使用する電源の種類の選択肢及び前記蓄電装置に対する充電をするか否かを示す情報を含み、
前記所定の目標は、前記機器の消費電力に関する目標である
請求項１記載の制御計画生成方法。
【請求項３】
前記機器は、蓄電装置を備え、外部から供給される電源又は前記蓄電装置から、使用する電源を選択することができ、
前記指令は、前記機器が使用する電源の種類の選択肢及び前記蓄電装置に対する充電をするか否かを示す情報を含み、
前記所定の目標は、前記蓄電装置の充電に関する目標である
請求項１記載の制御計画生成方法。
【請求項４】
前記機器が現在使用している電源の種類が不明の場合には、前記シミュレーションにおいて、当該機器は前記外部から供給される電源を現在使用していると仮定し、更に当該機器は前記蓄電装置を現在充電していると仮定して、当該機器の消費電力を算出する
請求項２記載の制御計画生成方法。
【請求項５】
前記機器が現在使用している電源の種類が不明の場合には、前記シミュレーションにおいて、当該機器は前記蓄電装置を電源として現在使用していると仮定して、当該蓄電装置の充電率又は充電量を算出する
請求項３記載の制御計画生成方法。
【請求項６】
前記機器が使用する電源を現在選択できない場合には、前記シミュレーションにおいて、当該機器は前記外部から供給される電源を現在使用していると仮定して、当該機器の消費電力を算出する
請求項２記載の制御計画生成方法。
【請求項７】
前記蓄電装置の充電状態が所定の制限を満たさないと想定される場合に、前記シミュレーションは、当該蓄電装置を備える機器に対する当該充電状態における前記第二指令を、前記外部から供給される電源の選択肢に変更して行われる
請求項２又は３記載の制御計画生成方法。
【請求項８】
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成する置換部と、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションするシミュレーション部と、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定する判定部と、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する更新部と、
を有し、
前記シミュレーション部は、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
制御計画生成装置。
【請求項９】
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションし、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する
処理を、繰り返しコンピュータに実行させ、
前記シミュレーションにおいて、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
処理を、前記コンピュータに実行させるためのプログラム。
【請求項１０】
前記シミュレーションの前に、
前記蓄電装置の充電と放電とのうち少なくともいずれかの実際の特性値に基づき、前記蓄電装置の充電と放電とのうち少なくともいずれかのモデルを補正する
処理を前記コンピュータがさらに実行する請求項２記載の制御計画生成方法。
【請求項１１】
前記所定の目標により近い場合及び前記所定の目標により近くはないが当該所定の目標に最も近い第二制御計画の近傍にある場合には、前記所定の目標により近い第二制御計画及び前記所定の目標に最も近い第二制御計画の近傍の第二制御計画を保持しておき、
前記シミュレーションが終了した後に、保持されている前記第二制御計画のうち、前記蓄電装置の性能劣化を表す指標のばらつきが最も小さくなるような第二制御計画を選択する
処理を前記コンピュータがさらに実行する請求項２記載の制御計画生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、制御の計画を最適化する技術に関する。
【背景技術】
【０００２】
省エネルギーについて、総電力量の削減に加えて、ピーク電力の削減がテーマとなっている。今後は、ビル、家庭、自治体などのコミュニティー単位で、蓄電池を用いたピーク電力の削減や使用電力の平準化を実現する仕組みが導入されることが予想される。
【０００３】
しかし、蓄電池を集中配置することは、コストや安全上の問題がある。そのため、分散配置された蓄電池をうまく制御することにより、ピーク電力を削減していくことが求められる。
【０００４】
分散配置させた蓄電池を用いつつピーク電力等を抑制するための機器制御を計画することは難しい。最適化の手法によっても、困難を伴うことがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２５８１７６号公報
【特許文献２】特開平１１−０７２２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本技術の目的は、一側面では、状態遷移を伴う制御の計画を効率よく最適化することである。
【課題を解決するための手段】
【０００７】
本技術に係る制御計画生成方法では、（Ａ）複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、（Ｂ）第二制御計画における複数回の第二指令に従って複数機器を制御した場合の状態遷移をシミュレーションし、（Ｃ）シミュレーション結果に基づき、第二制御計画による状態遷移が第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、（Ｄ）所定の目標により近い場合に第二制御計画で第一制御計画を更新する処理を繰り返しコンピュータが実行し、（ｂ１）シミュレーションにおいて、第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める。
【発明の効果】
【０００８】
制御の計画を効率よく最適化できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、制御システムの概略図である。
【図２】図２は、電源モードの例を示す図である。
【図３】図３は、各電源モードにおける使用電力の例を示す図である。
【図４】図４は、電源モードを制御するソフトウェアが提供する画面の例を示す図である。
【図５】図５は、実測のタイミングと飽和状態の関係を示す図である。
【図６】図６は、充電曲線と放電曲線の例を示す図である。
【図７】図７は、未確定の指令値と実行可能な指令値と充電率の関係の例を示す図である。
【図８Ａ】図８Ａは、シミュレート処理のメインルーチンのフローの例を示す図である。
【図８Ｂ】図８Ｂは、シミュレート処理のメインルーチンのフローの例を示す図である。
【図９】図９は、目標の指標を記憶する領域の構成の例を示す図である。
【図１０】図１０は、電力需要予測を記憶する領域の構成の例を示す図である。
【図１１】図１１は、実行可能な指令値を記憶する領域の構成の例を示す図である。
【図１２】図１２は、充電率の記憶領域の構成の例を示す図である。
【図１３】図１３は、ノートＰＣ単位のシミュレーションを行うサブルーチン処理フローを示す図である。
【図１４】図１４は、未確定の指令値を記憶する領域の構成の例を示す図である。
【図１５】図１５は、局所探索を行う生成部の構成例を示す図である。
【図１６】図１６は、局所探索による生成処理フローの例を示す図である。
【図１７】図１７は、ノートＰＣの制御に係る構成を示す図である。
【図１８】図１８は、全体処理フローを示す図である。
【図１９】図１９は、実行可能な領域を探索空間とする場合の指令値の例を示す図である。
【図２０】図２０は、実行可能な領域を探索空間とする場合の電力使用状態の例を示す図である。
【図２１】図２１は、実行可能な領域を探索空間とする場合の制御結果の例を示す図である。
【図２２】図２２は、探索空間の写像を行なう場合の未確定の指令値の例を示す図である。
【図２３】図２３は、探索空間の写像を行なう場合の実行可能な指令値の例を示す図である。
【図２４】図２４は、探索空間の写像を行なう場合の電力使用状態の例を示す図である。
【図２５】図２５は、探索空間の写像を行なう場合の制御結果の例を示す図である。
【図２６】図２６は、消費電力の時間変化を表す模式図である。
【図２７】図２７は、ノートＰＣの充電率の時間変化を表す模式図である。
【図２８】図２８は、第２の実施の形態において追加的に設ける構成要素を示す図である。
【図２９】図２９は、第２の実施の形態において実測値記憶部に格納されるデータの一例を示す図である。
【図３０】図３０は、第２の実施の形態において設定データ格納部に格納されるデータの一例を示す図である。
【図３１】図３１は、第２の実施の形態における処理フローを示す図である。
【図３２】図３２は、第２の実施の形態における中間データ格納部に格納されるデータの一例を示す図である。
【図３３】図３３は、第２の実施の形態における処理フローを示す図である。
【図３４】図３４は、第２の実施の形態における処理フローを示す図である。
【図３５】図３５は、第２の実施の形態における充放電回数テーブルの一例を示す図である。
【図３６】図３６は、消費電力の時間変化を表す模式図である。
【図３７】図３７は、第３の実施の形態における制御部の機能ブロック図である。
【図３８】図３８は、第３の実施の形態における処理フローを示す図である。
【図３９】図３９は、疲労度データ格納部に格納されているデータの一例を示す図である。
【図４０】図４０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
本実施の形態では、オフィスなどのコミュニティー単位の電力需要予測を元に、ノートＰＣ（Personal Computer）のバッテリーをオフィスの余剰電力として利用することを提案する。ノートＰＣのバッテリーは、蓄電池のように利用される。これにより、ピーク電力の削減と使用電力の平準化を目指す。
【００１１】
例えば、一定時間の使用電力量が閾値を越える場合には放電し、閾値を超えない場合には充電するような制御方法が考えられる。
【００１２】
ノートＰＣのバッテリーには、最低限の充電量を残しておく。停電時や出張時などの電源が使えない時にも、ノートＰＣは動作しなければならないからである。また、充放電の繰り返しによる無駄なバッテリーの劣化は、避けるようにする。
【００１３】
最初に、本実施の形態に係る制御システムの概要を説明する。図１は、制御システムの概略図である。制御システムは、ネットワークに接続されている。例えば、制御システムは、クラウド上にあり、インターネットを介してオフィスＬＡＮ（Local Area Network）と接続している。あるいは、制御システムは、オフィスＬＡＮに直接接続されている。
【００１４】
オフィスＬＡＮには、ノートＰＣが接続されている。制御システムは、ノートＰＣから電源モード、バッテリーの充電率や残量他の情報を収集し、更に、ノートＰＣの電力にまつわる制御を行う。
【００１５】
制御システム、あるいは制御システムと同様にネットワークを介してノートＰＣと接続された予測システムが、電力需要予測を行う。ここでは、一日分の予測を想定する。制御システム又は予測システムは、ノートＰＣと他の電気機器による使用電力量の現在の実測値と、過去の実測値などに基づいて、予測を行う。
【００１６】
制御システムは、この電力需要予測と現在の電力使用状況に基づいて、一日の充放電計画を立案する。充放電計画は、一日を通して繰り返し最適化される。
【００１７】
次に、ノートＰＣについて説明する。起動中のノートＰＣは、バッテリーの充電率と電源モードの状態を保持する。制御システム及び予測システムは、ネットワークを介して、この情報を取得する。
【００１８】
電源モードについて説明する。図２に、電源モードの例を示す。電源モードは、交流電源モード（以下、ＡＣ電源モードと記す。）と、バッテリーモードと、チャージモードのいずれかである。
【００１９】
ＡＣ電源モードでは、ノートＰＣは交流電源（以下、ＡＣ電源と記す。）から供給された電力を使用する。但し、ＡＣ電源モードでは、ノートＰＣのバッテリーの充電を行わない。従って、バッテリーの充電率は変化しない。尚、ＡＣ電源は、電力会社や自家発電システムなど、制御対象の外から供給される。
【００２０】
バッテリーモードでは、ノートＰＣはバッテリーから供給された電力を使用する。従って、ＡＣ電源から供給される電力は使用せず、バッテリーの充電率は、単調に減少する。
【００２１】
チャージモードでは、ノートＰＣはＡＣ電源から供給された電力を使用し、更にノートＰＣのバッテリーの充電を行う。従って、バッテリーの充電率は、増加する。
【００２２】
図３は、ノートＰＣ使用時の電力の変化を表している。横軸は時間を示し、縦軸は使用電力(W)を示す。図中、AcはＡＣ電源モードを示し、Baはバッテリーモードを示し、Chはチャージモードを示す。チャージモードの使用電力は、ＡＣ電源モードの使用電力に比べて高い。
【００２３】
ノートＰＣは、電源モードを変更できるようになっている。例えば、電源モードはソフトウェアで制御してもよい。図４は、電源モードを制御するソフトウェアが提供する画面の例である。この画面は、充電しない時間帯とバッテリーで動作する時間帯の指定を受け付ける。ノートＰＣは、自動的に指定された電源モードで動作する。電源モードの切り替えのために、電源ケーブルを抜き差しせずともよい。
【００２４】
但し、各ノートＰＣのチャージモードが重複する場合、全体の使用電力は増大する。従って、制御システムにより、電源モードの全体的な制御を行うことにする。制御システムは、ユーザに代わって、各ノートＰＣの電源モードを切り替える。制御システムは、例えば前述のソフトウェアを介してノートＰＣを遠隔制御する。
【００２５】
次に、ノートＰＣのバッテリーについて説明する。バッテリーには、例えばリチウムイオン電池が使用される。過度の劣化は、避けなければならないので、電源モードを制御する際は、リチウムイオン電池の劣化にも配慮する。
【００２６】
リチウムイオン電池は以下の性質を持つ。
１．１００％付近での充電（過充電という。）と０％付近での放電（過放電という。）により、劣化は進行する。
２．放電しきらない状態で再充電を繰り返すことにより、劣化は加速しない。（メモリー効果はない）
３．充放電を繰り返すことによって、充電可能な容量が減少する。（サイクル劣化）
【００２７】
バッテリーの劣化を抑えるために、注意を払い、無駄な充放電は、避けるようにする。また、１００％付近での充電と０％付近での放電も避けるようにする。一方、充放電の切り替え回数については、上記の性質から配慮しないものとする。
【００２８】
ノートＰＣは持ち運びにより、ネットワークから切断され、後に再接続される。再接続までの時間や再接続された時点での充電率の予測は、困難である。そのため、短い間隔で充放電計画を見直すことが望ましい。電力需要予測と充放電計画の最適化は、例えば３０分間隔で繰り返される。
【００２９】
また、最適化の計算の間にも、状態は変化する。従って、最適化の計算時間は、短い方が望ましい。例えば、本実施の形態では、制御システムは、１分程度で最適化の計算を終えるものとする。
【００３０】
夜間電力による充電ができない場合には、夜間であっても所定の終了時刻に制御を終了する。時間が経過する毎に、最適化計算の対象となる区間数が小さくなるようにしてもいい。また、翌日のピーク電力削減のために、終了時刻での充電量最大化を目的としてもよい。
【００３１】
充放電計画は、複数の目的関数を持つ最適化問題により導かれる。例えば、
１．オフィス全体の一日のピーク電力を指標として算出し、その指標の最小化を目標とする。
２．終了時刻でのバッテリー充電量を指標として算出し、その最大化を目標とする。
３．オフィスの総使用電力を指標として算出し、その指標の最小化を目標とする。
【００３２】
以下の各目的関数について説明する。
【数１】
0005842682.tif 000002
【数２】
0005842682.tif 000003
【数３】
0005842682.tif 000004
ピーク電力削減を最大目標とすると、ピーク電力P、充電量の総和C、総使用電力量Gの順に優先される。これらは、例えば辞書式順序で単目的化した目的関数を用いることにより、総合的に評価することができる。
辞書式順序とは、以下のように定義される。
ｘ＝（ｘ1，．．．ｘn），ｙ＝（ｙ1，．．．ｙn）∈Ｒに対して、ベクトルに対する辞書式順序≦lexは以下のように定義される。
ｘ≦lexｙ  ＜＝＞ｘ＝ｙ  または  ｘ≠ｙ  かつ
ｘj＜ｙj  （ｊ＝min（ｊ｜ｘj≠ｙj）
【００３３】
以下、パラメータについて説明する。
【数４】
0005842682.tif 000005
【数５】
0005842682.tif 000006
【数６】
0005842682.tif 000007
【数７】
0005842682.tif 000008
【数８】
0005842682.tif 000009
【数９】
0005842682.tif 000010
【数１０】
0005842682.tif 000011
【数１１】
0005842682.tif 000012
【数１２】
0005842682.tif 000013
【数１３】
0005842682.tif 000014
【数１４】
0005842682.tif 000015
【数１５】
0005842682.tif 000016
【数１６】
0005842682.tif 000017
【数１７】
0005842682.tif 000018
【数１８】
0005842682.tif 000019
【数１９】
0005842682.tif 000020
【数２０】
0005842682.tif 000021
【００３４】
図５は、各変数の時刻毎の関係を表している。一般に指令値ui[ks-1]と実測値vi,ksは一致しない。充電率に最大値および最小値が存在するのは、充電率が飽和するからである。例えば充電率は、１００％以上にはならないので、時刻ks-1で電源モードChで動作していても、１００％になった時点で電源モードAcに推移し、実測値vi,ksは電源モードAcになる。
【００３５】
また、Ac以外の電源モードでは、充電率の実測値xi,ksは、充電率の変数xi[ks]と一致しないが、同じ値として扱うものとする。
【００３６】
最適化開始時刻での問題は、指令値ui[k]を決定変数とする数理計画問題として定式化される。
【００３７】
【数２１】
0005842682.tif 000022
【００３８】
上記目的関数(1a)は、辞書式順序により単目的化した目的関数である。
【００３９】
制約式(1b)と(1c)は、ピーク電力が、オフィス全体の使用電力の過去の実測値と、ノートＰＣのバッテリー制御後におけるオフィス全体の使用電力量とのうちの最大値であることを表している。
【００４０】
電力需要予測Dks[k]は、使用電力量の実測値s[k](k∈Kp)に基づき予測されるので、ノートＰＣの使用電力量を含んでいる。このため、ノートＰＣに対する指令値である電源モードによる使用電力量とノートＰＣが電源モードAcで動作している場合を仮定した使用電力量との差の総和にてDks[k]を調整している。
【００４１】
なお、電源モードBaでは、ＡＣ電源からの電力を使用しないため、使用電力量は０である。また、電源モードCh時には電源モードAc時よりも電力を多く使用するので、電源モードChによる使用電力量は、電源モードAcによる使用電力量よりも大きい。
【００４２】
制約式(1d)は、充電量Cが最適化終了時刻keにおけるすべてのノートＰＣの充電量の和であることを表している。
【００４３】
制約式(1e)は、総使用電力量Gが時刻ksからkeまでに全てのノートＰＣのＡＣ電源から使用した電力量の和であることを表している。
【００４４】
充電及び放電に伴いエネルギーの損失が発生するため、充電率５０％の状態から電源モードBaで動作して１０％になった後に電源モードChで充電し、元の充電率５０％に戻った場合の使用電力量は、その間５０％のまま電源モードAcで動作した場合の使用電力量よりも多くなる。したがって、ＡＣ電源からの総使用電力量Gの最小化は、電源モードChでの動作の最小化につながり、バッテリーのサイクル劣化の防止にも貢献する。
【００４５】
制約式(1f)は、電源モードの実測値が時刻ks-1における電源モードとして設定されることを表している。
【００４６】
制約式(1g)は、最適化期間の各時刻では、指定した電源モードで動作することを意味する。
【００４７】
制約式(1h)は、充電率の実測値が最適化開始時刻の充電率に設定されることを表している。
【００４８】
制約式(1i)は、充電率に関する状態方程式である。
【００４９】
なお、バッテリーから供給された電力で動作する場合には充電率は減少するためfi(xi[k],Ba)＜xi[k]であり、充電時には充電率が増加するためfi(xi[k],Ch)＞xi[k]である。ここでは自然放電はないものと仮定する。したがって、fi(xi[k],Ac)=xi[k]である。
【００５０】
制約式(1j)は、充電率の範囲を表している。そして（Ａ）は、充電率がｘli以下の場合には放電しないことを表し、（Ｂ）は、充電率がｘui以上の場合には充電しないことを表す。
【００５１】
上限値及び下限値は、ユーザが設定できる値である。これらの値は、バッテリーの劣化の原因となる過放電及び過充電をさけるために使用される。例えば最小充電率は１０％に、最大充電率は８０％に設定される。また、ユーザは、例えば充電量を減らさないようにするために任意にこれらの値を設定できる。
【００５２】
制約式(1k)は、過充電を避けるための制約を表す。この式は、充電率が、設定されている最大充電率xuiより１０％以上下がっていない場合には充電を開始しない、ということを表している。
【００５３】
図６は、ノートＰＣの充電時及び放電時の充電率の推移を示している。図６からわかるように、放電に費やされる時間よりも充電にかかる時間のほうが短い。このように、バッテリーを短時間で充電させるので、図２で示すように充電時(Ch)での電力使用量は大きい。
【００５４】
このデータを元に、充電率fiの関数を設定する。各電源モードでの使用電力量は、ＣＰＵ（Central Processing Unit）使用率などに依存するが、たとえば図２のように一定値をとると仮定して、関数giも、線形関数で近似する。
【００５５】
このように、与えられた問題は、最適値を与える変数ui[k]を探索する組み合わせ最適化問題である。決定変数ui[k]は電源モードAc、Ba、及びChの３つの状態をとるため、多数の組み合わせがあり、総当たりで厳密な解を得ることは困難である。そのため、局所探索法による近似解法が現実的に有効な手段の一つである。
【００５６】
単純な局所探索法として、以下に示すような探索近傍が考えられる。探索空間を以下のように定義する。
【数２２】
0005842682.tif 000023
【００５７】
また、置換は、u∈Xに含まれる任意の変数（k∈Ko,i∈Mであるui[k]）を、Uの任意の要素で置き換える操作である。Xは、置換操作について閉じている。
【００５８】
単純な局所探索法では、u∈Xの探索近傍Nm(u)は、以下の通り定義される。
Nm(u)={v∈X|vはuをm回置換したもの}
【００５９】
しかし、このような単純な局所探索法は、実行可能領域において効率的に探索できないことがある。その場合に、異なる探索空間を用意し、その中で効率的に局所探索を行う方法が考えられる。以下の例では、単純な局所探索法ではなく、架空の探索空間に基づく局所探索アルゴリズムを採用する。架空の探索空間は、間接的な指令（この例では、架空の電源モード。例えば、後述する継続指令Du）を含む。間接的な指令は、直接実行することはできないが、架空の探索空間は、実行可能な領域に変換されるので、最終的に実行可能となる。
【００６０】
架空の探索空間のため、新たな変数u'i[k](k∈Ko,i∈M)を導入する。この変数を、未確定の指令値という。
【００６１】
この変数u'i[k]は、電源モードの指令値を表す変数であり、指令値として実行可能な電源モードAc、Ba、及びChの他に架空の電源モードDu(Dummy)をもつ。電源モードDuは、前回の時刻での電源モードを継続することを示し、継続指令ともいう。
【００６２】
Duを加えた電源モード集合U'={Ac、Ba、Ch、Du}による探索空間を以下のように定義する。
【数２３】
0005842682.tif 000024
【００６３】
以下、図１に示した制御システム（より具体的には充放電制御を実行する１又は複数のコンピュータ）内のシミュレーション部（より具体的には図１５に示すシミュレーション部１９）によるシミュレーション処理について説明する。シミュレーション部１９は、空間X'から空間Xへの写像も行う。シミュレーション部１９は、未確定の指令値u'i[k]に基づいて、元の問題の決定変数である実行可能な指令値ui[k]および目的関数値を求める。また、シミュレーション部１９は、後述するサブルーチン処理も行う。シミュレーション部１９は、サブルーチン処理で、各ノートＰＣであるi∈Mについて、最適化期間の各時刻における使用電力量と、各時刻における実行可能な指令値ui[k]と、各時刻において想定される充電率xi[k]を求める。
【００６４】
サブルーチン処理において、シミュレーション部１９は、制約に違反した未確定の指令値u'i[k]を受け取った場合に、実行可能な指令値に電源モードAcを設定する。電源モードAcは常に実行できるので、この設定により、シミュレーション部１９は、任意の未確定の指令値u'i[k]に対して常に実行可能な解が得られるようにする。
【００６５】
制約に違反した未確定の指令値を受けて電源モードAcを設定することは、制御システムから受けた指令値による電源モードが制約に違反している場合に、ノートＰＣ自身が自動的に電源モードをAcに変更する動作に相当する。実際に１００％以上に充電することはできないので、図５のように電源モードChが１００％に達した時点で、電源モードをAcに変更することは、理にかなう動作である。
【００６６】
図７は、未確定の指令値及び実行可能な指令値と充電率との関係の例を示す図である。横軸は時間軸を示し、縦軸はノートＰＣのバッテリーの充電率を示している。この例で、最小充電率は１０％である。つまり、シミュレーション部１９は、充電率が１０％以下にならないように制御する。電源モードDuは、前の電源モードの継続を意味するので、シミュレーション部１９は、u'i[2]=Duについて、ui[1]=Acを反復し、ui[2]=Acと設定する。また、シミュレーション部１９は、u'i[4]=Duについて、ui[3]=Baを反復し、ui[4]=Baと設定する。一方、時刻5に充電率は10％に達するので、シミュレーション部１９は、u'i[6]=Duについて、ui[5]=Baを反復せず、ui[6]=Acと設定する。それ以降の時刻7でも、シミュレーション部１９は、u'i[7]=Baの指令に従わず、ui[7]=Acと設定する。このように、シミュレーション部１９は、任意のu'∈X'から実行可能解u∈Xを生成する。
【００６７】
次に、具体的なシミュレーション処理について説明する。図８Ａと図８Ｂは、シミュレーション処理のメインルーチンのフローを示す図である。シミュレーション部１９は、このシミュレーション処理で、全ノートＰＣiについての未確定の指令値u'i[k]と電源モードの実測値ｖi,ksと充電率の実測値xi,ksと、更に全体の電力需要予測Dks[k] と使用電力量の実測値s[k]とを入力し、全ノートＰＣiについての実行可能な指令値ui[k]と目的関数値とを出力する。まず、シミュレーション部１９は、総使用電力量変数Gと充電量総和変数Cとピーク電力変数P[k]を初期化する（Ｓ１０１〜Ｓ１０５）。図９は、目標の指標を記憶する領域の構成の例を示す図である。シミュレーション部１９は、総使用電力量変数Gに０を設定し、充電量総和変数Cに０を設定し、各時刻のピーク電力変数P[k]に、対応する時刻の電力需要予測Dks[k] を設定する。図１０は、電力需要予測を記憶する領域の構成の例を示す図である。
【００６８】
シミュレーション部１９は、各ノートＰＣについて、Ｓ１０９〜Ｓ１２１のループ処理を繰り返す。シミュレーション部１９は、Ｓ１１１の第一行で、実行可能な指令値を初期化する。具体的には、シミュレーション部１９は、電源モードの実測値を、最適化開始時刻の一単位時間前の指令値変数に設定する。図１１は、実行可能な指令値を記憶する領域の構成の例を示す図である。次に、シミュレーション部１９は、Ｓ１１１の第二行で、充電率を初期化する。具体的には、シミュレーション部１９は、最適化開始時刻の充電率の実測値を、最適化開始時刻の充電率の変数に設定する。図１２は、充電率の記憶領域の構成の例を示す図である。シミュレーション部１９は、Ｓ１１１の第三行で、ノートＰＣ単位のシミュレーション（サブルーチン処理）を行う。この処理については、後述する。
【００６９】
シミュレーション部１９は、Ｓ１１１の第四行で、前述のノートＰＣ単位のシミュレーションにより算出された最適化期間のノートＰＣiの使用電力Gi（simulatePC( )の結果に含まれる）を、総使用電力量変数Gに加算する。Ｓ１０９〜Ｓ１２１のループをすべてのノートＰＣについて実行すると、すべてのノートＰＣ使用電力を合算することになり、シミュレーション部１９は、総使用電力量Gを算出したことになる。
【００７０】
シミュレーション部１９は、Ｓ１１１の第五行で、充電量総和変数Ｃに最適化終了時刻のノートＰＣの充電量cixi[ke]を加算する。シミュレーション部１９は、ノートＰＣiの容量に最適化終了時刻におけるそのノートＰＣiの充電率（simulatePC( )の結果に含まれる）を乗ずることにより、最適化終了時刻におけるそのノートＰＣiの充電量を求める。シミュレーション部１９は、ＰＣ情報テーブルから各ノートＰＣの容量の情報を取得する。ＰＣ情報テーブルは、各ノートＰＣについてそれぞれのバッテリーの容量の情報を記憶している。
【００７１】
また、シミュレーション部１９は、前述のノートＰＣ単位のシミュレーション（サブルーチン処理）で、最適化終了時刻のノートＰＣiの充電率をすでに算出しているので、これらを用いる。シミュレーション部１９は、Ｓ１０９〜Ｓ１２１のループを繰り返すことで、すべてのノートＰＣの最適化終了時刻の充電量を合算することになり、充電量総和Cを算出したことになる。
【００７２】
更に、シミュレーション部１９は、最適化期間の各時刻におけるピーク電力変数Pを算出する（Ｓ１１３〜Ｓ１１９）。シミュレーション部１９は、各ノートＰＣについて、ＡＣ電源モードで制御したと想定した場合の使用電力量から、実行可能な指令値の電源モードに従って制御したと想定した場合の使用電力量を引いた差（削減分の電力量に相当する。）を減ずることによりピーク電力を求める。このとき、シミュレーション部１９は、ＡＣ電源からの使用電力量のみを算出の対象としている。また、シミュレーション部１９は、充電率と電源モードに基づいて使用電力量を算出している。シミュレーション部１９は、すべてのノートＰＣについて削減分の電力量を既に初期値として設定されているDks[k]から調整することにより、各時刻におけるピーク電力変数を求める。シミュレーション部１９が求めたピーク電力変数は、各時間帯の全体の消費電力量を示している。
【００７３】
最後に、図８ｂの処理に移行して、シミュレーション部１９は、各時刻における使用電力量の実測値s[k]とピーク電力変数P[k]から最大値を探索する。具体的には、シミュレーション部１９は、各使用電力量の実測値s[k]同士を比較して、ｋがｋs以下の場合には、それらのうちの最大値を求め（Ｓ１２３〜Ｓ１３１）、ｋがｋsより大きい場合には、その最大値に対して各ピーク電力変数も比較して、全体のうちの最大値を求める（Ｓ１３３〜Ｓ１４１）。
【００７４】
続いて、図１３を用いてサブルーチン処理によるノートＰＣ単位のシミュレーションについて説明する。シミュレーション部１９は、このサブルーチン処理で、一つのノートＰＣiについての未確定の指令値u'i[k]を入力し、未確定の指令値u'i[k]に従って動作した場合の最適化の対象となる時刻における実行可能な指令値ui[k]と最適化期間の最終時刻における充電率ｘi[ke]と最適化期間における使用電力量Gｉとを出力する。シミュレーション部１９は、最適化期間の使用電力変数Giを０に初期化する（Ｓ２０１）。
【００７５】
シミュレーション部１９は、更に、最適化期間の各時刻について、Ｓ２０５〜Ｓ２２７のループ処理を行う。Ｓ２０７では、最適化期間内の時刻における当該ノートＰＣiの未確定の指令値が継続指令Duであるかを判断する。各時刻における当該ノートＰＣiの未確定の指令値が継続指令Duである場合には（Ｓ２０７：Ｙｅｓルート）、シミュレーション部１９は、前回の指令値を反復して当該未確定の指令値に設定する（Ｓ２０９）。当該未確定の指令値が継続指令Duではない場合（Ｓ２０７：Ｎｏルート）、つまり実行可能な電源モードの指令（Ac、Ba、Ch）である場合には、シミュレーション部１９は指令値を変更しない。図１４は、未確定の指令値を記憶する領域の構成の例を示す図である。
【００７６】
Ｓ２１１では、(1k)の制約条件及び（Ａ）及び（Ｂ）式を満たすか否かを判断する。(1k)の制限に該当する場合には、シミュレーション部１９は、未確定の指令値をAcに変更する（Ｓ２１３）。つまり、充電率が最大値より１０％以上下がっていない場合には、シミュレーション部１９は、充電が行われないようにする。
【００７７】
そして、シミュレーション部１９は、当該時刻の充電率xi[k]と未確定の指令値ｕ'i[k]（電源モード）に基づいて、次回の時刻の充電率を求める（Ｓ２１５）。
【００７８】
Ｓ２１７では、(1j)の制約条件を満たすか否かを判断する。(1j)の制約に該当する場合には、シミュレーション部１９は、実行可能な指令値をAcに変更する（Ｓ２１７、Ｓ２１９）。つまり、充電率が上限あるいは下限を越えている場合には、シミュレーション部１９は、過放電及び過充電が生じないようにする。更に、シミュレーション部１９は、当該時刻の充電率と実行可能な指令値に基づいて、次回の時刻の充電率を求める（Ｓ２２１）。
【００７９】
いずれの制限にも該当しない場合には、シミュレーション部１９は、未確定の指令値を実行可能な指令値に設定する（Ｓ２２３）。
【００８０】
シミュレーション部１９は、処理に係る時刻の充電率xi[k]と実行可能な指令値ui[k]（電源モード）に従って、その単位時間における当該ノートＰＣの使用電力を求め、求めた使用電力量をそのノートＰＣのこれまでの使用電力量の変数Giに加算する（Ｓ２２５）。
【００８１】
このようにして、シミュレーション部１９は、実行可能な指令値を特定するとともに、変数Gの値を総使用電力量として、変数Cの値を充電量総和として、変数Pの値をピーク電力（１単位時間における電力量）として得る。
【００８２】
続いて、図１に示した制御システム（より具体的には充放電制御を行う１又は複数のコンピュータ）の置換部（具体的には図１５における置換部１３）による局所探索処理について説明する。置換部１３は、u'∈X'に含まれる任意の指令値（k∈Ko,i∈Mであるu'i[k]）をUの任意の要素に置き換える。つまり、置換部１３は、一部の指令値をDu以外の実行可能な電源モードの指令（Ac、Ba、あるいはCh）のいずれかに置き換える。
【００８３】
u'∈X'の探索近傍N'm(u')は、以下の通り定義される。
N'm(u')={v'∈X'|v'はu'をm回置換したもの}
【００８４】
図１５は、図１に示した制御システム（より具体的には充放電制御を行う１又は複数のコンピュータ）において局所探索を行う生成部の構成例を示す図である。生成部３９は、  初期化部１１と、設定データ格納部１２と、置換部１３と、第一制御計画記憶部１５と、第二制御計画記憶部１７と、シミュレーション部１９と、第三制御計画記憶部２１と、結果記憶部２３と、判定部２５と、更新部２７と、出力部２９とを有する。
【００８５】
第一制御計画記憶部１５と第二制御計画記憶部１７は、探索空間に相当する制御計画を格納するための記憶部である。従って、第一制御計画記憶部１５に格納されている第一制御計画と第二制御計画記憶部１７に格納されている第二制御計画には、指令値Duが含まれる。
【００８６】
第三制御計画記憶部２１は、実行可能な領域に相当する制御計画を格納するための記憶部である。従って、第三制御計画記憶部２１に格納されている第三制御計画には、指令値Duが含まれない。
【００８７】
次に、図１６に示した局所探索による制御計画の生成処理について説明する。初期化部１１は、Ｓ３０１の初期化を行う。最初の指令値を制御計画に設定する。この構成例の場合には、初期化部１１は、第一制御計画記憶部１５と第二制御計画記憶部１７に同じ制御計画を設定する。
【００８８】
初期化部１１は、すべての最初の指令値u'i[k]に継続指令Duを設定する。初期化部１１がすべての最初の指令値u'i[k]に継続指令Duを設定することは、当初何も制御しない状態を想定していることを意味する。このように、初期化部１１は、局所探索の初期解にランダム解ではなく一定の解を設定する。図中のuは、探索空間の解である。
【００８９】
シミュレーション部１９は、Ｓ３０３で、初回のシミュレーション処理を行う。シミュレーション部１９は、第二制御計画記憶部１７から未確定の指令値u'i[k]を読み込み、前述の通りシミュレーション処理を行う。シミュレーション部１９は、元となった制御計画を特定できる状態でシミュレーション結果を結果記憶部２３に格納する。シミュレーション部１９は、更に、生成した実行可能な指令値からなる第三制御計画を、第三制御計画記憶部２１に格納する。図中のuaは、シミュレーションの結果として得られる目的関数値である。なお、シミュレーション部１９は、設定データ格納部１２に格納されている各種設定データを用いてシミュレーション処理を実施する。設定データには、上で述べた関数ｆi及びｇiのデータをも含む。さらに、シミュレーション部１９は、各ノートＰＣからの実測値（電源モードの実測値ｖi,ks及び充電率の実測値ｘi,ks）と、予測システムから得られる電力需要予測Ｄks［ｋ］をも用いる。
【００９０】
以下で述べる終了条件を満たさなければ（Ｓ３０５）、置換部１３は、探索近傍の選択に相当する置換処理を行う（Ｓ３０７）。これにより、置換部１３は、第一制御計画記憶部１５の第一制御計画の一部を置き換えた第二制御計画を生成し、生成した第二制御計画を第二制御計画記憶部１７に格納する。図中のｖは、近傍から選択された解であり、第二制御計画に相当する。矢印は、近傍からの解の選択を意味している。
【００９１】
続いて、シミュレーション部１９は、第二制御計画に基づいてシミュレーション処理を行う（Ｓ３０９）。シミュレーション部１９は、前述と同様に、シミュレーション結果を結果記憶部２３に格納する。更に、シミュレーション部１９は、前述と同様に、生成した実行可能な指令値ui[k]からなる第三制御計画を、第三制御計画記憶部２１に格納する。図中のｖaは、近傍から選択された解についてのシミュレーションの結果として得られる目的関数値である。
【００９２】
続いて、判定部２５は判定処理を行う（Ｓ３１１）。判定部２５は、置換後のシミュレーション結果が置換前のシミュレーション結果に比べて目標により近い場合には、改善したと判断する。この例で、判定部２５は、複数の目的を単目的化した関数値により得られた指標に基づいて、その大小比較により優劣を判断する。判定部２５は、指標の最大化を目標としている場合には、置換後の指標が置換前の指標より大きい場合に改善したと判定し、指標の最小化を目標としている場合には、置換後の指標が置換前の指標より小さい場合に改善したと判定する。元の解によるシミュレーション結果の目的関数値uaと近傍の解によるシミュレーション結果の目的関数値vaを比較し、その指標が減少している場合に、改善したと判断することを意味している。
【００９３】
判定部２５が改善したと判断した場合に、更新部２７は更新処理を行なう（Ｓ３１３）。更新部２７は、第二制御計画記憶部１７の第二制御計画を、新たな第一制御計画として第一制御計画記憶部１５に書き込む。また、更新部２７は、第二制御計画のシミュレーション結果を、新たな第一制御計画のシミュレーション結果とするように、結果記憶部２３の情報を更新する。
【００９４】
生成部３９は、終了条件を満たすまで、Ｓ３０５からＳ３１３の処理を繰り返す。生成部３９は、最適化のための実行制限時間が経過したときに、終了と判断する。生成部３９は、更に、探索近傍内のすべての要素に対して解が改善されない場合にも、局所最適解に陥ったものと解して終了と判断する。
【００９５】
処理の終了により、出力部２９は、実行可能な指令値である第三制御計画を、実際に各ノートＰＣを制御する遠隔制御部に出力する。なお、シミュレーション結果を出力するようにしても良い。なお、シミュレーション結果には、目的関数の値だけではなく、ピーク電力Ｐ、バッテリー充電量Ｃ、総使用電力量Ｇのデータを含むようにしても良い。
【００９６】
図１７は、ノートＰＣの制御に係る構成を示す図である。図１８は、全体処理フローを示す図である。図１７と図１８は、それぞれ電力需要予測と実測値の測定に係る構成及び処理についても示している。制御システム（より具体的には充放電制御を行う１又は複数のコンピュータ）は、生成部３９の他に、外部の予測システムあるいは予測システムに相当する内部の予測処理部から、電力需要予測の情報を取得する取得部３１と、取得した電力需要予測の情報を格納する領域である電力需要予測記憶部３３と、各ノートＰＣにおける現在の充電率や現在の電源モードを実測値として測定する測定部３５と、測定した実測値を格納する領域である実測値記憶部３７とを有している。
【００９７】
所定のタイミングによる生成処理時間に至ると（Ｓ４０１）、取得部３１は、電力需要予測を取得し、電力需要予測記憶部３３に格納する（Ｓ４０３）。測定部３５は、ネットワークを介してノートＰＣが保持する情報の測定を行い、取得した実測値を実測値記憶部３７に格納する（Ｓ４０５）。実測値には、電源モードの実測値ｖi,ks及び充電率の実測値ｘi,ksが含まれる。そして、生成部３９は、前述の制御計画の生成処理を行う（Ｓ４０７）。
【００９８】
所定のタイミングによる遠隔制御処理時間に至ると（Ｓ４０９）、遠隔制御部４１は、生成部３９から得た制御計画（実行可能な指令値からなる第三制御計画）に従って、各ノートＰＣを遠隔制御する（Ｓ４１１）。つまり、遠隔制御部４１は、最適化期間の各時刻において各ノートＰＣが実行可能な指令値に従って、そのノートＰＣに対して電源モードの選択を指示する。所定の最適化期間を経過すると、処理を終了する（Ｓ４１３）。
【００９９】
上述の一連の動作により、ノートＰＣを制御する計画の生成とその計画に基づくノートＰＣの制御が行われる。但し、上述の処理だけでは、対処不能の状況が考えられる。
【０１００】
一つには、測定部３５が、ノートＰＣからの実測値を得られない状況が想定される。ノートＰＣがＬＡＮに接続されていない場合には、測定部３５はそのノートＰＣが保持する情報を測定できないからである。例えば、ユーザがノートＰＣをオフィス外に持ち出しているときには、測定部３５はそのノートＰＣが保持する情報を測定できない。このような状況では、消費電力は増えないが、充電率は低下している恐れがある。他に、ユーザがノートＰＣをオフィス内でＬＡＮに接続せずに使用している場合にも、測定部３５はそのノートＰＣが保持する情報を測定できない。このような状況では、ＡＣ電力が使用されている可能性もある。
【０１０１】
シミュレーションによる想定よりも現状が悪いという事態は、回避することが望ましい。従って、シミュレーション部１９は、実測値が得られない場合には、目標に対して好ましくない状態であると仮定する。ノートＰＣからの実測値を得られない場合には、シミュレーション部１９は、以下のように処理する。
【０１０２】
シミュレーション部１９は、電力消費の観点から電源モードはChであると仮定し、仮定した電源モードChを用いて図８ＡのＳ１１７と図１３のＳ２２５などの消費電力の算出を行う。電源モードChは、このような状況で想定される電源モードのうち、最も消費する電力が大きいからである。
【０１０３】
また、シミュレーション部１９は、充電の観点から電源モードはBaであると仮定し、仮定した電源モードBaを用いて図１３のＳ２１５などの充電率の算出を行う。このような状況で電源モードBaによりノートＰＣが動作している場合には、充電率が低下し、充電量が低下するからである。
【０１０４】
また、ノートＰＣの使用電源を遠隔制御できない場合も想定される。例えば、ノートＰＣが、ＡＣ電源に接続されていない場合が考えられる。この場合に、シミュレーション部１９は、電力消費の観点から電源モードはAcであると仮定する。ノートＰＣが現在ＡＣ電源に接続されていなくとも、すぐにＡＣ電源に再接続される可能性があるので、シミュレーション部１９はその状態を見越してＡＣ電源により動作するときの消費電力量を用いてシミュレーションを行う。具体的には、シミュレーション部１９は、仮定した電源モードAcを用いて図８ＡのＳ１１７と図１３のＳ２２５などの消費電力の算出を行う。
【０１０５】
また、シミュレーション部１９は、充電の観点から電源モードはBaであると仮定して、仮定した電源モードBaを用いて図１３のＳ２１５などの充電率の算出を行う。このような状況のもと、ノートＰＣがバッテリー電源を使用している可能性があるからである。
【０１０６】
最後に、単純な局所探索法による制御の例と、本実施の形態による制御、つまり異なる架空の探索空間に基づく局所探索による制御の例を比較する。
【０１０７】
まず、単純な局所探索法による制御の例を示す。図１９と図２０と図２１は、実行可能な領域を探索空間とする場合の指令値の例と、電力使用状態の例と、制御結果の例を示す。
【０１０８】
初期値は、すべて電源モードAcである。この例では、１５：００の電源モードがBaに変更されないと、電力需要の予測値におけるピーク電力量は減少しない。しかし、単純な局所探索法では、直接この時刻の指令値を置換できる確率は低く、高い改善効率は望めない。
【０１０９】
次に、異なる架空の探索空間による制御の例を示す。図２２と図２３と図２４と図２５は、探索空間の写像を行なう場合の未確定の指令値の例と、実行可能な指令値の例と、電力使用状態の例と、制御結果の例を示す図である。
【０１１０】
充電率が最大値から最小値まで降下するのに２時間程度かかると仮定すると、１３：３０〜１５：００の時刻のいずれかの指令値がBaに置き換われば、１５：００に生じると予想されるピーク電力量の削減が期待できる。異なる架空の探索空間による制御では、前の例に比べて有効な置換が行われる確率が高く、改善の期待は大きい。
【０１１１】
この例では、すべての指令値が継続指令Duである初期状態に対して、置換部１３が１４：００の一部の指令値をBaに置き換えたために、ピーク電力の削減が図られている。
【０１１２】
［実施の形態２］
第１の実施の形態において、充電率については関数ｆiを予め用意して当該関数ｆiに基づきシミュレーション処理を行う。この関数ｆiを変化させずに初期的な設定のみを使い続けると、バッテリーの状態によっては実際とのずれが生ずる。例えば、消費電力の時間変化の一例を図２６に示す。図２６の例では、第１の実施の形態のような制御を行わない場合には曲線ａのようにピーク電力が高くなっているが、第１の実施の形態のような制御を行えば、シミュレーション上では曲線ｂのようにピーク電力を抑えることができる。ここで関数ｆiには、チャージモードＣｈでは約１時間４０分でバッテリー充電率０％から１００％に充電でき、バッテリーモードＢａでは約３時間でバッテリー充電率１００％から０％に下がるというモデルを使用している。しかしながら、実際にはバッテリー充電率０％から１００％に充電にするためには約２時間かかり、バッテリー充電率１００％から０％になるまでの時間が約２時間１０分かかるとすると、図２６の例では、曲線ｃのように、１日の後半にシミュレーションのつじつまが合わなくなってピーク電力が増加してしまうという現象が生じ、第１の実施の形態の効果が減じられてしまう。
【０１１３】
また、図２７に模式的に示すように、制御終了時刻（例えば２０時）までに、これまでに下がっていたバッテリー充電率を８０％等所定値にまで上げておくような制御を行う場合には、シミュレーション上では所定値まで充電できていても、実際には所定値まで充電できていないということもあり得る。
【０１１４】
そこで、以下のような処理を行って、適切な関数ｆiを設定することで、実際の充電率とシミュレーション上での充電率との乖離を小さくすることで、ピーク電力が上昇してしまうなどの問題を発生しにくくする。
【０１１５】
このため、本実施の形態では、図２８に示すような構成を制御システム（具体的には充放電制御を行うコンピュータ）に設けるものとする。なお、第１の実施の形態と同様の機能を有する構成要素については同一の参照符号がされている。本実施の形態では、設定データ更新部４３と、中間データ格納部４４とを追加している。設定データ更新部４３は、実測値記憶部３７に実測値が新たに格納されると（例えば３０分おき）、当該実測値を用いて以下で述べる処理を行い、中間データ格納部４４に以下で述べるようなデータを格納しておく。そして、例えば１週間毎など所定の周期で、中間データ格納部４４に格納されているデータに基づき設定データの更新を行い、生成部３９内の設定データ格納部１２に格納されている設定データの更新を行う。
【０１１６】
本実施の形態では、制御時刻毎（例えば３０分などの単位時間毎）に、例えば図２９に示すような実測値が得られ、実測値記憶部３７に格納されるものとする。すなわち、ノートＰＣ毎に、ノートＰＣの識別子と、充電率（％）（＝xi,ks）と、駆動状態（＝vi,ks）とが格納されるようになっている。なお、実測値記憶部３７には、制御時刻毎のデータが累積的に蓄積されているものとする。なお、あまりに古いデータについては破棄しても良い。
【０１１７】
また、本実施の形態では、設定データ格納部１２には、図３０に示すような関数ｆiのデータが格納されるものとする。本実施の形態では、図６に示したカーブを線形近似することで、充電時変化率（チャージモードＣｈの場合における充電率の増加率）と、放電時変化率（バッテリーモードＢａの場合における充電率の減少率）とで、関数ｆiを表すものとする。すなわち、図３０の例では、各ノートＰＣについて、ノートＰＣの識別子と、充電時変化率と、放電時変化率とが登録されている。
【０１１８】
次に、図３１を用いて、新たな実測値が実測値記憶部３７に格納される毎に行われる処理について説明する。図３１の処理フローでは、制御時刻の間隔で、どのように充電率が変化するのかの実態を表すデータを生成する。
【０１１９】
設定データ更新部４３は、ノートＰＣについてのカウンタｉを１に初期化する（Ｓ５０１）。そして、設定データ更新部４３は、実測値記憶部３７に格納されている今回の実測値に含まれるノートＰＣiの駆動状態がバッテリーモードＢａ又はチャージモードＣｈであるか判断する（Ｓ５０３）。
【０１２０】
ノートＰＣiの駆動状態がＡＣ電源モードＡｃである場合には、何もせずに処理はＳ５０９に移行する。一方、ノートＰＣiの駆動状態がバッテリーモードＢａ又はチャージモードＣｈである場合には、設定データ更新部４３は、今回の実測値に含まれるそのノートＰＣiの充電率xi,ksと１単位時間前の実測値に含まれるそのノートＰＣiの充電率xi,ks-1との差（xi,ks−xi,ks-1）を算出する（Ｓ５０５）。そして、設定データ更新部４３は、今回の実測値に含まれる駆動状態及びバッテリー充電率の変化量を、ノートＰＣiの識別子に対応付けて、中間データ格納部４４に格納する（Ｓ５０７）。例えば、図３２に示すようなデータが、中間データ格納部４４に格納される。図３２の例では、ノートＰＣ毎に、ノートＰＣの識別子と、駆動状態と、バッテリー充電率変化量とを格納するようになっている。ＡＣ電源モードＡｃであればエントリが登録されないので、ノートＰＣによって登録されるエントリの数にはばらつきがある。
【０１２１】
そして、設定データ更新部４３は、未処理のノートＰＣが存在するか判断する（Ｓ５０９）。例えば設定データ格納部１２に載っているノートＰＣを順番に処理して、最後のノートＰＣを処理したか判断する。未処理のノートＰＣが存在する場合には、設定データ更新部４３は、カウンタｉを１インクリメントし（Ｓ５１１）、処理はＳ５０３に移行する。一方、未処理のノートＰＣが存在しない場合には、今回の実測値についての処理は終了する。
【０１２２】
次に、１週間など所定期間経過後に、図３３に示すような処理を実施することで関数ｆiのデータ（図３０）を補正する。すなわち、設定データ更新部４３は、ノートＰＣのカウンタｉを１に初期化する（Ｓ５２１）。そして、設定データ更新部４３は、中間データ格納部４４において、ノートＰＣiについて駆動状態Ｃｈのデータを読み出す（Ｓ５２３）。図３２の例では、ノートＰＣ１であれば５番目のエントリが読み出される。そして、設定データ更新部４３は、読み出したデータに含まれる充電率変化量の平均値である充電率上昇平均値ｔiを算出する（Ｓ５２５）。
【０１２３】
その後、設定データ更新部４３は、充電率上昇平均値ｔiにより、設定データ格納部１２におけるノートＰＣiの充電時変化率ｓiを補正する（Ｓ５２７）。
【０１２４】
例えば、重みｗs,iとｗt,iとを用いて、補正後の充電時変化率ｓinewを算出する。
ｓinew＝１／（ｗs,i＋ｗt,i）＊（ｗs,i＊ｓi＋ｗt,i＊ｔi）
【０１２５】
重みｗs,i及びｗt,iには固定の値を設定しても良い。例えば、ｗs,i＝９、ｗt,i＝１を固定で用いても良い。
【０１２６】
また、平均値を算出する際に読み出されたエントリの数ｎiが多いほど信頼性が高いと判断できるので、ｗt,i＝ｎiとして用いることも可能である。この際、ｗs,iには何らかの固定の値を設定する。すなわち、以下のように表される。
ｓinew＝１／（ｗs,i＋ｎi）＊（ｗs,i＊ｓi＋ｎi＊ｔi）
【０１２７】
また、設定データ更新部４３は、中間データ格納部４４において、ノートＰＣiについて駆動状態Ｂａのデータを読み出す（Ｓ５２９）。図３２の例では、ノートＰＣ２であれば２番目のエントリが読み出される。そして、設定データ更新部４３は、読み出したデータに含まれる放電率変化量の平均値である充電率下降平均値ｃiを算出する（Ｓ５３１）。
【０１２８】
その後、設定データ更新部４３は、充電率下降平均値ｃiにより、設定データ格納部１２におけるノートＰＣiの放電時変化率ｄiを補正する（Ｓ５３３）。
【０１２９】
例えば、重みｗc,iとｗd,iとを用いて、補正後の放電時変化率ｄinewを算出する。
ｄinew＝１／（ｗd,i＋ｗc,i）＊（ｗd,i＊ｄi＋ｗc,i＊ｃi）
【０１３０】
充電時変化率と同様に、重みｗc,i及びｗd,iには固定の値を設定しても良い。例えば、ｗd,i＝９、ｗc,i＝１を固定で用いても良い。
【０１３１】
また、充電時変化率と同様に、平均値を算出する際に読み出されたエントリの数ｎiが多いほど信頼性が高いと判断できるので、ｗc,i＝ｎiとして用いることも可能である。この際、ｗd,iには何らかの固定の値を設定する。すなわち、以下のように表される。
ｄinew＝１／（ｗd,i＋ｎi）＊（ｗd,i＊ｄi＋ｎi＊ｃi）
【０１３２】
その後、設定データ更新部４３は、未処理のノートＰＣが存在するか判断する（Ｓ５３５）。例えば設定データ格納部１２に載っているノートＰＣを順番に処理して、最後のノートＰＣを処理したか判断する。未処理のノートＰＣが存在する場合には、設定データ更新部４３は、カウンタｉを１インクリメントし（Ｓ５３７）、処理はＳ５２３に移行する。一方、未処理のノートＰＣが存在しない場合には、設定データ更新部４３は、中間データ格納部４４に格納されているデータ（図３２）をクリアする（Ｓ５３９）。但し、クリアするのではなく、他の記憶領域に格納して保存したり、次回の処理対象から除外するようにフラグをセットするなどの処理を行う。
【０１３３】
このようにすれば、各ノートＰＣのバッテリーの状態に併せて、充電時変化率及び放電時変化率を補正することができる。
【０１３４】
なお、補正の方法は上で述べた方法以外にも考えられる。特に、ノートＰＣで使われるリチウムイオンバッテリーは充放電回数がある値（例えば５００回から６００回程度）に達すると、それ以降の容量低下が加速する。すなわち、バッテリー特性がモデルから大きくずれるようになる、と考えられる。そこで、充電時変化率及び放電時変化率の重みｗsについて、充放電総回数ｍに応じて変化させる方法も考えられる。
【０１３５】
例えば、ｍ＜Ｍ（閾値）であれば、ｗs1,iを用い、ｍ≧Ｍであれば、ｗs2,i（＜ｗs1,i）を用いるものとする。なお、ｊ＝１又は２である。
ｄinew＝１／（ｗsj,i＋ｎi）＊（ｗsj,i＊ｄi＋ｎi＊ｃi）
【０１３６】
同様に、ｍ＜Ｍ（閾値）であれば、ｗd1,iを用い、ｍ≧Ｍであれば、ｗd2,i（＜ｗd1,i）を用いるものとする。
ｄinew＝１／（ｗdj,i＋ｎi）＊（ｗdj,i＊ｄi＋ｎi＊ｃi）
【０１３７】
充放電総回数ｍについては、図３４に示すような処理にて、中間データ格納部４４に格納しておく。なお、本実施の形態では、充電方向を、チャージモードＣｈが出現すれば充電方向「＋」と設定し、バッテリーモードＢａが出現すれば充電方向「−」と設定する。その間にＡＣ電源モードＡｃが出現しても充電方向を変化させない。例えば、Ａｃ，Ｂａ，Ａｃ，Ａｃ，Ｃｈ，Ａｃというモード遷移が発生した場合、バッテリーモードＢａが出現した時点で−が設定され、チャージモードＣｈが出現した時点で＋が設定される。
まず、設定データ更新部４３は、ノートＰＣのカウンタｉを１に初期化する（Ｓ５４１）。そして、設定データ更新部４３は、実測値記憶部３７に格納されている今回の実測値に含まれるノートＰＣiの駆動状態がバッテリーモードＢａであるか判断する（Ｓ５４３）。ノートＰＣiの駆動状態がバッテリーモードＢａである場合には、設定データ更新部４３は、中間データ格納部４４に用意されている充放電回数テーブルにおけるノートＰＣiの充電方向が＋であるか判断する（Ｓ５４５）。充放電回数テーブルは、例えば図３５に示すようなテーブルである。図３５の例では、ノートＰＣ毎に、ノートＰＣの識別子と、充電方向と、充放電総回数とが登録されるようになっている。新規導入ノートＰＣについての初期値としては、充電方向は「＋」に設定され、充放電総回数は「０」に設定されるものとする。
【０１３８】
そして、設定データ更新部４３は、充電方向が＋であれば、充放電回数テーブルにおいてノートＰＣiについての充電方向を「−」に変更し、充放電総回数を１インクリメントする（Ｓ５４７）。そして処理はＳ５５５に移行する。一方、充電方向が「−」の場合も処理はＳ５５５に移行する。
【０１３９】
一方、ノートＰＣiの駆動状態がバッテリーモードＢａではない場合、設定データ更新部４３は、駆動状態がチャージモードＣｈであるか判断する（Ｓ５４９）。駆動状態がチャージモードＣｈではない場合には処理はＳ５５５に移行する。一方、駆動状態がチャージモードＣｈである場合には、設定データ更新部４３は、充放電回数テーブルにおいてノートＰＣiについての充電方向が「−」であるか判断する（Ｓ５５１）。充電方向が「＋」であれば処理はＳ５５５に移行する。
【０１４０】
一方、充電方向が「−」であれば、設定データ更新部４３は、充放電回数テーブルにおいてノートＰＣiについて充電方向を「＋」に変更し、充放電総回数を１インクリメントする（Ｓ５５３）。そして処理はＳ５５５に移行する。
【０１４１】
Ｓ５５５では、設定データ更新部４３は、未処理のノートＰＣが存在するか判断する（Ｓ５５５）。未処理のノートＰＣが存在する場合には、設定データ更新部４３は、ｉを１インクリメントして（Ｓ５５７）、処理はＳ５４３に移行する。一方、未処理のノートＰＣが存在しない場合には、処理を終了する。
【０１４２】
以上のような処理を実施することで、制御時刻毎に充放電総回数を充放電回数テーブルに蓄積することができるようになる。
【０１４３】
以上のようにモデルを適宜変更するようにすれば、例えば図３６のようなピーク電力の時間変化が得られるようになる。図３６の例では、曲線ａは制御無しの場合を表し、曲線ｂはシミュレーションで想定した曲線を表し、曲線ｄは第２の実施の形態のようにモデルを適宜変更する場合の曲線を表す。このように、バッテリーの劣化の分だけピーク電力は高くなるが、図２６に示したような曲線ｃよりもピーク電力は抑えられている。具体的には、曲線ｃは、制御無しよりも−４．５％のピーク電力となってしまっているが、曲線ｄは、制御無しよりも−６．７％のピーク電力となっている。
【０１４４】
なお、新規にシステムに導入するノートＰＣについての関数ｆiのデータについては、カタログ値（例えばバッテリーが空の状態から充電完了までの時間、満充電から使用可能な時間）を用いて設定する。
【０１４５】
また、新規ノートＰＣをシステムに導入する時には、制御対象にはせず、充電と放電を繰り返すことで（例えば、２０％以下−＞充電−＞８０％以上−＞放電−＞２０％以下−＞ ... のようなサイクルを実施し）、変化実績データを貯めておき、次回の関数ｆiの補正時期が来たら、変化実績データから変化率の初期値を決定してもよい。
【０１４６】
なお、充放電総回数、充電時変化率、放電時変化率に閾値を設け、その数値を超えたときに、バッテリー寿命が近づいたことを制御対象のノートＰＣの画面上に表示させてユーザの注意を促すようにしても良い。
【０１４７】
なお、放電時変化率と充電時変化率とを両方共に補正する例を示したが、片方のみ補正する場合もある。
【０１４８】
［実施の形態３］
第１の実施の形態では、目的関数の値にのみ着目しているので、あるノートＰＣのバッテリーを酷使するような制御指令ばかりを出力する可能性がある。例えば、同じノートＰＣの充放電総回数ばかりを増加させるような制御を行う可能性がある。これは短期的には問題は無いが、中長期的には制御対象全体の消費電力量を増加させたり、ピーク電力を高めたりする。さらに、バッテリーの交換を早めることで物品購入費を増加させることにもなる。
【０１４９】
そこで、例えば生成部３９の構成を図３７に示すような生成部３９ｂに変更して、図３８に示すような処理を実施することで、上記のような特定のノートＰＣのバッテリーを酷使するような制御指令の出力を抑制する。
【０１５０】
生成部３９ｂは、基本的な部分は生成部３９と同様であるから、同様の機能を有する構成要素については同じ参照符号を付している。
具体的には、生成部３９ｂは、選定部１０１と、候補データ格納部１０２と、出力部１０３と、疲労度データ格納部１０４とを、生成部３９における判定部２５及び出力部２９の代わりに有する。
【０１５１】
選定部１０１は、結果記憶部２３及び第三制御計画記憶部２１に格納されているシミュレーション結果及び第三制御計画から、最終的に出力部１０３を介して出力すべき制御計画を選定する。この際、選定部１０１は、疲労度データ格納部１０４に格納されているデータを用いて判断する。また、選定部１０１は、処理の終了条件をも判断する。候補データ格納部１０２は、出力部１０３から出力すべきシミュレーション結果及び第三制御計画の候補のデータを格納する。出力部１０３は、選定部１０１で選定されたシミュレーション結果及び第三制御計画を遠隔制御部４１に出力する。
【０１５２】
次に、図３７に示した生成部３９ｂの処理内容について図３８を用いて説明する。この処理は図１６の処理フローの代わりに行われる。
【０１５３】
初期化部１１は、初期化処理を実施する（Ｓ６０１）。初期化処理は、最初の指令値を制御計画に設定する処理を含む。本実施の形態においても、初期化部１１は、第一制御計画記憶部１５と第二制御計画記憶部１７に同じ制御計画を設定する。
【０１５４】
例えば、初期化部１１は、すべての最初の指令値u'i[k]に継続指令Duを設定する。初期化部１１がすべての最初の指令値u'i[k]に継続指令Duを設定することは、当初何も制御しない状態を想定していることを意味する。このように、初期化部１１は、局所探索の初期解にランダム解ではなく一定の解を設定する。図中のuは、探索空間の解を表す。
【０１５５】
次に、シミュレーション部１９は、初回のシミュレーション処理を行う（Ｓ６０３）。具体的には、シミュレーション部１９は、第二制御計画記憶部１７から未確定の指令値u'i[k]を読み込み、図８Ａ及び図８Ｂに示したシミュレーション処理を行う。そして、シミュレーション部１９は、対応する制御計画を特定できる状態でシミュレーション結果を結果記憶部２３に格納する。さらに、シミュレーション部１９は、生成した実行可能な指令値を含む第三制御計画を、第三制御計画記憶部２１に格納する。図中のuaは、シミュレーション結果として得られる目的関数値を表す。
【０１５６】
なお、シミュレーション部１９は、設定データ格納部１２に格納されている各種設定データを用いてシミュレーション処理を実施する。設定データには、上で述べた関数ｆi及びｇiのデータをも含む。さらに、シミュレーション部１９は、各ノートＰＣからの実測値（電源モードの実測値ｖi,ks及び充電率の実測値ｘi,ks）と、予測システムから得られる電力需要予測Ｄks［ｋ］をも用いる。
【０１５７】
さらに、本実施の形態では、選定部１０１は、集合Ｓに、ｕについての実行可能な制御計画（すなわち第三制御計画）を登録する。具体的には、選定部１０１は、ｕについての実行可能な制御計画のデータを第三制御計画記憶部２１から読み出して候補データ格納部１０２に格納すると共に、結果記憶部２３に格納されているシミュレーション結果をも制御計画に対応付けて候補データ格納部１０２に格納する。
【０１５８】
そして、以下で述べる終了条件を満たすと判断されるまで（Ｓ６０５：Ｎｏルート）、置換部１３は、探索近傍の選択に相当する置換処理を行う（Ｓ６０７）。具体的には、置換部１３は、第一制御計画記憶部１５の第一制御計画の一部を置き換えた第二制御計画を生成し、生成した第二制御計画を第二制御計画記憶部１７に格納する。図中のｖは、近傍から選択された解を表し、第二制御計画に相当する。矢印は、近傍からの解の選択を表している。
【０１５９】
その後、シミュレーション部１９は、第二制御計画格納部１７に格納されている第二制御計画に基づいてシミュレーション処理を行う（Ｓ６０９）。シミュレーション部１９は、Ｓ６０３と同様に、シミュレーション結果を結果記憶部２３に格納する。更に、シミュレーション部１９は、Ｓ６０３と同様に、生成した実行可能な指令値ui[k]を有する第三制御計画を、第三制御計画記憶部２１に格納する。図中のｖaは、近傍から選択された解についてのシミュレーションの結果として得られる目的関数値を表す。
【０１６０】
そして、選定部１０１は、判定処理を実施する（Ｓ６１１）。具体的には、選定部１０１は、置換処理後のシミュレーション結果が置換処理前のシミュレーション結果に比べて目標により近い場合には、改善したと判定する。より具体的には、選定部１０１は、複数の目的を単目的化した目的関数の値に基づく大小比較により、制御計画の優劣を判定する。例えば、選定部１０１は、目的関数値の最大化を目標としている場合には、置換処理後の制御計画についての目的関数値が置換処理前の制御計画の目的関数値の最大値より大きい場合に改善したと判定する。一方、目的関数値の最小化を目標としている場合には、置換処理後の制御計画の目的関数値が置換処理前の制御計画の目的関数値より小さい場合に改善したと判定する。元の解によるシミュレーション結果の目的関数値uaと、近傍の解ｖによるシミュレーション結果の目的関数値vaを比較し、ｕa＞ｖaが成立している場合に改善したと判定する。図中では、後者の場合を示している。
【０１６１】
今回の制御計画の目的関数値が改善したと判断した場合に、選定部１０１は、ｖa−ｗa≧ｅ（所定の閾値）となる実行可能な制御計画ｗを集合Ｓから除外し、集合Ｓにｖについての実行可能な制御計画を追加登録する（Ｓ６１３）。具体的には、集合Ｓに既に登録されている各制御計画ｗについて、その目的関数値ｗeがｖa−ｗa≧ｅという関係を満たすか否かを判断する。このような関係を満たす制御計画ｗについてのデータを、候補データ格納部１０２から削除する。また、ｖについての実行可能な制御計画及びシミュレーション結果を、候補データ格納部１０２に格納する。
さらに、更新部２７は、更新処理を行う（Ｓ６１５）。具体的には、更新部２７は、第二制御計画記憶部１７の第二制御計画を、新たな第一制御計画として第一制御計画記憶部１５に書き込む。また、更新部２７は、第二制御計画のシミュレーション結果を、新たな第一制御計画のシミュレーション結果とするように、結果記憶部２３の情報を更新する。そして処理はＳ６０５に戻る。
【０１６２】
一方、本実施の形態では、今回の制御計画の目的関数値が改善していないと判断した場合でも、選定部１０１は、今回のシミュレーション結果が、これまでの最善のシミュレーション結果の近傍にあるか判断する（Ｓ６１７）。具体的には、目的関数値ｖa＝ｕaであるか又はｖa＞ｕa且つｖa≦ｕa＋ｅであるか判断する。これは、目的関数値を最小化する場合の関係式であり、最大化する場合には、不等号を反転させる。このような条件を満たす場合には、選定部１０１は、集合Ｓにｖについての実行可能な制御計画を追加登録する（Ｓ６１９）。より具体的には、ｖについての実行可能な制御計画及びシミュレーション結果を、候補データ格納部１０２に格納する。そして、処理はＳ６０５に戻る。Ｓ６１７の条件を満たさない場合にも処理はＳ６０５に戻る。
生成部３９ｂは、終了条件を満たすまでＳ６０５からＳ６１９の処理を繰り返す。例えば、生成部３９ｂは、最適化のための実行制限時間が経過したときに、終了条件を満たしたと判断する。さらに、探索近傍内のすべての要素に対して解が改善されない場合にも、局所最適解に陥ったものとみなして終了条件が満たされたと判断する。
【０１６３】
終了条件が満たされた場合には、選定部１０１は、候補データ格納部１０２に格納されている集合Ｓのデータから、バッテリー疲労度のばらつき指標に基づき制御計画を特定して、制御計画及びシミュレーション結果を出力部１０３に出力する（Ｓ６２１）。  Ｓ６２１の処理では、集合Ｓに１つの制御計画しか含まれていない場合には、その制御計画が選択される。一方、集合Ｓに複数の制御計画が含まれている場合には、例えば以下のようなバッテリー疲労度のばらつき指標ｄｆ（ｕ）を算出する。
【数２４】
0005842682.tif 000025
【０１６４】
ｑ（ｉ，ｕ）は、制御計画ｕを実行した場合におけるノートＰＣiのバッテリー疲労度を表す。ｑ（ｊ，ｕ）は、制御計画ｕを実行した場合におけるノートＰＣjのバッテリー疲労度を表す。バッテリー疲労度は大きな値ほどバッテリーが消耗しているものとする。すなわち、バッテリー疲労度の差の絶対値が最も大きい値をばらつき指標ｄｆ（ｕ）としている。
【０１６５】
このようなばらつき指標ｄｆ（ｕ）を集合Ｓに含まれる各制御計画について算出し、最も小さいばらつき指標ｄｆ（ｕ）が算出された制御計画を選定する。すなわち、可能な限り、バッテリー疲労度のばらつきが小さくなるような制御計画を採用することで、一部のノートＰＣのバッテリーが酷使されるのを抑制する。
【０１６６】
バッテリー疲労度のデータは、例えば疲労度データ格納部１０４に格納しておく。図３９の例では、ノートＰＣ毎に、ノートＰＣの識別子と、バッテリー疲労度とが格納されるようになっている。
【０１６７】
バッテリー疲労度には、例えば、第２の実施の形態でも述べた充放電総回数を用いることができる。充放電総回数が多いほど、バッテリーが消耗するためである。例えば、中間データ格納部４４に、これまでの充放電総回数が格納されている場合には、充放電回数テーブル（図３５）を読み出し、各制御計画が実際に実行されたと仮定した場合に、図３４の処理にて充放電回数テーブルを仮に更新することで仮の充放電総回数が得られる。この仮の充放電総回数を、上で述べた式に当て嵌めれば、ばらつき指標ｄｆ（ｕ）が得られる。この場合には、充放電総回数の最小値と最大値との差が小さくなるように制御計画が選定される。
【０１６８】
その他にバッテリー疲労度ｑとして、充電残量が高い数値（例えば９０%以上）での長時間の使用を劣化しやすい条件と考えたり、充電残量が中程度（例えば２０%から８０%の間）で推移する使い方を劣化が起きにくい条件と考えたりして、それぞれのためのバッテリー疲労度ｑ（ｉ，ｕ）を定義してもよい。
【０１６９】
さらに、ばらつき指標ｄｆ（ｕ）についても差の絶対値ではなく、以下のような式に変更することも可能である。
【数２５】
0005842682.tif 000026
【０１７０】
このような処理の終了により、出力部２９は、実行可能な指令値である第三制御計画を、実際に各ノートＰＣを制御する遠隔制御部４１に出力する。なお、シミュレーション結果を出力するようにしても良い。なお、シミュレーション結果には、目的関数の値だけではなく、ピーク電力Ｐ、バッテリー充電量Ｃ、総使用電力量Ｇのデータを含むようにしても良い。
【０１７１】
以上のような処理を実施することで、一部のノートＰＣのバッテリーが他と比較して急激に劣化するような事態を抑制することができる。これにより、シミュレーション結果と実際の乖離を少なくして、ピーク電力の抑制や総消費電力量の抑制なども可能となる。
【０１７２】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１７３】
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１７４】
また、制御システム（より具体的には充放電制御を行う１又は複数のコンピュータ。制御装置とも考えられる。）の機能は、１台のコンピュータではなく複数台のコンピュータで実現するようにしてもよい。
【０１７５】
なお、上で述べた制御システム（より具体的には充放電制御を行う１又は複数のコンピュータ）は、コンピュータ装置であって、図４０に示すように、メモリ５０１とＣＰＵ（Central Processing Unit）５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）５０５と表示装置５０９に接続される表示制御部５０７とリムーバブル・ディスク５１１用のドライブ装置５１３と入力装置５１５とネットワークに接続するための通信制御部５１７とがバス５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ５０５に格納されており、ＣＰＵ５０３により実行される際にはＨＤＤ５０５からメモリ５０１に読み出される。ＣＰＵ５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部５０７、通信制御部５１７、ドライブ装置５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ５０１に格納されるが、ＨＤＤ５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク５１１に格納されて頒布され、ドライブ装置５１３からＨＤＤ５０５にインストールされる。インターネットなどのネットワーク及び通信制御部５１７を経由して、ＨＤＤ５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ５０３、メモリ５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１７６】
以上述べた本技術の実施の形態をまとめると、以下のようになる。
【０１７７】
本実施の形態に係る制御計画生成方法は、（Ａ）複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、（Ｂ）第二制御計画における複数回の第二指令に従って複数機器を制御した場合の状態遷移をシミュレーションし、（Ｃ）シミュレーション結果に基づき、第二制御計画による状態遷移が第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、（Ｄ）所定の目標により近い場合に第二制御計画で第一制御計画を更新する処理を繰り返しコンピュータが実行し、（ｂ１）シミュレーションにおいて、第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める。
【０１７８】
このようにすれば、指令値の置き換えによる効果が長い期間に及びやすくなるので、状態の遷移に変化を与え易くなる。その結果、最適化が促進されることが期待できる。
【０１７９】
また、機器は、蓄電装置を備え、外部から供給される電源又は蓄電装置から、使用する電源を選択し、指令は、機器が使用する電源の種類の選択肢及び蓄電装置に対する充電の要否を含むようにしてもよい。また、所定の目標は、機器の消費電力に関する目標であってもよい。このようにすれば、機器が備えた蓄電装置を活用して、消費電力を抑制する計画を、効率よく生成できるようになる。
【０１８０】
また、消費電力に関する目標は、消費電力のピークの最小化であってもよい。消費電力の推移に基づいて制御計画を生成するので、一時的な過剰な電力使用を未然に抑制することができる。
【０１８１】
また、機器は、蓄電装置を備え、外部から供給される電源又は蓄電装置から、使用する電源を選択し、指令は、機器が使用する電源の種類の選択肢及び蓄電装置に対する充電の要否を含むようにしてもよい。また、所定の目標は、蓄電装置の充電に関する目標であってもよい。このようにすれば、蓄電装置の劣化を抑制し、更に蓄電装置に対する本来の使用要求についても支障が生じないようにすることができる。
【０１８２】
また、機器が現在使用している電源の種類が不明の場合には、（ｂ２）シミュレーションにおいて、当該機器は外部から供給される電源を現在使用していると仮定し、更に機器は蓄電装置を現在充電していると仮定して、当該機器の消費電力を算出するようにしてもよい。このように機器が現在使用している電源の種類が不明のときでも、ＡＣ電源を最大限に利用していると想定すれば、消費電力に関して最悪の状況を前提とした制御計画の生成を行うことができる。
【０１８３】
また、機器が現在使用している電源の種類が不明の場合には、（ｂ３）シミュレーションにおいて、当該機器は蓄電装置を電源として現在使用していると仮定して、当該蓄電装置の充電率を算出するようにしてもよい。このように機器が現在使用している電源の種類が不明のときでも、放電により充電率が低下していることを想定すれば、蓄電に関して最悪の状況を前提とした制御計画生成を行うことができる。
【０１８４】
また、機器が使用する電源を現在選択できない場合には、（ｂ４）シミュレーションにおいて、当該機器は外部から供給される電源を現在使用していると仮定して、当該機器の消費電力を算出するようにしてもよい。このように機器が使用する電源を現在選択できないときでも、すぐに外部電源の使用が再開されることを想定することにより、消費電力に関して最悪の状況を前提とした制御計画生成を行うことができる。
【０１８５】
また、蓄電装置の充電状態が所定の制限を満たさないと想定される場合に、（ｂ５）シミュレーションは、当該蓄電装置を備える機器に対する当該充電状態における第二指令を、外部から供給される電源の選択肢に変更して行われるようにしてもよい。このようにすれば、蓄電装置の過剰使用に至る不適切な指令や実現不可能な指令を回避し、保全や実用性の観点から有効な制御計画を生成することができる。
【０１８６】
なお、本実施の形態に係る制御計画生成方法は、上で述べたシミュレーションの前に、蓄電装置の充電と放電とのうち少なくともいずれかの実際の特性値に基づき、蓄電装置の充電と放電とのうち少なくともいずれかのモデルを補正する処理をさらに含むようにしてもよい。このようにすれば、シミュレーションと実際との誤差を少なくすることで、ピーク電力などについても見積もりから大幅に乖離した結果となることを回避できるようになる。
【０１８７】
また、本実施の形態に係る制御計画生成方法は、所定の目標により近い場合及び所定の目標により近くはないが当該所定の目標に最も近い第二制御計画の近傍にある場合には、所定の目標により近い第二制御計画及び所定の目標に最も近い第二制御計画の近傍の第二制御計画を保持しておき、シミュレーションが終了した後に、保持されている第二制御計画のうち、蓄電装置の性能劣化を表す指標のばらつきが最も小さくなるような第二制御計画を選択する処理をさらに含むようにしても良い。このようにすれば、一部の蓄電装置が飛び抜けて劣化することを防止することができるようになる。
【０１８８】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１８９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１９０】
（付記１）
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションし、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する
処理を繰り返しコンピュータが実行し、
前記シミュレーションにおいて、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
制御計画生成方法。
【０１９１】
（付記２）
前記機器は、蓄電装置を備え、外部から供給される電源又は前記蓄電装置から、使用する電源を選択することができ、
前記指令は、前記機器が使用する電源の種類の選択肢及び前記蓄電装置に対する充電の要否を含み、
前記所定の目標は、前記機器の消費電力に関する目標である
付記１記載の制御計画生成方法。
【０１９２】
（付記３）
前記機器の消費電力に関する目標は、当該消費電力のピークの最小化である
付記２記載の制御計画生成方法。
【０１９３】
（付記４）
前記機器は、蓄電装置を備え、外部から供給される電源又は前記蓄電装置から、使用する電源を選択することができ、
前記指令は、前記機器が使用する電源の種類の選択肢及び前記蓄電装置に対する充電の要否を含み、
前記所定の目標は、前記蓄電装置の充電に関する目標である
付記１記載の制御計画生成方法。
【０１９４】
（付記５）
前記機器が現在使用している電源の種類が不明の場合には、前記シミュレーションにおいて、当該機器は前記外部から供給される電源を現在使用していると仮定し、更に当該機器は前記蓄電装置を現在充電していると仮定して、当該機器の消費電力を算出する
付記２記載の制御計画生成方法。
【０１９５】
（付記６）
前記機器が現在使用している電源の種類が不明の場合には、前記シミュレーションにおいて、当該機器は前記蓄電装置を電源として現在使用していると仮定して、当該蓄電装置の充電率又は充電量を算出する
付記４記載の制御計画生成方法。
【０１９６】
（付記７）
前記機器が使用する電源を現在選択できない場合には、前記シミュレーションにおいて、当該機器は前記外部から供給される電源を現在使用していると仮定して、当該機器の消費電力を算出する
付記２記載の制御計画生成方法。
【０１９７】
（付記８）
前記蓄電装置の充電状態が所定の制限を満たさないと想定される場合に、前記シミュレーションは、当該蓄電装置を備える機器に対する当該充電状態における前記第二指令を、前記外部から供給される電源の選択肢に変更して行われる
付記２記載の制御計画生成方法。
【０１９８】
（付記９）
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成する置換部と、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションするシミュレーション部と、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定する判定部と、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する更新部と、
を有し、
前記シミュレーション部は、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
制御計画生成装置。
【０１９９】
（付記１０）
複数機器に対して間隔をおいて繰り返される複数回の制御指令を定めた第一制御計画に含まれる第一指令の一部を他の指令に置き換えることにより、複数回の第二指令からなる第二制御計画を生成し、
前記第二制御計画における前記複数回の第二指令に従って前記複数機器を制御した場合の状態遷移をシミュレーションし、
シミュレーション結果に基づき、前記第二制御計画による状態遷移が前記第一制御計画による状態遷移よりも、所定の目標により近いかを判定し、
前記所定の目標により近い場合に前記第二制御計画で前記第一制御計画を更新する
処理を、繰り返しコンピュータに実行させ
前記シミュレーションにおいて、前記第二制御計画に第二指令の継続を意味する継続指令が含まれている場合には、当該継続指令より一回前の第二指令による制御と同じ制御を行うことによる状態遷移を求める
処理を、前記コンピュータに実行させるためのプログラム。
【０２００】
（付記１１）
前記シミュレーションの前に、
前記蓄電装置の充電と放電とのうち少なくともいずれかの実際の特性値に基づき、前記蓄電装置の充電と放電とのうち少なくともいずれかのモデルを補正する処理
をさらに含む付記２記載の制御計画生成方法。
【０２０１】
（付記１２）
前記所定の目標により近い場合及び前記所定の目標により近くはないが当該所定の目標に最も近い第二制御計画の近傍にある場合には、前記所定の目標により近い第二制御計画及び前記所定の目標に最も近い第二制御計画の近傍の第二制御計画を保持しておき、
前記シミュレーションが終了した後に、保持されている前記第二制御計画のうち、前記蓄電装置の性能劣化を表す指標のばらつきが最も小さくなるような第二制御計画を選択する
処理をさらに含む付記２記載の制御計画生成方法。
【符号の説明】
【０２０２】
１１  初期化部  １２  設定データ格納部  １３  置換部
１５  第一制御計画記憶部  １７  第二制御計画記憶部
１９  シミュレーション部  ２１  第三制御計画記憶部
２３  結果記憶部  ２５  判定部
２７  更新部  ２９  出力部
３１  取得部  ３３  電力需要予測記憶部
３５  測定部  ３７  実測値記憶部
３９  生成部  ４１  遠隔制御部
４３  設定データ更新部    ４４  中間データ格納部
１０１  選定部    １０２  候補データ格納部
１０３  出力部    １０４  疲労度データ格納部
【図１】
0005842682.tif 000027
【図２】
0005842682.tif 000028
【図３】
0005842682.tif 000029
【図４】
0005842682.tif 000030
【図５】
0005842682.tif 000031
【図６】
0005842682.tif 000032
【図７】
0005842682.tif 000033
【図８Ａ】
0005842682.tif 000034
【図８Ｂ】
0005842682.tif 000035
【図９】
0005842682.tif 000036
【図１０】
0005842682.tif 000037
【図１１】
0005842682.tif 000038
【図１２】
0005842682.tif 000039
【図１３】
0005842682.tif 000040
【図１４】
0005842682.tif 000041
【図１５】
0005842682.tif 000042
【図１６】
0005842682.tif 000043
【図１７】
0005842682.tif 000044
【図１８】
0005842682.tif 000045
【図１９】
0005842682.tif 000046
【図２０】
0005842682.tif 000047
【図２１】
0005842682.tif 000048
【図２２】
0005842682.tif 000049
【図２３】
0005842682.tif 000050
【図２４】
0005842682.tif 000051
【図２５】
0005842682.tif 000052
【図２６】
0005842682.tif 000053
【図２７】
0005842682.tif 000054
【図２８】
0005842682.tif 000055
【図２９】
0005842682.tif 000056
【図３０】
0005842682.tif 000057
【図３１】
0005842682.tif 000058
【図３２】
0005842682.tif 000059
【図３３】
0005842682.tif 000060
【図３４】
0005842682.tif 000061
【図３５】
0005842682.tif 000062
【図３６】
0005842682.tif 000063
【図３７】
0005842682.tif 000064
【図３８】
0005842682.tif 000065
【図３９】
0005842682.tif 000066
【図４０】
0005842682.tif 000067