Gointerface接口声明实现及作用详解
306
2022-09-01
【综合评价】基于粒子群算法优化投影寻踪模型的综合评价附matlab代码
1 简介
利用投影寻踪法来评价水质,利用粒子群优化算法来求解最优函数问题,计算速度快,精度高.实例计算表明,基于粒子群优化算法寻找最优投影方向,方法简单,计算效率较高,收敛速度快,解决了投影寻踪过程中最优化问题,是解决复杂水质综合评价的有效途径.
2 部分代码
%function [gBest]=PSO()%PSO主函数 pso_size=100;%群体规模c1=0.5;c2=0.5;%学习因子w_max=0.8;%最大权重w_min=0.4;%最小权重w=w_max;Pb=10000000;%适应度值 Pb1=10000000;Pb2=10000000;dimens=1;%待优化问题的维数 run_max=100;%迭代次数上限X=zeros(1,pso_size);V=zeros(1,pso_size);Xb=zeros(1,pso_size);Xb1=zeros(1,pso_size);Xb2=zeros(1,pso_size);Yb=zeros(1,pso_size);Yb1=zeros(1,pso_size);Yb2=zeros(1,pso_size);P=zeros(1,8000);PL=zeros(1,pso_size);Pp=0;Pp1=0;Pp2=0;dpBest=zeros(1,pso_size);dgBest=0;gBest=0;s1=zeros(1,run_max);s2=zeros(1,run_max);q=0;L=0.05;%!!!!!!精度t=1;% !!!!!!!!!!P(t)中t初值为1for i=1:pso_size%初始化粒子速度位置 X(i)=-5+12*rand; X1(i)=X(i); X2(i)=X(i); Xb(i)=X(i); Xb1(i)=X(i); Xb2(i)=X(i); V(i)=(-12+24*rand)/10;endfor i=1:pso_size Yb1(i)=f1(X(i));%计算f1中个体适应度值,步骤3 if Yb1(i)0.5 Xb(i)=Xb1(i); else Xb(i)=Xb2(i); end %个体极值随机选取 else Xb(i)=(Xb1(i)+Xb2(i))/2;%取两函数个体极值的均值 end PL(i)=(Yb1(i)+Yb2(i))/2;%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if PL(i)12 %判断是否超出Vmax if V(k)>0 V(k)=12; else V(k)=-12; end end X(k)=X(k)+V(k); X1(k)=X(k); X2(k)=X(k); temp1=f1(X1(k)); %$$$$在f1中计算个体适应度值$$$$ if temp10.5 Xb(k)=Xb1(k); else Xb(k)=Xb2(k); end %$$$$个体极值随机选取 else Xb(k)=(Xb1(k)+Xb2(k))/2; %$$$$取两函数个体极值的均值,得到目标均衡适应度值$$$$ end PL(k)=(Yb1(k)+Yb2(k))/2; %flag=0; if PL(k)
3 仿真结果
4 参考文献
[1]李学法, 周迎红. 基于粒子群优化算法的投影寻踪水质评价模型[J]. 湖北农业科学, 2013, 052(019):4627-4628,4682.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~