多目標優化系列:
MOP_2. 非支配排序遺傳算法 —(NSGA、NSGA-II)
基於分解的多目標進化算法 (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 :,...... 由參數 H 控制。具體爲每個權向量都會從集合中選取對應的值,所以權向量的個數可以通過公式 來計算。
舉例:當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)的權向量產生方法中可以預先產生一組權向量 ,其中,對於所有的 i=1,...,m,都有 ,且 。
1)加權和法(WS)。經過這種方法分解後所得的單目標優化問題爲:
(1-1)
其中 x 是需要優化的變量。加權和分解法將所有的目標函數做了累加處理,然後作爲一個整體的子問題來進行求解。文獻中表明這種分解方法對凸優化問題的效果較好,但是對於PF 爲非凸的情況往往不能求得很好的解。
2)切比雪夫分解法(TCH)。經過這種方法分解後所得的單目標優化問題爲:
(1-2)
其中,表示一系列參考點,也就是說,對於每一個 i=1,2,...,m,。可以知道對於一個Pareto最優解 ,必然會存在依據權向量 使得是(1-2)一個最優解,並且每一個(1-2)的最優解都會對應一個多目標優化問題的Pareto最優解,所以,通過改變權向量,我們就可以通過使用 TCH 分解法的 MOEA/D 來獲得更多不同的 Pareto 最優解。
3)基於懲罰的邊界交集法(PBI)。經過這種方法分解後所得的單目標優化問題爲:
(1-3)
其中,z的含義同2),表示一個懲罰因子,經驗上,當解決目標個數大於 2 個的 MOPs 時,若使用相同分佈的權向量,使用 PBI 分解法的 MOEA/D 會比使用 TCH 分解法的 MOEA/D 效果更加好。但是,這也需要爲此付出代價,也就是必須設置有效的懲罰因子 。
(3)算法框架
MOEA/D 的基本思想是使用一個聚合函數將一個 MOP 分解爲一系列的單目標子優化問題,然後使用其他的進化算法對他們同時進行優化求解。
本文參考: