1. 程式人生 > >多目標進化演算法詳述-MOEA/D與NSGA2優劣比較

多目標進化演算法詳述-MOEA/D與NSGA2優劣比較

多目標進化算法系列

NSGA-II由Kalyanmoy Deb等人於2002年在文章"A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II"中提出,是對1994年提出的NSGA的改進,相比於NSGA,NSGA2的改進主要兩點:

  1. 提出一種快速非支配排序,使得Pareto支配排序的時間複雜度由O(N3)O(N^3)優化到O(N2)O(N^2)
  2. 提出一種擁擠距離來衡量解的分佈性,並基於此選擇種群中的合適的個體

NSGA-II的提出,為多目標進化演算法的一大進步,特別是其基於Pareto支配關係的框架被後來許多演算法採用,如NSGA-III,VaEA等。同時,NSGA-II對於低維多目標優化問題效果是不錯的,但是對於高維多目標優化問題,其首先面對的便是由於其基於Pareto支配關係所導致的選擇壓力過小的問題,其次,便是擁擠距離在高維空間不適用,計算複雜度也比較高。

MOEA/D由張青富老師等人於2007年在文章"MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition"中提出。MOEA/D將一個多目標優化問題轉換為多個標量子問題,且每一個子問題由一個均勻分佈的權重向量構成,對於每生成一個新解,則基於聚合函式對該子問題附近的解進行替換。MOEA/D的優時如下:

  1. 收斂更快,計算複雜度低;
  2. 對於比較簡單的PF,由於指導進化的權重向量是均勻分佈的,因此MOEA/D所得到的解分佈比較均勻

MOEA/D的提出為多目標進化演算法提供了一種新的解決方案,基於MOEA/D的演算法隨後遍地開花,MOEA/DD,MOEA/D-STM,MOEA/D-SAS等。標準的MOEA/D對於低維簡單PF的多目標優化問題效果是很好的,但對於複雜PF的問題,其分佈性將會大打折扣,同時,對於高維多目標優化問題,其分佈性也不能得到保證,效果也比較差。

下面比較兩種演算法的優劣:

  1. 從低維多目標優化問題(2-,3-目標)看:
    低維情況也要分兩種情況考慮,一種是簡單的PF的MOP,一種是複雜PF的MOP。
    首先來看簡單的PF的情況。以2維的DTLZ1為例,下面兩張圖分別是NSGA-II和MOEA/D得到的2維DTLZ1的散點圖。

NSGA-II
MOEA/D
很顯然,對於2維DTLZ1,MOEA/D無論在均勻度上面,還是收斂性上面都優於NSGA-II。
下面再看複雜PF的情況,在此以有long tail 和 sharp peak的PF的F1為例,下面兩張圖就是NSGA-II和MOEA/D得到的近似解的散點圖。

NSGA-II
MOEA/D
不難看出,對於F1來說,NSGA-II的效果是優於MOEA/D的,這主要是因為MOEA/D基於均勻分佈的權重向量來指導進化的進行,但對於這類複雜PF的MOP,單位超平面上分佈均勻的權重向量並不能保證解的均勻分佈性。
3. 從高維看
NSGA-II 首先存在選擇壓力過小的問題 再就是擁擠距離的計算及其複雜
MOEA/D 在高維情況下分佈性也不是很好

但總的來看,不管低維還是高維,MOEA/D比NSGA-II的速度快很多。

QQ交流群:399652146