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

第 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

)

/(n1) h= 1f1/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

)

/(n1) 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

)

/(n1) h= 1f1/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 (n1) +

( n

i=2

(

x2i 10cos (4πxi))) h= 1f1/g

x1 [0,1] xi [5,5]

i= 2, ..., n n= 10

ZDT6 : min f1(x) = 1exp (4x1) sin6(10πx1) (4.10) min f2(x) =g·h

g = 1 + 9

(( n

i=2

xi

)

/(n1)

)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のように,粒子群の初期収束が 生じやすい問題では有効な探索を行えない可能性がある.したがって,問題に適し た行動の追加やパラメータ設定を行うことで,実問題における探索性能の改善を行 うことが望ましいと考えられる.