基本粒子群演算法的matlab源程式

2022-12-25 14:27:04 字數 1334 閱讀 8191

主函式源程式(

%------基本粒子群優化演算法(particle swarm optimization

%------名稱:基本粒子群優化演算法(pso)%------作用:求解優化問題

%------說明:全域性性,並行性,高效的群體智慧型演算法%------初始格式化

clear all;

clc;

format long;

%------給定初始化條件

c1=1.4962; %學習因子1

c2=1.4962; %學習因子2

w=0.7298; %慣性權重

maxdt=1000; %最大迭代次數

d=10; %搜尋空間維數(未知數個數)

n=40; %初始化群體個體數目

eps=10^(-6); %設定精度(在已知最小值時候用)%------初始化種群的個體(可以在這裡限定位置和速度的範圍for i=1:n

for j=1:d

x(i,j)=randn;%隨機初始化位置v(i,j)=randn;%隨機初始化速度end

end%------先計算各個粒子的適應度,並初始化pi和pgfor i=1:n

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

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

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

if fitness(x(i,:),d) pg=x(i,:);

endend%------進入主要迴圈,按照公式依次迭代,直到滿足精度要求for t=1:maxdt

for i=1:n

v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));

x(i,:)=x(i,:)+v(i,:);

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

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

endif p(i) pg=y(i,:);

endend

pbest(t)=fitness(pg,d);

end%------最後給出計算結果

disp

disp('函式的全域性最優位置為:')

solution=pg'

disp('最後得到的優化極值為:')

result=fitness(pg,d)

disp

%------演算法結束---dreamsun gl & hf適應度函式源程式(

function result=fitness(x,d)sum=0;

for i=1:d

sum=sum+x(i)^2;

endresult=sum;

二維粒子群演算法的matlab源程式

function pso f pso 2d function pso use particle swarm optimization algorithm global present close all clc clear all pop size 10pop size 種群大小 粒子數量 part...

經典pso粒子群優化演算法程式

clear all清除所有變數 clc清屏 format long將資料顯示為長整形科學計數 給定初始條條件 n 40初始化群體個數 d 10初始化群體維數 t 100初始化群體最迭代次數 c11 2學習因子1 c21 2學習因子2 c12 1.5 c22 1.5 w 1.2慣性權重 eps 10 ...

非線性規劃的粒子群演算法1

xx大學 智慧型優化演算法課內實驗報告書 非線性規劃問題的粒子群演算法 1.1 背景介紹 1.1.1 非線性規劃簡介 具有非線性約束條件或目標函式的數學規劃,是運籌學的乙個重要的分支,目標函式和約束條件都是線性函式的情形則屬於線性規劃。非線性規劃是20世紀50年代才開始形成的一門新興學科。1951年...