《6種粒子群算法程序.docx》由會員分享,可在線閱讀粒子群算法的基本流程,更多相關《6種粒子群算法程序.docx(33頁珍藏版)》請在萬象文庫上搜索。
1、a)%主函數源程序(main.m)%-基本粒子群算法(ation)%-名稱:基本粒子群算法%-初始格式化;%清除所有變量clc;%清屏;%將數據顯示為長整形科學計數%-給定初始條條件-N=40;%初始化群體個數D=10;%初始化群體維數T=100;%初始化群體最迭代次數c1=1;%學習因子1c2=2;%學習因子2w1=2;%慣性權重w2=5;%慣性權重eps=10(-;%設置精度(在已知最小值的時候用)-%-初始化種群個體(限定位置和速度)-x=zeros(N,D);v=zeros(N,D);fori=Nforj=Dx
2、(i,j)=randn;%隨機初始化位置v(i,j)=randn;%隨機初始化速度%-顯示群位置-(forj=Dif(rem(D,(D+/2,2,j)(D/2,2,j)plot(x(:,j),b*);(粒子)(初始位置)tInfo=(第,char(j+,維);if(=(第,char(floor(j/+粒子群算法的基本流程,char(rem(j,+,維);(tInfo)end%-顯示種群速度-(forj=Dif(rem(D,(D+/2,2,j)
3、(D/2,2,j)(x(:,j),b*);(粒子)(初始速度)tInfo=(第,char(j+,維);if(=(第,char(floor(j/+,char(rem(j,+,維);(tInfo)((1,2,%-初始化種群個體(在此限定速度和位置)-x1=x;v1=v;%-初始化個體最優位置和最優值-p1=x1;=ones(N,;fori=(i)=(x1(i,:),D);end%-初始化全局最優位置和最優
4、值-g1=1000*ones(1,D);=1000;fori=Nif((i)tInfo=(第,char(floor(j/+,char(rem(j,+,維);(tInfo)end%-顯示種群速度(forj=Dif(rem(D,(D+/2,2,j)(D/2,2,j)(x(:,j),b*);(粒子)(初始速度)tInfo=(第,char(j+,維);if(=(第,char(floor(j/+,char(rem(j,+,維);(tInfo)(%第一個圖(1,2,%-初始化種群個體(在此限定速度和位置)-x1=x;v1=v;%-初始化個體最優位置和最優值-p1=x1;=ones(N,;fori=(i)=(x1(i,:),D);end%-初始化全局最優位置和最優值-g1=1000*ones(1,D);=1000;fori=Nif((i)