• 検索結果がありません。

遺伝的アルゴリズム

ドキュメント内 目次 (ページ 70-73)

第 5 章 定格一定制御方式

5.3 発電電力量を最大とする増速比および発電機の定格容量

5.3.1 遺伝的アルゴリズム

GAは、適用範囲の非常に広い、生物の進化を 模倣した学習的アルゴリズムである。すなわち、

何万年も何億年もかけて生物が進化してきたよ うな遺伝的な法則を工学的にモデル化または参 考にして工学に役立つような学習方法を与える ものである。GAでは1つの染色体で各個体、つ まり変数を表現する。また、各個体には適応度 が与えられる。GAにおける適応度とは、各個体 に 対 応 す る 変 数 か ら 求 め た 目 的 関 数 で あ る

(32)~(34)。本研究において、変数は増速比aおよび

発電機の定格容量SBを対応させ、適応度は発電 電力量Wを対応させる。

GAの基本動作について述べる。図5.5にGA のフローチャートを示す。GAでは、はじめに個 体群の初期集団を生成する。ここで、全個体数

K、個体群の中における任意の個体(染色体)

すなわち変数xk(k=1,…,K)は染色体の長さを

Nとすると、遺伝子gkjj= 1,…,N )の列で次式のように表される。

kN kj k k

k g g g g

x1 2  (5.8)

ただし、xk:染色体、N:染色体の長さ、gkj:任意の個体kにおける第 j 遺伝子座の遺伝子 である。ここで、gkjの取り得る値は対立遺伝子と呼ばれる。本研究では対立遺伝子として0 と1の2値、つまり2進数を使用する。また、染色体の長さNは一定とする。

GAでは各個体を2進数で表すため、2進数を対応する変数の実数値に変換する必要があ る。例として、増速比aの定義域が閉区間[25, 30]とし、発電機の定格容量SB[kVA]の定義域 が閉区間[9, 10]であると仮定する。ここで、計算時間の都合上どちらの変数も小数点以下第 6桁まで表すとすると、aは閉区間[25, 30]を5×106以上、SBは閉区間[9, 10]を1×106以上の 等しい大きさに分割しなければならない。したがって、それぞれの 2 進数の長さ(ビット 数)は次式の関係となる。

23 6

22 5 10 ≤2

2  

a: (5.9)

20 6

19 1 10 ≤2

2  

B

S (5.10)

図5.5 GAのフローチャート

初期集団の生成 評価 選択 交叉 突然変異

評価

終了条件

終了 Yes

No

2進数は、(5.9)式よりaは23ビット、(5.10)式よりSBは20ビット必要となる。また、本 研究のように2つの変数を持つ場合はそれぞれの2進数を並べた23+20=43ビットの2進数 を個体の染色体とする。よって、個体群の中における任意の個体 kの染色体 xkは次式のよ うに表される。

 

 

 

 

Bk k

k

S a

x

1000101110110101000111100000011100000000100 (5.11)

ただし、ak:任意の染色体xkの増速比に対応する2進数、SBk :任意の染色体xkの発電機 の定格容量に対応する2進数である。(5.11)式の2進数からそれに対応する変数の実数値へ の変換は次の2つの手順により行える。

<手順1> 2変数それぞれの2進数を10進数へ変換する。

 

k

i

i i

k g g g g a

a   



 

 

10 42

