function [gbest,g,Convergence_curve]=PSO(N,T,lb,ub,dim,fobj)
%% 定义粒子群算法参数
%% 随机初始化种群
D=dim; %粒子维数
c1=1.5; %学习因子1
c2=1.5; %学习因子2
w=0.8; %惯性权重
Xmax=ub; %位置最大值
Xmin=lb; %位置最小值
Vmax=ub; %速度最大值
Vmin=lb; %速度最小值
%%
%%%%%%%%%%%%%%%%初始化种群个体(限定位置和速度)%%%%%%%%%%%%%%%%
x=rand(N,D).*(Xmax-Xmin)+Xmin;
v=rand(N,D).*(Vmax-Vmin)+Vmin;
%%%%%%%%%%%%%%%%%%初始化个体最优位置和最优值%%%%%%%%%%%%%%%%%%%
p=x;
pbest=ones(N,1);
for i=1:N
pbest(i)=fobj(x(i,:));
end
%%%%%%%%%%%%%%%%%%%初始化全局最优位置和最优值%%%%%%%%%%%%%%%%%%
g=ones(1,D);
gbest=inf;
for i=1:N
if(pbest(i)<gbest)
g=p(i,:);
gbest=pbest(i);
end
end
%%%%%%%%%%%按照公式依次迭代直到满足精度或者迭代次数%%%%%%%%%%%%%
for i=1:T
i
for j=1:N
%%%%%%%%%%%%%%更新个体最优位置和最优值%%%%%%%%%%%%%%%%%
if (fobj(x(j,:))) <pbest(j)
p(j,:)=x(j,:);
pbest(j)=fobj(x(j,:));
end
%%%%%%%%%%%%%%%%更新全局最优位置和最优值%%%%%%%%%%%%%%%
if(pbest(j)<gbest)
g=p(j,:);
gbest=pbest(j);
end
%%%%%%%%%%%%%%%%%跟新位置和速度值%%%%%%%%%%%%%%%%%%%%%
v(j,:)=w*v(j,:)+c1*rand*(p(j,:)-x(j,:))...
+c2*rand*(g-x(j,:));
x(j,:)=x(j,:)+v(j,:);
%%%%%%%%%%%%%%%%%%%%边界条件处理%%%%%%%%%%%%%%%%%%%%%%
if length(Vmax)==1
for ii=1:D
if (v(j,ii)>Vmax) | (v(j,ii)< Vmin)
v(j,ii)=rand * (Vmax-Vmin)+Vmin;
end
if (x(j,ii)>Xmax) | (x(j,ii)< Xmin)
x(j,ii)=rand * (Xmax-Xmin)+Xmin;
end
end
else
for ii=1:D
if (v(j,ii)>Vmax(ii)) | (v(j,ii)< Vmin(ii))
v(j,ii)=rand * (Vmax(ii)-Vmin(ii))+Vmin(ii);
end
if (x(j,ii)>Xmax(ii)) | (x(j,ii)< Xmin(ii))
x(j,ii)=rand * (Xmax(ii)-Xmin(ii))+Xmin(ii);
end
end
end
end
%%%%%%%%%%%%%%%%%%%%记录历代全局最优值%%%%%%%%%%%%%%%%%%%%%
Convergence_curve(i)=gbest;%记录训练集的适应度值
end
没有合适的资源?快使用搜索试试~ 我知道了~
KELM分类基于matlab粒子群算法优化核极限学习机PSO-KELM数据分类【含Matlab源码 3240期】.zip
共19个文件
m:8个
mat:6个
png:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 186 浏览量
2023-10-18
19:08:26
上传
评论 1
收藏 499KB ZIP 举报
温馨提示
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 数据; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 智能优化算法优化核极限学习机KELM分类预测系列程序定制或科研合作方向: 4.4.1 遗传算法GA/蚁群算法ACO优化KELM 4.4.2 粒子群算法PSO/蛙跳算法SFLA优化KELM 4.4.3 灰狼算法GWO/狼群算法WPA优化KELM 4.4.4 鲸鱼算法WOA/麻雀算法SSA优化KELM 4.4.5 萤火虫算法FA/差分算法DE优化KELM
资源推荐
资源详情
资源评论
收起资源包目录
【KELM分类】基于matlab粒子群算法优化核极限学习机PSO-KELM数据分类【含Matlab源码 3240期】.zip (19个子文件)
【KELM分类】基于matlab粒子群算法优化核极限学习机PSO-KELM数据分类【含Matlab源码 3240期】
RCmvMAAPE_R.mat 82KB
main_youhua.m 2KB
44.png 19KB
RCmvMAAPE_Rolling.mat 83KB
1.png 40KB
PSO.m 2KB
11.png 46KB
kernel_matrix.m 2KB
RSSD_MHAAPE.mat 23KB
main2.m 2KB
kelm_putong.m 1KB
33.png 41KB
fun.m 338B
DTCWPT_WPT.mat 29KB
luoyiman_localbest.m 272B
RCmvMFE_R.mat 86KB
boundary.m 227B
2.png 19KB
RCmvMAAPE_gearbox.mat 45KB
共 19 条
- 1
资源评论
- F_world2024-03-20资源有很好的参考价值,总算找到了自己需要的资源啦。
海神之光
- 粉丝: 3w+
- 资源: 2093
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功