制御装置、および制御方法
【課題】少ない探索回数で大域的な準最適解を探索可能とする情報処理装置を提供する。
【解決手段】CPUは、PSOによる目的関数の解候補の探索をn回行ない、TSによる目的関数の解候補の探索をn回行なう。TSによる探索においては、PSOによるj回目の探索で得られた解候補およびTSによるj回目の探索で得られた解候補のうちから目的関数の値が最小となる解候補を1つ選択し、当該選択した解候補をj回目の解としてTSによるj+1回目の探索を実行する。CPUは、初期解と、PSOによる少なくともn回の探索で得られた解候補およびTSによるn回の探索で得られた解候補のうち、目的関数の値が最大または最小のうち予め定められた一方となる解候補を、目的関数における準最適解とする。CPUは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【解決手段】CPUは、PSOによる目的関数の解候補の探索をn回行ない、TSによる目的関数の解候補の探索をn回行なう。TSによる探索においては、PSOによるj回目の探索で得られた解候補およびTSによるj回目の探索で得られた解候補のうちから目的関数の値が最小となる解候補を1つ選択し、当該選択した解候補をj回目の解としてTSによるj+1回目の探索を実行する。CPUは、初期解と、PSOによる少なくともn回の探索で得られた解候補およびTSによるn回の探索で得られた解候補のうち、目的関数の値が最大または最小のうち予め定められた一方となる解候補を、目的関数における準最適解とする。CPUは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、および制御方法に関し、特に、制御対象に対して最適化制御を行なう制御装置、および当該制御装置における制御方法に関する。
【背景技術】
【0002】
従来、最適化問題の解法として、メタヒューリスティックを適用することが行なわれている。メタヒューリスティックを適用することにより、膨大な解候補の中から効率よく準最適解を探索可能となる。メタヒューリスティックとしては、たとえば、PSO(Particle Swarm Optimization(粒子群最適化))と、TS(Tabu Search(タブー探索))とが知られている。
【0003】
たとえば電圧無効電力の自動制御(Voltage Q (reactive power) Control(以下、VQCと称する))においても、メタヒューリスティック法の適用が検討されている。特に、近年採用されている中央VQC方式では、各制御装置に対して、中央給電指令所で計算された最適潮流計算の結果に基づく指令を行ない、系統全体の電圧を総合的に制御する。最適潮流計算では、膨大な組合せ最適化問題を解く必要がある。
【0004】
このため、特許文献1では、PSOを用いることが提案されている。特許文献1では、母線電圧の上下限、線路潮流の上限および電圧の安定性を制約条件とし、対象系統の電力損失最小化を目的関数としてPSOによって、最適制御量を探索することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−116003号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、PSOでは、大域的な準最適解にたどり着くには、多くの動作回数(探索回数)が必要となる。TSでは、近傍しか探索しないため広範囲の探索には時間を要する。つまり、TSでは、広範囲の探索には、多くの繰り返し回数(探索回数)が必要となる。また、TSでは、繰り返し回数が少ないと準最適解として局所的な準最適解を選択してしまう。
【0007】
本発明は上記の問題点に鑑みなされたものであって、その目的は、少ない探索回数で大域的な準最適解を探索可能な制御装置、および制御方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある局面に従うと、制御装置は、制御対象に指令を送信して当該制御対象を制御する制御装置である。制御装置は、粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、制御対象の目的関数とを予め格納したメモリと、第1のプログラムと第2のプログラムとを実行するプロセッサと、制御対象と通信する通信インターフェイスとを備える。プロセッサは、粒子群最適化法による目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なう。プロセッサは、タブー探索法による目的関数の解候補の探索をn回行なう。プロセッサは、タブー探索法による探索においては、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行する。プロセッサは、粒子群最適化法による少なくともn−1回の探索で得られた解候補およびタブー探索法によるn回の探索で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。プロセッサは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【0009】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解と、粒子群最適化法による少なくともn−1回の探索で得られた解候補と、タブー探索法によるn回の探索で得られた解候補とのうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。
【0010】
本発明の他の局面に従うと、制御装置は、制御対象に指令を送信して当該制御対象を制御する制御装置である。制御装置は、粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、制御対象の目的関数とを予め格納したメモリと、第1のプログラムと第2のプログラムとを実行するプロセッサと、制御対象と通信する通信インターフェイスとを備える。プロセッサは、粒子群最適化法による目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による目的関数の解候補の探索を、n回(nは2以上の自然数)行なう。プロセッサは、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択する。プロセッサは、当該選択した解候補により得られる目的関数の値が、予め定められた条件を満たすか否かを判断する。プロセッサは、予め定められた条件を満たす場合、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なう。プロセッサは、予め定められた条件を満たさない場合、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、粒子群最適化法によるj回目の探索で得られた解候補を用いて粒子群最適化法によるj+1回目の探索を行ない、解候補の選択および上記予め定められた条件を満たすか否かの判断を繰り返す。プロセッサは、粒子群最適化法による探索で得られた解候補およびタブー探索法で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。プロセッサは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【0011】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解とをランダムに生成する。プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解と、粒子群最適化法による2回目以降の探索で得られた解候補と、タブー探索法によるn回の探索で得られた解候補とのうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。
【0012】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解として、共通の初期解を生成する。
【0013】
好ましくは、制御対象は、電力系統である。目的関数は、電圧無効電力制御の最適潮流計算に用いる目的関数である。上記予め定められた一方は、最小である。
【0014】
本発明のさらに他の局面に従うと、制御方法は、制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法である。制御方法は、制御装置のプロセッサが、粒子群最適化法による制御対象の目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なうステップと、プロセッサが、タブー探索法による目的関数の解候補の探索をn回行なうステップとを備える。タブー探索法による探索のステップは、粒子群最適化法によるj回目の探索で得られた解候補およびタブー探索法によるj回目(jはn−1以下の自然数)の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行するステップを含む。制御方法は、プロセッサが、粒子群最適化法による少なくともn−1回の探索で得られた解候補およびタブー探索法によるn回の探索で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とするステップと、プロセッサが、準最適解に基づく指令を、制御装置の通信インターフェイスを用いて制御対象に送信するステップとをさらに備える。
【0015】
本発明のさらに他の局面に従うと、制御方法は、制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法である。制御装置のプロセッサは、粒子群最適化法による制御対象の目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による目的関数の解候補の探索を、n回(nは2以上の自然数)行なう。制御方法は、プロセッサが、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択するステップと、プロセッサが、当該選択した解候補により得られる目的関数の値が、予め定められた条件を満たすか否かを判断するステップとを備える。さらに、制御方法は、予め定められた条件を満たす場合、プロセッサが、選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なうステップを備える。さらに、制御方法は、予め定められた条件を満たさない場合、プロセッサが、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返すステップを備える。さらに、制御方法は、プロセッサが、粒子群最適化法による探索で得られた解候補およびタブー探索法で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とするステップと、プロセッサが、準最適解に基づく指令を、制御装置の通信インターフェイスを用いて制御対象に送信するステップとを備える。
【発明の効果】
【0016】
本発明によれば、少ない探索回数で大域的な準最適解を探索可能となるといった効果を奏する。
【図面の簡単な説明】
【0017】
【図1】PSOの概要を説明するための図である。
【図2】式(1)に含まれる各項を説明するための図である。
【図3】TSの概要を説明するための図である。
【図4】図3に基づき説明した6回の探索においてCPUが生成するタブーリストを示した図である。
【図5】PSOにおける探索のイメージを示した図である。
【図6】TSにおける探索のイメージを示した図である。
【図7】新たな最適化手法(PaLSCO)における探索イメージを示した図である。
【図8】PaLSCOを実行するための制御装置のハードウェア構成を示した図である。
【図9】制御装置によるPaLSCOの処理の流れを示したフローチャートである。
【図10】電力系統システムの概略構成を示した図である。
【図11】制御装置によるPaLSCOの他の処理の流れを示したフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照しつつ、本発明の実施の形態に係る制御装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0019】
<PSOの概要>
PSOは、鳥や魚の群れが餌を探すときの行動にヒントを得た多点型解探索アルゴリズムである。当該アルゴリズムは、非常に簡単な構成であり、基本的な算術演算しか用いない。このため、PSOは、非線形最適化問題を高速に解くことが可能である。PSOについて、具体的に説明すると以下の通りである。
【0020】
図1は、PSOの概要を説明するための図である。図1を参照して、PSOは、群れ11を構成するエージェント12が、制約条件外の領域14を除く解空間を移動しながら、真の値16に近い準最適解15を探索するアルゴリズムである。言い換えれば、PSOは、微小な粒子が群れ状になって解空間で最適解を探索する手法である。
【0021】
より具体的には、数式(1)および数式(2)に示すように、PSOは、群れを構成する個体の独自情報と群れ全体の共有情報とを組合せ、一定の規則に従って多点探索をする手法である。
【0022】
【数1】
【0023】
【数2】
【0024】
なお、“X”は各エージェントの位置であり、“V”は各エージェントの速度であり、“pbest”は各エージェントの最良値であり、“gbest”は群れ全体の最良値でり、“i”はエージェントの番号であり、“k”は繰り返し回数であり、“w”と“c1”と“c2”とは重み係数であり、“rand”は0〜1の一様乱数である。
【0025】
図2は、式(1)に含まれる各項を説明するための図である。図2を参照して、数式(1)の右辺の第1項は、Vikに基づく慣性項(ベクトル)である。第2項は、pbestに向かうベクトルである。第3項は、gbestに向かうベクトル(つまり、共有情報に関する項)である。Vik+1は、第1項に示したベクトルと、第2項に示したベクトルと、第3項に示したベクトルの和として求められる。
【0026】
<TSの概要>
TSは、既に通過した解を避けて、現在の解の近傍にて最適条件を探索する手法である。TSは、探索するパラメータが比較的少ないため、確率に依存する処理が少ない。
【0027】
図3は、TSの概要を説明するための図である。図3を参照して、解候補配置マップ31には、30個の解候補がマトリクス状に配置されている。丸印の右下の数字1〜30が解候補である。丸印内の数字は、各解候補による値である。なお、以下では、説明の便宜上、解候補を、記号[ ]を用いて示す。なお、「解候補」とは、準最適解の候補を意味する。
【0028】
以下では、y=F(x)といった目的関数を示す式においてyの値を最小するxを求める場合を例に挙げて説明する。つまり、制約条件の中で目的関数F(x)を最小化する解を探す場合を例に挙げて説明する。この場合、解候補がxの値に該当し、丸印内の数字が当該xの値を上記の式に代入したときのyの値である。たとえば、解候補[25]を上記の式に代入したときのyの値が“6”であることを示している。
【0029】
また、以下では、ランダムに生成した初期解x0が解候補[21]であったとする。さらに、TSの探索回数を6回とした場合を例に挙げて説明する。なお、前回算出した準最適解を記憶しておき、当該準最適解を初期解x0としてもよい。
【0030】
1回目の探索では、TSを実行する制御装置のCPU(図8参照)が、解候補[21]の周囲の8個の解候補[14],[15],[16],[20],[22],[26],[27],[28]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“4”である解候補[14]が選択される。
【0031】
2回目の探索では、CPUは、解候補[14]の周囲の7個の解候補[7],[8],[9],[13],[15],[19],[20]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“3”である解候補[8]が選択される。なお、当該探索においては、既に通過した解候補である解候補[21]は探索の対象外となる。
【0032】
3回目の探索では、CPUは、解候補[8]の周囲の7個の解候補[1],[2],[3],[7],[9],[13],[15]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“4”である解候補[9]が選択される。なお、当該探索においては、既に通過した解候補である解候補[14]は探索の対象外となる。
【0033】
4回目の探索では、CPUは、解候補[9]の周囲の6個の解候補[2],[3],[4],[10],[15],[16]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“5”である解候補[10]が選択される。なお、当該探索においては、既に通過した解候補である2つの解候補[8],[14]は探索の対象外となる。
【0034】
5回目の探索では、CPUは、解候補[10]の周囲の7個の解候補[3],[4],[5],[11],[15],[16],[17]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“2”である解候補[17]が選択される。なお、当該探索においては、既に通過した解候補である解候補[9]は探索の対象外となる。
【0035】
6回目の探索では、CPUは、解候補[17]の周囲の7個の解候補[11],[12],[16],[18],[22],[23],[24]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“3”である解候補[12]が選択される。なお、当該探索においては、既に通過した解候補である解候補[10]は探索の対象外となる。
【0036】
CPUは、初期解x0(解候補[21])と、6回の探索により選ばれた6個の解候補[14],[8],[9],[10],[17],[12]とのうち、yの値が最も小さい解候補[17]を準最適解と決定する。
【0037】
図4は、図3に基づき説明した6回の探索においてCPUが生成するタブーリスト41を示した図である。図4を参照して、タブーリストの各行の括弧内には、現在の解候補、禁止する第1の解候補、禁止する第2の解候補、暫定の解候補が、この順に記載されている。
【0038】
CUPは、初期解x0の生成に基づき、1行目のデータを生成する。1行目は、初期解x0の解候補[21]を示す“21”と、2つの“φ”と、暫定の解候補[21]を示す“21”とが記録される。なお、φは、値がないことを示す記号である。
【0039】
CPUは、1回目の探索により、2行目のデータを生成する。CPUは、現在の解候補の欄に、1回目の探索により選択された解候補[14]を示す“14”を記録する。上述したように、2回目の探索では、解候補[21]を選択することはできないため、禁止する第1の解候補の欄に、解候補[21]を示す“21”を記録する。また、解候補[21]よりも解候補[14]の方がyの値が小さいため、暫定の解候補の欄に解候補[14]を示す“14”を記録する。CPUは、3回目〜6回目の探索においても同様の処理を繰返す。このようなリストを用いた処理により、CPUは、上記のように、7つの解候補のうち、yの値が最も小さい解候補[17]を準最適解と決定することができる。
【0040】
<PSOおよびTSの長所および短所>
ところで、上述したPSOおよびTSには、それぞれ、長所と長所とを有する。以下ででは、まず、PSOの長所および短所を説明し、次いで、TSの長所および短所を説明する。
【0041】
PSOの長所は、数式(1)に示したように、第2項および第3項に“rand”を含むため、準最適解として局所的な準最適解を選択してしまうことを回避できることである。つまり、PSOは、準最適解として大域的な準最適解を選択することができる。
【0042】
一方、PSOの短所は、数式(1)に示すように、各エージェントを“rand”を用いてランダムに移動させるため、大域的な準最適解にたどり着くには、多くの回数の探索を実施する必要があることである。たとえば、リアルタイム性が要求される制御対象にPSOを適用する場合には探索回数を少なくすることが好ましい。しかしながら、この場合には、大域的な準最適解にたどり着けないことが生じる。
【0043】
図5は、PSOにおける探索のイメージを示した図である。より詳しくは、図5は、制約条件の中で目的関数F(x)を最小化する解を探す場合を説明するための図である。図5を参照して、xaおよびxcは局所的な最適解であり、xbは大域的な最適解である。つまり、x=xbのときに、yの値が最も小さくなる。なお、図5では、4回の探索を行なう場合を例に挙げている。なお、図5は、少ない探索回数で大域的な準最適解にたどり着いた例を示している。
【0044】
1回目の探索で、CPUは、解候補としてxp(1)を得る。2回目の探索で、CPUは、解候補としてxp(2)を得る。3回目の探索で、CPUは、解候補としてxp(3)を得る。4回目の探索で、CPUは、解候補としてxp(4)を得る。この場合には、初期解x0も含めた5つの解候補のうち、yの値が最も小さくなる解候補がxp(4)であるため、CPUは、準最適解としてxp(4)を選択する。
【0045】
PSOにおいて、CPUは、1回目の探索および2回目の探索に示すように、極大点を越えて、次の解候補を探す。このため、準最適解として局所的な準最適解を選択してしまうことを回避できる。
【0046】
TSの長所は、前回の解候補の近傍を探索するため、少ない探索回数で準最適解にたどり着くことである。一方、TSの短所は、近傍しか探索しないため広範囲の探索には時間を要する(つまり探索回数が増える)こと、および、探索回数が少ないと準最適解として局所的な準最適解を選択してしまうことである。
【0047】
図6は、TSにおける探索のイメージを示した図である。図6を参照して、図5と同様に、xaおよびxcは局所的な最適解であり、xbは大域的な最適解である。なお、図6では、図5と同様に、4回の探索を行なう場合を例に挙げている。
【0048】
1回目の探索で、CPUは、解候補としてxt(1)を得る。2回目の探索で、CPUは、解候補としてxt(2)を得る。3回目の探索で、CPUは、解候補としてxt(3)を得る。4回目の探索で、CPUは、解候補としてxt(4)を得る。この場合には、初期解x0も含めた5つの解候補のうち、yの値が最も小さくなる解候補がxt(4)であるため、CPUは、準最適解としてxt(4)を選択する。
【0049】
この場合、選択した準最適解xt(4)は、局所的な最適解xaに近い解であり、大域的な最適解xbから離れた解である。つまり、CPUは、少ない探索回数では、極大点を乗り越えずに、準最適解として局所的な準最適解を選択するおそれがある。
【0050】
<PaLSCOについて>
上述したように、PSOおよびTSは、それぞれ、長所および短所を有する。したがって、PSOおよびTSの長所を利用しつつ、PSOおよびTSの短所が現れにくい最適化手法があれば非常に有用である。以下では、このような新たな最適化手法であるPaLSCO(Particle Swarm Local Search Combined Optimization(粒子群近傍探索組合せ最適化手法))について説明する。
【0051】
PaLSCOでは、エージェントをPSOチームとTSチームとに分ける。PSOチームは、通常のPSOで最適解の探索を行なう。TSチームは、探索を行なう際に、PSOチームが探索した解候補と、TSチームが探索した解候補とを比較し、良い方の解候補から近傍探索(つまり、通常のTS)を行なう。以下、PaLSCOの詳細について説明する。
【0052】
図7は、PaLSCOにおける探索イメージを示した図である。PSOチーム(具体的にはCPU)は、初期解x0を用いて1回目の探索を行なう。PSOチームは、1回目の探索で、解候補としてxp(1)を得る。2回目の探索で、PSOチームは、解候補としてxp(2)を得る。3回目の探索で、PSOチームは、解候補としてxp(3)を得る。4回目の探索で、PSOチームは、解候補としてxp(4)を得る。なお、これらの各解候補は、図5に示した各解候補と同じである。
【0053】
TSチーム(具体的にはCPU)は、初期解x0を用いて1回目の探索を行なう。TSチームは、1回目の探索で、解候補としてxt(1)を得る。
【0054】
次に、TSチームは、解候補xt(1)とPSOチームの1回目の解候補xp(1)とを比較し、yが小さくなる方の解を用いて2回目の探索を行なう。つまり、TSチームは、PSOによる1回目の探索で得られた解候補およびTSによる1回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を1回目の解としてTSによる2回目の探索を実行する。図7の場合には、TSチームは、F(xt(1))とF(xp(1))とを比較し、値が小さくなる解候補xp(1)を用いて2回目の探索を行なう。TSチームは、当該2回目の探索により、解候補xt(2)を得る。
【0055】
次に、TSチームは、解候補xt(2)とPSOチームの2回目の解候補xp(2)とを比較し、yが小さくなる方の解を用いて3回目の探索を行なう。つまり、TSチームは、PSOによる2回目の探索で得られた解候補およびTSによる2回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を2回目の解としてTSによる3回目の探索を実行する。図7の場合には、TSチームは、F(xt(2))とF(xp(2))とを比較し、値が小さくなる解候補xt(2)を用いて3回目の探索を行なう。TSチームは、当該3回目の探索により、解候補xt(3)を得る。
【0056】
次に、TSチームは、解候補xt(3)とPSOチームの3回目の解候補xp(3)とを比較し、yが小さくなる方の解を用いて4回目の探索を行なう。つまり、TSチームは、PSOによる3回目の探索で得られた解候補およびTSによる3回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を3回目の解としてTSによる4回目の探索を実行する。図7の場合には、TSチームは、F(xt(3))とF(xp(3))とを比較し、値が小さくなる解候補xt(3)を用いて4回目の探索を行なう。TSチームは、当該4回目の探索により、解候補xt(4)を得る。
【0057】
CPUは、初期解x0(解候補)と、PSOによる4つの解候補xp(1),xp(2),xp(3),xp(4)と、TSによる4つの解候補xt(1),xt(2),xt(3),xt(4)とのうち、F(x)の値が最も小さくなる解候補を準最適解とする。図7の場合には、CPUは、xt(4)を準最適解とする。
【0058】
以上のように、TSチームは、より好ましい解候補を用いて次の探索を行なう。それゆえ、PaLSCOを用いることにより、探索回数が少なくても、準最適解として大域的な準最適解を得ることができる。言い換えれば、PaLSCOを用いることにより、準最適解として局所的な準最適解を選択してしまう可能性を、TSのみを用いる場合に比べて低減することができる。
【0059】
また、上記においては、PSOチームの探索を4回行ない、TSチームの探索を4回行なった。つまり、合計8回の探索を行なった。したがって、TSを行なわずにPSOを8回実行する場合比べ、一般に移動量(解候補と次の探索で得られた解候補との間の距離の和)を少なくすることができる。
【0060】
このように、PaLSCOを用いることにより、PSOおよびTSの長所を活かしつつ、PSOおよびTSの短所が現れにくい探索を行なうことができる。
【0061】
<ハードウェア構成>
図8は、PaLSCOを実行するための制御装置80のハードウェア構成を示した図である。図8を参照して、制御装置80は、プログラムを実行するCPU(Central Processing Unit)81と、データを不揮発的に格納するROM(Read Only Memory)82と、データを揮発的に格納するRAM(Random Access Memory)83と、データを不揮発的に格納するHDD(Hard Disc Drive)84と、制御対象と通信を行なうための通信IF(Interface)85と、ユーザからの入力を受け付けるキーボード86と、マウス87と、モニタ88と、DVD−RAM(Digital Versatile Disc)駆動装置89とを備える。各構成要素81〜89は、相互にデータバスによって接続されている。DVD−RAM駆動装置89には、DVD−RAM891が装着される。なお、ROM82と、RAM83と、HDD84とは、データを格納するメモリ(記憶装置)である。
【0062】
制御装置80における処理は、各ハードウェアおよびCPU81により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD84に予め記憶されている場合がある。また、ソフトウェアは、DVD−RAM891その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、DVD−RAM駆動装置89その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信IFを介してダウンロードされた後、HDD84に一旦格納される。そのソフトウェアは、CPU81によってHDD84から読み出され、さらにRAM83に実行可能なプログラムの形式で格納される。CPU81は、そのプログラムを実行する。
【0063】
同図に示される制御装置80を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、HDD84、DVD−RAM891その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、制御装置80の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0064】
なお、記録媒体としては、DVD−RAMに限定されず、DVD−ROM、CD−ROM、FD(Flexible Disk)、ハードディスク、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc))、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
【0065】
ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0066】
HDD84には、少なくとも、PSOを実行するためのプログラムと、TSを実行するためのプログラムと、制御対象の目的関数(F(x))とが予め格納されている。CPU81は、当該目的関数について、これらのプログラムを実行する。
【0067】
<制御構造>
図9は、制御装置80によるPaLSCOの処理の流れを示したフローチャートである。図9は、PSOチームの探索とTSチームの探索とを同じ回数(n回)行なう構成を示している。なお、“n”は、自然数である。
【0068】
図9を参照して、ステップS2において、CPU81は、PSOを実行するためのプログラムに基づき初期解x0を生成する。なお、TSを実行するためのプログラムに基づき初期解x0をCPU81が生成してもよい。初期解x0の生成手法は従来行なわれている手法と同じであるため、ここでの説明は行なわない。
【0069】
ステップS4において、CPU81は、初期解x0を用いて1回目のPSOと1回目のTSとを実行する。ステップS6において、CPU81は、1回目の解候補xp(1)とxt(1)とをRAM83に格納する。ステップS8において、CPU81は、変数jの値を“1”に設定する。
【0070】
ステップS10において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。CPU81は、大きいと判断した場合(ステップS10においてYES)、ステップS12において、PSOによるj回目の解候補xp(j)を用いてj+1回目のPSOとj+1回目のTSとを実行する。一方、CPU81は、小さいと判断した場合(ステップS10においてNO)、ステップS20において、PSOによるj回目の解候補(xp(j))を用いてj+1回目のPSOを実行し、TSによるj回目の解候補xt(j)を用いてj+1回目のTSを実行する。
【0071】
ステップS14において、CPU81は、j+1回目の解候補xp(j+1),xt(j+1)をRAM83に格納する。ステップS16において、CPU81は、jの値を1だけ増加させる。つまり、CPU81は、インクリメントを行なう。ステップS18において、CPU81は、jの値がn以上となったか否かを判断する。
【0072】
CPU81は、jの値がn未満である場合(ステップS18においてNO)には、処理をステップS10に進める。CPU81は、jの値がn以上である場合(ステップS16においてYES)には、処理を終了する。
【0073】
なお、PSOによってn個の解候補xp(1)〜xp(n)を求めた後に、TSによってn個の解候補xt(1)〜xt(n)を求めてもよい。
【0074】
<電力制御へのPaLSCOの適用>
次に、制御装置80の制御対象を電力系統とした場合について説明する。具体的には、PaLSCOを中央VQCに適用した例を説明する。なお、VQCは、電力系統の電圧を予め定められた範囲に維持するための電圧無効電力制御である。また、中央VQCは、中央VQC装置(中央給電指令所)で計算した最適潮流計算の結果に基づく指令を制御対象である変電所に対して行なうことで、系統全体の電圧を総合的に制御するものである。なお、上述した制御装置80が中央VQC装置として機能する。
【0075】
図10は、電力系統システム100の概略構成を示した図である。図10を参照して、電力系統システム100は、中央VQC装置801と、複数の変電所111〜117と、発電機211,212,221〜223と、タップ付き変圧器213,214,224,225とを備える。
【0076】
各変電所111〜117は、500kV母線101に接続されている。各変電所111〜117は中央VQC装置801と通信を行なう。具体的には、各変電所111〜117は、系統情報を中央VQC装置801に送信する。中央VQC装置801は、受信した系統情報に基づいた制御情報を各変電所111〜117に送る。各変電所111〜117は、当該制御情報に基づいた動作を実行する。
【0077】
各変電所111〜117は、タップ付き変圧器と調相設備と電圧検出器とを備える。たとえば、変電所111は、タップ付き変圧器1111と、調相設備1114と、275kV母線1112に接続された電圧検出器1113とを備える。なお、調相設備1114は投入された調相設備であり、変電所111は、当該調相設備1114以外に未投入の調相設備を備える。タップ付き変圧器1111は、500kVの電圧を275kVの電圧に変圧する。また、変電所112は、タップ付き変圧器1121と、調相設備1124と、275kV母線1122に接続された電圧検出器1123とを備える。なお、調相設備1124は投入された調相設備であり、変電所112は、当該調相設備1124以外に未投入の調相設備を備える。タップ付き変圧器1121は、500kVの電圧を275kVの電圧に変圧する。
【0078】
上記のような電力系統システム100では、目的関数は、たとえば以下の式(3)で表される。式(3)では、時間の変数も考慮し、目的関数をF(xt)と表記している。この場合、F(xt)を最小とする最適化問題を、PaLSCOを用いて解くことになる。なお、PaLSCOにより探索された準最適解は、制御量(タップの位置、調相設備の数等を示す量)である。
【0079】
【数3】
【0080】
なお、式(3)の右辺の第1項は、送電ロスを示す項である。第2項は、調相動作回数を示す項である。第3項は、タップの動作回数を示す項である。“w1”と“w2”と“w3”とは係数(正の値)である。
【0081】
電力系統に対して中央VQCを行なう場合、リアルタイム性が求められる。このため、従来では、探索回数の実行回数が10回程度に制限されている。このため、従来では、大域的な準最適解を見つけ出すことが困難であった。しかしながら、中央VQC装置801は、PaLSCOを用いることにより、短い時間(少ない探索回数)で大域的な準最適解を見つけ出すことが可能となる。つまり、中央VQC装置801は、PaLSCOを用いることにより、従来とは異なり、局所的な準最適解を選択することを低減できる。
【0082】
このように、PaLSCOを中央VQCに適用することにより、スムーズな電力運用が可能となる。
【0083】
なお、上記においては、PaLSCOを中央VQCに適用する例を挙げたが、PaLSCOを個別VQCに適用してもよい。また、目的関数の右辺の項は、式(3)に示した項に限定されるものではない。たとえば、規定電圧から外れた箇所(制約違反箇所)数の項を追加してもよい。
【0084】
<変形例>
(1)図9においては、CPU81が、PSOとTSとをそれぞれ同数回(n回)実行する構成を例に挙げたが、これに限定されるものではない。TSをn回実行する構成であればよい。つまり、TSがn回目の探索にあたり、PSOによるn−1回目の探索結果とTSによるn−1回目の探索結果とのうち好ましい解候補を利用できればよいため、PSOの実行はn−1回でもよい。また、PSOの実行をn+1回以上行なってもよい。
【0085】
(2)上記においては、目的関数F(x)の値を最小する最適化問題を例に挙げて説明したが、これに限定されるものではない。PaLSCOを、目的関数F(x)の値を最大にする最適化問題にも適用できる。つまり、制約条件の中で目的関数F(x)を最小化する解を探す場合と最大化する解を探す場合との両方に、PaLSCOを適用できる。
【0086】
(3)上記においては、PaLSCOにおけるPSOによる1回目の探索に用いる初期解と、PaLSCOにおけるTSによる1回目の探索に用いる初期解として、同一の初期解x0を用いたが、これに限定されるものではない。PaLSCOにおけるPSOによる1回目の探索に用いる初期解と、PaLSCOにおけるTSによる1回目の探索に用いる初期解として、異なる初期解を用いてもよい。
【0087】
(4)PSOの回数は、上述した回数に限定されるものではない。PSOの回数を減らす構成について、説明する。
【0088】
図11は、制御装置80によるPaLSCOの他の処理の流れを示したフローチャートである。図11を参照して、ステップS102において、CPU81は、フラグ(FLG)の値を“0”とする。ステップS104において、CPU81は、初期解x0を生成する。
【0089】
ステップS106において、CPU81は、初期解x0を用いて1回目のPSOと1回目のTSとを実行する。ステップS108において、CPU81は、1回目の解候補xp(1)とxt(1)とをRAM83に格納する。ステップS110において、CPU81は、変数jの値を“1”に設定する。
【0090】
ステップS112において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。CPU81は、大きいと判断した場合(ステップS112においてYES)、ステップS114において、xp(j)をxs(j)に代入する。CPU81は、小さいと判断した場合(ステップS112においてNO)、ステップS134において、xt(j)をxs(j)に代入する。
【0091】
ステップS116において、CPU81は、関数G(xs(j))の値が“0”であるか否かを判断する。CPU81は、“0”であると判断した場合(ステップS116においてYES)、フラグの値を“1”とする。CPU81は、“0”でないと判断した場合(ステップS116においてNO)、処理をステップS120に進める。なお、関数G(x)は、VQCに関しては、運用制約違反の個数である。関数G(xs(j))の値が“0”とは、たとえば図5を参照すれば、大域的最適解xbが存在する谷の範囲にxs(j)が存在することを示している。
【0092】
ステップS120において、CPU81は、フラグの値が“1”であるか否かを判断する。CPU81は、“1”であると判断した場合(ステップS120においてYES)、全体のj回目の解候補xs(j)を用いてj+1回目のTSを実行する。ステップS124において、CPU81は、解候補xt(j+1)をRAM83に格納する。ステップS126において、CPU81は、xt(j+1)をxs(j+1)に代入する。ステップS128において、CPU81は、jの値を1だけ増加させる。
【0093】
CPU81は、“1”でないと判断した場合(ステップS120においてNO)、ステップS136において、PSOによるj回目の解候補xp(j)を用いてj+1回目のPSOを実行し、全体のj回目の解候補xs(j)を用いてj+1回目のTSを実行する。ステップS138において、CPU81は、解候補xp(j+1),xt(j+1)をRAM83に格納する。ステップS140において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。
【0094】
CPU81は、大きいと判断した場合(ステップS140においてYES)、ステップS142において、xp(j+1)をxs(j+1)に代入する。CPU81は、ステップS142の後は、処理をステップS128に進める。CPU81は、小さいと判断した場合(ステップS140においてNO)、処理をステップS126に進める。
【0095】
ステップS130において、CPU81は、F(xs(j))、F(xs(j−1))、…、F(xs(j−m))のうち最小となるものが、F(xs(j−m))に等しいか否かを判断する。なお、mは、nの値に応じてユーザによって予め定められた値である。
【0096】
CPU81は、等しいと判断した場合(ステップS130においてYES)、一連の処理を終了する。つまり、CPU81は、m回準最適解が更新されず、これ以上好ましい準最適解が得られないと判断した場合、処理ループから抜け出すために、一連の処理を終了する。CPU81は、等しくないと判断した場合(ステップS130においてNO)、ステップS132において、jがn以上であるか否かを判断する。
【0097】
CPU81は、n未満であると判断した場合(ステップS132においてNO)、処理をステップS116に進める。CPU81は、n以上であると判断した場合(ステップS132においてYES)、一連の処理を終了する。
【0098】
なお、図11においては、制御装置80の制御対象を電力系統とした場合を例に挙げて説明した。制御装置80の制御対象が電力系統以外のものである場合には、ステップS116を、“関数G(x)=0?”を“予め定められた条件を満たしたか?”に置き換えればよい。なお、予め定められた条件は、制御対象により内容が異なる。
【0099】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0100】
11 群れ、12 エージェント、14 制約条件外の領域、31 解候補配置マップ、41 タブーリスト、80 制御装置、81 CPU、83 RAM、84 HDD、85 通信IF、100 電力系統システム、101 500kV母線、111〜117,111,112 変電所、211,212,221〜223 発電機、213,214,224,225,1111,1121 タップ付き変圧器、801 中央VQC装置、1112,1122 275kV母線、1113,1123 電圧検出器、1114,1124 調相設備。
【技術分野】
【0001】
本発明は、制御装置、および制御方法に関し、特に、制御対象に対して最適化制御を行なう制御装置、および当該制御装置における制御方法に関する。
【背景技術】
【0002】
従来、最適化問題の解法として、メタヒューリスティックを適用することが行なわれている。メタヒューリスティックを適用することにより、膨大な解候補の中から効率よく準最適解を探索可能となる。メタヒューリスティックとしては、たとえば、PSO(Particle Swarm Optimization(粒子群最適化))と、TS(Tabu Search(タブー探索))とが知られている。
【0003】
たとえば電圧無効電力の自動制御(Voltage Q (reactive power) Control(以下、VQCと称する))においても、メタヒューリスティック法の適用が検討されている。特に、近年採用されている中央VQC方式では、各制御装置に対して、中央給電指令所で計算された最適潮流計算の結果に基づく指令を行ない、系統全体の電圧を総合的に制御する。最適潮流計算では、膨大な組合せ最適化問題を解く必要がある。
【0004】
このため、特許文献1では、PSOを用いることが提案されている。特許文献1では、母線電圧の上下限、線路潮流の上限および電圧の安定性を制約条件とし、対象系統の電力損失最小化を目的関数としてPSOによって、最適制御量を探索することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−116003号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、PSOでは、大域的な準最適解にたどり着くには、多くの動作回数(探索回数)が必要となる。TSでは、近傍しか探索しないため広範囲の探索には時間を要する。つまり、TSでは、広範囲の探索には、多くの繰り返し回数(探索回数)が必要となる。また、TSでは、繰り返し回数が少ないと準最適解として局所的な準最適解を選択してしまう。
【0007】
本発明は上記の問題点に鑑みなされたものであって、その目的は、少ない探索回数で大域的な準最適解を探索可能な制御装置、および制御方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある局面に従うと、制御装置は、制御対象に指令を送信して当該制御対象を制御する制御装置である。制御装置は、粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、制御対象の目的関数とを予め格納したメモリと、第1のプログラムと第2のプログラムとを実行するプロセッサと、制御対象と通信する通信インターフェイスとを備える。プロセッサは、粒子群最適化法による目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なう。プロセッサは、タブー探索法による目的関数の解候補の探索をn回行なう。プロセッサは、タブー探索法による探索においては、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行する。プロセッサは、粒子群最適化法による少なくともn−1回の探索で得られた解候補およびタブー探索法によるn回の探索で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。プロセッサは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【0009】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解と、粒子群最適化法による少なくともn−1回の探索で得られた解候補と、タブー探索法によるn回の探索で得られた解候補とのうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。
【0010】
本発明の他の局面に従うと、制御装置は、制御対象に指令を送信して当該制御対象を制御する制御装置である。制御装置は、粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、制御対象の目的関数とを予め格納したメモリと、第1のプログラムと第2のプログラムとを実行するプロセッサと、制御対象と通信する通信インターフェイスとを備える。プロセッサは、粒子群最適化法による目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による目的関数の解候補の探索を、n回(nは2以上の自然数)行なう。プロセッサは、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択する。プロセッサは、当該選択した解候補により得られる目的関数の値が、予め定められた条件を満たすか否かを判断する。プロセッサは、予め定められた条件を満たす場合、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なう。プロセッサは、予め定められた条件を満たさない場合、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、粒子群最適化法によるj回目の探索で得られた解候補を用いて粒子群最適化法によるj+1回目の探索を行ない、解候補の選択および上記予め定められた条件を満たすか否かの判断を繰り返す。プロセッサは、粒子群最適化法による探索で得られた解候補およびタブー探索法で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。プロセッサは、準最適解に基づく指令を、通信インターフェイスを用いて制御対象に送信する。
【0011】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解とをランダムに生成する。プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解と、粒子群最適化法による2回目以降の探索で得られた解候補と、タブー探索法によるn回の探索で得られた解候補とのうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とする。
【0012】
好ましくは、プロセッサは、粒子群最適化法による1回目の探索に用いる初期解と、タブー探索法による1回目の探索に用いる初期解として、共通の初期解を生成する。
【0013】
好ましくは、制御対象は、電力系統である。目的関数は、電圧無効電力制御の最適潮流計算に用いる目的関数である。上記予め定められた一方は、最小である。
【0014】
本発明のさらに他の局面に従うと、制御方法は、制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法である。制御方法は、制御装置のプロセッサが、粒子群最適化法による制御対象の目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なうステップと、プロセッサが、タブー探索法による目的関数の解候補の探索をn回行なうステップとを備える。タブー探索法による探索のステップは、粒子群最適化法によるj回目の探索で得られた解候補およびタブー探索法によるj回目(jはn−1以下の自然数)の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行するステップを含む。制御方法は、プロセッサが、粒子群最適化法による少なくともn−1回の探索で得られた解候補およびタブー探索法によるn回の探索で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とするステップと、プロセッサが、準最適解に基づく指令を、制御装置の通信インターフェイスを用いて制御対象に送信するステップとをさらに備える。
【0015】
本発明のさらに他の局面に従うと、制御方法は、制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法である。制御装置のプロセッサは、粒子群最適化法による制御対象の目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による目的関数の解候補の探索を、n回(nは2以上の自然数)行なう。制御方法は、プロセッサが、粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた解候補およびタブー探索法によるj回目の探索で得られた解候補のうちから目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択するステップと、プロセッサが、当該選択した解候補により得られる目的関数の値が、予め定められた条件を満たすか否かを判断するステップとを備える。さらに、制御方法は、予め定められた条件を満たす場合、プロセッサが、選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なうステップを備える。さらに、制御方法は、予め定められた条件を満たさない場合、プロセッサが、選択した解候補をj回目の解としてタブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返すステップを備える。さらに、制御方法は、プロセッサが、粒子群最適化法による探索で得られた解候補およびタブー探索法で得られた解候補のうち、目的関数の値が最大および最小のうち上記予め定められた一方となる解候補を、目的関数における準最適解とするステップと、プロセッサが、準最適解に基づく指令を、制御装置の通信インターフェイスを用いて制御対象に送信するステップとを備える。
【発明の効果】
【0016】
本発明によれば、少ない探索回数で大域的な準最適解を探索可能となるといった効果を奏する。
【図面の簡単な説明】
【0017】
【図1】PSOの概要を説明するための図である。
【図2】式(1)に含まれる各項を説明するための図である。
【図3】TSの概要を説明するための図である。
【図4】図3に基づき説明した6回の探索においてCPUが生成するタブーリストを示した図である。
【図5】PSOにおける探索のイメージを示した図である。
【図6】TSにおける探索のイメージを示した図である。
【図7】新たな最適化手法(PaLSCO)における探索イメージを示した図である。
【図8】PaLSCOを実行するための制御装置のハードウェア構成を示した図である。
【図9】制御装置によるPaLSCOの処理の流れを示したフローチャートである。
【図10】電力系統システムの概略構成を示した図である。
【図11】制御装置によるPaLSCOの他の処理の流れを示したフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照しつつ、本発明の実施の形態に係る制御装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0019】
<PSOの概要>
PSOは、鳥や魚の群れが餌を探すときの行動にヒントを得た多点型解探索アルゴリズムである。当該アルゴリズムは、非常に簡単な構成であり、基本的な算術演算しか用いない。このため、PSOは、非線形最適化問題を高速に解くことが可能である。PSOについて、具体的に説明すると以下の通りである。
【0020】
図1は、PSOの概要を説明するための図である。図1を参照して、PSOは、群れ11を構成するエージェント12が、制約条件外の領域14を除く解空間を移動しながら、真の値16に近い準最適解15を探索するアルゴリズムである。言い換えれば、PSOは、微小な粒子が群れ状になって解空間で最適解を探索する手法である。
【0021】
より具体的には、数式(1)および数式(2)に示すように、PSOは、群れを構成する個体の独自情報と群れ全体の共有情報とを組合せ、一定の規則に従って多点探索をする手法である。
【0022】
【数1】
【0023】
【数2】
【0024】
なお、“X”は各エージェントの位置であり、“V”は各エージェントの速度であり、“pbest”は各エージェントの最良値であり、“gbest”は群れ全体の最良値でり、“i”はエージェントの番号であり、“k”は繰り返し回数であり、“w”と“c1”と“c2”とは重み係数であり、“rand”は0〜1の一様乱数である。
【0025】
図2は、式(1)に含まれる各項を説明するための図である。図2を参照して、数式(1)の右辺の第1項は、Vikに基づく慣性項(ベクトル)である。第2項は、pbestに向かうベクトルである。第3項は、gbestに向かうベクトル(つまり、共有情報に関する項)である。Vik+1は、第1項に示したベクトルと、第2項に示したベクトルと、第3項に示したベクトルの和として求められる。
【0026】
<TSの概要>
TSは、既に通過した解を避けて、現在の解の近傍にて最適条件を探索する手法である。TSは、探索するパラメータが比較的少ないため、確率に依存する処理が少ない。
【0027】
図3は、TSの概要を説明するための図である。図3を参照して、解候補配置マップ31には、30個の解候補がマトリクス状に配置されている。丸印の右下の数字1〜30が解候補である。丸印内の数字は、各解候補による値である。なお、以下では、説明の便宜上、解候補を、記号[ ]を用いて示す。なお、「解候補」とは、準最適解の候補を意味する。
【0028】
以下では、y=F(x)といった目的関数を示す式においてyの値を最小するxを求める場合を例に挙げて説明する。つまり、制約条件の中で目的関数F(x)を最小化する解を探す場合を例に挙げて説明する。この場合、解候補がxの値に該当し、丸印内の数字が当該xの値を上記の式に代入したときのyの値である。たとえば、解候補[25]を上記の式に代入したときのyの値が“6”であることを示している。
【0029】
また、以下では、ランダムに生成した初期解x0が解候補[21]であったとする。さらに、TSの探索回数を6回とした場合を例に挙げて説明する。なお、前回算出した準最適解を記憶しておき、当該準最適解を初期解x0としてもよい。
【0030】
1回目の探索では、TSを実行する制御装置のCPU(図8参照)が、解候補[21]の周囲の8個の解候補[14],[15],[16],[20],[22],[26],[27],[28]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“4”である解候補[14]が選択される。
【0031】
2回目の探索では、CPUは、解候補[14]の周囲の7個の解候補[7],[8],[9],[13],[15],[19],[20]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“3”である解候補[8]が選択される。なお、当該探索においては、既に通過した解候補である解候補[21]は探索の対象外となる。
【0032】
3回目の探索では、CPUは、解候補[8]の周囲の7個の解候補[1],[2],[3],[7],[9],[13],[15]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“4”である解候補[9]が選択される。なお、当該探索においては、既に通過した解候補である解候補[14]は探索の対象外となる。
【0033】
4回目の探索では、CPUは、解候補[9]の周囲の6個の解候補[2],[3],[4],[10],[15],[16]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“5”である解候補[10]が選択される。なお、当該探索においては、既に通過した解候補である2つの解候補[8],[14]は探索の対象外となる。
【0034】
5回目の探索では、CPUは、解候補[10]の周囲の7個の解候補[3],[4],[5],[11],[15],[16],[17]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“2”である解候補[17]が選択される。なお、当該探索においては、既に通過した解候補である解候補[9]は探索の対象外となる。
【0035】
6回目の探索では、CPUは、解候補[17]の周囲の7個の解候補[11],[12],[16],[18],[22],[23],[24]のうち、yの値が最も小さい解候補を探索する。この場合、当該探索によって、yの値(丸印内の数字)が“3”である解候補[12]が選択される。なお、当該探索においては、既に通過した解候補である解候補[10]は探索の対象外となる。
【0036】
CPUは、初期解x0(解候補[21])と、6回の探索により選ばれた6個の解候補[14],[8],[9],[10],[17],[12]とのうち、yの値が最も小さい解候補[17]を準最適解と決定する。
【0037】
図4は、図3に基づき説明した6回の探索においてCPUが生成するタブーリスト41を示した図である。図4を参照して、タブーリストの各行の括弧内には、現在の解候補、禁止する第1の解候補、禁止する第2の解候補、暫定の解候補が、この順に記載されている。
【0038】
CUPは、初期解x0の生成に基づき、1行目のデータを生成する。1行目は、初期解x0の解候補[21]を示す“21”と、2つの“φ”と、暫定の解候補[21]を示す“21”とが記録される。なお、φは、値がないことを示す記号である。
【0039】
CPUは、1回目の探索により、2行目のデータを生成する。CPUは、現在の解候補の欄に、1回目の探索により選択された解候補[14]を示す“14”を記録する。上述したように、2回目の探索では、解候補[21]を選択することはできないため、禁止する第1の解候補の欄に、解候補[21]を示す“21”を記録する。また、解候補[21]よりも解候補[14]の方がyの値が小さいため、暫定の解候補の欄に解候補[14]を示す“14”を記録する。CPUは、3回目〜6回目の探索においても同様の処理を繰返す。このようなリストを用いた処理により、CPUは、上記のように、7つの解候補のうち、yの値が最も小さい解候補[17]を準最適解と決定することができる。
【0040】
<PSOおよびTSの長所および短所>
ところで、上述したPSOおよびTSには、それぞれ、長所と長所とを有する。以下ででは、まず、PSOの長所および短所を説明し、次いで、TSの長所および短所を説明する。
【0041】
PSOの長所は、数式(1)に示したように、第2項および第3項に“rand”を含むため、準最適解として局所的な準最適解を選択してしまうことを回避できることである。つまり、PSOは、準最適解として大域的な準最適解を選択することができる。
【0042】
一方、PSOの短所は、数式(1)に示すように、各エージェントを“rand”を用いてランダムに移動させるため、大域的な準最適解にたどり着くには、多くの回数の探索を実施する必要があることである。たとえば、リアルタイム性が要求される制御対象にPSOを適用する場合には探索回数を少なくすることが好ましい。しかしながら、この場合には、大域的な準最適解にたどり着けないことが生じる。
【0043】
図5は、PSOにおける探索のイメージを示した図である。より詳しくは、図5は、制約条件の中で目的関数F(x)を最小化する解を探す場合を説明するための図である。図5を参照して、xaおよびxcは局所的な最適解であり、xbは大域的な最適解である。つまり、x=xbのときに、yの値が最も小さくなる。なお、図5では、4回の探索を行なう場合を例に挙げている。なお、図5は、少ない探索回数で大域的な準最適解にたどり着いた例を示している。
【0044】
1回目の探索で、CPUは、解候補としてxp(1)を得る。2回目の探索で、CPUは、解候補としてxp(2)を得る。3回目の探索で、CPUは、解候補としてxp(3)を得る。4回目の探索で、CPUは、解候補としてxp(4)を得る。この場合には、初期解x0も含めた5つの解候補のうち、yの値が最も小さくなる解候補がxp(4)であるため、CPUは、準最適解としてxp(4)を選択する。
【0045】
PSOにおいて、CPUは、1回目の探索および2回目の探索に示すように、極大点を越えて、次の解候補を探す。このため、準最適解として局所的な準最適解を選択してしまうことを回避できる。
【0046】
TSの長所は、前回の解候補の近傍を探索するため、少ない探索回数で準最適解にたどり着くことである。一方、TSの短所は、近傍しか探索しないため広範囲の探索には時間を要する(つまり探索回数が増える)こと、および、探索回数が少ないと準最適解として局所的な準最適解を選択してしまうことである。
【0047】
図6は、TSにおける探索のイメージを示した図である。図6を参照して、図5と同様に、xaおよびxcは局所的な最適解であり、xbは大域的な最適解である。なお、図6では、図5と同様に、4回の探索を行なう場合を例に挙げている。
【0048】
1回目の探索で、CPUは、解候補としてxt(1)を得る。2回目の探索で、CPUは、解候補としてxt(2)を得る。3回目の探索で、CPUは、解候補としてxt(3)を得る。4回目の探索で、CPUは、解候補としてxt(4)を得る。この場合には、初期解x0も含めた5つの解候補のうち、yの値が最も小さくなる解候補がxt(4)であるため、CPUは、準最適解としてxt(4)を選択する。
【0049】
この場合、選択した準最適解xt(4)は、局所的な最適解xaに近い解であり、大域的な最適解xbから離れた解である。つまり、CPUは、少ない探索回数では、極大点を乗り越えずに、準最適解として局所的な準最適解を選択するおそれがある。
【0050】
<PaLSCOについて>
上述したように、PSOおよびTSは、それぞれ、長所および短所を有する。したがって、PSOおよびTSの長所を利用しつつ、PSOおよびTSの短所が現れにくい最適化手法があれば非常に有用である。以下では、このような新たな最適化手法であるPaLSCO(Particle Swarm Local Search Combined Optimization(粒子群近傍探索組合せ最適化手法))について説明する。
【0051】
PaLSCOでは、エージェントをPSOチームとTSチームとに分ける。PSOチームは、通常のPSOで最適解の探索を行なう。TSチームは、探索を行なう際に、PSOチームが探索した解候補と、TSチームが探索した解候補とを比較し、良い方の解候補から近傍探索(つまり、通常のTS)を行なう。以下、PaLSCOの詳細について説明する。
【0052】
図7は、PaLSCOにおける探索イメージを示した図である。PSOチーム(具体的にはCPU)は、初期解x0を用いて1回目の探索を行なう。PSOチームは、1回目の探索で、解候補としてxp(1)を得る。2回目の探索で、PSOチームは、解候補としてxp(2)を得る。3回目の探索で、PSOチームは、解候補としてxp(3)を得る。4回目の探索で、PSOチームは、解候補としてxp(4)を得る。なお、これらの各解候補は、図5に示した各解候補と同じである。
【0053】
TSチーム(具体的にはCPU)は、初期解x0を用いて1回目の探索を行なう。TSチームは、1回目の探索で、解候補としてxt(1)を得る。
【0054】
次に、TSチームは、解候補xt(1)とPSOチームの1回目の解候補xp(1)とを比較し、yが小さくなる方の解を用いて2回目の探索を行なう。つまり、TSチームは、PSOによる1回目の探索で得られた解候補およびTSによる1回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を1回目の解としてTSによる2回目の探索を実行する。図7の場合には、TSチームは、F(xt(1))とF(xp(1))とを比較し、値が小さくなる解候補xp(1)を用いて2回目の探索を行なう。TSチームは、当該2回目の探索により、解候補xt(2)を得る。
【0055】
次に、TSチームは、解候補xt(2)とPSOチームの2回目の解候補xp(2)とを比較し、yが小さくなる方の解を用いて3回目の探索を行なう。つまり、TSチームは、PSOによる2回目の探索で得られた解候補およびTSによる2回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を2回目の解としてTSによる3回目の探索を実行する。図7の場合には、TSチームは、F(xt(2))とF(xp(2))とを比較し、値が小さくなる解候補xt(2)を用いて3回目の探索を行なう。TSチームは、当該3回目の探索により、解候補xt(3)を得る。
【0056】
次に、TSチームは、解候補xt(3)とPSOチームの3回目の解候補xp(3)とを比較し、yが小さくなる方の解を用いて4回目の探索を行なう。つまり、TSチームは、PSOによる3回目の探索で得られた解候補およびTSによる3回目の探索で得られた解候補のうちからyの値が小さくなる方の解候補を1つ選択し、当該選択した1つの解候補を3回目の解としてTSによる4回目の探索を実行する。図7の場合には、TSチームは、F(xt(3))とF(xp(3))とを比較し、値が小さくなる解候補xt(3)を用いて4回目の探索を行なう。TSチームは、当該4回目の探索により、解候補xt(4)を得る。
【0057】
CPUは、初期解x0(解候補)と、PSOによる4つの解候補xp(1),xp(2),xp(3),xp(4)と、TSによる4つの解候補xt(1),xt(2),xt(3),xt(4)とのうち、F(x)の値が最も小さくなる解候補を準最適解とする。図7の場合には、CPUは、xt(4)を準最適解とする。
【0058】
以上のように、TSチームは、より好ましい解候補を用いて次の探索を行なう。それゆえ、PaLSCOを用いることにより、探索回数が少なくても、準最適解として大域的な準最適解を得ることができる。言い換えれば、PaLSCOを用いることにより、準最適解として局所的な準最適解を選択してしまう可能性を、TSのみを用いる場合に比べて低減することができる。
【0059】
また、上記においては、PSOチームの探索を4回行ない、TSチームの探索を4回行なった。つまり、合計8回の探索を行なった。したがって、TSを行なわずにPSOを8回実行する場合比べ、一般に移動量(解候補と次の探索で得られた解候補との間の距離の和)を少なくすることができる。
【0060】
このように、PaLSCOを用いることにより、PSOおよびTSの長所を活かしつつ、PSOおよびTSの短所が現れにくい探索を行なうことができる。
【0061】
<ハードウェア構成>
図8は、PaLSCOを実行するための制御装置80のハードウェア構成を示した図である。図8を参照して、制御装置80は、プログラムを実行するCPU(Central Processing Unit)81と、データを不揮発的に格納するROM(Read Only Memory)82と、データを揮発的に格納するRAM(Random Access Memory)83と、データを不揮発的に格納するHDD(Hard Disc Drive)84と、制御対象と通信を行なうための通信IF(Interface)85と、ユーザからの入力を受け付けるキーボード86と、マウス87と、モニタ88と、DVD−RAM(Digital Versatile Disc)駆動装置89とを備える。各構成要素81〜89は、相互にデータバスによって接続されている。DVD−RAM駆動装置89には、DVD−RAM891が装着される。なお、ROM82と、RAM83と、HDD84とは、データを格納するメモリ(記憶装置)である。
【0062】
制御装置80における処理は、各ハードウェアおよびCPU81により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD84に予め記憶されている場合がある。また、ソフトウェアは、DVD−RAM891その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、DVD−RAM駆動装置89その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信IFを介してダウンロードされた後、HDD84に一旦格納される。そのソフトウェアは、CPU81によってHDD84から読み出され、さらにRAM83に実行可能なプログラムの形式で格納される。CPU81は、そのプログラムを実行する。
【0063】
同図に示される制御装置80を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、HDD84、DVD−RAM891その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、制御装置80の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0064】
なお、記録媒体としては、DVD−RAMに限定されず、DVD−ROM、CD−ROM、FD(Flexible Disk)、ハードディスク、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc))、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
【0065】
ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0066】
HDD84には、少なくとも、PSOを実行するためのプログラムと、TSを実行するためのプログラムと、制御対象の目的関数(F(x))とが予め格納されている。CPU81は、当該目的関数について、これらのプログラムを実行する。
【0067】
<制御構造>
図9は、制御装置80によるPaLSCOの処理の流れを示したフローチャートである。図9は、PSOチームの探索とTSチームの探索とを同じ回数(n回)行なう構成を示している。なお、“n”は、自然数である。
【0068】
図9を参照して、ステップS2において、CPU81は、PSOを実行するためのプログラムに基づき初期解x0を生成する。なお、TSを実行するためのプログラムに基づき初期解x0をCPU81が生成してもよい。初期解x0の生成手法は従来行なわれている手法と同じであるため、ここでの説明は行なわない。
【0069】
ステップS4において、CPU81は、初期解x0を用いて1回目のPSOと1回目のTSとを実行する。ステップS6において、CPU81は、1回目の解候補xp(1)とxt(1)とをRAM83に格納する。ステップS8において、CPU81は、変数jの値を“1”に設定する。
【0070】
ステップS10において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。CPU81は、大きいと判断した場合(ステップS10においてYES)、ステップS12において、PSOによるj回目の解候補xp(j)を用いてj+1回目のPSOとj+1回目のTSとを実行する。一方、CPU81は、小さいと判断した場合(ステップS10においてNO)、ステップS20において、PSOによるj回目の解候補(xp(j))を用いてj+1回目のPSOを実行し、TSによるj回目の解候補xt(j)を用いてj+1回目のTSを実行する。
【0071】
ステップS14において、CPU81は、j+1回目の解候補xp(j+1),xt(j+1)をRAM83に格納する。ステップS16において、CPU81は、jの値を1だけ増加させる。つまり、CPU81は、インクリメントを行なう。ステップS18において、CPU81は、jの値がn以上となったか否かを判断する。
【0072】
CPU81は、jの値がn未満である場合(ステップS18においてNO)には、処理をステップS10に進める。CPU81は、jの値がn以上である場合(ステップS16においてYES)には、処理を終了する。
【0073】
なお、PSOによってn個の解候補xp(1)〜xp(n)を求めた後に、TSによってn個の解候補xt(1)〜xt(n)を求めてもよい。
【0074】
<電力制御へのPaLSCOの適用>
次に、制御装置80の制御対象を電力系統とした場合について説明する。具体的には、PaLSCOを中央VQCに適用した例を説明する。なお、VQCは、電力系統の電圧を予め定められた範囲に維持するための電圧無効電力制御である。また、中央VQCは、中央VQC装置(中央給電指令所)で計算した最適潮流計算の結果に基づく指令を制御対象である変電所に対して行なうことで、系統全体の電圧を総合的に制御するものである。なお、上述した制御装置80が中央VQC装置として機能する。
【0075】
図10は、電力系統システム100の概略構成を示した図である。図10を参照して、電力系統システム100は、中央VQC装置801と、複数の変電所111〜117と、発電機211,212,221〜223と、タップ付き変圧器213,214,224,225とを備える。
【0076】
各変電所111〜117は、500kV母線101に接続されている。各変電所111〜117は中央VQC装置801と通信を行なう。具体的には、各変電所111〜117は、系統情報を中央VQC装置801に送信する。中央VQC装置801は、受信した系統情報に基づいた制御情報を各変電所111〜117に送る。各変電所111〜117は、当該制御情報に基づいた動作を実行する。
【0077】
各変電所111〜117は、タップ付き変圧器と調相設備と電圧検出器とを備える。たとえば、変電所111は、タップ付き変圧器1111と、調相設備1114と、275kV母線1112に接続された電圧検出器1113とを備える。なお、調相設備1114は投入された調相設備であり、変電所111は、当該調相設備1114以外に未投入の調相設備を備える。タップ付き変圧器1111は、500kVの電圧を275kVの電圧に変圧する。また、変電所112は、タップ付き変圧器1121と、調相設備1124と、275kV母線1122に接続された電圧検出器1123とを備える。なお、調相設備1124は投入された調相設備であり、変電所112は、当該調相設備1124以外に未投入の調相設備を備える。タップ付き変圧器1121は、500kVの電圧を275kVの電圧に変圧する。
【0078】
上記のような電力系統システム100では、目的関数は、たとえば以下の式(3)で表される。式(3)では、時間の変数も考慮し、目的関数をF(xt)と表記している。この場合、F(xt)を最小とする最適化問題を、PaLSCOを用いて解くことになる。なお、PaLSCOにより探索された準最適解は、制御量(タップの位置、調相設備の数等を示す量)である。
【0079】
【数3】
【0080】
なお、式(3)の右辺の第1項は、送電ロスを示す項である。第2項は、調相動作回数を示す項である。第3項は、タップの動作回数を示す項である。“w1”と“w2”と“w3”とは係数(正の値)である。
【0081】
電力系統に対して中央VQCを行なう場合、リアルタイム性が求められる。このため、従来では、探索回数の実行回数が10回程度に制限されている。このため、従来では、大域的な準最適解を見つけ出すことが困難であった。しかしながら、中央VQC装置801は、PaLSCOを用いることにより、短い時間(少ない探索回数)で大域的な準最適解を見つけ出すことが可能となる。つまり、中央VQC装置801は、PaLSCOを用いることにより、従来とは異なり、局所的な準最適解を選択することを低減できる。
【0082】
このように、PaLSCOを中央VQCに適用することにより、スムーズな電力運用が可能となる。
【0083】
なお、上記においては、PaLSCOを中央VQCに適用する例を挙げたが、PaLSCOを個別VQCに適用してもよい。また、目的関数の右辺の項は、式(3)に示した項に限定されるものではない。たとえば、規定電圧から外れた箇所(制約違反箇所)数の項を追加してもよい。
【0084】
<変形例>
(1)図9においては、CPU81が、PSOとTSとをそれぞれ同数回(n回)実行する構成を例に挙げたが、これに限定されるものではない。TSをn回実行する構成であればよい。つまり、TSがn回目の探索にあたり、PSOによるn−1回目の探索結果とTSによるn−1回目の探索結果とのうち好ましい解候補を利用できればよいため、PSOの実行はn−1回でもよい。また、PSOの実行をn+1回以上行なってもよい。
【0085】
(2)上記においては、目的関数F(x)の値を最小する最適化問題を例に挙げて説明したが、これに限定されるものではない。PaLSCOを、目的関数F(x)の値を最大にする最適化問題にも適用できる。つまり、制約条件の中で目的関数F(x)を最小化する解を探す場合と最大化する解を探す場合との両方に、PaLSCOを適用できる。
【0086】
(3)上記においては、PaLSCOにおけるPSOによる1回目の探索に用いる初期解と、PaLSCOにおけるTSによる1回目の探索に用いる初期解として、同一の初期解x0を用いたが、これに限定されるものではない。PaLSCOにおけるPSOによる1回目の探索に用いる初期解と、PaLSCOにおけるTSによる1回目の探索に用いる初期解として、異なる初期解を用いてもよい。
【0087】
(4)PSOの回数は、上述した回数に限定されるものではない。PSOの回数を減らす構成について、説明する。
【0088】
図11は、制御装置80によるPaLSCOの他の処理の流れを示したフローチャートである。図11を参照して、ステップS102において、CPU81は、フラグ(FLG)の値を“0”とする。ステップS104において、CPU81は、初期解x0を生成する。
【0089】
ステップS106において、CPU81は、初期解x0を用いて1回目のPSOと1回目のTSとを実行する。ステップS108において、CPU81は、1回目の解候補xp(1)とxt(1)とをRAM83に格納する。ステップS110において、CPU81は、変数jの値を“1”に設定する。
【0090】
ステップS112において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。CPU81は、大きいと判断した場合(ステップS112においてYES)、ステップS114において、xp(j)をxs(j)に代入する。CPU81は、小さいと判断した場合(ステップS112においてNO)、ステップS134において、xt(j)をxs(j)に代入する。
【0091】
ステップS116において、CPU81は、関数G(xs(j))の値が“0”であるか否かを判断する。CPU81は、“0”であると判断した場合(ステップS116においてYES)、フラグの値を“1”とする。CPU81は、“0”でないと判断した場合(ステップS116においてNO)、処理をステップS120に進める。なお、関数G(x)は、VQCに関しては、運用制約違反の個数である。関数G(xs(j))の値が“0”とは、たとえば図5を参照すれば、大域的最適解xbが存在する谷の範囲にxs(j)が存在することを示している。
【0092】
ステップS120において、CPU81は、フラグの値が“1”であるか否かを判断する。CPU81は、“1”であると判断した場合(ステップS120においてYES)、全体のj回目の解候補xs(j)を用いてj+1回目のTSを実行する。ステップS124において、CPU81は、解候補xt(j+1)をRAM83に格納する。ステップS126において、CPU81は、xt(j+1)をxs(j+1)に代入する。ステップS128において、CPU81は、jの値を1だけ増加させる。
【0093】
CPU81は、“1”でないと判断した場合(ステップS120においてNO)、ステップS136において、PSOによるj回目の解候補xp(j)を用いてj+1回目のPSOを実行し、全体のj回目の解候補xs(j)を用いてj+1回目のTSを実行する。ステップS138において、CPU81は、解候補xp(j+1),xt(j+1)をRAM83に格納する。ステップS140において、CPU81は、F(xt(j))がF(xp(j))よりも大きいか否かを判断する。
【0094】
CPU81は、大きいと判断した場合(ステップS140においてYES)、ステップS142において、xp(j+1)をxs(j+1)に代入する。CPU81は、ステップS142の後は、処理をステップS128に進める。CPU81は、小さいと判断した場合(ステップS140においてNO)、処理をステップS126に進める。
【0095】
ステップS130において、CPU81は、F(xs(j))、F(xs(j−1))、…、F(xs(j−m))のうち最小となるものが、F(xs(j−m))に等しいか否かを判断する。なお、mは、nの値に応じてユーザによって予め定められた値である。
【0096】
CPU81は、等しいと判断した場合(ステップS130においてYES)、一連の処理を終了する。つまり、CPU81は、m回準最適解が更新されず、これ以上好ましい準最適解が得られないと判断した場合、処理ループから抜け出すために、一連の処理を終了する。CPU81は、等しくないと判断した場合(ステップS130においてNO)、ステップS132において、jがn以上であるか否かを判断する。
【0097】
CPU81は、n未満であると判断した場合(ステップS132においてNO)、処理をステップS116に進める。CPU81は、n以上であると判断した場合(ステップS132においてYES)、一連の処理を終了する。
【0098】
なお、図11においては、制御装置80の制御対象を電力系統とした場合を例に挙げて説明した。制御装置80の制御対象が電力系統以外のものである場合には、ステップS116を、“関数G(x)=0?”を“予め定められた条件を満たしたか?”に置き換えればよい。なお、予め定められた条件は、制御対象により内容が異なる。
【0099】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0100】
11 群れ、12 エージェント、14 制約条件外の領域、31 解候補配置マップ、41 タブーリスト、80 制御装置、81 CPU、83 RAM、84 HDD、85 通信IF、100 電力系統システム、101 500kV母線、111〜117,111,112 変電所、211,212,221〜223 発電機、213,214,224,225,1111,1121 タップ付き変圧器、801 中央VQC装置、1112,1122 275kV母線、1113,1123 電圧検出器、1114,1124 調相設備。
【特許請求の範囲】
【請求項1】
制御対象に指令を送信して当該制御対象を制御する制御装置であって、
粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、前記制御対象の目的関数とを予め格納したメモリと、
前記第1のプログラムと前記第2のプログラムとを実行するプロセッサと、
前記制御対象と通信する通信インターフェイスとを備え、
前記プロセッサは、
前記粒子群最適化法による前記目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行ない、
前記タブー探索法による前記目的関数の解候補の探索を、n回行ない、
前記タブー探索法による前記探索においては、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、
前記粒子群最適化法による少なくともn−1回の探索で得られた解候補および前記タブー探索法で得られたn回の探索における解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とし、
前記準最適解に基づく前記指令を、前記通信インターフェイスを用いて前記制御対象に送信する、制御装置。
【請求項2】
前記プロセッサは、
前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、
前記粒子群最適化法による1回目の探索に用いる前記初期解と、前記タブー探索法による1回目の探索に用いる前記初期解と、前記粒子群最適化法による少なくともn−1回の探索で得られた解候補と、前記タブー探索法によるn回の探索で得られた解候補とのうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とする、請求項1に記載の制御装置。
【請求項3】
制御対象に指令を送信して当該制御対象を制御する制御装置であって、
粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、前記制御対象の目的関数とを予め格納したメモリと、
前記第1のプログラムと前記第2のプログラムとを実行するプロセッサと、
前記制御対象と通信する通信インターフェイスとを備え、
前記プロセッサは、
前記粒子群最適化法による前記目的関数の解候補の探索を、少なくとも1回行ない、
前記タブー探索法による前記目的関数の解候補の探索を、n回(nは2以上の自然数)行ない、
前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、
当該選択した解候補により得られる前記目的関数の値が、予め定められた条件を満たすか否かを判断し、
前記予め定められた条件を満たす場合、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行ない、
前記予め定められた条件を満たさない場合、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、前記解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返し、
前記粒子群最適化法による探索で得られた解候補および前記タブー探索法で得られた解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とし、
前記準最適解に基づく前記指令を、前記通信インターフェイスを用いて前記制御対象に送信する、制御装置。
【請求項4】
前記プロセッサは、
前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、
前記粒子群最適化法による1回目の探索に用いる前記初期解と、前記タブー探索法による1回目の探索に用いる前記初期解と、前記粒子群最適化法による2回目以降の探索で得られた解候補と、前記タブー探索法によるn回の探索で得られた解候補とのうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とする、請求項3に記載の制御装置。
【請求項5】
前記プロセッサは、前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解として、共通の初期解を生成する、請求項2または4に記載の制御装置。
【請求項6】
前記制御対象は、電力系統であって、
前記目的関数は、電圧無効電力制御の最適潮流計算に用いる目的関数であり、
前記予め定められた一方は、最小である、請求項1〜5のいずれか1項に記載の制御装置。
【請求項7】
制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法であって、
前記制御装置のプロセッサが、粒子群最適化法による前記制御対象の目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なうステップと、
前記プロセッサが、タブー探索法による前記目的関数の解候補の探索を、n回行なうステップとを備え、
前記タブー探索法による探索のステップは、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行するステップを含み、
前記制御方法は、
前記プロセッサが、前記粒子群最適化法による少なくともn−1回の探索で得られた解候補および前記タブー探索法によるn回の探索で得られた候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とするステップと、
前記プロセッサが、前記準最適解に基づく前記指令を、前記制御装置の通信インターフェイスを用いて前記制御対象に送信するステップとをさらに備える、制御方法。
【請求項8】
制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法であって、
前記制御装置のプロセッサは、粒子群最適化法による前記制御対象の目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による前記目的関数の解候補の探索を、n回(nは2以上の自然数)行ない、
前記制御方法は、
前記プロセッサが、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択するステップと、
前記プロセッサが、当該選択した解候補により得られる前記目的関数の値が、予め定められた条件を満たすか否かを判断するステップと、
前記予め定められた条件を満たす場合、前記プロセッサが、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なうステップと、
前記予め定められた条件を満たさない場合、前記プロセッサが、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、前記解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返すステップと、
前記プロセッサが、前記粒子群最適化法による探索で得られた解候補および前記タブー探索法で得られた解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とするステップと、
前記プロセッサが、前記準最適解に基づく前記指令を、前記制御装置の通信インターフェイスを用いて前記制御対象に送信するステップとを備える、制御方法。
【請求項1】
制御対象に指令を送信して当該制御対象を制御する制御装置であって、
粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、前記制御対象の目的関数とを予め格納したメモリと、
前記第1のプログラムと前記第2のプログラムとを実行するプロセッサと、
前記制御対象と通信する通信インターフェイスとを備え、
前記プロセッサは、
前記粒子群最適化法による前記目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行ない、
前記タブー探索法による前記目的関数の解候補の探索を、n回行ない、
前記タブー探索法による前記探索においては、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、
前記粒子群最適化法による少なくともn−1回の探索で得られた解候補および前記タブー探索法で得られたn回の探索における解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とし、
前記準最適解に基づく前記指令を、前記通信インターフェイスを用いて前記制御対象に送信する、制御装置。
【請求項2】
前記プロセッサは、
前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、
前記粒子群最適化法による1回目の探索に用いる前記初期解と、前記タブー探索法による1回目の探索に用いる前記初期解と、前記粒子群最適化法による少なくともn−1回の探索で得られた解候補と、前記タブー探索法によるn回の探索で得られた解候補とのうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とする、請求項1に記載の制御装置。
【請求項3】
制御対象に指令を送信して当該制御対象を制御する制御装置であって、
粒子群最適化法を実行するための第1のプログラムと、タブー探索法を実行するための第2のプログラムと、前記制御対象の目的関数とを予め格納したメモリと、
前記第1のプログラムと前記第2のプログラムとを実行するプロセッサと、
前記制御対象と通信する通信インターフェイスとを備え、
前記プロセッサは、
前記粒子群最適化法による前記目的関数の解候補の探索を、少なくとも1回行ない、
前記タブー探索法による前記目的関数の解候補の探索を、n回(nは2以上の自然数)行ない、
前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、
当該選択した解候補により得られる前記目的関数の値が、予め定められた条件を満たすか否かを判断し、
前記予め定められた条件を満たす場合、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行ない、
前記予め定められた条件を満たさない場合、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、前記解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返し、
前記粒子群最適化法による探索で得られた解候補および前記タブー探索法で得られた解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とし、
前記準最適解に基づく前記指令を、前記通信インターフェイスを用いて前記制御対象に送信する、制御装置。
【請求項4】
前記プロセッサは、
前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解とをランダムに生成し、
前記粒子群最適化法による1回目の探索に用いる前記初期解と、前記タブー探索法による1回目の探索に用いる前記初期解と、前記粒子群最適化法による2回目以降の探索で得られた解候補と、前記タブー探索法によるn回の探索で得られた解候補とのうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とする、請求項3に記載の制御装置。
【請求項5】
前記プロセッサは、前記粒子群最適化法による1回目の探索に用いる初期解と、前記タブー探索法による1回目の探索に用いる初期解として、共通の初期解を生成する、請求項2または4に記載の制御装置。
【請求項6】
前記制御対象は、電力系統であって、
前記目的関数は、電圧無効電力制御の最適潮流計算に用いる目的関数であり、
前記予め定められた一方は、最小である、請求項1〜5のいずれか1項に記載の制御装置。
【請求項7】
制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法であって、
前記制御装置のプロセッサが、粒子群最適化法による前記制御対象の目的関数の解候補の探索を、少なくともn−1回(nは2以上の自然数)行なうステップと、
前記プロセッサが、タブー探索法による前記目的関数の解候補の探索を、n回行なうステップとを備え、
前記タブー探索法による探索のステップは、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択し、当該選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行するステップを含み、
前記制御方法は、
前記プロセッサが、前記粒子群最適化法による少なくともn−1回の探索で得られた解候補および前記タブー探索法によるn回の探索で得られた候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とするステップと、
前記プロセッサが、前記準最適解に基づく前記指令を、前記制御装置の通信インターフェイスを用いて前記制御対象に送信するステップとをさらに備える、制御方法。
【請求項8】
制御対象に指令を送信して当該制御対象を制御する制御装置における制御方法であって、
前記制御装置のプロセッサは、粒子群最適化法による前記制御対象の目的関数の解候補の探索を、少なくとも1回行ない、タブー探索法による前記目的関数の解候補の探索を、n回(nは2以上の自然数)行ない、
前記制御方法は、
前記プロセッサが、前記粒子群最適化法によるj回目(jはn−1以下の自然数)の探索で得られた前記解候補および前記タブー探索法によるj回目の探索で得られた前記解候補のうちから前記目的関数の値が最大および最小のうち予め定められた一方となる解候補を1つ選択するステップと、
前記プロセッサが、当該選択した解候補により得られる前記目的関数の値が、予め定められた条件を満たすか否かを判断するステップと、
前記予め定められた条件を満たす場合、前記プロセッサが、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記タブー探索法によるj+2回目以降の探索を各回とも1つ前の回のタブー探索法により得られた解候補を用いて行なうステップと、
前記予め定められた条件を満たさない場合、前記プロセッサが、前記選択した解候補をj回目の解として前記タブー探索法によるj+1回目の探索を実行し、前記粒子群最適化法によるj回目の探索で得られた前記解候補を用いて前記粒子群最適化法によるj+1回目の探索を行ない、前記解候補の選択および前記予め定められた条件を満たすか否かの判断を繰り返すステップと、
前記プロセッサが、前記粒子群最適化法による探索で得られた解候補および前記タブー探索法で得られた解候補のうち、前記目的関数の値が最大および最小のうち前記予め定められた一方となる解候補を、前記目的関数における準最適解とするステップと、
前記プロセッサが、前記準最適解に基づく前記指令を、前記制御装置の通信インターフェイスを用いて前記制御対象に送信するステップとを備える、制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−43206(P2012−43206A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−184152(P2010−184152)
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000156938)関西電力株式会社 (1,442)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000156938)関西電力株式会社 (1,442)
【Fターム(参考)】
[ Back to top ]