Effects of the Use of Scalar Fitness Functions in Evolutionary Many-Objective Optimization

Recently, a powerful algorithm called MOEA/D (Multiobjective Evolutionary Algorithm Based on Decomposition) has been proposed for multiobjective optimization. This algorithm is based on a number of scalar fitness functions with uniformly distributed weight vectors. In this paper, we examine the effect of scalar fitness functions on the scalability of MOEA/D to many-objective problems. Experimental results show advantages and disadvantages of MOEA/D over Pareto-based algorithms such as NSGA-II. Based on these observations, we propose a modified version of MOEA/D to improve its scalability. 1 はじめに 進化型多目的最適化 (EMO: Evolutionary Multiobjective Optimization)は,進化計算において最も活発な 研究分野の一つである.代表的なEMOアルゴリズムと してパレート優越関係に基づく NSGA-II [1]や SPEA2 [2]などがあり,様々な手法が提案されている. しかし一方で,パレート優越関係を用いる手法は多数 目的最適化においてその性能を低下させることが報告さ れている [3]. そこで,EMOアルゴリズムの一つとして パレート優越関係の代わりにスカラー適応度関数を用 いるアルゴリズムや,NSGA-IIにスカラー適応度関数 を組み込んだハイブリッドアルゴリズム [4]などが提案 されている.その中でも,近年提案されたMultiobjective Evolutionary Algorithm Based on Decomposition (MOEA/D) [5]は, スカラー適応度関数を用いる非常に 高い探索能力を持つアルゴリズムである. 本論文ではMOEA/Dを多目的ナップサック問題 [6] に適用した際に計算時間が増大することを示し,その点 を改善する手法を提案する.提案手法により性能を大き く低下させることなく,計算時間が大幅に削減されるこ とを示す. 2 MOEA/D 2.1 MOEA/Dの概要 MOEA/D [5]は多目的最適化において非常に高い探 索能力を持つ EMOアルゴリズムである.MOEA/Dで は探索空間上に重みベクトルを均一に分布させる.そし て,それらの重みベクトルとスカラー適応度関数を用い て,多目的最適化問題をベクトル毎の単一目的最適化の 部分問題へと分割する.また,各重みベクトルに対し, ユークリッド距離の近いベクトルを近傍とし,近傍内に おいて遺伝的操作を行う.MOEA/Dは遺伝的アルゴリ ズムの対象となる個体群とは別に,計算中に獲得された 非劣な個体を保持しておく外部個体群を持つ.外部個体 群を持つことで,スカラー適応度関数上は劣解とみなさ れるが,多目的最適化問題としては非劣な個体が発生し た場合にも対応できる.以下にアルゴリズムの流れを示 す. [MOEA/D] Step 1: 初期化 Step 1.1: ベクトルの生成 Step 1.2: 近傍ベクトルの計算 Step 1.3: 初期個体群生成 Step 1.4: 参照点更新 Step 2: 遺伝的操作 Step 2.1: 親個体選択 Step 2.2: 子個体生成 Step 2.3: 参照点更新 Step 2.4: 近傍解更新 Step 2.5: 外部個体群更新 Step 3: 終了判定 Step 1では初期化を行う.まず,探索に用いるN 個 のベクトル λを以下の式に従い生成する. λ = (λ1, λ2, ..., λk) (1) k ∑ i=1 λi = 1, λi ∈ { 0 H , 1 H , ..., H H } (2) N = H+k−1Ck−1 (3) ここで,kは目的数,H は分割数とする.次に,各ベク トル間のユークリッド距離を計算し,各ベクトル λに 最も近い T 個のベクトル λ1 , ...,λT を λ の近傍とす る.この際 λ自身も近傍に含まれる.次に,ベクトル の総数 N と等しい数の初期個体を生成し,1つのベク トルに対し 1つの個体を対応させる.その後参照点 z∗ の更新を行う.z∗ は以下のように定義される. TC4-4 24th Fuzzy System Symposium (Osaka, September 3-5, 2008)