欢迎来到天天文库
浏览记录
ID:33125659
大小:59.30 KB
页数:3页
时间:2019-02-20
《基于动态粒子群算法的动态环境寻优算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于动态粒子群算法的动态环境寻优算1、案例背景为了跟踪动态极值,需要对基本的PSO算法进行两方面改进,第一是引入探测机制,使种群或粒子获得感知外部环境变化的能力;第二是引入响应机制,在探测到环境的变化后,采取某种响应方式对种群进行更新,以适应动态环境。基于敏感粒子的动态粒子群算法是一种典型的动态粒子群算法,它在算法初始化时随机选择一个或多个位置,称为敏感粒子,每次迭代中计算敏感粒子适应度值,当发现适应度值变化时,认为环境已发生变化。响应的方式是按照一定比例重新初始化粒子位置和粒子速度。2、案例目录第十六章 基于动态粒子群算法的动态环境寻优算法...16
2、.1理论基础...16.1.1 动态粒子群算法...16.1.2 动态环境...16.2 案例背景...16.3MATLAB程序实现...16.3.1 动态环境函数...16.3.2 种群初始化...16.3.3 循环动态寻找...16.3.4 仿真结果...16.4延伸阅读...16.4.1.APSO..16.4.2.EPSO..16.4.3TDPSO..16.5 参考文献... 103、主程序%%循环寻找最优点fork=1:1200k%新数字地图h=DF1function(X1,Y1,H1,X2(k),Y2(k),H2(k));%敏感粒子变化fori
3、=1:5*nfitnessTest(i)=h(popTest(i,1),popTest(i,2));endoFitness=sum(fitnessTest);%变化超过一定范围,重新初始化ifabs(oFitness-nFitness)>1index=randperm(20);pop(index(1:10),:)=unidrnd(501,[10,2]);V(index(1:10),:)=unidrnd(100,[10,2])-50;end%粒子搜索fori=1:Tmaxforj=1:n%速度更新V(j,:)=V(j,:)+floor(rand*(popg
4、best(j,:)-pop(j,:)))+floor(rand*(popzbest-pop(j,:)));index1=find(V(j,:)>Vmax);V(j,index1)=Vmax;index2=find(V(j,:)popMax);pop(j,index1)=popMax;index2=find(pop(j,:)5、(j)=h(pop(j,1),pop(j,2));%个体极值更新iffitness(j)>fitnessgbest(j)popgbest(j,:)=pop(j,:);fitnessgbest(j)=fitness(j);end%群体极值更新iffitness(j)>fitnesszbestpopzbest=pop(j,:);fitnesszbest=fitness(j);endendendfitnessRecord(k)=fitnesszbest;fitnesszbest=0;fitnessgbest=zeros(1,20);end4、运行结果
5、(j)=h(pop(j,1),pop(j,2));%个体极值更新iffitness(j)>fitnessgbest(j)popgbest(j,:)=pop(j,:);fitnessgbest(j)=fitness(j);end%群体极值更新iffitness(j)>fitnesszbestpopzbest=pop(j,:);fitnesszbest=fitness(j);endendendfitnessRecord(k)=fitnesszbest;fitnesszbest=0;fitnessgbest=zeros(1,20);end4、运行结果
此文档下载收益归作者所有