遺伝オペレータには, 交配, 突然変異, 自然淘汰の3種類がある.
一般的なGAでは, ビットストリングの一部を入れ換える交差法が用いられるが,生成さ れる個体が定義域に入らない不能解や, 極めて評価の悪い解となる確率が高い. このため, 我々が提案する以下の相対ベクトル交差法を使用する.
A'が定義域の内側に存在するときは, A'がそのまま交配結果となる. A'が 定義域の外側に存在する場合には, 図5.13(b)のように, Aと A'の中点A''を計算する(2). この中点操作を定義域に入るまで繰り返 す(3). 図では二回の中点操作によって, 定義域内部に存在する個体A''' を得ている.
この交配法の特徴として, 生成された個体A'と元の個体Aの距離が, 元の2個体A, Bの距離と等しいため, 多様性が維持されやすいという性質がある. また, 中点操作 により定義域の境界付近に個体が生成されやすいので, 高速にパレート最適個体に到 達できる.
図5.13 交配(相対ベクトル交差法)のメカニズム
一般的なGAでは, ランダムに選んだ1ビットを反転する方法が用いられるが, ここでは, 以下に示す微小シフト法を使用する.
図5.14 突然変異(微小シフト法)のメカニズム
多目的最適化GAにおいては目標関数がベクトル値であり単純な値の大小では比較できな い. そのため個体間の優越関係に基づいて定められる半順序(ランク)を利用して比較を 行なう. 個体 X が 個の個体に優越されているとき, X のランク を
のように定める[9]. 図5.15にランキングの例を示す.
図5.15 ランキングの例
どのような遺伝オペレータを用いても, 最終的に得られるパレート最適個体集合の分 布に偏りが生じることが多い. この偏りの一因は初期集合の分布の偏りにあるが, 主 たる原因は交 配によって生成される個体の偏りである.
パレート最適個体の多様性を高めるために, 自然選択にランキングのシェアリング を導入する. シェアリング は同じ場所や近い場所に2個体以上が存在する時に, 生き 残り確率を減少させる方法である. 次の niche count (混雑度とも呼ばれる) をランクに乗じて, ランクを調節する.
ここで, d[i,j] は個体 i と個体 j の目的関数域での距離である. Sh(d) はシェアリング 関数であり, d[i,j] の減少関数として与えられる. 次の三角シェ アリング関数がよく用いられる[10] .
はniche半径と呼ばれ, 望ましい個体間の距離であ る. HornHorn94によると, すべてのパレート最適個体について各軸 i の最大 値 と最小値 の差の2乗和の平方根または差の絶対値の総和 が1つのパレート最適解の占める広さ に対応し, 個体数 N と評価関数 の次元 p との間に次の近似関係が成り立つ.
パレート最適個体数が集団サイズよりも小さければすべての個体を残し, より多けれ ば(b)のシェアリング選択によって多様性をできるだけ維持するように選択する. な お, 一回の適応度の計算時間が大きい問題では, すべてのパレート最適個体を残し, 集団サイズが徐々に大きくなってゆくような方法も有効である. 我々は, 後者の方法 を採用した.
なお, ランキングおよび シェアリング は集団中のすべての個体に対してその優越関係 または距離を調べる必要あるので, 計算量が多くなるという問題がある. 同時に, 大域 的な演算であることも並列化のネックとなる.