基于MATLAB的量子粒子群优化算法及其应用

基于MATLAB的量子粒子群优化算法及其应用

ID:37961439

大小:124.94 KB

页数:3页

时间:2019-06-03

基于MATLAB的量子粒子群优化算法及其应用_第1页
基于MATLAB的量子粒子群优化算法及其应用_第2页
基于MATLAB的量子粒子群优化算法及其应用_第3页
资源描述:

《基于MATLAB的量子粒子群优化算法及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、38计算机与数字工程第35卷*基于MATLAB的量子粒子群优化算法及其应用1)2)余健郭平1)2)(韩山师范学院数信学院潮州521041)(北京师范大学信息科学学院北京100875)摘要量子粒子群优化(QPSO)算法是在经典的粒子群优化(PSO)算法的基础上所提出的一种具有量子行为的粒子群优化算法,具有高效的全局搜索能力。通过求解J.D.Schaffer提出的多峰函数优化问题的实验分析表明,方法具有良好的收敛性和稳定性。关键词QPSO量子粒子群中图分类号TP301.6断接近Pbest点,最后收敛于Pbest点。因此,在整1引言个过程中,在Pbest点处实际上存在某种形式的吸[3]

2、经典的粒子群优化(PSO)算法是一种基于引势能场吸引着粒子,这正是整个粒子能保持聚集[7]群体智能的随机搜索算法,具有全局逼近能力,但性的原因。但在经典PSO算法中,粒子是在经由于其搜索空间有限,易陷入局部极值。孙俊等人典力学的状态下沿着确定的轨迹飞行,因此粒子搜在文献[4]中给出了具有量子行为的粒子群优化索的空间是一个有限的区域,因而不能保证一定找算法,即QPSO算法。该算法简单有效,收敛速度到全局最优解。快,全局搜索性能远优于PSO算法。3量子粒子群优化(QPSO)算法2粒子群优化算法3.1QPSO算法的优点PSO算法首先初始化一群随机粒子,然后通过孙俊等人从量子力学的角度,

3、提出一种新的进化(迭代)找到最优解。每一次进化(迭代)中,PSO算法)))量子粒子群优化(QPSO)算法,认为粒子通过跟踪两个/极值0来更新自己。一个是粒粒子具有量子行为,每一个粒子在搜索空间移动子本身所能找到的最优解,即个体极值Pbes,t另一[4]时,存在着一个以Pbest为中心的DELTA势阱。个是整个群体目前找到的最优解,即全局极值由于在量子空间中的粒子满足聚集态的性质完全Gbest。粒子找到上述两个极值后,就根据下面两不同,粒子移动时没有确定的轨迹,这使粒子可以[6]个公式更新自己的速度和位置:在整个可行解空间中进行探索寻找全局最优解,因V=W*V+c1*unifrnd

4、(0,1)*(Pbest-X)而QPSO算法的全局搜索能力远远优于经典的+c2*unifrnd(0,1)*(Gbest-X)(1)PSO算法。X=X+V(2)在QPSO算法中,设种群规模为M,在进化过程其中,V是粒子的速度,X是粒子的当前位置,中,粒子以一定概率取加或减,更新每个粒子的位置,unifrnd(0,1)是0至1之间的随机数,c1和c2被称并生成新的粒子群体,由公式(3)至(6)决定:作学习因子,通常被设为2,W为加权系数,一般取p=a*Pbest(i)+(1-a)*Gbes;t(3)值在0.1至0.9。粒子通过不断进化,不断搜索,Mmbest=1/M*EPest(i)

5、;(4)当达到收敛或到达最大进化(迭代)代数的条件i=1后,得到的Gbest就是全局最优解。b=1.0-generation/maxgeneration*0.5;(5)从动力学的角度看,粒子群算法中的粒子的收ifu>=0.5(6)敛过程是以Pbest点为吸引子,随着速度的减小不position=p-b*

6、mbest–position

7、*ln(1/u);*收到本文时间:2007年2月9日作者简介:余健,男,硕士研究生,讲师,研究方向:神经网络、智能计算:郭平,男,教授、博士生导师,IEEE高级会员,研究方向:模式识别、神经网络等。第35卷(2007)第12期计算机与数字工程39el

8、se(i)和群体最优位置Gbes;tposition=p+b*

9、mbest–position

10、*ln(1/u);(4)根据公式(3)至(6)以一定概率取加或减,其中,a,u为0至1之间的随机数,mbest是粒子群更新每个粒子的位置,生成新的粒子群体;pbest的中间位置,即平均值,b为收缩扩张系数,(5)判断粒子适应度是否满足收敛条件或者在QPSO收敛过程中线性减小,generation为当前是否到达最大进化代数,是则退出,否则返回2)。进化代数,maxgeneration为设定的最大进化代数。4应用实例3.2基于MATLAB的仿真3.2.1参数编码基于上述的方法在MATLAB中

11、开发了QPSO在MATLAB中,粒子的位置X用实数表示。算法工具箱,并用于求解J.D.Schaffer提出的多峰[6]粒子的参数编码格式:X1,X2,X3,,,XD。粒子群函数优化问题:的编码格式如图1所示,其中D表示粒子的参数minf(x1,x2)=维数,这由变量的个数决定,M表示粒子群的规222sinx1+x2-0.5模,即粒子的个X11,X12,,,X1D数。0.5+222(7)[1.0+0.001(x1+x2)]3.2.2初始化粒子群s..t-100[xi[100在MAT

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

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

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