MOP_3. 基於分解的多目標進化算法 —(MOEAD)

多目標優化系列:

MOP_1. 多目標優化的相關基本概念

MOP_2. 非支配排序遺傳算法 —(NSGA、NSGA-II)

MOP_3. 基於分解的多目標進化算法 —(MOEAD)


基於分解的多目標進化算法 (MOEA/D)

一種基於分解的多目標進化算法,是由張青富教授和李輝博士在 2007年發表在《IEEE Transactions on Evolutionary Computation》上的一篇文章。他們提出了區別於基於支配的MOEAs的另一種算法框架。

張青富教授專門爲 MOEA/D 創建了相應的網站,網址爲:http://dces.essex.ac.uk/staff/zhang/webofmoead.htm,上面有很多由 MOEA/D發展出來的新型且有效的 MOEAs,並且 MOEA/D 的原始模型以及各版本的代碼都已經被共享,這樣可以更大程度地吸引研究者們對MOEA/D發展的關注,同時對以後的研究者提供了便利學習的渠道。

基於分解的多目標進化算法(Multi-objective Evolutionary Algorithm Based on Decomposition, MOEA/D)將多目標優化問題被轉化爲一系列單目標優化子問題,然後利用一定數量相鄰問題的信息,採用進化算法對這些子問題同時進行優化。因爲Pareto前沿面上的一個解對應於每一個單目標優化子問題的最優解,最終可以求得一組Pareto最優解。由於分解操作的存在,該方法在保持解的分佈性方面有着很大優勢,而通過分析相鄰問題的信息來優化,能避免陷入局部最優。

(1)MOEA/D 中使用的產生權向量的方法

MOEA/D 使用了單純形格子點設計法來產生權向量。首先,需要確定一個正整數 H 。那麼權向量的個數爲 N :\lambda ^{1}\lambda ^{2}......\lambda ^{n} 由參數 H 控制。具體爲每個權向量都會從集合\left \{ \frac{0}{H},\frac{1}{H},...,\frac{H}{H}\right \}中選取對應的值,所以權向量的個數可以通過公式 N=C_{H+m-1}^{m-1} 來計算。

舉例:當m=3,H=1時,有3各權向量產生:(0,0,1),(0,1,0),(1,0,0);

           當m=3,H=2時,有6各權向量產生:(0,0,1),(0,1,0),(1,0,0),(0,1/2,1/2),(1/2,0,1/2),(1/2,1/2,0);

           當m=3,H=3時,有10各權向量產生:(0,0,1),(0,1,0),(1,0,0),(0,1/3,2/3),(0,2/3,1/3),(1/3,2/3,0),(2/3,1/3,0),(1/3,0,2/3),(2/3,0,1/3),(1/3,1/3,1/3);可以畫出當 m=3,H =3時對應的點圖:

可以看到在圖中的 10 個點於三角平面內的分佈實際上並不十分均勻,並且這些點中有太多的點都分佈在了邊界上,我們認爲這將會使求得解的質量大受影響。 

(2)MOEA/D 中使用的分解方法

MOEA/D 使用的分解方法有:

加權和法(Weighted  sum  approach,簡稱 WS);

切比雪夫法 (Weighted  Tchebycheff  approach ,簡稱 TCH) ;

基於懲罰的邊界交集法(Penalty-based boundary intersection,簡稱 PBI)。

在(1)的權向量產生方法中可以預先產生一組權向量 \lambda =\left \{ \lambda_{1},\lambda _{2},...,\lambda _{n} \right \}^T,其中,對於所有的 i=1,...,m,都有 \lambda_{1}\geq 0,且 \sum _{i=1}^{m}\lambda_{1}= 0

1)加權和法(WS)。經過這種方法分解後所得的單目標優化問題爲:

\begin{cases} & \text{ min } g^{ws}(x|\lambda ) =\sum _{i=1}^{m}\lambda_{i}f_{i}(x)\\ & \text{ subject to } x\in \Omega \end{cases}(1-1)

其中 x 是需要優化的變量。加權和分解法將所有的目標函數做了累加處理,然後作爲一個整體的子問題來進行求解。文獻中表明這種分解方法對凸優化問題的效果較好,但是對於PF 爲非凸的情況往往不能求得很好的解。

2)切比雪夫分解法(TCH)。經過這種方法分解後所得的單目標優化問題爲:

\begin{cases} & \text{ min } g^{tcs}(x|\lambda,z^* ) =max (1\leq i\leq m)\left \{ \lambda_{i}|f_{i}(x)-z_{i}^{*} \right \}\\ & \text{ subject to } x\in \Omega \end{cases}(1-2)

其中,z^{*}=(z_{1}^{*},z_{2}^{*},...,z_{m}^{*})^T表示一系列參考點,也就是說,對於每一個 i=1,2,...,m,z_{i}^{*}<min \left \{ f_i(x)|x\in \Omega \right \}。可以知道對於一個Pareto最優解 x^*,必然會存在依據權向量 \lambda 使得x^*是(1-2)一個最優解,並且每一個(1-2)的最優解都會對應一個多目標優化問題的Pareto最優解,所以,通過改變權向量,我們就可以通過使用 TCH 分解法的 MOEA/D 來獲得更多不同的 Pareto 最優解。

3)基於懲罰的邊界交集法(PBI)。經過這種方法分解後所得的單目標優化問題爲:


 

 (1-3)

其中,z的含義同2),\theta表示一個懲罰因子,經驗上,當解決目標個數大於 2 個的 MOPs 時,若使用相同分佈的權向量,使用 PBI 分解法的 MOEA/D 會比使用 TCH 分解法的 MOEA/D 效果更加好。但是,這也需要爲此付出代價,也就是必須設置有效的懲罰因子 \theta

(3)算法框架

MOEA/D 的基本思想是使用一個聚合函數將一個 MOP 分解爲一系列的單目標子優化問題,然後使用其他的進化算法對他們同時進行優化求解。


本文參考:

基於MOEA_D的改進研究_鄭偉

基於分解的多目標進化算法(MOEA/D)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章