2022年2022年粒子群算法原理及在函数优化中的应用 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年粒子群算法原理及在函数优化中的应用 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年粒子群算法原理及在函数优化中的应用 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、作者:胡斌( Author :xiao5) 2012-5-5 1 粒子群算法原理及其在函数优化中的应用1 粒子群优化( PSO)算法基本原理1.1 标准粒子群算法假设在一个D维的目标搜索空间中,有m个代表问题潜在解的粒子组成一个 种 群12,.,mxx xx, 第i个 粒 子 的 信 息 可 用D维 向 量 表 示 为12,.,TiiiiDxxxx,其速度为12,.,TiiiiDvvvv。算法首先初始化m个随机粒子,然后通过迭代找到最优解。 每一次迭代中, 粒子通过跟踪 2 个极值进行信息交 流 , 一 个 是 第i个 粒 子 本 身 找 到 的 最 优 解 , 称 之 为 个 体 极 值 ,
2、 即12,.,TiiiiDpppp;另一个是所有粒子目前找到的最优解,称之为群体极值,即12,.,TggggDpppp。粒子在更新上述2 个极值后,根据式 (1)和式(2)更新自己的速度和位置。11 12 2()()ttttttiiiigiwc rc rvvpxpx(1) 11tttiiixxv(2) 式中,t代表当前迭代次数,12,r r 是在0,1之间服从均匀分布的随机数,12,c c称为学习因子, 分别调节粒子向个体极值和群体极值方向飞行的步长,w为惯性权重,一般在0.1 0.9之间取值。在标准的 PSO算法中,惯性权重 w被设为常数,通常取0.5w。在实际应用中,x需保证在一定的范围内
3、,即x的每一维的变化范围均为minmax,XX,这在函数优化问题中相当于自变量的定义域。1.2 算法实现步骤步骤 1:表示出 PSO算法中的适应度函数( )fitness x; (编程时最好以函数的形式保存,便于多次调用。 )步骤 2:初始化 PSO 算法中各个参数 (如粒子个数,惯性权重,学习因子,最大迭代次数等 ),在自变量x定义域内随机初始化x,代入( )fitness x求得适应度值,通过比较确定起始个体极值ip 和全局极值gp 。步骤 3:通过循环迭代更新x、ip 和gp :确定惯性权重 w的取值(当 w不是常数时)。根据式 (1)更新粒子的速度1kiv,若速度中的某一维超过了max
4、V,则取为maxV。根据式 (2)更新自变量x,若x的取值超过其定义域,则在其定义域内重新名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 2 初始化。代入( )fitness x求得适应度值,通过比较更新个体极值ip和全局极值gp。步骤 4: 判断是否满足终止条件 (通常设为达到最大迭代次数或达到估计精度要求),若不满足,则转入步骤(3),若满足,则输出估计结果,算
5、法结束。2 程序实现2.1 各种测试函数(适应度函数)测试函数是用来测试算法性能的一些通用函数,下面先给出一些测试函数的三维图(自变量为两维,加上函数值共三维)如图1-图 17 所示。-10-50510-10-50510-50050100150200250z2 = x2-cos(18*x)+y2-cos(18*y)图 1 测试函数1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2
6、012-5-5 3 -10-50510-10-50510-101234x 105z4 = 4*x2-2.1*x4+x6/3+x*y-4*y2+y4图 2 测试函数2 -10-50510-10-5051005001000150020002500z5 = (y-5.1*x2/4/ / +5*x/-6)2+10*(1-1/8/)*cos(x)+10图 3 测试函数3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 作者:胡斌( Au
7、thor :xiao5) 2012-5-5 4 -505-505-0.4-0.200.20.4z7 = x*exp(-x2-y2)图 4 测试函数4 -505-505-10-50510z8 图 5 测试函数5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 5 -505-505-0.500.51 r=sqrt(x2+y2)+eps; z9=sin(r)/r;图 6
8、测试函数6 -505-50500.20.40.60.81f6图 7 测试函数7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 6 -10-50510-10-50510020406080100120图 8 测试函数8 -100-50050100-100-50050100020406080100图 9 测试函数9 名师资料总结 - - -精品资料欢迎下载 - - -
9、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 7 02468100510-8-6-4-20图 10 测试函数10 -10-50510-10-50510050100150200NDparabola图 11 测试函数 11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - -
10、 - - - - 作者:胡斌( Author :xiao5) 2012-5-5 8 -10-50510-10-5051000.20.40.60.81f6图 12 测试函数12 -10-50510-10-50510051015x 105Rosenbrock图 13 测试函数13 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 9 -10-50510-10-505100
11、5101520ackley图 14 测试函数14 -10-50510-10-50510406080100120tripod图 15 测试函数15 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 10 -10-50510-10-50510050100150200250Rastrigin图 16 测试函数16 -10-50510-10-5051000.511.522.5
12、Griewank图 17 测试函数17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 16 页 - - - - - - - - - 作者:胡斌( Author :xiao5) 2012-5-5 11 2.2 程序实现首先给出绘制测试函数的程序:% 绘图测试函数draw_fitness.mclear;clc;close all;% x,y=meshgrid(-10:0.5:10);z2 = x.2-cos(18*x)+y.2-cos(18*y);figure(1); s
13、urf(x,y,z2); minz2=min(min(z2);title(z2 = x2-cos(18*x)+y2-cos(18*y);% z4 = 4*x.2-2.1*x.4+x.6/3+x.*y-4*y.2+y.4;figure(2); surf(x,y,z4); minz4=min(min(z4);title(z4 = 4*x2-2.1*x4+x6/3+x*y-4*y2+y4);%z5 = (y-5.1*x.2/4/pi/pi+5*x/pi-6).2+10*(1-1/8/pi)*cos(x)+10;figure(3); surf(x,y,z5); minz5=min(min(z5);ti
14、tle(z5 = (y-5.1*x2/4/pi/pi+5*x/pi-6)2+10*(1-1/8/pi)*cos(x)+10);%x,y=meshgrid(-5:0.5:5);z7 = x.*exp(-x.2-y.2);figure(4); surf(x,y,z7); minz7=min(min(z7);title(z7 = x*exp(-x2-y2);%x,y=meshgrid(-5:0.25:5);z8 = 3*(1-x).2.*exp(-(x.2) - (y+1).2) .- 10*(x/5 - x.3 - y.5).*exp(-x.2-y.2) .- 1/3*exp(-(x+1).2 -
15、 y.2); figure(5); surf(x,y,z8); minz8=min(min(z8); title(z8 );%r=sqrt(x.2+y.2)+eps; z9=sin(r)./r;figure(6); surf(x,y,z9); minz9=min(min(z9);title( r=sqrt(x2+y2)+eps; z9=sin(r)/r;);%x,y=meshgrid(-5:0.25:5);num=sin(sqrt(x.2+y.2).2 - 0.5;den=(1.0+0.01*(x.2+y.2).2;z10=0.5 +num./den;figure(7); surf(x,y,z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年粒子群算法原理及在函数优化中的应用 2022 粒子 算法 原理 函数 优化 中的 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内