説明

太陽光発電システムの制御方法

【課題】太陽の移動による日射量又は環境温度の変動による出力変動は常時発生し、変動速度も比較的早いために追従が遅い遺伝的アルゴリズム処理では充分対応できない。
【解決手段】出力設定値を遺伝子と見なしかつ出力電力値を遺伝子の評価値とする遺伝的アルゴリズムに基づくGA制御器を具備し出力設定範囲から複数個の遺伝子を無作為に抽出して遺伝子集団を形成し、この集団の各遺伝子をGA制御器に入力し選択かつ交叉・突然変異させて新たな遺伝子集団を形成し上記動作の繰り返しによって遺伝子集団を収束させ出力電力が略最大に制御する太陽光発電システムの制御方法において、遺伝子集団の各遺伝子をGA制御器に入力する前の評価値の大きい遺伝子を選択し、この遺伝子の評価値を基準値とし山登り法で出力電力値の大きい遺伝子を抽出しGA制御器に入力する前の評価値の大きい遺伝子と交換することを特徴とする太陽光発電システムの制御方法である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、太陽電池からの出力電力値が略最大値となるように制御する太陽光発電システムに係り、特に太陽電池のパネル面の日射量が不均一によって生じる出力電力の複数の極大値の最大電力を精度良く探索する技術に関するものである。
【背景技術】
【0002】
図6は、従来技術の太陽光発電システムのブロック図である。同図において、SC1乃至SC3は太陽電池で、例えば3枚並列に接続されている。PTは太陽電池の出力電圧を検出する出力電圧検出回路、CTは太陽電池の出力電流を検出する出力電流検出回路、CCはマイクロプロセッサにより遺伝的アルゴリズム制御(GA)を行なうMPPT制御コントローラで、上記マイクロプロセッサCCに太陽電池の出力電圧値及び出力電流値を読み込むためのAD変換器が内蔵されている。INは太陽電池からの直流出力を電圧に変換するDC/ACインバータ回路(又はDC/DCインバータ回路)、ADは負荷、SPは商用の系統電源である。ここで、コントローラCCのマイクロプロセッサは、太陽電池SCの出力電圧と出力電流とを乗算することによって上記太陽電池SCからの出力電力を算出し、メモリー内にその電圧、電力値を記憶する。また、コントローラCCはパルス幅制御回路PWMを介してDC/ACインバータ回路INの出力を制御し、太陽電池SCからの出力電圧を制御することができる。
【0003】
次に、遺伝的アルゴリズム制御(GA)について説明する。コントローラCCはGA制御器であり、図示省略の太陽電池出力設定値を遺伝子と見なしかつ太陽電池からの出力電力値を遺伝子の評価値として記憶し、太陽電池出力設定値の設定範囲から複数個の遺伝子を無作為又は予め定めた条件に基づき抽出して遺伝子集団を形成し、上記遺伝子を選択しかつ交叉・突然変異させて所定個数の遺伝子を生成して第2世代集団を形成し、上記の遺伝的アルゴリズム動作を繰り返しすことによって、次々と次世代の集団を形成し、上記遺伝子集団の値に基づいて最大電力値を追従する。
【0004】
図7は、従来技術の動作を説明するフローチャートである。このフローチャートと集団の遺伝子が遺伝的アルゴリズムにより収束し極大値を追従する図8とを参照しながら動作を説明する。
【0005】
太陽電池出力設定値の設定範囲から複数個(例えば、10個)の遺伝子を無作為に又は予め定めた条件に基づき抽出する(ステップT1)。そして、カウンタiを1に設定する(ステップT2)。
【0006】
上記複数個の遺伝子のうち所定の遺伝子に対応する太陽電池出力設定値を第1の太陽電池出力設定値とし、上記第1の太陽電池出力設定値によってインバータを動作させて第1の太陽電池出力電圧V1を設定する(ステップT3)。上記第1の太陽電池出力設定値に応じて出力される第1の太陽電池出力電流I1を測定する(ステップT4)。コントローラCCのマイクロプロセッサは、上記第1の太陽電池出力電圧V1と第1の太陽電池出力電流I1とを乗算して第1の太陽電池出力電力W1を算出してメモリーに記憶する(ステップT5)。そして、カウンタiに1を加算する。(ステップT6)
【0007】
次に、太陽電池出力設定値n個(例えば、10個)の出力電力を全て測定したかを判別して、Noの場合にはステップT3に戻り、上記残りの複数個の遺伝子のうち所定の遺伝子に対応する太陽電池出力設定値を第2の太陽電池出力設定値とし、上記第2の太陽電池出力設定値によってインバータを動作させて第2の太陽電池出力電圧V2を設定とする(ステップT3)。上記第2の太陽電池出力設定値に応じて出力される第2の太陽電池出力電流I2を測定する(ステップT4)。コントローラCCのマイクロプロセッサは、第2の太陽電池出力電圧V2と第2の太陽電池出力電流I2とを乗算して第2の太陽電池出力電力W2を算出してメモリーに記憶する(ステップT4)。続いて、カウンタiに1を加算する(ステップT6)。
【0008】
以後同様の動作を繰り返し、第nの太陽電池出力設定値に応じた第nの太陽電池出力電流Inを測定し、第nの太陽電池出力電力Wnを算出してメモリーに記憶し、図9(A)に示す第1世代の初期集団に対する評価値を決定する(ステップT7)。
【0009】
次に、上記初期集団のうち、無作為に遺伝子2個を抽出して評価値(太陽電池出力電力)の大きい方を選択し上記選択を繰り返して2個の遺伝子を選択する(ステップT8)。
【0010】
上記選択した2個の遺伝子を2進数の文字列に変換し、予め定めた確率である任意点で交叉させて新たに2個の遺伝子を生成する(ステップT9)。
【0011】
上記交叉した遺伝子に対して、予め定めた低い確率で意図的に文字列の一部を変化させて突然変異を行なう(ステップT10)。
【0012】
上記選択と交叉との回数がn/2(例えば10/2)以下のとき、ステップT8に戻る(ステップT11)。そして、上記初期集団のうち、再度無作為に遺伝子2個を抽出して評価値(太陽電池出力電力)の大きい方を選択し、上記選択を繰り返して新たに2個の遺伝子を選択する(ステップT8)。
【0013】
上記選択した2個の遺伝子を2進数の文字列に変換し、予め定めた確率である任意点で交叉させて新たに2個の遺伝子を生成する(ステップT9)。
【0014】
上記交叉した遺伝子に対して、予め定めた低い確率で意図的に文字列の一部を変化させて突然変異を行なう(ステップT10)。
【0015】
上記選択、交叉及び突然変異の回数がn/2(例えば10/2)のとき、ステップ12に進み、上記生成された遺伝子によって、図8(B)に示す第2世代集団を形成する。
【0016】
以後、上記の動作を繰り返すことによって次々と遺伝子集団の世代を新しくして、図8(C)に第n世代の集団が形成され、この第n世代集団の遺伝子は極大値近傍に収束されている。
【0017】
上述の遺伝的アルゴリズムを用いて複数の極大値を追従すると、最大電力でない小さい山の極大値を回避し、大きい山の極大値の追従が可能となる。上述の技術を開示した遺伝的アルゴリズム制御の先行文献として、例えば、特許文献1がある。
【0018】
【特許文献1】特願2004−240257号公報
【発明の開示】
【発明が解決しようとする課題】
【0019】
従来技術の遺伝的アルゴリズムでは、太陽電池のパネルの一部に雲がかかり影を生じて日射状態が変化し太陽電池の出力電力に複数の極大値が発生しても、上記遺伝的アルゴリズムによって上記複数の極大値の最大電力の追従が可能となる。
【0020】
しかし、太陽電池のパネルの一部に雲がかかり影を発生する大きな変動は、日に数回程度である。しかし、太陽の移動による日射量の変動又は環境温度の変動は常時生じる。上記太陽電池に影が発生すると出力電力の複数の極大値(山の形状)は変動するが、変動回数が少ないので、遺伝子アルゴリズムの突然変異の確率を最適な値に設定することにより、上記極大値の形状変化に応じて常に最新の最大電力の追従が可能であるが太陽の移動による日射量の変動によって生じる比較的小さな出力変動又は環境温度の変動によって生じる比較的小さな出力変動は常時発生し、また出力変動の速度も比較的早いために、上記追従速度が比較的遅い遺伝的アルゴリズムでは充分追従しきれない。
【0021】
また、上記追従速度を改善させるために、上記突然変異の確率を高くして追従速度を早くすることが考えられるが、上記突然変異の確率を高くすると太陽電池出力設定値の変動回数が増加するために、インバータ装置の出力電力の変動も大きくなってしまう。
【0022】
そこで、本発明は、上記課題を解決することができる太陽光発電システムの制御方法を提供することにある。
【課題を解決するための手段】
【0023】
上述した課題を解決するために、第1の発明は、太陽電池からの出力電圧又は出力電流が予め定めた太陽電池出力設定値と略等しくなるようにインバータを制御し、日射状態の変化に追従して太陽電池からの出力電力値が略最大値になるように上記太陽電池出力設定値を適正値に制御する太陽光発電システムの制御方法であって、上記太陽電池出力設定値を遺伝子と見なしかつ太陽電池からの出力電力値を遺伝子の評価値とする遺伝的アルゴリズムに基づくGA制御器を具備し、上記太陽電池出力設定値の設定範囲から複数個の遺伝子を無作為又は予め定めた条件に基づいて抽出して第1世代の初期集団を形成し、この初期集団の各遺伝子に対応する各太陽電池出力設定値によって上記インバータを順次動作させると共に動作中の太陽電池からの出力電力値を各遺伝子の評価値として記憶し、続いて、上記初期集団の各遺伝子を上記GA制御器に入力し各遺伝子の評価値によって選択しかつ交叉・突然変異させて所定個数の遺伝子を出力して第2世代集団を形成し、続いて、上記第2世代集団の各遺伝子に対応する各太陽電池出力設定値によって上記インバータを順次動作させると共に動作中の太陽電池からの出力電力値を各遺伝子の評価値として記憶し、続いて、上記第2世代集団の各遺伝子を上記GA制御器に入力し各遺伝子の評価値によって選択しかつ交叉・突然変異させて所定個数の遺伝子を出力して第3世代集団を形成し、以後、上記動作を繰り返すことによって次々と遺伝子集団の世代を新しくし第n世代集団を形成する遺伝的アルゴリズム工程によって太陽電池からの出力電力値が略最大値となるように制御する太陽光発電システムの制御方法において、上記n世代集団の各遺伝子を上記GA制御器に入力する前に、上記n世代集団の中で評価値が最も大きい遺伝子を選択し、上記選択した遺伝子に対応した太陽電池出力設定値を基準太陽電池出力設定値とし、上記基準太陽電池出力設定値、上記基準太陽電池出力設定値より所定量大きい値及び所定量小さい値の3つの太陽電池出力設定値を生成し、上記各太陽電池出力設定値によって上記インバータを順次動作させて各出力電力値の相互の大小を比較し、上記最大の出力電力値となる太陽電池出力設定値を選択し、続いて、上記太陽電池出力設定値を次の基準太陽電池出力設定値とし、上記基準太陽電池出力設定値に基づいて3つの太陽電池出力設定値を生成し、上記動作を繰り返すことにより次々と基準太陽電池出力設定値を新しくし、上記新しくなった基準太陽電池出力設定値が所定回数連続して同じ値になったとき、又は上記繰り返し回数が予め定めた基準回数になったときの上記基準太陽電池出力設定値に対応する遺伝子を上記n世代集団の中で評価値が最も大きい遺伝子と交換する山登り処理工程を追加したことを特徴とする太陽光発電システムの制御方法である。
【0024】
第2の発明は、上記n+1世代集団の各遺伝子に対応する各太陽電池出力設定値によって上記インバータを動作させる前に、上記n+1世代集団の遺伝子を無作為に1個抽出し、上記n世代の山登り処理工程によって生成された遺伝子と入れ換える又は追加することを特徴とする請求項1記載の太陽光発電システムの制御方法である。
【0025】
第3の発明は、上記山登り処理工程を上記n世代集団が予め定めた間隔ごとの世代集団になったときに行なうことを特徴とする請求項1記載の太陽光発電システムの制御方法である。
【発明の効果】
【0026】
第1の発明によれば、太陽の移動による日射量の変動又は環境温度の変動によって生じる図5(A)に示す、比較的小さな出力電力変動に対して、図5(B)に示す太陽電池出力設定値が設定され、インバータを順次動作させて一番大きい出力電力値を検出し、上記検出した出力電力値を基準値として処理速度の速い山登り処理によって出力電力値の最大値近傍を追従する。続いて、上記最大値近傍の値を用いて遺伝的アルゴリズム処理を行ない、図5(C)に示す各遺伝子を収束して最大電力値を追従すると、山登り処理の追従の速さと遺伝的アルゴリズム処理の最大電力値を追従の精度の良さとの相乗効果によって、上記日射量の変動又は環境温度の変動によって生じる比較的変動速度の速い出力電力変動に対して充分追従が可能となる。
【0027】
第2の発明によれば、上記遺伝的アルゴリズム処理によって形成された上記n+1世代集団の遺伝子を1個無作為に抽出し、上記n世代の山登り処理工程によって抽出されたエリート遺伝子と交換して、新たな遺伝子集団を生成すると上記交換したエリート遺伝子の作用により、最大電力の追従精度の改善が期待できる。
【0028】
第3の発明によれば、上記山登り処理工程による最大出力電力値の追従回数を少なくすることにより、太陽電池出力設定値の変動回数が大幅に減少するので、上記第1の発明のインバータ装置の出力電力変動よりも変動率が小さくなる。
【発明を実施するための最良の形態】
【0029】
[実施の形態1]
図1は、本発明の実施の形態に係る太陽光発電システムのブロック図である。同図において、図6に示す従来技術の太陽光発電システムのブロック図と同一符号は、同一動作を行なうので説明は省略し符号が相違する構成について説明する。
【0030】
図1に示す、太陽光発電システムのブロック図において、コントローラCCは、遺伝的アルゴリズム制御(GA)と山登り制御(HC)とを行なうコントローラであってマイクロプロセッサである。ここで、コントローラCCのマイクロプロセッサは、太陽電池SCの出力電圧と出力電流とを乗算することによって太陽電池SCの出力電力を算出し、メモリー内にその出力電圧、出力電力値を記憶する。また、コントローラCCはパルス幅制御回路PWMを介してDC/ACインバータINの出力を制御して、太陽電池SCからの出力電圧を制御する。
【0031】
次に、コントローラCCの遺伝的アルゴリズム制御(GA)と山登り制御(HC)とを組み合わせたGA・HCアルゴリズムについて説明する。まず、図示省略の太陽電池出力設定値を遺伝子と見なしかつ太陽電池からの出力電力値を遺伝子の評価値として記憶し、太陽電池出力設定値の設定範囲から複数個の遺伝子を無作為に抽出して第n世代集団を形成する。次に、第n世代集団の中で評価値が最も大きい遺伝子に対応した太陽電池出力設定値を選択して山登り処理工程に進む。上記選択した設定値を第1の基準太陽電池出力設定値としインバータを動作させると共に動作中の太陽電池からの出力電力値を算出して記憶し、次に、上記第1の基準太陽電池出力設定値より所定量大きい第2の太陽電池出力設定値を生成すると共に出力電力値を算出して記憶し、続いて、上記第1の基準太陽電池出力設定値より所定量小さい第3の太陽電池出力設定値を生成すると共に出力電力値を算出して記憶し、上記記憶した各出力電力値の大小を比較して一番大きい出力電力値に対応した太陽電池出力設定値を選択し、続いて、上記太陽電池出力設定値を次の基準太陽電池出力設定値として設定し、以後上記の山登り処理の動作を繰り返すことによって、太陽電池からの出力電力値がもっとも大きくなる基準太陽電池出力設定値を求める。次に、上記求めた基準太陽電池出力電力値に対応とする遺伝子と上記第n世代集団の中で評価値が最も大きい遺伝子とを交換し、上記交換した第n世代集団の遺伝子の評価値によって遺伝的アルゴリズム処理を行ない選択しかつ交叉・突然変異させて所定個数の遺伝子を生成して新たな集団を形成し、上記の動作を繰り返すことによって次々と遺伝子集団の世代を新しくして最大電力値の追従を行なう。
【0032】
図2は、本発明の実施の形態1の動作を説明するフローチャートである。このフローチャートと図4の極大値を追従する図とを参照しながら動作を説明する。
【0033】
太陽電池出力設定値の設定範囲からn個(例えば、10個)の遺伝子を無作為に抽出する(ステップT1)。そして、カウンタiに1を加算する(ステップT2)。
【0034】
上記n個の遺伝子のうち、所定の遺伝子に対応する太陽電池出力設定値を第1の太陽電池出力設定値とし、上記第1の太陽電池出力設定値によってインバータを動作させて第1の太陽電池出力電圧V1を測定する(ステップT3)。上記第1の太陽電池出力設定値に応じて出力される第1の太陽電池出力電流I1を測定する(ステップT4)。コントローラCCのマイクロプロセッサは、上記第1の太陽電池出力電圧V1と第1の太陽電池出力電流I1とを乗算して第1の太陽電池出力電力W1を算出してメモリーに記憶する(ステップT5)。そして、カウンタiに1を加算する。(ステップT6)。
【0035】
次に、太陽電池出力設定値n個(例えば、10個)の出力電力を全て測定したかを判別して、Noの場合にはステップT3に戻り、上記残りのn−1個の遺伝子のうち所定の遺伝子に対応する太陽電池出力設定値を第2の太陽電池出力設定値とし、上記第2の太陽電池出力設定値によってインバータを動作させて第2の太陽電池出力電圧V2を測定する(ステップT3)。上記第2の第太陽電池出力設定値に応じて出力される第2の太陽電池出力電流I2を測定する(ステップT4)。コントローラCCのマイクロプロセッサは、第2の太陽電池出力電圧V2と第2の太陽電池出力電流I2とを乗算して第2の太陽電池出力電力W2を算出してメモリーに記憶する(ステップT4)。続いて、カウンタiに1を加算する(ステップT6)。
【0036】
以後同様の動作を繰り返し、太陽電池出力設定値n個(例えば、10個)の出力電力を全て測定したときに、上記記憶したn個の太陽電池出力電力値に基づいて図4(A)に示す第1世代の初期集団を形成する。(ステップT7)。
【0037】
上記記憶した太陽電池出力電力値のうち、最大値に対応した遺伝子を選択してステップT15にジャンプする(ステップT8)。上記選択した遺伝子に対応した太陽電池出力設定値を第1の基準太陽電池出力設定値として設定する(ステップT15)。
【0038】
上記第1の基準太陽電池出力設定値に応じてインバータを動作させて、図4(B)に示す、第1の基準太陽電池出力電圧V1を測定する(ステップT16)。上記第1の基準太陽電池出力設定値に応じて出力される第1の基準太陽電池出力電流I1を測定する(ステップT17)。コントローラCCのマイクロプロセッサは、上記第1の基準太陽電池出力電圧V1と第1の基準太陽電池出力電流I1とを乗算して第1の基準太陽電池出力電力W1を算出し、メモリーに上記第1の基準太陽電池出力電圧V1と第1の基準太陽電池出力電力W1との値を記憶する(ステップT18)。
【0039】
次に、第1の基準太陽電池出力設定値より所定量大きい第2の太陽電池出力設定値を設定してインバータを動作させると、図4(B)に示す、第1の基準太陽電池出力電圧V1は第2の太陽電池出力電圧V2となる(ステップT19)。
【0040】
上記第2の太陽電池出力設定値に応じて出力される第2の太陽電池出力電圧V2及び第2の太陽電池出力電流I2を測定する(ステップT20)。コントローラCCのマイクロプロセッサは、上記第2の太陽電池出力電圧V2と第2の太陽電池出力電流I2とを乗算して第2の太陽電池出力電力W2を算出し、メモリーに上記第2の太陽電池出力電圧V2と第2の太陽電池出力電力W2との値を記憶する(ステップT21)。
【0041】
続いて、第1の基準太陽電池出力設定値より所定量小さい第3の太陽電池出力設定値を設定してインバータを動作させると、図4(B)に示す第1の基準太陽電池出力電圧V1は第3の太陽電池出力電圧V3となる(ステップT22)。
【0042】
上記第3の太陽電池出力設定値に応じて出力される第3の太陽電池出力電圧V3及び第3の太陽電池出力電流I3を測定する(ステップT23)。コントローラCCのマイクロプロセッサは、上記第3の太陽電池出力電圧V3と第3の太陽電池出力電流I3とを乗算して第3の太陽電池出力電力W3を算出し、メモリーに上記第3の太陽電池出力電圧V3と第3の太陽電池出力電力W3との値を記憶する(ステップT24)。
【0043】
上記より記憶された、図4(B)に示す第1の基準太陽電池出力電圧V1、第2の太陽電池出力電圧V2、第3の太陽電池出力電圧V3に(V3<V1<V2)における出力電力値W1、W2、W3の相互の大小を比較して一番大きい出力電力値に応じた太陽電池出力設定値を選択して次の基準太陽電池出力設定値とする(ステップT25)。
【0044】
上記基準太陽電池出力設定値が所定回数連続して同じ値であるか、又は、ステップT16からステップT25の動作を繰り返し予め定めた基準回数行なったかを判別し、Noの場合は、ステップT16に戻る。続いて、ステップT16からステップT25の動作を繰り返して求めた上記基準太陽電池出力設定値が所定回数連続して同じ値であるか又は予め定めた基準回数になったかを判別し、Yesの場合、ステップT9に進む(ステップT67)。
【0045】
上記山登り処理から遺伝的アルゴリズム処理に戻り、まず、上記山登り処理によって選択された上記基準太陽電池出力設定値に応じた遺伝子と上記初期集団の中で評価値が最も大きい遺伝子とを交換して、n個の新たな遺伝子集団を生成する(ステップT9)。
【0046】
次に、上記n個の新たな遺伝子集団をGA制御器に入力し、上記n個の遺伝子のうち、無作為に遺伝子2個を抽出して評価値である太陽電池出力電力値の大きい方を選択し上記選択を繰り返して2個の遺伝子を選択する(ステップT10)。
【0047】
上記選択した2個の遺伝子を2進数の文字列に変換し、予め定めた確率である任意点で交叉させて新たに2個の遺伝子を生成する(ステップT11)。
【0048】
上記交叉した遺伝子に対して、予め定めた低い確率で意図的に文字列の一部を変化させて突然変異を行なう(ステップT12)。
【0049】
上記選択と交叉との回数がn/2(例えば10/2)以下のとき、ステップT10に戻る(ステップT13)。上記選択と交叉との回数がn/2(例えば10/2)のときは、ステップ14に進み、図4(C)に示す第2世代集団を形成する(ステップT14)。
【0050】
続いて、ステップT2に戻り、上述のステップT3からステップT7の動作を繰り返して、第2世代集団の各遺伝子に対応する各太陽電池出力設定値によって上記インバータを順次動作させると共に動作中の太陽電池からの出力電力値を各遺伝子の評価値として記憶し、ステップT8において、上記記憶した太陽電池出力電力のうち、最大値に対応した遺伝子を選択してステップT15にジャンプする(ステップT8)。上記選択した遺伝子に対応した太陽電池出力設定値を第1の基準太陽電池出力設定値として設定する(ステップT15)。以後、上述と同様の山登り処理と遺伝的アルゴリズム処理とを繰り返すことによって次々と遺伝子集団の世代を新しくして、図4(D)に示す、第n世代集団を形成し太陽電池からの出力電力値が略最大値となるように制御する。
【0051】
上述の遺伝的アルゴリズム制御(GA)と山登り制御(HC)とを組み合わせたGA・HCアルゴリズムを用いると山登り処理の追従の速さと遺伝的アルゴリズム処理の追従精度の良さとを持ち合わせた制御が可能となる。
【0052】
[実施の形態2]
図3に示すフローチャートを用いて、実施の形態2の動作を説明する。同図において、図2に示す本発明の実施の形態1のフローチャートと同一符号は、同一動作を行なうので説明は省略して相違する動作について説明する。また、本発明と実施の形態2との相違点は、図3に示すフローチャートのステップT14のみである。
【0053】
ステップT26で山登り処理から遺伝的アルゴリズム処理に戻り、まず、上記山登り処理によって設定された上記基準太陽電池出力電力値に応じた遺伝子と上記初期集団の中で評価値が最も大きい遺伝子とを交換して、n個の遺伝子集団を生成する(ステップT9)。
【0054】
次に、上記n個の新たな遺伝子集団をGA制御器に入力し、上記n個の遺伝子のうち、無作為に遺伝子2個を抽出して評価値である太陽電池出力電力値の大きい方を選択し上記選択を繰り返して2個の遺伝子を選択する(ステップT10)。
【0055】
上記選択した2個の遺伝子を2進数の文字列に変換し、予め定めた確率である任意点で交叉させて新たに2個の遺伝子を生成する(ステップT11)。
【0056】
上記交叉した遺伝子に対して、予め定めた低い確率で意図的に文字列の一部を変化させて突然変異を行なう(ステップT12)。
【0057】
上記選択と交叉との回数がn/2(例えば10/2)以下のとき、ステップT10に戻る(ステップT13)。上記選択と交叉との回数がn/2(例えば10/2)のときは、ステップ14に進む(ステップT13)。
【0058】
続いて、上記遺伝的アルゴリズム処理により形成されたn+1世代集団の遺伝子を1個無作為に抽出し、上記n世代の山登り処理によって生成された遺伝子と入れ換える又は追加して、n+1世代集団を生成して、ステップT2に戻り、上述の実施の形態1と同一動作を行なう(ステップ14)。
【0059】
[実施の形態3]
図3に示すフローチャートを用いて、実施の形態3の動作を説明する。同図において、図2に示す本発明の実施の形態1のフローチャートと同一符号は、同一動作を行なうので説明は省略して相違する動作について説明する。また、本発明と実施の形態3との相違点は図2のフローチャートのステップT8のみである。
【0060】
ステップT7において、太陽電池出力設定値n個(例えば、10個)の出力電力を全て測定したときに、上記記憶したn個の太陽電池出力電力値に基づいて図4(A)に示す第1世代の初期集団を形成する(ステップT7)。
【0061】
遺伝的アルゴリズム工程回数をカウントして、上記遺伝的アルゴリズム工程回数が予め定めた定間隔の所定回数になると、ステップT7で記憶した太陽電池出力電力値のうち最大値を選択してステップT15にジャンプして、山登り処理を行なう。また、上記遺伝的アルゴリズム工程回数が予め定めた間隔の所定回数以外のときは、ステップT9に進む。続いて、決定したn個の遺伝子集団をGA制御器に入力して遺伝的アルゴリズム処理を行なう。(ステップT9)。
【図面の簡単な説明】
【0062】
【図1】本発明の実施形態に係る太陽光発電システムのブロック図である。
【図2】本発明の実施の形態1の動作を説明するフローチャートである。
【図3】本発明の実施の形態2、3の動作を説明するフローチャートである。
【図4】実施の形態1により極大値を追従する図である。
【図5】実施の形態2により極大値を追従する図である。
【図6】従来技術の太陽光発電システムのブロック図である。
【図7】従来技術の動作を説明するフローチャートである。
【図8】従来技術により極大値を追従する図である。
【符号の説明】
【0063】
AD 負荷
CC コントローラ
CT 電流検出回路
IN インバータ回路
PT 電圧検出回路
PWM パルス幅制御回路
SP 系統電源
SC1 太陽電池
SC2 太陽電池
SC3 太陽電池

【特許請求の範囲】
【請求項1】
太陽電池からの出力電圧又は出力電流が予め定めた太陽電池出力設定値と略等しくなるようにインバータを制御し、日射状態の変化に追従して太陽電池からの出力電力値が略最大値になるように前記太陽電池出力設定値を適正値に制御する太陽光発電システムの制御方法であって、前記太陽電池出力設定値を遺伝子と見なしかつ太陽電池からの出力電力値を遺伝子の評価値とする遺伝的アルゴリズムに基づくGA制御器を具備し、前記太陽電池出力設定値の設定範囲から複数個の遺伝子を無作為又は予め定めた条件に基づいて抽出して第1世代の初期集団を形成し、この初期集団の各遺伝子に対応する各太陽電池出力設定値によって前記インバータを順次動作させると共に動作中の太陽電池からの出力電力値を各遺伝子の評価値として記憶し、続いて、前記初期集団の各遺伝子を前記GA制御器に入力し各遺伝子の評価値によって選択しかつ交叉・突然変異させて所定個数の遺伝子を出力して第2世代集団を形成し、続いて、前記第2世代集団の各遺伝子に対応する各太陽電池出力設定値によって前記インバータを順次動作させると共に動作中の太陽電池からの出力電力値を各遺伝子の評価値として記憶し、続いて、前記第2世代集団の各遺伝子を前記GA制御器に入力し各遺伝子の評価値によって選択しかつ交叉・突然変異させて所定個数の遺伝子を出力して第3世代集団を形成し、以後、上記動作を繰り返すことによって次々と遺伝子集団の世代を新しくし第n世代集団を形成する遺伝的アルゴリズム工程によって太陽電池からの出力電力値が略最大値となるように制御する太陽光発電システムの制御方法において、前記n世代集団の各遺伝子を前記GA制御器に入力する前に、前記n世代集団の中で評価値が最も大きい遺伝子を選択し、前記選択した遺伝子に対応した太陽電池出力設定値を基準太陽電池出力設定値とし、前記基準太陽電池出力設定値、前記基準太陽電池出力設定値より所定量大きい値及び所定量小さい値の3つの太陽電池出力設定値を生成し、前記各太陽電池出力設定値によって前記インバータを順次動作させて各出力電力値の相互の大小を比較し、前記最大の出力電力値となる太陽電池出力設定値を選択し、続いて、前記太陽電池出力設定値を次の基準太陽電池出力設定値とし、前記基準太陽電池出力設定値に基づいて3つの太陽電池出力設定値を生成し、前記動作を繰り返すことにより次々と基準太陽電池出力設定値を新しくし、前記新しくなった基準太陽電池出力設定値が所定回数連続して同じ値になったとき、又は前記繰り返し回数が予め定めた基準回数になったときの前記基準太陽電池出力設定値に対応する遺伝子を前記n世代集団の中で評価値が最も大きい遺伝子と交換する山登り処理工程を追加したことを特徴とする太陽光発電システムの制御方法。
【請求項2】
前記n+1世代集団の各遺伝子に対応する各太陽電池出力設定値によって前記インバータを動作させる前に、前記n+1世代集団の遺伝子を無作為に1個抽出し、前記n世代の山登り処理工程によって生成された遺伝子と入れ換える又は追加することを特徴とする請求項1記載の太陽光発電システムの制御方法。
【請求項3】
前記山登り処理工程を前記n世代集団が予め定めた間隔ごとの世代集団になったときに行なうことを特徴とする請求項1記載の太陽光発電システムの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−119696(P2006−119696A)
【公開日】平成18年5月11日(2006.5.11)
【国際特許分類】
【出願番号】特願2004−303840(P2004−303840)
【出願日】平成16年10月19日(2004.10.19)
【出願人】(000000262)株式会社ダイヘン (990)
【Fターム(参考)】