粒子群優化演算法

2021-09-29 17:56:56 字數 2027 閱讀 8133

與ga演算法比較

%粒子群優化

clc,clear all;

x=[0:0.01:4];

y=hanshu(x);

figure; plot(x,y); hold on

w=1; %慣性因子

c1 = 2; c2 = 2;

maxgen=30; %迭代次數

sizepop=5; %粒子個數

vmax=1; vmin=-1; %速度限制

popmax=4; popmin=0; %位置限制

pop=[0.5 ,3.5,2,1,0.9] ; %產生初始粒子和速度 % pop=[2 4]

for i=1:sizepop

v(i)=(2*rand(1,1)-1); %初始化速度

fitness(i)=hanshu(pop(i)); %計算適應度

end

% stem(pop(1),fitness(1),'r') ;

% stem(pop(2),fitness(2));

% hold on ;

[bestfitness ,bestindex]=max(fitness);

zbest=pop(bestindex); %全域性最佳

gbest=pop; %個體最佳

fitnessgbest=fitness; %個體最佳適應度值

fitnesszbest=bestfitness; %全域性最佳適應度值

%% 迭代尋優

for i=1:maxgen

for j=1:sizepop %速度更新

v(j) =w*v(j) + c1*rand*(gbest(j) - pop(j)) + c2*rand*(zbest - pop(j));

if v(j)>vmax

v(j)=vmax;

endif v(j)popmax

pop(j)=popmax;

endif pop(j)fitnessgbest(j)

gbest(j) = pop(j);

fitnessgbest(j)=fitness(j);

endif fitness(j)>fitnesszbest

zbest = pop(j);

fitnesszbest = fitness(j);

endend

i

v

% stem(pop(1),fitness(1),'r') ;

% stem(pop(2),fitness(2)) ;hold on

% pause(0.1) ;

yy(i)=fitnesszbest;

endfigure ; plot(yy); title(['適應度曲線 ' '終止代數=' num2str(maxgen)]); xlabel('迭代代數'); ylabel('適應度');

粒子群優化演算法 粒子群演算法

粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...

粒子群優化演算法

粒子群優化演算法 1.概念 粒子群優化演算法 pso 是一種進化計算技術。源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引數的調節。目前已被廣泛應用於函式優化 神經網路訓練 模糊系統控制以及其他遺傳演...

粒子群優化演算法思考

一 粒子群演算法和真正模型的區別 粒子群優化演算法是根據飛鳥覓食的模型設計的演算法,模型和真正的飛鳥覓食的過程有一些不同之處。1 離散和連續的不同 飛鳥飛行的過程中是進行連續的飛行,路途中的所有 線 組成了可覓食的位置 模型中的粒子的運動是離散的,是由 點 所組成的可覓食位置。如果在模型中的粒子速度...