20

) 20 ( 20 2

41

42  2 (5.12)

 

Bk

i

i i

Bk g g g g S

S   



 

 

10

19

0 0 2

18

19  2 (5.13)

ただし、ak:akに対応する10進数、SBk :SBk に対応する10進数である。

<手順2> 次式に示す変換式により、任意の染色体xkに対応する各変数の実数値を求める。

1 2

25 235

 

 

k

k a

a (5.14)

1 2

9 201

 

 

Bk

Bk S

S (5.15)

ただし、ak:任意の染色体 xkに対応する増速比、SBk:任意の染色体xkに対応する発電機の 定格容量である。任意の染色体xkの適応度、つまり発電電力量Wkは(5.14)式および(5.15)式 のakおよびSBkを用いることにより求まる。この過程をGAでは評価とよぶ。

GAでは適応度の高い個体はその数を増やし、逆に低い個体は個体群から無くなる。これ を選択とよぶ。本研究では選択の方法としてルーレット選択を用いる。ルーレット選択で は、はじめに次式により個体群(全個体数:K)における各個体の適応度の総和Wsumを求め る。

K

j j

sum W

W

1

(5.16) 次に、各個体の選択確率pは次式により求める。

sum k

k W

pW (k=1, 2,…,K ) (5.17)

また、累積確率qは次式により求める。

k

j j

k p

q

1

(k=1, 2,…,K ) (5.18)

次の世代に残す個体を決定するために、0~1 までの乱数randを発生させて、累積確率qrandの大小関係を順番に調べ、次式の関係を満たすとき、k+1番目の個体を選択する。

1

k

k rand q

q (k=0, 1,…,K-1,q0=0) (5.19)

このプロセスをK回繰り返すことにより、K個の個体が選択される。(5.19)式に示すように、

pk+1=qk+1-qkが大きければ乱数randがその範囲に入る可能性が高い。したがって、pkが高い 個体ほど選ばれやすく、逆にpkの低い個体ほど選ばれにくい。

上述の選択だけでは個体群の中にある個体の中で適応度の高いものばかりを選択するこ とになり、進化を進めることは不可能である。そこで、GAでは染色体の一部組み替えを行 う。この操作をGAでは交叉とよぶ。交叉では、どのようにして個体を選択するのか、選択 した個体をどのように交叉させるのかという 2 つの操作が重要となる。これらの操作はそ れぞれ、交叉確率pcおよび交叉点の数に依存する。交叉させる個体を決定するために、0~1 までの乱数randを発生させ、i番目の乱数randirandi<pcを満足するときi 番目の染色体 を親として選ぶ。この操作を K 回繰り返し、交叉させる個体を決定する。次に、交叉位置 を決める。本研究では交叉により多くの新しい染色体を生成するために、交叉点が二つあ る二点交叉を用いる。二点交叉の例を図5.6に示す。図5.6に示すように、親1、親2の染 色体において交叉点が切れ目“|”の箇所であれば、切れ目に挟まれた 2 つの親の遺伝子 をそのまま交換して、新しい染色体である子1、子2を生成する。

上述の交叉の操作を導入しても進化は十分に行われないことが考えられる。このため、

図5.6 二点交叉

図 突然変異

繰り返しの過程において、個体群に新しい遺伝子をもつ個体を補充する必要がある。この 操作をGAでは突然変異とよぶ。GAでは、染色体上の任意の遺伝子座の遺伝子が低い確率

(突然変異確率 pm)で突然変異の対象とされ、その対象となった遺伝子座を他の対立遺伝 子に置き換えることにより、交叉だけでは生成できない個体を生成する。突然変異の対象 となる遺伝子は、前述の交叉と同様に0~1までの乱数randを発生させ、乱数の発生回数と 1番目の個体の第 1遺伝子座から数えた位置とを対応させながら、rand<pmが満足された染 色体の遺伝子座を突然変異させる。図5.7に突然変異の例を示す。図5.7に示すように、突 然変異により個体1001110100の第4遺伝子座が選ばれ、第4遺伝子座の遺伝子1が対立遺 伝子である0に置き換えられる。

GAを設計する際に必要なパラメータは (1) 1世代あたりの個体数K、(2) 終了条件となる 最終世代数、(3) 交叉確率pc、(4) 突然変異確率pmがある。また、GAでは(2)の最終世代ま でに得られた個体の中で適応度、つまり発電電力量Wが最大となる個体を準最適解とする。

ドキュメント内 目次 (ページ 70-73)