%主函数源程序(main.m)
%------基本粒子群算法 (particle swarm optimization)
%------名称: 基本粒子群算法
%------初始格式化
clear all; %清除所有变量
clc; %清屏
format long; %将数据显示为长整形科学计数
%------给定初始条条件------------------
global lamada;
lamada=2;
N=40; %?初始化群体个数
D=8; %初始化群体维数
T=10000; %初始化群体最迭代次数
c11=2; %学习因子1
c21=2; %学习因子2
%c12=1.5;
%c22=1.5;
w=0.8; %惯性权重
eps=10^(-6); %设置精度(在已知最小值的时候用)
%------初始化种群个体(限定位置和速度)------------
x=zeros(N,D);
v=zeros(N,D);
for i=1:N
for j=1:D
x(i,j)=randn; %随机初始化位置
v(i,j)=randn; %随机初始化速度
end
end
%------显示群位置----------------------
figure(1)
for j=1:D
if(rem(D,2)>0)
subplot((D+1)/2,2,j)
else
subplot(D/2,2,j)
end
plot(x(:,j),'b*');grid on
xlabel('粒子')
ylabel('初始位置')
tInfo=strcat('第',char(j+48),'维');%标题信息 j+48 转化为ASC字符
title(tInfo)
end
%------显示种群速度
figure(2)
for j=1:D
if(rem(D,2)>0)
subplot((D+1)/2,2,j)
else
subplot(D/2,2,j)
end
plot(x(:,j),'b*');grid on
xlabel('粒子')
ylabel('初始速度')
tInfo=strcat('第',char(j+48),'维');
title(tInfo)
end
figure(3)
%第一个图
subplot(1,2,1)
%------初始化种群个体(在此限定速度和位置)------------
x1=x;
v1=v;
%------初始化个体最优位置和最优值---
p1=x1;
pbest1=ones(N,1);
for i=1:N
pbest1(i)=fitness(x1(i,:));
end
%------初始化全局最优位置和最优值---------------
g1=1000*ones(1,D);
gbest1=1000;
for i=1:N
if(pbest1(i)<gbest1)
g1=p1(i,:);
gbest1=pbest1(i);
end
end
gb1=ones(1,T);
%-----浸入主循环,按照公式依次迭代直到满足精度或者迭代次数---
for i=1:T
for j=1:N
if (fitness(x1(j,:))<pbest1(j))
p1(j,:)=x1(j,:);
pbest1(j)=fitness(x1(j,:));
end
if(pbest1(j)<gbest1)
g1=p1(j,:);
gbest1=pbest1(j);
end
v1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:))+c21*rand*(g1-x1(j,:));
x1(j,:)=x1(j,:)+v1(j,:);
end
gb1(i)=gbest1;
end
plot(gb1)
TempStr=sprintf('c1= %g ,c2=%g',c11,c21);
title(TempStr);
xlabel('迭代次数');
ylabel('适应度值');
%第二个图
subplot(1,2,2)
pso.zip_PSO_pso多目标优化_多目标_多目标优化 PSO_螺旋模型
版权申诉
22 浏览量
2022-09-24
09:39:52
上传
评论
收藏 2KB ZIP 举报
小贝德罗
- 粉丝: 70
- 资源: 1万+
最新资源
- 课设毕设基于SSM的校园餐厅管理 LW+PPT+源码可运行.zip
- Python井字棋代码
- 课设毕设基于SSM的书店仓库管理系统2021 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的沙县小吃点餐系统 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的旅游景点线路网站 LW+PPT+源码可运行.zip
- EDA实验计数器CNT9999-DTCNT9999实验源代码
- 课设毕设基于SSM的抗疫医疗用品销售平台 LW+PPT+源码可运行.zip
- 基于Halcon的仿照VisonPro的机器视觉软件.zip
- battery-percentage-detector 使用 Javascript 的电池百分比检测器
- 毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0