1. 程式人生 > >基於擁擠距離與變異支配的多目標PSO演算法

基於擁擠距離與變異支配的多目標PSO演算法

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

CMDPSO全稱是Crowding,Mutation,Dominance PSO演算法。

個體擁擠距離
在同一層Fk中需要進行選擇性排序,按照個體擁擠距離(crowding distance)大小排序。個體擁擠距離是Fk上與i相鄰的個體i+1和i-1之間的距離,其計算步驟為:
①對同層的個體距離初始化,令L[i]d=0(表示任意個體i的擁擠距離)。
②對同層的個體按照第m個目標函式值升序排列。
③對於處在排序邊緣上的個體要給予其選擇優勢。
④對於排序中間的個體,求擁擠距離
⑤對於不同的目標函式,重複②到④的步驟,得到個體i的擁擠距離L[i]d,有限選擇擁擠距離較大的個體,可以是計算結果在目標空間均勻地分佈,維持群體的多樣性。

虛擬碼

在這裡插入圖片描述
注意archive中存的是每一代的精英粒子集合

具體流程
①劃分資料集
②初始化精英集合和存檔Archive
③計算擁擠距離
④二進位制錦標賽選擇一個一個精英個體來作為gbest指導更新
⑤更新粒子
⑥使用變異運算元
⑦粒子真實評價
⑧將LeaderSet加入存檔
⑨迭代完成後計算存檔中的兩個目標值