2022年标准粒子群算法及其Matlab程序和常见改进算法 .pdf

上传人:Q****o 文档编号:28420174 上传时间:2022-07-28 格式:PDF 页数:5 大小:65.76KB
返回 下载 相关 举报
2022年标准粒子群算法及其Matlab程序和常见改进算法 .pdf_第1页
第1页 / 共5页
2022年标准粒子群算法及其Matlab程序和常见改进算法 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年标准粒子群算法及其Matlab程序和常见改进算法 .pdf》由会员分享,可在线阅读,更多相关《2022年标准粒子群算法及其Matlab程序和常见改进算法 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、粒子群算法概述粒子群优化 算法 (PSO)是一种进化计算技术(evolutionary computation) ,1995 年由 Eberhart博士和 kennedy 博士提出, 源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发, 进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。PSO 中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为 “ 粒子 ” 。所有的粒子都有一个由被优化的函数决定的适应值(fitness value),每个

2、粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。PSO 初始化为一群随机粒子(随机解 )。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个 ” 极值 ” 来更新自己。 第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。二、算法原理粒子群算法采用常数学习因子,及惯性权重, 粒子根据如下的公式更新自己的速度和位置。Vki=kVi-1i+c1r1(Qbi- Qk-1i)+c2r2(

3、Qbg- Qk-1i)Qki=Qk-1i+Vki三、算法步骤1、随机初始化种群中各微粒的位置和速度;2、评价个粒子的适应度,将各粒子的位置和适应度储存在各微粒的pbest(Qbi)中,将所有 pbest中适应度最优的个体的位置和适应度存储在gbest(Qbg)中。3、更新粒子的速度和位移。Vki=kVi-1i+c1r1(Qbi- Qk-1i)+c2r2(Qbg- Qk-1i)Qki=Qk-1i+Vki4、对每个微粒,与其前一个最优位置比较,如果较好,则将其作为当前的最优位置。5、比较当前所有的pbest 和上一迭代周期的gbest,更新 gbest。6、若满足停止条件(达到要求精度或迭代次数)

4、,搜索停止,输出结果,否则,返回2。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 四、算法改进1、带压缩因子的粒子群算法。主要是限定学习因子,粒子的更新公式变为为:Vki=?Vi-1i+c1r1(Qbi- Qk-1i)+c2r2(Qbg- Qk-1i)Qki=Qk-1i+Vki其中,?=22-C-C2-4C,其中C=c1+c22、权重改进的粒子群算法。随着迭代次数的增加,惯性权重从最大变化到最小。变化的公式是:=max- t?

5、( max- min)tmax3、自适应权重法。主要是为了平衡全局搜索和局部搜索能力。权重的表达式为:=? min-( max- min)?(f-fmin)favg- fminmax,f favg,ffavg4、随机权重法。 =+?N(0,1) =min+( max- min)?rang(0,1)5、变学习因子的粒子群算法。(1)、c1=c2=cmax-t?(cmax- cmin)tmax(2)、c1=c1,ini+c1,fin- c1,initmax c2=c2,ini+c2,fin- c2,initmax6、二阶粒子群算法。Vki=?Vi-1i+c1r1(Qbi- 2Qki+Qk-1i)+

6、c2r2(Qbg- 2Qki+Qk-1i)Qki=Qk-1i+Vki五、粒子群算法参数介绍标准粒子群算法中,有以下几个参数:1、fitness,待优化的目标函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 2、粒子数目: N 3、学习因子1: c1 4、学习因子2: c2 5、惯性权重: w 6、最大迭代系数:M 7、自变量的个数:D 1、finess 是待优化的目标函数,如何构造函数是用粒子群算法的前提,构造函数的结构直接决

7、定了计算结果的好坏,特别是在多目标优化的问题中。2、学习因子一般取2,c1 决定着其局部搜寻能力,c2 决定着其全局搜寻能力。3、惯性权重大,便于全局搜索,惯性权重小,便于局部搜索。4、最大迭代系数一般取100010000,具体看精度要求。5、自变量的个数有目标函数决定。学习因子、惯性权重是改进粒子群算法的关键更新函数决定了粒子群算法的本质能力。function xm,fv = PSO( fitness,N,c1,c2,w,M,D )% fitness,待优化的目标函数% 粒子数目: N% 学习因子 1:c1,一般取 2% 学习因子 2:c2,一般取 2% 惯性权重: w% 最大迭代系数: M

8、% 自变量的个数: D% 目标函数取最大值是的自变量值:xm% 目标函数的最小值: fvformat long; vmax=0.2*2*pi; vmin=-0.2*2*pi; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - xmax=1*pi; xmin=-1*pi; fori=1:N forj=1:D x(i,j)=randn; v(i,j)=randn; endendfori=1:N p(i)=fitness(x(i,:);

9、 y(i,:)=x(i,:); endpg=x(N,:); fori=1:N-1if fitness(x(i,:) fitness(pg) pg=x(i,:); endendfor t=1:M fori=1:N v(i,:)=w*v( i,:)+c1*rand*(y( i,:)-x(i,:)+c2*rand*(pg-x( i,:); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:) p(i) p(i)=fitness(x(i,:); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - y(i,:)=x(i,:); endif p(i) fitness(pg) pg=y(i,:); endendendxm=pg; fv=fitness(pg); format short; end名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