(57)【要約】【課題】制御計画を短時間で作成すること。【解決手段】制御計画生成装置１００は、各区間の発電機の状態を指定する制御計画の一部を変更して制御計画を生成する局所探索を実行する場合に、発電機の同一の状態が一定区間連続するように、第１制御計画情報１４３を変更して、第２制御計画情報１４４を生成する。制御計画生成装置１００は、第１制御計画情報１４３よりも第２制御計画情報１４４の方がコストが小さい場合に、第１制御計画情報１４３を、第２制御計画情報１４４によって更新する。【選択図】図１
2014204580.tif 000002
【特許請求の範囲】
【請求項１】
各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画において、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成する制御計画生成部と、
前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算するコスト算出部と、
前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を更新するか否かを判定する判定部と、
前記判定部の判定結果を基にして、前記第１制御計画を前記第２制御計画によって更新する更新部と
を有することを特徴とする制御計画生成装置。
【請求項２】
前記制御計画生成部は、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、変換した第２指令から次の第２指令が現れるまでの区間を第２指令に変換して、前記第２制御計画を生成することを特徴とする請求項１に記載の制御計画生成装置。
【請求項３】
前記制御計画生成部は、前記第１制御計画において、第１指令から第２指令に切り替わる区間の第２指令を第１指令に変換し、第２指令から第１指令に切り替わる区間の第１指令を第２指令に変換して前記第２制御計画を生成することを特徴とする請求項１に記載の制御計画生成装置。
【請求項４】
コンピュータを用いて発電機の制御計画を生成する方法であって、
前記コンピュータが有するプロセッサが、前記コンピュータが有するメモリに記録される各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画から、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成し、
前記プロセッサが、前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算し、
前記プロセッサが、前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を前記更新するか否かを判定し、
前記プロセッサが、前記判定部の判定結果を基にして、前記メモリに記憶された前記第１制御計画を前記第２制御計画によって更新する
制御計画生成方法。
【請求項５】
コンピュータに、
各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画において、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成し、
前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算し、
前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を前記更新するか否かを判定し、
前記判定部の判定結果を基にして、前記第１制御計画を前記第２制御計画によって更新する
各処理を実行させることを特徴とする制御計画生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御計画生成装置等に関する。
【背景技術】
【０００２】
近年、情報通信技術を用いて、家庭やビル、工場などのエネルギー使用を管理しながら最適化するエネルギーマネジメントシステム（EMS：Energy  Management  System）が注目されている。
【０００３】
例えば、工場では、必要電力の８０％程度を従来の電力や買電によって調達し、残りの必要電力を工場内の複数の発電機でまかなうことがある。この場合、ＥＭＳでは、各発電機の制御計画を作成し、エネルギーの需給バランスをとる。発電機の制御計画は、各区間で発電機の状態を指令するものである。図１６は、発電機の制御計画の一例を示す図である。
【０００４】
図１６に示す制御計画では、第１区間から第１６８区間までの各発電機の状態を示している。例えば、第１区間において、発電機１の状態は「起動」であり、発電機１が発電する電力は「２００ｋＷ」となる。第１区間において、発電機２の状態は「停止」であり、発電機２が発電する電力は「０ｋＷ」となる。第１区間において、発電機Ｎの状態は「起動」であり、発電機Ｎが発電する電力は「２５０ｋＷ」となる。
【０００５】
また、制御計画では、各区間の各発電機の発電電力を合計した電力が、需要電力を上回るように作成される。例えば、第１区間の需要電力が６５０ｋＷの場合には、第１区間の発電機１〜Ｎまでの電力を合計した電力が６５０ｋＷよりも大きくなるように、制御計画が作成される。
【０００６】
図１６に示した制御計画を作成する技術には、動的計画法や近似的探索法等様々な手法が提案されている。動的計画法は、例えば、制御計画の各区間でとり得る状態の遷移を所定区間ごとに統合し、統合した状態遷移のうち、コストの低い状態の遷移を制御計画とする方法である。また、近似的探索法は、制御計画の一部の状態を変化させて、コストの低い制御計画を探索していく手法である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−１０１７７７号公報
【特許文献２】特開２０１２−４１８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、制御計画を短時間で作成することが出来ないという問題がある。
【０００９】
例えば、動的計画法では、発電機の数が増えると、状態遷移の数が膨大な数になり、現実的な時間内で計算が終了しないという問題がある。これに対して、従来の近似的探索法では、動的計画法に対して非常に短い時間で計算を終了されることが出来る場合があるが、実際の発電機では実行することが難しい制御計画を生成することもあり、結局のところ制御計画を短時間で作成出来ない場合があり得る。また、一旦起動したらすぐには停止できない、など、過去の状態に関わる制約がある場合、最適値を保存しながら状態を一区間ずつ伸ばしていく動的計画法では大局的最適値が得られないこともある。
【００１０】
１つの側面では、制御計画を短時間で作成することができる制御計画生成装置、制御計画生成方法および制御計画生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の案では、制御計画生成装置は、制御計画生成部、コスト算出部、判定部、更新部を有する。制御計画生成部は、各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画において、第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成する。コスト算出部は、第２制御計画に基づいて複数の機器を制御した場合のコストを計算する。判定部は、第１制御計画のコストおよび第２制御計画のコストを基にして、第１制御計画を更新するか否かを判定する。更新部は、判定部の判定結果を基にして、第１制御計画を前記第２制御計画によって更新する。
【発明の効果】
【００１２】
本発明の１実施形態によれば、制御計画を短時間で作成することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例に係る制御計画生成装置の構成を示す機能ブロック図である。
【図２】図２は、需要電力情報の一例を示す図である。
【図３】図３は、制約情報の一例を示す図である。
【図４】図４は、局所探索法の概要を説明するための図である。
【図５】図５は、制御計画生成部の処理を説明するための図（１）である。
【図６】図６は、制御計画生成部の処理を説明するための図（２）である。
【図７】図７は、制御計画生成部のその他の処理を説明するための図である。
【図８】図８は、従来技術の局所探索法による近傍の取り方を説明するための図（１）である。
【図９】図９は、従来技術の局所探索法による近傍の取り方を説明するための図（２）である。
【図１０】図１０は、制御計画生成部の処理を補足説明するための図である。
【図１１】図１１は、第２制御計画情報の一例を示す図である。
【図１２】図１２は、本実施例に係る制御計画生成装置の処理手順を示すフローチャートである。
【図１３】図１３は、従来の局所探索と本実施例の局所探索とのコストと探索回数の関係を示す図である。
【図１４】図１４は、従来の動的計画法による制御計画の計算時間と本実施例の局所探索の計算時間との関係を示す図である。
【図１５】図１５は、制御計画生成プログラムを実行するコンピュータの一例を示す図である。
【図１６】図１６は、発電機の制御計画の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する制御計画生成装置、制御計画生成方法および制御計画生成プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１５】
本実施例に係る制御計画生成装置の構成について説明する。図１は、本実施例に係る制御計画生成装置の構成を示す機能ブロック図である。図１に示すように、この制御計画生成装置１００は、通信部１１０、入力部１２０、表示部１３０、記憶部１４０、制御部１５０を有する。
【００１６】
通信部１１０は、ネットワークを介して、他の外部装置と通信を実行する処理部である。通信部１１０は、例えば、通信装置等に対応する。
【００１７】
入力部１２０は、各種の情報を制御計画生成装置１００に入力する入力装置である。例えば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。表示部１３０は、制御部１５０から出力される情報を表示する表示装置である。例えば、表示部１３０は、液晶ディスプレイや、タッチパネル等に対応する。
【００１８】
記憶部１４０は、需要電力情報１４１、制約情報１４２、第１制御計画情報１４３、第２制御計画情報１４４を有する。記憶部１４０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子などの記憶装置に対応する。
【００１９】
需要電力情報１４１は、時間と、予測される需要電力の電力値とを対応付ける情報である。図２は、需要電力情報の一例を示す図である。図２の横軸は時間を示し、縦軸は、需要電力の電力値を示す。
【００２０】
制約情報１４２は、発電機に対する各種の制約を定義した情報である。図３は、制約情報の一例を示す図である。例えば、図３に示すように、この制約情報１４２は、発電機識別情報、最小出力、最大出力、最大変化率、ＭＵＴ（Minimum  Up  Time）制約、ＭＤＴ（Minimum  Down  Time）制約を対応付ける。
【００２１】
発電機識別情報は、発電機を一意に識別する情報である。最小出力は、発電機が発電する電力の最小値である。最大出力は、発電機が発電する電力の最大値である。最大変化率は、隣り合う区間で許容される出力の変化率を示す。ＭＵＴ制約は、発電機が起動した場合に、最低何区間起動状態を続けるのかを示すものである。ＭＤＴ制約は、発電機が停止した場合に、最低何区間停止状態を続けるのかを示すものである。なお、ＭＵＴ制約の区間と、ＭＤＴ制約の区間とは同一でなくても良い。
【００２２】
例えば、発電機１の最小出力は「１００ｋＷ」、最大出力は「３００ｋＷ」、最大変化率は「○○ｋＷ／分」である。また、発電機１のＭＵＴ制約が「３区間」であるため、発電機１が起動した場合には、発電機１は少なくとも３区間以上は起動状態を続けることになる。また、発電機１のＭＤＴ制約が「３区間」であるため、発電機１が停止した場合には、発電機は少なくとも３区間以上は停止状態を続けることになる。
【００２３】
第１制御計画情報１４３および第２制御計画情報１４４は、各区間の発電機の状態を指令するものである。発電機の状態は、停止または起動のいずれか一方となる。第１制御計画情報１４３および第２制御計画情報１４４は、後述する制御部１５０によって生成される。第１制御計画情報１４３および第２制御計画情報１４４に関する詳細な説明は後述する。
【００２４】
制御部１５０は、局所探索法を用いて、制御計画を生成する処理部である。制御部１５０は、ある制御計画の初期解から開始して、発電機の状態を一部変更する。初期解となる制御計画の発電機の状態は、全区間で制約情報１４２の制約を満たすものとする。制御部１５０は、発電機の状態を一部変更した解のコストが、初期解よりも下がった場合に、コストが下がった方に解に移動し、発電機の状態を一部変更する処理を繰り返し実行する。
【００２５】
図４は、局所探索法の概要を説明するための図である。図４の空間１０は、パラメタ空間である。例えば、制御部１５０は、初期解１１から開始して、順次発電機の状態の一部を変更し、コストが低い解の方へ移動すると、解１２ａ，１３ａ，１４ａに移動する。または、制御部１５０は、初期解１１から開始して、解１２ｂ，１３ｂ，１４ｂに移動する。または、制御部１５０は、初期解１１から開始して、解１２ｂ，１３ｂ，１４ｃに移動する。または、制御部１５０は、初期解１１から開始して、解１２ｃ，１３ｃ，１４ｄに移動する。または、制御部１５０は、初期解１１から開始して、解１２ｃ，１３ｄ，１４ｅに移動する。または、制御部１５０は、初期解１１から開始して、解１２ｃ，１３ｄ，１４ｆに移動する。
【００２６】
例えば、制御部１５０は、移動先の解１４ａ〜１４ｆのうち、最もコストの少ない解に対応する制御計画を、最終的な制御計画として特定する。
【００２７】
ここで、局所探索法における距離について説明する。本実施例で定義する問題では、発電機の数を「Ｎ」、区間数を「Ｊ」とした、「Ｎ×Ｊ」サイズの（０，１）行列を作り、行列の成分が「１」の時に「起動」とし、行列の成分が「０」の時に「停止」と考える。
【００２８】
２つのサイズＮ×Ｊの（０，１）行列ＭとＬとの間で異なる成分の個数がｎカ所の時、ＭとＬとの距離はｎであるといい、ｄ（Ｍ，Ｌ）＝ｎと表す。
【００２９】
（０，１）行列Ｍから距離ｎ以内の行列の集合をＢ（Ｍ，ｎ）で表す。すなわち、Ｂ（Ｍ，ｎ）は、式（１）により定義される。
【００３０】
Ｂ（Ｍ，ｎ）＝｛Ｌ｜ＬはＮ×Ｊの（０，１）行列、ｄ（Ｍ，Ｌ）≦ｎ｝・・・（１）
【００３１】
また、行列の集合Ａに対して、式（２）を定義する。式（２）におけるＢ（Ａ，ｎ）は、Ａの中の少なくとも一つの行列から距離ｎ以下にある行列全体の集合を示す。
【００３２】
Ｂ（Ａ，ｎ）＝∪Ｍ∈Ａ｛Ｌ｜ＬはＮ×Ｊの（０，１）行列、ｄ（Ｍ，Ｌ）≦ｎ｝・・・（２）
【００３３】
次に、制御部１５０について具体的に説明する。制御部１５０は、制御計画生成部１５１、コスト算出部１５２、判定部１５３、更新部１５４を有する。制御部１５０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００３４】
制御計画生成部１５１は、第１制御計画情報１４３の一部の状態を、ＭＵＴ制約およびＭＤＴ制約を満たすように変換することで、第２制御計画情報１４４を生成する処理部である。なお、第１制御計画情報１４３の初期値は、各発電機の状態が、全区間で制約情報１４２の制約を満たすものとする。利用者は、適宜、入力部１２０を操作して、第１制御計画情報１４３の初期値を変更しても良い。
【００３５】
例えば、制御計画生成部１５１は、第１制御計画情報１４３のある区間の状態「停止」を選択し、選択した状態「停止」を「起動」に変換する。そして、制御計画生成部１５１は、ＭＵＴ制約で示される区間以上、起動が連続するように、変換した「起動」以後の状態を連続して「起動」に変換する。
【００３６】
または、制御計画生成部１５１は、第１制御計画情報１４３のある区間の状態「起動」を選択し、選択した状態「起動」を「停止」に変換する。そして、制御計画生成部１５１は、ＭＤＴ制約で示される区間以上、停止が連続するように、変換した「停止」以後の状態を連続して「停止」に変換する。
【００３７】
図５及び図６を用いて、制御計画生成部１５１の処理について説明する。図５及び図６は、制御計画生成部の処理を説明するための図である。図５に示す例では、第１制御計画情報１４３には、発電機ｇ１およびｇ２の各区間の状態を有する。図５において、「０」は停止を示し、「１」は起動を示す。なお、図５、６に示す例では、発電機ｇ１のＭＵＴ制約およびＭＤＴ制約を「３区間以上」とする。制御計画生成部１５１は、制約情報１４２を参照して、発電機ｇ１のＭＵＴ制約およびＭＤＴ制約の情報を得る。
【００３８】
制御計画生成部１５１は、第１制御計画情報１４３の第Ｘ区間の状態を選択し、選択した状態を反転する。例えば、第Ｘ区間は、第１区間から第１６８区間に含まれる。制御計画生成部１５１は、発電機ｇ１の状態を「１」から「０」に反転した場合には、発電機ｇ１のＭＤＴ制約を満たすまで、第Ｘ区間以降を反転する。制御計画生成部１５１は、発電機ｇ１の状態を「０」から「１」に反転した場合には、発電機ｇ１のＭＵＴ制約を満たすまで、第Ｘ区間以降を反転する。
【００３９】
図５に示す例では、制御計画生成部１５１は、第１制御計画情報１４３の第Ｘ区間の状態を選択し、状態を「０」から「１」に反転しているため、発電機ｇ１のＭＵＴ制約を満たすまで、第Ｘ区間以降を反転する。すなわち、制御計画生成部１５１は、第Ｘ区間から第Ｘ＋２区間までの状態を「０」から「１」に反転することで、第２制御計画情報１４４を生成する。
【００４０】
続いて、図６を用いて、制御計画生成部１５１の処理を説明する。制御計画生成部１５１は、第１制御計画情報１４３の第Ｘ区間を選択し、選択した状態を反転した場合に、第Ｘ区間以前の区間で、ＭＤＴ制約およびＭＵＴ制約を満たすか否かを判定する。例えば、発電機ｇ１のＭＤＴ制約またはＭＵＴ制約を満たさない場合には、他の区間を選択し直す。図６に示す例では、第Ｘ区間以前の区間で状態「０」が４区間で連続しており、ＭＤＴ制約を満たすため、第Ｘ区間を選択する。
【００４１】
制御計画生成部１５１は、第Ｘ区間を「０」から「１」に反転し、ＭＵＴ制約を満たすべく、第Ｘ＋２区間までの状態を連続して「１」に反転する。このような処理を行うことで、制御計画生成部１５１は、第１制御計画情報１４３から、第１制御計画情報１４３ａを生成する。
【００４２】
制御計画生成部１５１は、第１制御計画情報１４３ａを生成した後に、反転を終了した区間以降の区間が、ＭＤＴ制約およびＭＵＴ制約を満たすか否かを判定する。図６に示す例では、第Ｘ＋２区間以降の第Ｘ＋３区間が「０」となり、第Ｘ＋４区間が「１」となっているため、発電機ｇ１のＭＤＴ制約を満たさない。この場合には、制御計画生成部１５１は、第Ｘ＋３区間を「０」から「１」に反転すると、発電機ｇ１の各区間の状態が、ＭＤＴ制約またはＭＵＴ制約を満たすことになる。このような処理を行うことで、制御計画生成部１５１は、第１制御計画情報１４３から、第２制御計画情報１４４を生成する。
【００４３】
次に、制御計画生成部１５１のその他の処理について説明する。図７は、制御計画生成部のその他の処理を説明するための図である。制御計画生成部１５１は、状態が切り替わる境界２カ所の状態を交換することで、第１制御計画情報１４３から、第２制御計画情報１４４を生成しても良い。
【００４４】
例えば、図７において、第１制御計画情報１４３の発電機ｇ１の状態が切り替わる区間を第Ｘ区間とし、発電機ｇ２の状態が切り替わる区間を、第Ｙ区間とする。制御計画生成部１５１は、第１制御計画情報１４３の、第Ｘ区間の状態と、第Ｙ区間の状態とが同一の場合には、境界となる他の区間を選択しなおす。制御計画生成部１５１は、第Ｘ区間の状態と、第Ｙ区間の状態とが異なる場合に、第Ｘ区間の状態と、第Ｙ区間の状態とを交換する。
【００４５】
図７に示す例では、第１制御計画情報１４３の第Ｘ区間の状態と、第Ｙ区間の状態とが異なるので、第Ｘ区間の状態「１」と、第Ｙ区間の状態「０」とを交換することで、第２制御計画情報１４４を生成する。すなわち、発電機ｇ１の第Ｘ区間の状態「１」が「０」となり、発電機ｇ２の第Ｙ区間の状態「０」が「１」となる。
【００４６】
更に、制御計画生成部１５１は、第２制御計画情報１４４を生成した後に、第２制御計画情報１４４が、ＭＤＴ制約およびＭＵＴ制約を満たすか否かを判定する。制御計画生成部１５１は、ＭＤＴ制約またはＭＵＴ制約を満たさない場合には、第２制御計画情報１４４の状態を調整する。例えば、図７の第２制御計画情報１４４において、第Ｙ区間以降で、状態「０」が５つ連続している。ここで、発電機ｇ２のＭＤＴ制約が「６区間以上」である場合には、ＭＤＴ制約を満たさないことになる。この場合には、制御計画生成部１５１は、第２制御計画情報１４４の第Ｙ区間から第Ｙ＋４区間までの状態を「１」に更新する。
【００４７】
次に、補足説明として、従来技術の局所探索法による近傍の取り方について説明する。図８および図９は、従来技術の局所探索法による近傍の取り方を説明するための図である。図８に示すように、例えば、従来技術では、制御計画情報１０ａの発電機ｇ１の第Ｘ区間の状態を反転することで、新たな制御計画情報１０ｂを生成する。このように、状態を反転するのみでは、ＭＤＴ制約またはＭＵＴ制約を満たさなくなる可能性が高くなる。例えば、制御計画情報１０ｂの第Ｘ区間の状態が「１」であり、第Ｘ＋１区間の状態が「０」となっており、この制御計画情報１０ｂは、ＭＵＴ制約を満たさない。
【００４８】
図９に示すものは、２−ｓｗａｐを用いた従来技術である。この従来技術は、制御計画情報２０ａの発電機ｇ１のある区間の状態と、発電機ｇ２のある区間の状態とを交換することで、新たな制御計画情報２０ｂを生成する。例えば、図９に示す例では、制御計画情報２０ａの第Ｘ区間の状態と、第Ｙ区間の状態を交換することで、新たな制御計画情報２０ｂを生成する。このように、各状態を交換するのみでは、ＭＤＴ制約またはＭＵＴ制約を満たさなくなる可能性が高くなる。例えば、制御計画情報２０ｂの第Ｘ区間の状態が「０」であり、第Ｘ＋１区間の状態が「１」となっており、この制御計画情報１０ｂは、ＭＤＴ制約を満たさない。更に、制御計画情報２０ｂの第Ｙ区間の状態が「１」であり、第Ｙ＋１区間の状態が「０」となっており、この制御計画情報１０ｂは、ＭＤＴ制約を満たさない。
【００４９】
本実施例に係る制御計画生成部１５１の説明に戻る。制御計画生成部１５１は、第２制御計画情報１４４を生成した後に、各区間において、条件１を満たすか否かを判定し、条件１を満たさない場合には、上記処理を再度実行し、第２制御計画情報１４４を再度生成する。
【００５０】
各発電機の最小出力和≦電力需要≦各発電機の最大出力和・・・（条件１）
【００５１】
制御計画生成部１５１は、条件１を満たす場合に、第２制御計画情報１４４と、需要電力情報１４１とを比較して、各区間の発電機の発電量が、各区間の需要電力よりも大きくなるように、各区間の発電機の発電量を特定する。
【００５２】
ここでは簡単のため、第Ｚ区間で起動する発電機を、発電機１，２，３とし、第Ｚ区間に対応する需要電力を「６００ｋＷ」とする。この場合には、制御計画生成部１５１は、各発電機１，２，３の出力をそれぞれ「２００ｋＷ」に設定する。また、制御計画生成部１５１は、制約情報１４２を参照し、各発電機の出力が、最小出力から最大出力に収まるように、各発電機の出力を調整する。制御計画生成部１５１は、他の区間の発電機の出力も同様に特定する。
【００５３】
なお、制御計画生成部１５１は、周知技術を利用して、各発電機の出力を特定しても良い。例えば、制御計画生成部１５１は、各発電機の出力から燃料費を算出する式が与えられているという前提で、ラグランジュ法に基づく等増分燃料則により、起動する各発電機の出力を特定しても良い。
【００５４】
制御計画生成部１５１は、第２制御計画における各発電機の出力を特定した後に、発電機の状態が変わった区間の前後で、出力関係に矛盾が生じないか否かを判定する。図１０は、制御計画生成部の処理を補足説明するための図である。図１０では一例として、発電機１、発電機２を用いて説明する。図１０の線分５ａは、発電機１の出力と発電機２の出力との和を区間毎に示す線分である。線分５ｂは、発電機１の最小出力と発電機２の最小出力との和を区間毎に示す線分である。線分５ｃは、発電機１の最大出力と発電機２の最大出力との和を区間毎に示す線分である。範囲６ａは、発電機１の出力の最大変化率を示すものである。範囲６ｂは、発電機２の出力の最大変化率を示すものである。なお、Ｐは基準点である。
【００５５】
例えば、制御計画生成部１５１は、線分５ａが、線分５ｂおよび５ｃの間に存在すれば、出力関係に矛盾が生じないと判定する。制御計画生成部１５１は、出力関係に矛盾が生じないと判定した場合に、第２制御計画情報１４４をコスト算出部１５２に出力する。
【００５６】
これに対して、制御計画生成部１５１は、線分５ａが、線分５ｂおよび５ｃの間に存在しない場合には、出力関係に矛盾が生じていると判定する。制御計画生成部１５１は、出力関係に矛盾が生じていると判定した場合に、上記処理を再度実行し、第２制御計画情報１４４を再度生成する。
【００５７】
図１１は、第２制御計画情報の一例を示す図である。図１１に示すように、この第２制御計画情報１４４は、第１区間から第１６８区間までの各発電機の状態を示している。また、各発電機の状態には、発電機の出力が対応付けられている。
【００５８】
なお、第１制御計画情報１４３は、図１１に示した第２計画情報１４４の発電機の状態および出力が一部異なるものに対応する。後述するように、第１制御計画情報１４３のコストと第２制御計画情報１４４のコストとの比較が行われ、第２制御計画情報１４４のコストが、第１制御計画情報１４３のコストよりも小さい場合に、第１制御計画情報１４３は、第２制御計画情報１４４によって更新される。なお、第１制御計画情報１４３の初期値は、予め定められた状態、出力となる。
【００５９】
図１の説明に戻る。コスト算出部１５２は、第１制御計画情報１４３のコストと、第２制御計画情報１４４のコストを算出する処理部である。コスト算出部１５２は、算出した第１制御計画情報１４３のコストと、第２制御計画情報１４４のコストとの情報を、判定部１５３に出力する。
【００６０】
例えば、コスト算出部１５２は、発電費用に関するコストと、ＣＯ２排出量に関するコストとを算出する。発電費用は、発電機の燃料費と、発電機の起動費とを含めた費用である。
【００６１】
コスト算出部１５２は、発電機の起動回数と、発電機の出力の値を入力とする、開発費用のコストを算出する関数を基にして、発電費用に関するコストを求める。また、コスト算出部１５２は、発電機の出力の値を入力する、ＣＯ２排出量のコストを算出する関数を基にして、ＣＯ２排出量のコストを算出する。
【００６２】
コスト算出部１５２は、第１制御計画情報１４３から求めた発電費用に関するコストと、ＣＯ２排出量に関するコストとを合計したコストを、第１制御計画情報１４３のコストとする。コスト算出部１５２は、第２制御計画情報１４４から求めた発電費用に関するコストと、ＣＯ２排出量に関するコストとを合計したコストを、第２制御計画情報１４４のコストとする。
【００６３】
判定部１５３は、第１制御計画情報１４３のコストと、第２制御計画情報１４４のコストとを基にして、第１制御計画情報１４３を更新するか否かを判定する処理部である。具体的に、判定部１５３は、第１制御計画情報１４３のコストよりも、第２制御計画情報１４４のコストの方が小さい場合に、第１制御計画情報１４３を更新すると判定する。判定部１５３は、判定結果を更新部１５４に出力する。
【００６４】
更新部１５４は、判定部１５３の判定結果を基にして、第１制御計画情報１４３を、第２制御計画情報１４４によって更新する処理部である。具体的に、更新部１５４は、第１制御計画情報１４３を更新すると判定された場合に、第１制御計画情報１４３を、第２制御計画情報１４４によって更新する。
【００６５】
制御部１５０の各処理部１５１〜１５４は、所定の終了条件を満たすまで、第２制御計画情報１４４を生成する処理および第１制御計画情報１４３を第２制御計画情報１４４で更新する処理を繰り返し実行する。終了条件は、例えば、制御部が処理を開始してから所定時間経過した場合に、処理を終了する条件でも良い。または、終了条件は、コストが所定値未満となる第２制御計画情報１４４を生成した時点で、該第２制御計画情報１４４によって、第１制御計画情報１４３を更新し、処理を終了する条件でも良い。
【００６６】
制御部１５０は、所定の終了条件を満たした場合には、第１制御計画情報１４３を表示部１３０に出力する。または、制御部１５０は、第１制御計画情報１４３を、通信部１１０を介して外部装置に出力しても良い。
【００６７】
次に、本実施例に係る制御計画生成装置１００の処理手順について説明する。図１２は、本実施例に係る制御計画生成装置の処理手順を示すフローチャートである。図１２に示すように、制御計画生成装置１００は、第１制御計画情報１４３を初期値に設定し（ステップＳ１０１）、第１制御計画情報１４３を、同一の状態が一定区間連続するように変更し、第２制御計画情報１４４を生成する（ステップＳ１０２）。
【００６８】
制御計画生成装置１００は、第２制御計画情報１４４が制約条件を満たすか否かを判定する（ステップＳ１０３）。制御計画生成装置１００は、ステップＳ１０３において、条件１を満たすか否か、および、出力関係に矛盾が生じないか否かを判定する。
【００６９】
制御計画生成装置１００は、第２制御計画情報１４４が制約条件を満たさない場合には（ステップＳ１０３，Ｎｏ）、ステップＳ１０２に移行する。一方、制御計画生成装置１００は、第２制御計画情報１４４が制約条件を満たす場合に（ステップＳ１０３，Ｙｅｓ）、第１制御計画情報１４３のコストよりも第２制御計画情報１４４のコストの方が小さいか否かを判定する（ステップＳ１０４）。
【００７０】
制御計画生成装置１００は、第１制御計画情報１４３のコストよりも第２制御計画情報１４４のコストの方が小さくない場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１０２に移行する。一方、制御計画生成装置１００は、第１制御計画情報１４３のコストよりも第２制御計画情報１４４のコストの方が小さい場合には（ステップＳ１０４，Ｙｅｓ）、第２制御計画情報１４４によって、第２制御計画情報１４３を更新する（ステップＳ１０５）。
【００７１】
制御計画生成装置１００は、終了条件を満たすか否かを判定する（ステップＳ１０６）。例えば、終了条件は、制御計画生成装置１００が、ステップＳ１０１の処理を開始してから所定時間経過した場合に、終了条件を満たすものとする。
【００７２】
制御計画生成装置１００は、終了条件を満たさない場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１０２に移行する。制御計画生成装置１００は、終了条件を満たす場合には（ステップＳ１０６，Ｙｅｓ）、処理を終了する。
【００７３】
次に、本実施例に係る制御計画生成装置１００の効果について説明する。本実施例に係る制御計画生成装置１００は、各区間の発電機の状態を指定する制御計画の一部を変更して制御計画を生成する局所探索を実行する場合に、発電機の同一の状態が一定区間連続するように、第１制御計画情報１４３を変更する。このため、本実施例に係る制御計画生成装置１００によれば、制御計画を短時間で作成することができる。
【００７４】
また、制御計画生成装置１００によれば、第１制御計画情報１４３のいずれかの指令を他の指令に変換し、変換した他の指令から次の他の指令が現れるまでの区間を他の指令に変換して、第２制御計画情報１４４を生成する。このため、発電機のＭＤＴ制約またはＭＵＴ制約を満たした制御計画を生成でき、制御計画を短時間で作成することができる。
【００７５】
また、制御計画生成装置１００によれば、第１制御計画情報１４３において、ある指令から他の指令に切り替わる区間の指令を他の指令に変換し、他の指令が切り替わる区間の指令を他の指令に変換して第２制御計画情報１４４を生成する。このため、発電機のＭＤＴ制約またはＭＵＴ制約を満たした制御計画を生成でき、制御計画を短時間で作成することができる。
【００７６】
ここで、従来の局所探索と本実施例の局所探索とのコストと探索回数の関係について説明する。図１３は、従来の局所探索と本実施例の局所探索とのコストと探索回数の関係を示す図である。図１３に示す線分１５ａは、従来の局所探索のコストと探索回数との関係を示す線分である。線分１５ｂは、本実施例の局所探索のコストと探索回数との関係を示す線分である。図１３に示すとおり、本実施例の局所探索の方が、わずかな探索回数でコストを小さくできることが分かる。
【００７７】
次に、従来の動的計画による制御計画の計算時間と本実施例の局所探索の計算時間との関係について説明する。図１４は、従来の動的計画法による制御計画の計算時間と本実施例の局所探索の計算時間との関係を示す図である。図１４に示すように、発電機の台数が少ない場合には、計算時間は、従来の動的計画の方が速い。しかし、発電機の台数が多くなると、本実施例の局所探索の方が、計算時間が速くなる。例えば、発電機の台数が７台以上になると、本実施例の局所探索の方が、従来の動的計画よりも計算時間が速くなる。
【００７８】
次に、本実施例に係る制御計画生成装置１００のその他の実施例について説明する。本実施例に係る判定部１５３は、コスト比較の時に、単目的化した値を比べていたが、多目的によって、コスト比較を行っても良い。すなわち、判定部１５３は、発電費用に関するコストと、ＣＯ２排出量に関するコストとを別次元のコストとして捉え、第１制御計画情報１４３のコストと、第２制御計画情報１４４のコストとを比較する。以下では簡略化のため、発電費用に関するコストを第１コスト、ＣＯ２排出量に関するコストを第２コストと表記する。
【００７９】
例えば、判定部１５３は、第２制御計画情報１４４の第１コストが第１制御計画情報１４３の第１コストよりも小さく、かつ、第２制御計画情報１４４の第２コストが第１制御計画情報１４３の第２コストよりも小さい場合に、更新すると判定する。一方、判定部１５３は、第２制御計画情報１４４の第１コストが第１制御計画情報１４３の第１コスト以上、かつ、第２制御計画情報１４４の第２コストが第１制御計画情報１４３の第２コスト以上の場合に、更新しないと判定する。
【００８０】
更に、判定部１５３は、条件２、３の関係になる場合には、第１制御計画情報１４３と、第２制御計画情報１４４との間で優劣をつけられない。この場合には、判定部１５３は、第２制御計画情報１４４を仮の第１制御計画情報１４３ａとして設定し、係る仮の第１制御計画情報１４３ａを、第１制御計画情報１４３と同様にして、第２制御計画情報１４４を生成しても良い。
【００８１】
第１制御計画情報１４３の第１コスト＜第２制御計画情報１４４の第１コスト、かつ、第１制御計画情報１４３の第２コスト≧第２制御計画情報１４４の第２コスト・・・（条件２）
【００８２】
第１制御計画情報１４３の第１コスト＞第２制御計画情報１４４の第１コスト、かつ、第１制御計画情報１４３の第２コスト≦第２制御計画情報１４４の第２コスト・・・（条件３）
【００８３】
次に、上記の実施例に示した制御計画生成装置と同様の機能を実現する制御計画生成プログラムを実行するコンピュータの一例を説明する。図１５は、制御計画生成プログラムを実行するコンピュータの一例を示す図である。
【００８４】
図１５に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３を有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取る読み取り装置２０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７を有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００８５】
ハードディスク装置２０７は、制御計画生成プログラム２０７ａ、コスト算出プログラム２０７ｂ、判定プログラム２０７ｃ、更新プログラム２０７ｄを有する。ＣＰＵ２０１は、各プログラム２０７ａ〜２０７ｄを読み出してＲＡＭ２０６に格納する。
【００８６】
制御計画生成プログラム２０７ａは、制御計画生成プロセス２０６ａとして機能する。コスト算出プログラム２０７ｂは、コスト算出プロセス２０６ｂとして機能する。判定プログラム２０７ｃは、判定プロセス２０６ｃとして機能する。更新プログラム２０７ｄは、更新プロセス２０６ｄとして機能する。
【００８７】
例えば、制御計画生成プロセス２０６ａは、制御計画生成部１５１に対応する。コスト算出プロセス２０６ｂは、コスト算出部１５２に対応する。判定プロセス２０６ｃは、判定部１５３に対応する。更新プロセス２０６ｄは、更新部１５４に対応する。
【００８８】
なお、各プログラム２０７ａ〜２０７ｄについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくてもよい。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラム２０７ａ〜２０７ｄを読み出して実行するようにしてもよい。
【００８９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９０】
（付記１）各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画において、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成する制御計画生成部と、
前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算するコスト算出部と、
前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を更新するか否かを判定する判定部と、
前記判定部の判定結果を基にして、前記第１制御計画を前記第２制御計画によって更新する更新部と
を有することを特徴とする制御計画生成装置。
【００９１】
（付記２）前記制御計画生成部は、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、変換した第２指令から次の第２指令が現れるまでの区間を第２指令に変換して、前記第２制御計画を生成することを特徴とする付記１に記載の制御計画生成装置。
【００９２】
（付記３）前記制御計画生成部は、前記第１制御計画において、第１指令から第２指令に切り替わる区間の第２指令を第１指令に変換し、第２指令から第１指令に切り替わる区間の第１指令を第２指令に変換して前記第２制御計画を生成することを特徴とする付記１に記載の制御計画生成装置。
【００９３】
（付記４）コンピュータを用いて発電機の制御計画を生成する方法であって、
前記コンピュータが有するプロセッサが、前記コンピュータが有するメモリに記録される各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画から、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成し、
前記プロセッサが、前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算し、
前記プロセッサが、前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を前記更新するか否かを判定し、
前記プロセッサが、前記判定部の判定結果を基にして、前記メモリに記憶された前記第１制御計画を前記第２制御計画によって更新する
制御計画生成方法。
【００９４】
（付記５）前記制御計画を生成する処理は、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、変換した第２指令から次の第２指令が現れるまでの区間を第２指令に変換して、前記第２制御計画を生成することを特徴とする付記４に記載の制御計画生成方法。
【００９５】
（付記６）前記制御計画を生成する処理は、前記第１制御計画において、第１指令から第２指令に切り替わる区間の第２指令を第１指令に変換し、第２指令から第１指令に切り替わる区間の第１指令を第２指令に変換して前記第２制御計画を生成する付記４に記載の制御計画生成方法。
【００９６】
（付記７）コンピュータに、
各区間の機器の状態を第１状態に制御する第１指令または第２状態に制御する第２指令を前記区間毎の複数の機器毎に定めた第１制御計画において、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、かつ、変換した第２状態以降の状態を連続して第２指令に設定した第２制御計画を生成し、
前記第２制御計画に基づいて前記複数の機器を制御した場合のコストを計算し、
前記第１制御計画のコストおよび前記第２制御計画のコストを基にして、前記第１制御計画を前記更新するか否かを判定し、
前記判定部の判定結果を基にして、前記第１制御計画を前記第２制御計画によって更新する
各処理を実行させることを特徴とする制御計画生成プログラム。
【００９７】
（付記８）前記制御計画を生成する処理は、前記第１制御計画内のいずれかの第１指令を第２指令に変換し、変換した第２指令から次の第２指令が現れるまでの区間を第２指令に変換して、前記第２制御計画を生成することを特徴とする付記７に記載の制御計画生成プログラム。
【００９８】
（付記９）前記制御計画を生成する処理は、前記第１制御計画において、第１指令から第２指令に切り替わる区間の第２指令を第１指令に変換し、第２指令から第１指令に切り替わる区間の第１指令を第２指令に変換して前記第２制御計画を生成する付記７に記載の制御計画生成プログラム。
【符号の説明】
【００９９】
１００    制御計画生成装置
１５１    制御計画生成部
１５２    コスト算出部
１５３    判定部
１５４    更新部
【図１】
2014204580.tif 000003
【図２】
2014204580.tif 000004
【図３】
2014204580.tif 000005
【図４】
2014204580.tif 000006
【図５】
2014204580.tif 000007
【図６】
2014204580.tif 000008
【図７】
2014204580.tif 000009
【図８】
2014204580.tif 000010
【図９】
2014204580.tif 000011
【図１０】
2014204580.tif 000012
【図１１】
2014204580.tif 000013
【図１２】
2014204580.tif 000014
【図１３】
2014204580.tif 000015
【図１４】
2014204580.tif 000016
【図１５】
2014204580.tif 000017
【図１６】
2014204580.tif 000018