粒子群演算法的matlab實現

2021-10-25 04:23:41 字數 804 閱讀 7286

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( fitness,n,c1,c2,w,m,d )

%%%%%%初始化種群的個體(可以限定位置和速度的範圍)%%%%%%

format long;

for i=1:n

for j=1:d

x(i,j)=randn; %以正態分佈隨機初始化位置

v(i,j)=randn;

endend%%%%先計算各個粒子的適應度,並初始pi和pg

for i=1:n

p(i)=fitness(x(i,:));

y(i,:)=x(i,:);

endpg=x(n,:); %pg為全域性最優

for i=1:(n-1)

if fitness(x(i,:))用matlab實現的第乙個智慧型演算法,應該紀念一下,雖然有些模糊,不過還是大致看懂了。

以前認為非常高大上+困難的東西 或許不過如此

不過越是感到好理解,越能體會到智慧型演算法的有趣和實用性,以及裡面蘊含的博大精深的智慧型。

明天繼續學習遺傳演算法

智慧型的魅力,在於有人。

PSO粒子群演算法及matlab實現

1原理 根據鳥類尋食的仿生學,結合個體的最優解和群體的最優解不斷地迭代來尋找區域的最優解。在n維的目標空間中,有m個粒子組成乙個群體,第i個粒子的位置表示為 每個位置對應乙個潛在解,把 代入適應函式中即可得到對應的適應值。粒子個體經過的最好的位置為 整個群體的最優位置為 粒子i的速度為 粒子群位置根...

粒子群優化的matlab實現

在youtube上依葫蘆畫瓢寫了乙個matlab的粒子群演算法來實現多變數函式的優化,程式最終能輸出迭代後的最優解,並以半對數座標的形式展示出每一代的最優解。對於不同的問題只需修改costfunction 待優化的函式 nvar 待優化函式的變數個數 varmin和varmax 待優化函式變數的上下...

粒子群演算法(PSO)介紹及matlab實現

pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。由於每個鳥都不知道食物在 但是卻知道距離多遠,所以每次可以知...