演算法描述:n個粒子在q維(變數個數)空間進行搜尋,每個粒子表示為xi=(xi1,xi2,xi3,xi4,xi5.......),對應的速度vi=(vi1,vi2,vi3,vi4,vi5...),搜尋時考慮兩個因素:1自己歷史最大值2全部粒子最優值
速度由3個因素改變;1慣性權重,2自身權重3種群權重
可以通過plotobjective(@..,rang)畫出函式影象。
對於複雜的目標函式可能使用預設設定會找不到最優值。
可進行一些自定義設定;
1繫結搜尋空間
設定 lb=-10*ones(1,nvars);其中nvars為變數個數
ub=-lb;
[x,fval.exitflag,output]=particleswarm(fun,nvars,lb,ub);
2.更待其他選項
options=optimoptions('particleswarm','minneighborsfraction'1);
[x,fval.exitflag,output]=particleswarm(fun,nvars,lb,ub,options);
3.更改自身權重
options.selfadjustmentweight=1.9;
[x,f
粒子群優化演算法 粒子群演算法
粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...
粒子群演算法的matlab實現
2018.7.19 粒子群演算法function xm,fv pso fitness,n,c1,c2,w,m,d 本函式用粒子群演算法實現優化 給定初始化條件 c1 學習因子1 c2 學習因子2 w 慣性權重 m 最大迭代次數 d 搜尋空間維數 n 初始化群體個體數目 xm,fv pso fitne...
粒子群演算法
如前所述,pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。pso從這種模型中得到啟示並用於解決優化問題。ps...