基于动态粒子群算法的动态环境寻优算

基于动态粒子群算法的动态环境寻优算

ID:33724728

大小:30.00 KB

页数:3页

时间:2019-02-28

基于动态粒子群算法的动态环境寻优算_第1页
基于动态粒子群算法的动态环境寻优算_第2页
基于动态粒子群算法的动态环境寻优算_第3页
资源描述:

《基于动态粒子群算法的动态环境寻优算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于动态粒子群算法的动态环境寻优算1、案例背景为了跟踪动态极值,需要对基本的PSO算法进行两方面改进,第一是引入探测机制,使种群或粒子获得感知外部环境变化的能力;第二是引入响应机制,在探测到环境的变化后,采取某种响应方式对种群进行更新,以适应动态环境。基于敏感粒子的动态粒子群算法是一种典型的动态粒子群算法,它在算法初始化时随机选择一个或多个位置,称为敏感粒子,每次迭代中计算敏感粒子适应度值,当发现适应度值变化时,认为环境已发生变化。响应的方式是按照一定比例重新初始化粒子位置和粒子速度。2、案例目录第十六章

2、  基于动态粒子群算法的动态环境寻优算法...16.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=D

3、F1function(X1,Y1,H1,X2(k),Y2(k),H2(k));%敏感粒子变化fori=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(10

4、0,[10,2])-50;end%粒子搜索fori=1:Tmaxforj=1:n%速度更新V(j,:)=V(j,:)+floor(rand*(popgbest(j,:)-pop(j,:)))+floor(rand*(popzbest-pop(j,:)));index1=find(V(j,:)>Vmax);V(j,index1)=Vmax;index2=find(V(j,:)

5、op(j,:)>popMax);pop(j,index1)=popMax;index2=find(pop(j,:)fitnessgbest(j)popgbest(j,:)=pop(j,:);fitnessgbest(j)=fitness(j);end%群体极值更新iffitness(j)>fitnesszbestpopzbest=p

6、op(j,:);fitnesszbest=fitness(j);endendendfitnessRecord(k)=fitnesszbest;fitnesszbest=0;fitnessgbest=zeros(1,20);end4、运行结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。