1. 程式人生 > >基於非支配排序的多目標PSO演算法

基於非支配排序的多目標PSO演算法

這一篇是Xue Bing在一區cybernetics發的論文,裡面提出了兩個多目標PSO特徵選擇演算法,一個是NSPSO另一個是CMDPSO。其中NSPSO是參考了NSGA2的框架和思想。下面具體說說NSPSO。

非支配排序
來自NSGA2中的非支配排序

該需要儲存兩個量:

(1).支配個數np。該量是在可行解空間中可以支配個體p的所有個體的數量。

(2).被支配個體集合SP。該量是可行解空間中所有被個體p支配的個體組成的集合。

下面是fast_nondominated_sort的虛擬碼

個體擁擠距離
在同一層Fk中需要進行選擇性排序,按照個體擁擠距離(crowding distance)大小排序。個體擁擠距離是Fk上與i相鄰的個體i+1和i-1之間的距離,其計算步驟為:
①對同層的個體距離初始化,令L[i]d=0(表示任意個體i的擁擠距離)。
②對同層的個體按照第m個目標函式值升序排列。
③對於處在排序邊緣上的個體要給予其選擇優勢。
④對於排序中間的個體,求擁擠距離:

(其中:L[i+1]m為第i+1個體的第m目標函式值fmax,fmin分別為集合中第m目標函式的最大和最小值。)
⑤對於不同的目標函式,重複②到④的步驟,得到個體i的擁擠距離L[i]d,有限選擇擁擠距離較大的個體,可以是計算結果在目標空間均勻地分佈,維持群體的多樣性。

虛擬碼
這裡寫圖片描述
更多內容訪問omegaxyz.com
網站所有程式碼採用Apache 2.0授權
網站文章採用知識共享許可協議BY-NC-SA4.0授權
© 2018 • OmegaXYZ-版權所有 轉載請註明出處