第3章 多目的遺伝的アルゴリズム
3.5 パレート解の評価方法
目的関数 f1 と f2がバランスした解がパレート解であるならば弓形の面積(斜線の部分)が 大きいほどより良いパレート解と言える。しかし、相 互に競合関係がない(パレート解でない)場合は、1.0 となる。
一般に最適設計では,設計の許容範囲が定められて いる場合が多い,この範囲を評価範囲として定数で指 定する。たとえば,不稼働率ならば,0.0~0.1 と指定 する。
次にパレート解の弓形領域の面積を計算する手順を示 す。
Step 1 パレート解の比較する測定範囲を定める。
例:コストは 81,800,000 から 85,000,000,不稼働率は 0.0 から 0.1 Step 2 測定範囲の解の目的関数値を0.0から1.0に正規化する。
例:81,800,000 から 85,000,000 は 0.0 から 1.0,0.0 から 0.1 は 0.0 から 1.0
Step 3 弓形領域の面積を計算する。測定範囲を最小幅0.01で台形に分割し,範囲の
先頭位置から台形公式を用いて面積を計算する。この面積に2を掛けた値が弓形面積 である。なお,斜め線の左下側の直角三角形の面積は,1.0 とする。
3.5.2 被覆率(cover rate)[25][36]
被覆率はパレート解がある範囲内に均等に求められているか,解のバラツキを測る指標 である。たとえば,解(個体)が偏って分布していても精度から見ると良いと判断される 場合もある。複数の偏りのない設計案を提示するためにも均等なパレート解が有用である。
被覆率の求め方を説明する。①ある測定範囲 を n 等分にして,各領域に解があるか否かを 調べる。あれば1,なければ0とする。②こ の操作をすべての目的関数ごとに行い,この数 を累積する。この値をNとする。③ Nをn×
qで割る。この値が被覆率である。qは目的関 数の数である。被覆率の取り得る値は,0.0か ら1.0である。
2 目的の場合(図 3-10)を例にして被覆率 を計算する。各目的は5等分に分割する。な お,実際の等分数は50~100程度が良いようである。
f2
upper
f1
lower upper lower
Fig.3-9 Arch area 図 3-9 弓形領域の面積
f2
f1
Pareto solution
Fig.3-10 Compute Cover rate 図3-10 被覆率の計算
8 . 2 0 5
4 ) 4
(
1 =
×
= +
=
∑
×=
q
q
i
分割数
等分領域に解がある数 被覆率
3.5.3 パレート解の数(numbers of Pareto solution)
パレート解の数は,基本的に多いほど良い。多ければ,偏りがあっても全体を補えるこ とができるので良い結果となる。しかし,偏りがあると同じような解が多くなり,パレー ト解の更新処理やシェアリング計算などで効率が悪くなる。
パレート解の数は,他の指標と組み合わせて,探索の終了条件にも使用される。提案の 多目的GAでは,ランキングのランク1の累積数をひとつの指標としている。ランク1の 解の集合はパレート解である。
3.5.4 MDI法(Method of Displaced Ideal)により選択した解の精度
MDI 法[35]のメトリックに,3.4.4 で求めた重み係数βtを解の評価値に掛けることで定量 的な距離を測る。ただし,重み係数βtの計算式は評価関数と同じ(式 3-7)であるが,各 目的関数の最大値Zt*(gen)と最小値Zt−(gen)はパレート解から求めた値を使用する。最終世代 のパレート解の数をparetoSizeとすると,MDI法による最良妥協解は次式で求められる。
(詳細は第6章の6.3.1を参照)
paretoSize k
r
q z t
z z L z
paretoSize k
r
z z
z L z
gen t gen t
gen t kt t t
rk q r
t
r
gen t gen t
gen t kt t rk
, , 2 , 1 ,
, , 2 , 1
| max
, , 2 , 1 , 2 , 1
) (
* ) (
) (
*
1
1
) (
* ) (
) (
*
L
L L
=
∞
=
⎭⎬
⎫
⎩⎨
⎧ =
−
⋅ −
=
=
=
⎪⎭
⎪⎬
⎫
⎪⎩
⎪⎨
⎧
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛
−
⋅ −
=
−
= −
∑
β β
paretoSize p
p L L L
e p p p p
p
, , 2 , 1
}
| )
( { min
arg 1 2
*
= L
∀ + +
=
= v ∞
v v
ここで,v*はMDI値である。e(vp)は下に凸となる鍋底形の関数である。argminのarg は argument の省略形であり,評価関数e(vp)の最小値 minに当たるパレート最適解を最 良妥協解として採用することを意味する。
3.5.5 正規化したパレート解の図示
目的ごとに評価範囲を定めておき,この範囲を0から1に正規化する。この範囲のパレ
・・・・・・ (3-15)
・・・・・・・・ (3-14)
ート解を,目的関数で整列して,ある解と次の解の間隔が一定距離 d(例:0.01)以内な ら次の解を無視し,その次の解と比較する。つまり,一定距離間隔以上,離れている解の みを選び出して,グラフで表示する。この利点は,解のばらつき度が目視できることであ る。集中化している解は消去されるので,見やすいグラフが作成できる。
次に示す例は,第2章の図2-8の通信システムModel-3のパレート解の例である。この ような正規化で,解の分布状態とパレート解の比較が容易になる。
条件等: パレート解の表示指定範囲を0.0から1.0に正規化して表示する。
コストの範囲: 212,900,000~216,000,000 不稼働率の範囲: 0.0~0.1
右側のグラフがパレート解で,左側のグラフはその一部分を正規化表現で拡大表示した ものである。このようなグラフ表示で,解は必ずしもきれいに分布していない事が良くわ かる。あるいは,解に探索に抜けている部分があるかもしれないなどを目視できる。
gen=8000,pm=0.6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
unavailibility
cost
gen=8000,pm=0.6
212000000 212500000 213000000 213500000 214000000 214500000 215000000 215500000 216000000 216500000 217000000
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
unavailibility
cost
gen=8000,pm=0.6
Fig. 3--11 Pareto solution of standard range 図3-11 パレート解の正規化表示
Fig. 3-12 Pareto solution of Model-3
図3-12 Model3のパレート解(8000世代,pm=0.6)