本文档下载自文库下载网,内容可能不完整,您可以点击以下网址继续阅读或下载:http://www.wenkuxiazai.com/doc/7a2dbec358f5f61fb73666ce.html一种基于遗传算法的改进PSO优化算法一种基于遗传算法的改进PSO优化算法刘煌(武汉理工大学计算机学院,湖北武汉430070)摘要:从理论上分析了粒子群优化算法的收敛性,并针对标准PSO优化算法容易陷入早熟,收敛于局部最优解的问题,提出了一种基于遗传算法的带交叉因子的改进PSO优化算法,该算法通过对典型测试函数的测试,有效地加快了收敛速度和提高了收敛精度,能够有效地跳出局部收敛范围,避免陷入早熟,收敛于全局最优解。关键词:早熟;全局最优解;交叉因子;收敛中图分类号:TP312文献标识码:A文章编号:167227800(2010)0320059203(t)ω=(ωint-ωend)(Tmax-t)/Tmaxωend(4)1粒子群优化算法1.1基本粒子群优化算法(2)式组成的迭代算法就是标准PSO算法。典型取由(3)、值ωint=0.9,ωend=0.4。1.2.2收缩因子(constrictionfactor)在PSO中,每个优化问题的潜在解对应着D维空间上的一个点,称之为“粒子”。所有的粒子都有一个被目标函数决定的适应值,自己发现的最好位置pbest,当前位置和整个群体中最好位置gbest(gbest是pbest中最好值)。每个粒子用下列信息调整自己的当前位置:①当前位置;②当前速度;③当前位置与pbest之间的距离;④当前位置与gbest之间的距离。数学描述为:设搜索空间为D维,总粒子数为n,第i个粒子位置表示为向量xi=(xi1,xi2,…,xiD),第i个粒子迄今为止搜索到的最优位置为pbesti=(Pi1,Pi2,…,PiD),整个粒子群迄今为止搜索到的最优位置为gbest=(Pg1,Pg2,…,PgD),第i个粒子的位置变化率(速度)为向量vi=(vi1,vi2,…,viD)。粒子的每维速度和位置按如下公式进行变化:vid(t1)(t1)19http://www.wenkuxiazai.com/doc/7a2dbec358f5f61fb73666ce.html99年Clerc对算法的数学研究证明,采用收缩因子x能够确保算法的收敛。收缩因子模型如下所示,通常取φ为4.1(c1=c2=2.05),从而使收缩因子x等于0.729。vid(t1)3(t)3=x(vidc1r13(Pid(t)-xid(t))(5)c23r23(Pgd(t)-xid(t)))x=2/|2-φ-1.3算法的收敛性分析φ2-4φ|,且φ=c1c2,φ>4(6)PSO算法的收敛性与参数的设置有关,主要是参数ω,c1和c2。为简化公式的推导,给出标准粒子群算法的简化模型,假设搜索空间为1维空间,即D为1。3vi(t1)=ωvi(t)c13=vidc2(t)(t)c13(t1)3r13(Pid(t)–x(t)id(t))(1)(2)r13(Pi(t)-xi(t))(7)(8)3r2(Pgd(t)-xid)c23r23(Pg(t)-xi(t))xid=xidvid1≤i≤n1≤d≤Dxi(t1)=xi(t)http://www.wenkuxiazai.com/doc/7a2dbec358f5f61fb73666ce.htmlvi(t1)33定义φr1,φr2,φ=φ1=c12=c21φ1,并对上式进行整理3333(9)可得:vi(t1)=ωvi(t)φ1Pi(t)φ2Pg(t)-φxi(t)333)xi(t)xi(t1)=ωvi(t)φ13Pi(t)φ2Pg(t)(1-φ其中,c1,c2为非负常数,称为加速因子,c1调节粒子飞向自身最好位置方向的步长,c2调节粒子向全局最好位置飞行的步长;r1,r2为[0,1]之间的随机数。粒子群初始位置和速度随机产生,然后按式(1),式(2)进行迭代,直至找到满意的解。1.2标准粒子群优化算法1.2.1惯性权重(inertiaweight)(10)vi(t1)xi(t1)=ω-φ3ω1-φ=A3vi(t)xi(t)vi(t)xi(t)B3φφ12φφ123Pi(t)Pg(t)(11)Pi(t)Pg(t)Eberhart和YuhuiShi在基本粒子群优化算法模型中引入了惯性权重系数ω,以实现对微粒飞行速度的有效控制与调整。则式(1)改变为:vid(t1)=ω3vid(t)c13r13(Pid(t)-xid(t))c23这是二阶常系数非齐次差分方程,故A的特征方程为式(12)。2λ-(ω1-φ)λω=0(12)r23(Pgd(t)-xid(t))(3)其特征值为λ)2-4ω。1和λ2,其中△=(ω1-φ作者简http://www.wenkuxiazai.com/doc/7a2dbec358f5f61fb73666ce.html介:刘煌(19832),男,湖北武汉人,武汉理工大学计算机学院硕士研究生,研究方向为人工智能控制、计算机网络。λ1,2=ω1-φ±(ω1-φ)2-4ω/2(13)(1)当△=(ω1-φ)2-4ω=0,则λ=λ1=λ2,此时式(10)可以写为:x(t)=(k3i0k1t)3λt(14)其中:k0=xi(0)k1=(1-φ)3x33i(0)ω3vi(0)φ1Pi(0)φ2Pg(0)/λ-xi(0)(2)当△=(ω1-φ)2-4ω>0,则λ1和λ2为实数;(3)当△=(ω1-φ)2-4ω式(10)可以写为:x=kt3ti(t)0k31λ1k2λ2(15)其中:k0=(φ1Piφ2Pg)/φk1=(...