今天學習乙個新的群優化演算法——粒子群優化
下面放演算法原理鏈結
簡單的原理概括就是:利用鳥群之間資訊共享尋找食物的思想來尋找最優解,通過種群最佳適應度和個體最佳適應度來控制種群的進化方向。
下面附上寫的**:
clear all
num=50; % 種群數量為50
pop=rand(num,1)+1; % 生成新種群
pop_v=rands(num,1)*0.5; % 初始化種群速度為-0.5~0.5
g_max=pop;
w=1; %這裡權重越大越傾向於全域性搜尋
for i=1:100
pop_fitness=sin(10*pi*pop)./pop; % 計算種群的適應度
z_max=pop(pop_fitness==max(pop_fitness)); % 種族最佳個體
z_max=z_max(1); % 防止最大值重複
g_max_fitness=sin(10*pi*g_max)./g_max; % 計算個體的最佳適應度
g_max=pop.*(g_max_fitness<=pop_fitness)+g_max.*(g_max_fitness>pop_fitness); % 更新個體的最佳適應度
pop_v=w*pop_v+rand*1.49445*(g_max-pop)+rand*1.49445*(z_max-pop); % 更新速度
pop_v(pop_v>0.5)=0.5; % 控制種群速度
pop_v(pop_v<-0.5)=-0.5;
pop=pop+pop_v;
pop(pop>=2)=2; % 控制種群個體大小
pop(pop<=1)=1;
enddisp(z_max) % 找到的1~2之間適應度函式最大值的解
注意:該演算法比起遺傳演算法速度較快,實現更簡單,但是遇到複雜問題都會產生早熟收斂和收斂效能差的缺點,無法保證收斂到最優點。 粒子群(pso)演算法
一 粒子群演算法的概念 粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡...
粒子群演算法 PSO
1995年美國社會心理學家kennedy和電氣工程師eberhart共同提出粒子群優化演算法 particle swarm optimization,pso pso演算法的基本思想利用生物學家heppner的生物群體模型,模擬鳥類覓食過程。鳥類飛行過程相互交流,當乙個鳥飛向棲息地時,其他鳥兒也會跟著...
粒子群優化演算法 PSO
粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引...