MOEA D的3種分解方式理解

2021-10-01 20:20:21 字數 1213 閱讀 7011

表示式為:

其中,λ是權重向量,f(x)表示目標函式。兩個向量相乘表示向量的內積或數量積,幾何含義為乙個向量在另乙個向量的對映。如下圖所示,等高線為垂直於λ的綠線。

表示式為:

如下圖所示,等高線為綠色的線,當為兩個目標的時候,等高線為折線。但是每次根據點的位置,只能有一條等高線,如點在直線上方的時候,等高線為那條橫線,優化的時候是向下優化。當點在直線(向量λ)下方的時候,等高線是一條縱向的直線,優化的時候是向左運動。

所以優化過程中,一種運動路線為:

改進後的公式為:

含義圖如圖suo所示:

就是如果不把解放在權重方向的向量上,就必須要接受懲罰,距離權重方向越遠,受的懲罰越大,以此來約束演算法向權重向量的方向生成解。

接下來是關於d1和d2兩個引數的計算表示式的含義說明,我依然是從幾何角度理解的。

d1——觀察d1的計算表示式,z*-f(x)可以看做原點到z*點的向量減去原點到f(x)的向量,得到的是從f(x)出發指向z*的乙個向量,暫且命名為μ,之後μ與λ相乘得到μ在λ方向上的投影,這個長度值與λ的長度值之比為d1。

d2——其表示式的含義其實也無非就是利用向量運算構造出d2所表示的向量,取模即可得到d2.構造過程如下:

z*表紅色向量,d1*λ表藍色向量(因為減法,所以方向取反),紅色減藍色得紫色向量,f(x)表綠色向量,綠色減紫色得黃色向量,即d2表黃色向量的長度。

參考部落格:

一種基於分解的多目標優化演算法 MOEA D

本次實驗以測試函式zdt1為例,用moea d演算法得到最佳帕累託解集。帕累託解 在約束空間之內,再也找不到比解a更好的解了,那麼a就是其中乙個帕累託最優解。zdt1測試函式 是乙個兩目標問題,其函式如下 moea d是一種基於分解的多目標進化演算法,它將多目標優化問題轉化為一系列單目標優化子問題,...

Spring DI的3種方式

前面講解ioc和di入門的時候,對表現層依賴的service物件,使用了setter方法進行注入,這裡對依賴注入的3中方式進行深入分析。依賴注入的3中方式 1 使用構造器注入 2 使用setter方法注入 3 使用介面注入 構造器注入 car類 public class car override p...

SVD分解的理解

對稱陣a 相應的,其對應的對映也分解為三個對映。現在假設有x向量,用 將其變換到 的列空間中,那麼首先由u 先對x做變換 由於正交陣 u的逆 u 對於兩個空間來講,新空間下的 基e 座標 x 原空間e 座標x 有如下關係 ex e x x e x x e 的逆 x x向量在新的 基 下的新座標 e的...