1. 程式人生 > >多目標優化系列(三)MOEA/D

多目標優化系列(三)MOEA/D

摘要

該文中文名是:基於分解的多目標進化演算法。該方法將一個多目標優化問題分解為一組但目標優化問題並對他們同時優化。通過利用每一個子問題相鄰的子問題來優化他本身。

引言(摘錄)

多目標優化問題可以用該式子表示:
這裡寫圖片描述
其中Ω是決策空間,F:Ω→Rm,包含了m個實值目標方法,Rm被稱為目標區間。對於可以得到的目標集合成為{F(x)|x∈Ω}。如果目標函式互斥,那麼同時對所有目標函式求最優解往往是無意義的。有意義的是獲得一個能維持他們之間平衡的解。這些在目標之間獲得最佳平衡的解被定義Pareto最優。
一般來說,在溫和控制下多目標優化問題的Pareto最優解,可以看做是一個標量優化問題的最優解(其中目標函式是fi的集合)。因此,Pareto最優前沿的近似求解可以被分解為一組標量目標優化子問題。這個想法是建立在許多傳統的對最優前沿求近似解的數學程式設計方法上的。現在有許多的聚合方法,最流行的是切比雪夫法和加權法。最近,邊界交叉方法也引起了許多的關注。
在本篇文章中,作者提出了一個新的基於分解的多目標進化演算法。MOEA/D將MOP分解為N個標量的子問題。它通過進化出一個解的種群來同時解決所有子問題。對於每一代種群,種群是從所有代中選出的每一個子問題的最優解的集合。相鄰兩個子問題鍵的關聯程度是由它們的聚合係數向量間的距離所決定的。對於兩個相鄰子問題來說,最優解應該是非常相似的。對於每一個子問題來說,只是用與其相鄰的子問題的資訊來優化它。MOEA/D有以下特性:

  • MOEA/D提供了一個簡單但是有效的方法,那就是將分解的方法引入到多目標進 化計算中。對於常常在數學規劃領域發展的分解方法,它可以真正的被併入到EA中,通過使用MOEA/D框架來解決MOP問題。
  • 因為MOEA/D演算法是同時優化N標量子問題而不是直接將MOP問題作為一個整 體來解決,那麼對於傳統的並不是基於分解的MOEA演算法來說適應度分配和多樣性控制的難度將在MOEA/D框架中得到降低。
  • MOEA/D演算法有一個較低的計算複雜度相比於NSGA-Ⅱ和MOGLS。總體來說, 在MOGLS和MOEA/D同時解決0-1揹包問題測試樣例中,兩者使用相同的分解方法,MOEA/D在解的質量上表現更為出色。在一組連續的MOP樣例測試中,使用了切比雪夫分解法的MOEA/D方法和NSGA-Ⅱ表現相近。在一個3目標的連續樣例測試中,使用一個先進的分解方法的MOEA/D演算法表現的比NSGA-Ⅱ出色許多。當MOEA/D演算法使用一個小型種群時也可以產生一組種群數量少的分佈均勻的解。
  • 因為在MOEA/D中每一個解都和標量優化問題有關,所以使用標量優化方法顯得 很自然。相反,對於傳統的不是基於分解的MOEA演算法的一個缺點就是很難找到一個簡單的方法來衝分利用標量優化演算法。

正文

首先,我們介紹三種分解(將解投影到每一個子問題上,而每一個子問題就是一個方向)方法。

A. 權重求和方法
假設待優化的多目標問題有m個目標,該函式通過一個非負權重向量λ =(λ1……λm)加權到每個目標上將問題轉換為單目標問題。每一個但目標問題都可以如下表示,不同的問題有不同的權重向量,對於所有的i=1,2,…,m,λi>=0,權重和為1。
這裡寫圖片描述
然而,在最優Pareto面的形狀為非凸面的情況下,這種方法並不能獲得每一個Pareto最優向量。為了克服這些缺點,研究人員做出了一些努力,例如在此方法中引入了ε−約束。
如下圖所示:λi表示一個方向,x1對應在λ1上的點為H1,H1到O點的距離則為x1在λ1方向上的投影,即x1在該問題上所對應的子問題值。
這裡寫圖片描述


B.切比雪夫聚合方法
計算公式如下圖所示:對於每一個i=1,…,m,有Zi*=min⁡{fi(x)|x∈Ω}。
這裡寫圖片描述

c.邊界交叉聚合方法
先上圖,F(x)為原始問題,λ代表一個向量,z*是對應參考點,我們目的是讓F(x)儘可能的逼近右上角的實曲線,該方法通過採用懲罰的方法來處理約束。
這裡寫圖片描述
公式:d1代表F(x)在λ投影上距參考點的距離,我們想讓d1儘可能的小,並且為了多樣性,增加d2。
這裡寫圖片描述

基於分解的多目標優化演算法的框架

該文采用切比雪夫方式來分解。
這裡寫圖片描述
從初始條件可以看出,每個子問題均含一個解。
這裡寫圖片描述
這裡對下圖中的演算法進行簡要描述。首先,初始化過程如上圖描述,更新是由臨近的權重向量對應的x中選擇兩個產生新的解,更新z,更新域的方式(第二幅圖)是:如果新解在該向量鄰域內比某個點優,則將該向量代表的點替換成新解,並且吧該新解的值付給FVj。
這裡寫圖片描述

這裡寫圖片描述

細節

B(i)中包含了λi的T個索引向量,兩個向量之間的距離可用歐氏距離來衡量,距離權重向量λi的最近權重向量是其本身,在step2.1中,權重向量對應的x應是當前對應所屬子問題的最好解,他們的子代y應對第i個問題產生好的解有幫助。