第 3 章 実用的な最適化手法の開発 18
4.4 多目的最適化問題への適用
4.4.2 テスト関数の最適化
多目的CAPSOの有効性を検証するために,テスト関数への適用を行う.本実験
では,多目的最適化のテスト関数として用いられるZDTシリーズ[8]を対象とした 検証を行う.ZDTシリーズにおいて,パレートフロントの形状が凸型のZDT1と非 凸型のZDT2,不連続なパレートフロントを持つZDT3,多峰性関数のZDT4,設計 空間に偏りが存在するZDT6の5つを用いる.それぞれの関数を以下に示す.
ZDT1 : min f1(x) = x1 (4.6) min f2(x) = g·h
g = 1 + 9
( n
∑
i=2
xi
)
/(n−1) h= 1−√f1/g
xi ∈[0,1]
i= 1, ..., n n= 10
ZDT2 : min f1(x) = x1 (4.7)
min f2(x) = g·h g = 1 + 9
( n
∑
i=2
xi
)
/(n−1) h = 1−(f1/g)2
xi ∈[0,1]
i= 1, ..., n n= 10
ZDT3 : min f1(x) =x1 (4.8) min f2(x) =g·h
g = 1 + 9
( n
∑
i=2
xi
)
/(n−1) h= 1−√f1/g−(f1/g) sin(10πfi)
xi ∈[0,1]
i= 1, ..., n n= 10
ZDT4 : min f1(x) =x1 (4.9) min f2(x) = g·h
g = 1 + 10 (n−1) +
( n
∑
i=2
(
x2i −10cos (4πxi))) h= 1−√f1/g
x1 ∈[0,1] xi ∈[−5,5]
i= 2, ..., n n= 10
ZDT6 : min f1(x) = 1−exp (−4x1) sin6(10πx1) (4.10) min f2(x) =g·h
g = 1 + 9
(( n
∑
i=2
xi
)
/(n−1)
)0.25
h= 1−(f1/g)2 xi ∈[0,1]
i= 1, ..., n n= 10
実験では,各関数に対して同じパラメータを適用した.CAPSOは,大域探索性 能を高めるために3.2.2で用いた標準的なパラメータを用い,粒子数を100,繰り 返し回数を3,000,悪化受理率を20%,移動量の最大値を35%とした.比較手法の NSGA2は,個体数を100,実行世代数を3,000とし,交叉としてBLX-αを用いた.
BLX-αのパラメータは,α= 1.0とした.NSGA2は,上述のように多目的最適化に おいて有効とされている手法である.この手法では,パレートランクに基づいた個 体群のソートと評価値空間における個体群の混雑度を用いてパレートフロントの探 索が行われる.例えば,個体の適応度を決定する際に,パレートランクに基づいて 並び替えた後,ランクが低い順に淘汰を行うと同時に,同ランク内では混雑度が高 い,つまり密集した箇所に存在する個体から順に淘汰する.このように自然淘汰を 行うことで,より優れたパレートフロントの探索と同パレートランク内では多様な 解を探索することが可能となる.CAPSOとNSGA2との大きな違いは,多様な解を 探索するための方法である.NSGA2では混雑度を用いることで個体群の多様性を 持たせているのに対して,CAPSOにおける粒子の行動ルールで有効な探索が行え るかどうか検証する.両手法をそれぞれの関数に適用して得られたパレート解を図 4.13から4.17に示す.
それぞれの結果より,ZDT4以外の関数では,CAPSOの方が精度の高いパレート 解を探索することができた.ZDT4では,図4.16からわかるように,NSGA2より パレートランクの高い解を得ることはできたが,探索できたパレート解の範囲は限 られていた.この関数では,f1(x)を最小化してからf2(x)の最小化が行われる.そ
の際,CAPSOによる探索はGAによる探索と比べて大きな変化が生じにくく,悪
化受理の影響で粒子の行動が抑制されている.一方,NSGA2では,交叉と突然変異 によって新たな個体が生成されるだけでなく,個体の混雑度に基づいて探索領域を 広げることが行われている.これにより,得られたパレート解の精度はCAPSOに
0.0 1.0 2.0 3.0
0 0.2 0.4 0.6 0.8 1
NSGA2 CAPSO
f
1(x ) f
2(x )
図 4.13: ZDT1の適用結果
0.0 1.0 2.0 3.0
0 0.2 0.4 0.6 0.8 1
NSGA2 CAPSO
f
1(x ) f
2(x )
図 4.14: ZDT2の適用結果
-1.5 0.0 1.5 3.0 4.5
0 0.2 0.4 0.6 0.8 1
NSGA2 CAPSO
f
1(x ) f
2(x )
図 4.15: ZDT3の適用結果
0.0 1.0 2.0 3.0
0.0 0.2 0.4 0.6 0.8 1.0
NSGA2 CAPSO
f
1(x ) f
2(x )
図 4.16: ZDT4の適用結果
0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
0.0 0.5 1.0 1.5
NSGA2 CAPSO
f
1(x ) f
2(x )
図 4.17: ZDT6の適用結果
劣るが,より広い範囲でパレート解を探索できたと考えられる.
CAPSOによるパレート解の探索は,個々の粒子が自律的に行動することで様々
な解を同時に探索できるだけでなく,状況に応じて単目的最適化のための行動を行 うことから,各目的関数の最適化を行いながら,精度の高いパレート解を探索する ことができたと考えられる.しかしながら,ZDT4のように,粒子群の初期収束が 生じやすい問題では有効な探索を行えない可能性がある.したがって,問題に適し た行動の追加やパラメータ設定を行うことで,実問題における探索性能の改善を行 うことが望ましいと考えられる.