多目標優化問題中常見分解方法的理解

2021-08-29 04:01:04 字數 1651 閱讀 9693

作為剛上研一提前來給老師當苦力的小菜鳥,第一次學習moead演算法的時候,對其中介紹的分解方法一臉懵*,上網查了不少資料,很難查到詳細的解釋(好吧,可能我查的姿勢不對),完全不理解這些分割方法所給出的表示式的意義,索性擱置了小半個月。

這裡必須要感謝一下chithon的這篇部落格,其中的兩幅配圖讓我豁然開朗,當然,大神完全沒有必要閱讀這篇部落格了,我只是說一下自己從向量和幾何的角度是如何理解這些方法的。

首先,λ被稱之為權重向量,觀察和式,這完全就是m維向量的點乘公式嘛。具體的說,在目標空間中,把演算法求出的乙個目標點和原點相連構造成乙個向量,此時,該方法的做法是將該向量與對應權重向量點乘,由向量點乘的幾何意義可知,所得的數為該向量在權重向量方向上的投影長度,因為權重向量不變,最大/小化該長度值其實就是在優化該向量。可知若要增大該向量在權重向量上投影的長度,一方面可以增大/減小與權重向量的夾角,另一方面可以增大/減小該向量的長度。樣例圖如下:

上圖中:考慮紅色權重向量,因為是最小化問題,所以減小長度,增大夾角都是可行的方案,綠色為等高線,垂直於權重向量。

注意該方法中不再含有σ符號,故不能再從向量點乘的角度理解。該方法大致思想是減少最大差距從而將個體逼近pf。等高線示意圖如下:

首先解釋等高線為什麼是這樣的。單看f1函式,即只考慮縱座標,若兩點等值,必然是 式中f1的函式值相等(因為另外兩個量是不變的),即縱座標相等,所以f1函式的等高線是一組平行於橫軸的直線。f2類似,為一組平行於縱軸的直線。

那麼,圖中的等高線是橫豎相交且剛好交在權重向量的方向上的,這是巧合嗎?可以稍微來證明一下,可知,對於任何乙個可行的切比雪夫值(自己叫的),我們從f1的角度上可以得到乙個f1的值y,從f2的角度上可以得到乙個f2的值x,他們的切比雪夫值是相等的,自然想到,點(x,y)(圖中紫色點)為該切比雪夫值得橫縱兩條等值線的交點,那麼有:λ1*(y-z1)= λ2*(x-z2),化簡的(y-z1)/(x-z2)= λ2/λ1,可知該交點位於權重向量的方向上。

需要注意一點,這裡的權重向量起點是z*,不再是原點。

此時可知,若某個個體位於其權重向量方向的上部,則max得到的一定是其f1部分,故優化也需要減小其f1的值,即個體向下移動,相反,若在權重向量方向的下部,則應像左移動。以此來保證個體目標值落在黃點附近。

一種可能的個體運動路線如下圖橘黃色所示:

式中個引數含義如下圖所示:

式子中等式約束其目的是為了保證f(x)位於權重向量λ的方向上,通過減小d來使演算法求出的解逼近pf。但該條件不太容易實現,故將其改進為下邊這種方法。

各個引數的含義如下圖:

可知演算法放寬了對演算法求出的解得要求,但加入了乙個懲罰措施,說白了,就是你可以不把解生成在權重向量的方向上,但如果不在權重向量方向上,你就必須要接收懲罰,你距離權重向量越遠,受的懲罰越厲害,以此來約束演算法向權重向量的方向生成解。

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

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

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

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

多目標優化問題中常見分解方法的理解

作為剛上研一提前來給老師當苦力的小菜鳥,第一次學習moead演算法的時候,對其中介紹的分解方法一臉懵 上網查了不少資料,很難查到詳細的解釋 好吧,可能我查的姿勢不對 完全不理解這些分割方法所給出的表示式的意義,索性擱置了小半個月。這裡必須要感謝一下chithon的這篇部落格,其中的兩幅配圖讓我豁然開...

多目標優化問題 投資組合的多目標優化

一 多目標問題 二 多目標規劃有效解 1 有效點 參考定理 2 凸多目標規劃 詳細見參考文獻1 3 絕對最優解 有效解 弱有效解 絕對最優解 有效解與弱有效解 4 真有效解 由於有效解的範圍過大,有時候要在要在有效解的範圍內加以限制定義了真有解。根據不同的限制定義了許多不同的真有效解。5 極錐解與非...

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

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