matlab粒子群优化算法举例分析Word文档下载推荐.docx

上传人:b****1 文档编号:13355504 上传时间:2022-10-10 格式:DOCX 页数:40 大小:41.88KB
下载 相关 举报
matlab粒子群优化算法举例分析Word文档下载推荐.docx_第1页
第1页 / 共40页
matlab粒子群优化算法举例分析Word文档下载推荐.docx_第2页
第2页 / 共40页
matlab粒子群优化算法举例分析Word文档下载推荐.docx_第3页
第3页 / 共40页
matlab粒子群优化算法举例分析Word文档下载推荐.docx_第4页
第4页 / 共40页
matlab粒子群优化算法举例分析Word文档下载推荐.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

matlab粒子群优化算法举例分析Word文档下载推荐.docx

《matlab粒子群优化算法举例分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《matlab粒子群优化算法举例分析Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。

matlab粒子群优化算法举例分析Word文档下载推荐.docx

%将数据显示为长整形科学计数

%------给定初始条条件------------------

N=40;

初始化群体个数

D=10;

%初始化群体维数

T=100;

%初始化群体最迭代次数

c11=2;

%学习因子1

c21=2;

%学习因子2

c12=1.5;

c22=1.5;

w=1.2;

%惯性权重

eps=10^(-6);

%设置精度(在已知最小值的时候用)

%------初始化种群个体(限定位置和速度)------------

x=zeros(N,D);

%x是位置,初始化位置空间(矩阵)

v=zeros(N,D);

%v是速度,初始化速度空间(矩阵)

fori=1:

N

forj=1:

D

x(i,j)=randn;

%随机初始化位置,randn返回一个随机变化的符合正态分布的数

v(i,j)=randn;

%随机初始化速度

end

end

%------显示群位置----------------------

figure

(1)

forj=1:

D

if(rem(D,2)>

0)

subplot((D+1)/2,2,j)

else

subplot(D/2,2,j)

end

plot(x(:

j),'

b*'

);

gridon%’b*’表示颜色是绿的,用*显示在图上

xlabel('

粒子'

ylabel('

初始位置'

tInfo=strcat('

第'

char(j+48),'

维'

%strcat使括号里的东西连成字符串

if(j>

9)

tInfo=strcat('

char(floor(j/10)+48));

%floor向负无穷方向取整

char(rem(j,10)+48,'

%rem取余

title(tInfo)

%------显示种群速度

figure

(2)

plot(v(:

gridon%是不是应该是v(:

j)

初始速度'

char(floor(j/10)+48),'

维);

figure(3)

%第一个图

subplot(1,2,1)

%------初始化种群个体(在此限定速度和位置)------------

x1=x;

v1=v;

%------初始化个体最优位置和最优值---

p1=x1;

pbest1=ones(N,1);

pbest1(i)=fitness(x1(i,:

),D);

%适应度函数

%------初始化全局最优位置和最优值---------------

g1=1000*ones(1,D);

gbest1=1000;

if(pbest1(i)<

gbest1)

g1=p1(i,:

gbest1=pbest1(i);

gb1=ones(1,T);

%-----进入主循环,按照公式依次迭代直到满足精度或者迭代次数---

T

if(fitness(x1(j,:

),D)<

pbest1(j))

p1(j,:

)=x1(j,:

pbest1(j)=fitness(x1(j,:

if(pbest1(j)<

g1=p1(j,:

gbest1=pbest1(j);

v1(j,:

)=w*v1(j,:

)+c11*rand*(p1(j,:

)-x1(j,:

))+c21*rand*

(g1-x1(j,:

));

x1(j,:

)+v1(j,:

gb1(i)=gbest1;

plot(gb1)

TempStr=sprintf('

c1=%g,c2=%g'

c11,c21);

title(TempStr);

xlabel('

迭代次数'

ylabel('

适应度值'

%第二个图

subplot(1,2,2)

%-----初始化种群个体(在此限定速度和位置)------------

x2=x;

v2=v;

%-----初始化种群个体最有位置和最优解-----------

p2=x2;

pbest2=ones(N,1);

pbest2(i)=fitness(x2(i,:

%-----初始化种全局最优位置和最优解------

g2=1000*ones(1,D);

gbest2=1000;

if(pbest2(i)<

gbest2)

g2=p2(i,:

%最优位置

gbest2=pbest2(i);

%最优解

gb2=ones(1,T);

%T为迭代次数T=100

%------进入主循环,按照公式依次迭代直到满足精度或者迭代次数---

if(fitness(x2(j,:

pbest2(j))%个体最优

p2(j,:

)=x2(j,:

pbest2(j)=fitness(x2(j,:

if(pbest2(j)<

gbest2)%全局最优

g2=p2(j,:

gbest2=pbest2(j);

v2(j,:

)=w*v2(j,:

)+c12*rand*(p2(j,:

)-x2(j,:

))+c22*rand*

(g2-x2(j,:

x2(j,:

)+v2(j,:

gb2(i)=gbest2;

%每一代的最优解

plot(gb2)

c12,c22);

程序2

对比

clc;

c12=0;

c22=2;

%随机初始化位置

gridon

char(floor(j/10)+48),

char(rem(j,10)+48),'

第,char(j+48),'

char(floor(j/10)+48),

%-----浸入主循环,按照公式依次迭代直到满足精度或者迭代次数---

v1(j,:

))+c21*rand*(g1-x1(j,:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1