一种改进的云粒子群算法及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第39卷 第11A期2012年11月计算机科学
Comp
uter ScienceVol.39No.11A
Nov
2012本文受甘肃省普通高等学校研究生导师项目(1004-
06)资助。
张佩炯(1984-),男,硕士生,主要研究方向为电力电子与电力传动,E-mail:zhangpeijiong689@126.com;苏宏升(1969-),男,教授,博士生导师,主要研究方向为智能决策理论及应用、供电系统理论及应用、设备智能故障诊断及可靠性研究、滤波及非线性负荷预测和电气化铁道无功补偿等。
一种改进的云粒子群算法及其应用研究
张佩炯 苏宏升
(兰州交通大学自动化与电气工程学院 兰州730070
)
摘 要 针对基于云数字特征(期望值、熵值、超熵值)编码的云粒子群算法应用中优化效率低和局部寻优能力较差的问题,提出了两点改进措施:在解空间变换的基础上将局部搜索与全局搜索相结合;依据正态云算子实现粒子的进化学习过程和变异操作。
将改进算法应用于多变量函数极值优化问题。
仿真结果表明,该改进算法寻优代数小、收敛速度快、
效率高,并且具有较好的种群多样性,验证了改进措施的有效性。
关键词 云模型,优化算法,云粒子群算法,函数优化
Application Research of Improved Cloud Particle Swarm Optimization Alg
orithmZHANG Pei-jiong
SU Hong-sheng(School of Automation and Electrical Engineering,Lanzhou Jiaotong
University,Lanzhou 730070,China)
Abstract In order to solve the problems of optimization efficiency and inferior local search of cloud particle swarm al-gorithm which is based on cloud digital features(Ex,En,He),this paper proposes two imp
rovements,combines localsearch with global search which is based on the solution space transform,and achieves the evolution of the learningprocess and the variation operation according
to the normal cloud particle.The improved algorithm is used to the func-tion extreme optimization of muti-variables.Simulation results show that the improved algorithm has lower generation,higher efficiency,diverse population,and it proves that the imp
rovement is efficient.Keywords Cloud model,Optimization algorithm,Cloud particle swarm algorithm,Function optimization
1 引言
粒子群优化算法(PSO)是Kennedy和E
berhart于1995年提出的一种进化算法[1],它源于对鸟类捕食行为的模拟。
其由于结构简单、参数调整方便以及适合计算机编程处理等诸多优点,一提出就受到广泛关注,目前已经成功地应用于函
数优化、神经网络训练以及系统控制等领域[
2]。
但粒子群算法也存在着容易陷入局部最优,特别是在后期所有的粒子都趋于一点,
速度趋近于零,如果此时得到的是一个局部最优点,则所有粒子很难跳出其约束范围,从而导致“早熟”
[3]。
云模型是李德毅提出的一种定性知识描述和定性概念与
其定量数值表示之间的不确定性转换模型[4]
,已经在智能控
制、模糊评测等诸多领域得到了应用。
云模型在知识表达时具有不确定中带有确定性、稳定之中又有变化的特点,从而体现了自然界中物种进化的基本原理。
因此进化计算领域也开始关注云模型。
文献[5]利用云发生器代替遗传算法中传统的交叉、变异算子,提出一种云遗传算法(Cloud-model-based Genetic Algo-rithm,CGA),其在函数优化中取得了良好的效果。
文献[6]将遗传算法与云模型相结合,提出一种基于云模型的进化算法(Cloud Based Evolutionary
Algorithm,CBEA),从而有效解决了遗传算法容易陷入局部最优和早熟收敛等问题。
文献[7
]利用粒子的适应度并采用不同的惯性权重进化策略,提出了一种自适应云粒子群算法(Cloud Particle Swarm Optimiza-tion,CPSO),从而有效解决了算法的局部最优和收敛速度过快的问题。
本文在文献[7]的基础上,对基本的CPSO算法进行了改进,即通过借助解空间变换,将局部最优和全局最优相结合,同时利用正态云算子实现粒子的进化学习和变异操作,加快算法的收敛速度。
仿真结果表明,改进措施提高了种群多样性和算法的搜索能力以及收敛精度。
2 改进的云粒子群算法(ICPSO)
2.1 云模型
云模型是一种对确定性知识进行定性、定量转换的数学模型,主要反映客观世界中事物或人知识概念的模糊性和随
机性,为定性定量结合的事物处理提供手段[
4]。
定义1(云和云滴) 设U是一个用数值表示的定量论域,C是U上的定性概念,若定量值x∈U是定性概念C的一次随机实现,x对C的确定度μ(x)∈[0,1]是有稳定倾向的随机数:μ:
U→[0,1],x∈U,x→μ(x),则x在论域U上的分布称为云(Cloud),记为云C(X)
,每一个x称为一个云滴[8]。
·
942·
如果概念对应的论域是n维空间,那么它可拓广至n维云。
云模型所表达概念的整体特性可以用期望Ex(Expectedvalue)、熵En(Entropy)、超熵He(Hyper entropy)这3个数字特征来整体表征一个概念,多维云模型的整体特征可由多组
数字特征表示[6]。
Ex是云滴在论域空间分布的期望,
是最能够代表定性概念的点。
熵En代表定性概念的可度量粒度,通常熵越大概念越宏观,它也是定性概念不确定性的度量,由概念的随机性和模糊性共同决定。
En一方面是定性概念随机性的度量,反映了能够代表这个定性概念的云滴的离散程度;另一方面又是定性概念亦此亦彼性的度量,反映了在论域空间可被概念接受的云滴的取值范围。
超熵He是熵的不确定性度量,
由熵的随机性和模糊性共同决定。
用3个数字特征表示的定性概念的整体特征记作C(Ex,En,He)。
云模型与其数字特征如图1所示,其中Ex=20,En=3,He=0.1。
图1 云模型与其数字特征
定义2[5] 一维正态云算子ArForward
(C(Ex,En,He)
)是一个把定性概念的整体特征变换为定量表示的映射π:C→
Π,
满足以下条件:Θ={ti
|Norm(En,He)的一次实现,i=1,…,N}Χ={xi|xi为Norm(Ex,ti)的一次实现,ti∈Θ
,i=1,…,N}
Π={(xi,yi)|xi∈Χ,ti∈Θ,y
i=exp(-(xi-Ex)2
/(2t2
i
)
)}其中,Norm(μ,δ)是期望为μ、方差为δ的正态随机变量,N为云滴的个数。
利用正态云算子,就可以把定性概念C(Ex,En,He)变换为数值表示的云滴集合,实现了概念空间到数值空间的转换。
一维正态云算子可以拓广至n维正态云算子。
2.2 基本云粒子群算法(CPSO)
设粒子群的大小为N,第t次迭代中粒子Xi的适应度值为fi,
粒子的平均适应度值为favg=
1
N∑N
i=1
fi(1)v(t)id=ωv(t)id+c1r1(Pid-x(t)id)+c2r2(Pgd-x(t
)id)
(2)x(t+1)
id=x(t)
id+v(
t+1)
id
(3
)式(2)、式(3)分别是速度更新公式和位置更新公式。
将适应度值优于favg的适应度值求平均得到f
′
avg
,将适应度值
次于favg的适应度值求平均得到f
″
avg,最优粒子的适应值为fm
in。
传统的粒子群算法中,惯性权重根据一定的迭代公式随着算法迭代次数的增加和适应度值的减小而线性地减小。
文献[7]将粒子群体分成3个子群,ω的取法按文献[
7]的方法,但采用不同的进化策略。
如果fi优于f′
avg,
粒子的适应值较小,离最优解比较近,采用较小的惯性权重,进化策略采
用“社会模型”,加快全局收敛的速度;如果fi次于f″
avg,
粒子的适应值较大,
离最优解比较远,采用较大的惯性权重,进化策略采用“认知模型”,使这些表现差的粒子加快收敛速度;如
果fi优于f″avg且次于f′
avg,
此时粒子的适应度值适中,惯性权重采用云自适应惯性权重,进化策略采用“完全模型”。
在搜索最优解的过程中,
如果当前解的适应度较大则意味着当前值与最优解较接近,此时应在小范围内搜索,提高算法的收敛速度;当适应度较小的时候应在较大范围内搜索,以增加粒子的多样性,避免陷入局部最优。
根据这一原则设计了完全云粒子群算法(Complete Cloud Particle Swarm Optimization,CCPSO)。
基本PSO算法中每个粒子是通过追踪个体极值和全局极值来寻找最优解。
而CCPSO则放弃粒子群算法中通过调节速度来实现粒子位置变化的方式,完全根据每个粒子的个体极值和全局极值,通过正态云发生器直接实现粒子的进化和变异过程。
定义3(进化模型) 每个粒子根据其个体极值,
通过正态云发生器产生新一代粒子的过程称为进化模型[
6,9,11]。
定义4(变异) 事先给定阈值N和K,当全局极值连续N代没有发生进化或者进化程幅度小于K时,
认为粒子陷入局部最优,
对全部粒子根据全局极值,通过正态云发生器进行变异操作[
10,12]。
2.3 ICPSO算法
针对上述基本CPSO存在的问题,本文提出了下列两种改进方法。
(1)借助群体替代和解空间变换,将全局搜索与局部搜索相结合。
基本CPSO算法大部分运行时间被消耗在种群的更新上。
此外,在进化后期经常会出现进化较慢的局限,对此引入了群体替代和解空间变换,定义如下:
群体替代的粒子群优化算法主要是通过若干个粒子群分别采用不同的搜索方式对解空间进行搜索。
其中一个粒子群为主搜索群,其它的为辅助搜索群,在搜索过程中的某些条件下将部分辅助搜索群粒子和主搜索群粒子进行替代,以保持主搜索群粒子的多样性,使得主搜索群能够避免因为多样性匮乏而陷入停滞或早熟,从而保证主搜索群能搜索到全局的最优值点。
在CPSO中,粒子的遍历空间每维均是[-1,1],为计算云粒子目前位置的优劣性,需要进行解空间的变换,将每个粒
子占据的2个位置由单位空间I=[-1,1]n
映射到优化问题的解空间。
记粒子Pj上第i个云算子为[αji β
ji]T
,则相应的解空间变量为:
Χj
ic=12
[bi(1+αji)+ai(1-αj
i
)](4)Χj
iδ=
12
[bi(1+βji)+ai(1-βj
i)](5
)然后针对解空间变换寻优,如果所得最优值优于当代最优解,则替换当代最优解。
改进后的算法在每次迭代后,在当代最优解附近进行局部搜索,提高了算法的搜索能力,改善了基本CPSO算法出现数代不进化的缺陷。
(2)依据正态云算子实现粒子的变异操作,来改进算法的搜索方式。
针对基本CPSO算法进化过程中经常会出现的非当代最优解、越进化越偏离最优解的现象,采取如下改进措施:
·
052·
种群初始化时,记录各个粒子当前的位置及速度的初始值,进而计算每个粒子的适应度,判断其是否达到变异阈值N,达到则按照定义4对每个粒子进行变异操作;否则按照式(2)、式(3)对粒子进行更新操作。
每代结束后,将所得到的3个最优解取优作为算法的当代全局最优解。
若最优解满足适应度要求,或者迭代次数达到初设代数,则结束进化。
改进后的算法中,期望值Ex、熵值En、超熵值He、度量参数K以及变异阈值N对算法的性能有重要的影响,与此同时,惯性权重ω、加速因子C1、C2对算法的性能也有很大的影响。
显然,改进措施不仅提高了种群的多样性,也提高了算法的搜索能力,真正体现了正态云算子对粒子进行变异操作。
2.4 ICPSO的算法流程
采用上述两种改进措施的ICPSO算法流程如下:
(1)初始化种群。
即初始化各个粒子的位置X
i
、个体极值Pbest以及全局极值Gbest等。
(2)计算每个粒子的适应度值,更新Pbest和Gbest。
(3)判断是否达到变异阈值N,达到则根据定义4进行变异操作。
设全体粒子的全局最优点(极小值)为Gbest,令正态云算A(C(Ex,En,He))中的Ex=Gbest,En=2Gbest,He=En/10,根据定义2中正态云发生器完成所有粒子的变异操作,没有达到变异阈值转(4)。
(4)对每个粒子进行进化操作。
设粒子i的个体极小值为Pbest,令正态云算A(C(Ex,En,He))中的Ex=Pbest,En=2Pbest,He=En/10,根据定义2中的正态云发生器产生一个新粒子j,并令i=j,完成进化操作。
(5)如果达到最大迭代次数,则输出Gbest结束,否则转(2)。
3 参数选取对算法性能影响的分析
Ex影响云的水平位置,是云的重心。
在变异操作中选择全局极值Gbest作为Ex。
因为此时算法可能已陷入局部最优,而根据社会学原理,当前优秀个体周围往往存在着更优个体,所以在其周围更有机会找到最优解。
En代表云的水平宽度,En越大水平宽度越大,粒子搜索的范围就越大。
进化初期应该扩大搜索范围,进化后期应提高搜索精度,En应动态减小。
粒子的进化全局极(小)值Gbest是由大到小逐渐逼近实际极值。
文中取En=2Gbest,在一定程度上实现En的动态调解。
He和云滴的离散程度呈正比,He越大,离散程度越大,云滴越分散,太大时算法会失去稳定性;而当He太小时又会在一定程度上丧失随机性。
取He=En/10来实现对算法稳定性的调解。
度量值K对算法的变异频率起关键作用,参数K太大,变异过于频繁,影响算法运行效率;太小,求解精度将会降低。
又由于粒子群算法在进化初期收敛速度快,后期收敛速度逐步变慢,因此很难给参数K设置一个完全合理的固定值。
文中令K=Gbest/2,使K值随着全局最优值Gbest动态减小,实现自适应调节。
对于变异阈值N的选取,以Sphere函数为例,验证不同N值对ICPSO算法求解精度的影响。
实验参数设置如下,种群规模均为100,初始值范围为[-5,5],最大迭代代数均为1000,分别对维数为5,10,30,50和100的Sphere函数在N取2,5,10,20的情况下独立运行50次求平均值,度量值K=Gbest/2。
实验结果如表1所列。
表1 不同的N值下Sphere函数的解
维数N=2N=5N=10N=20
5 8.785e-165 1.650e-144 4.176e-129 4.666e-120
10 2.979e-129 1.237e-125 4.412e-117 5.301e-111
30 1.192e-067 3.888e-071 1.766e-068 3.069e-060
50 4.201e-049 3.038e-050 3.121e-048 1.191e-041
100 5.127e-029 6.976e-031 4.380e-030 7.082e-026
从表1中可以看出,维数小于10的低维函数阈值N越小,所得解的精度越高,但耗时也越多。
而10~100维的函数阈值N越小,同样耗时也越多,但所得解的精度却不一定高。
在N取5处求解精度出现一个拐点。
可见N值的选取与函数的维数有一定的相关性。
4 仿真比较
为验证改进措施的有效性,引入如下典型函数极值优化问题。
(1)RA-Rastrigin函数
f1(x,y)=x2+y2-cos18x-cos18y
式中,x,y∈[-1,1],优化目标为求取函数极小值,f1全局极小值点为(0,0),全局极小值为-2.000,同时在可行域内大约有50个局部极小值点。
(2)Generalized Rastrigin函数
f2(x)=∑
30
i=1
[x2
i-10cos
(2πx
i
)+10]
式中,xi∈[-5.12,5.12],优化目标为求取函数极小值,f2全局极小值为0,同时在可行域内大约有45个局部极小值点。
(3)BR-Branin函数
f3(x,y)=(x-
5.1
4π2
y2+
5
π
y-6)2+10(1-
1
8π
)cosy+10式中,x∈[0,15];y∈[-5,10]。
优化目标为求函数极小值,f3的全局极小值为0.3979,3个全局极小值点为(-3.142,12.275)、(3.142,2.275)和(9.3425,2.425)。
(4)Six-Hump Camel-Back函数
f4(x,y)=4x2-2.1x4+
1
3
x6+xy-4y2+4y4
式中,x,y∈[-5,5],优化目标为求取函数极小值,f4的全局极小值为-1.0316,2个全局极小值点为(0.0895,-0.7125)和(-0.0895,0.7125)。
对上述函数分别用基本CPSO和ICPSO优化50次,种群的大小均设为100,最大迭代次数均为500,变异阈值N设为2。
为了便于比较,两种算法的初始值设置相同。
然后统计每种算法的最大/最小步数、收敛次数、平均步数。
仿真结果见图2-图5及表2。
图2 RA-Rastrigin函数寻优曲线
图3 Generalized Rastrigin函
数寻优曲线
(下转第255页)
·
1
5
2
·
算模型[J].计算机学报,2010,33(2):305-
310[6]王淑栋,刘文斌,许进.图顶点着色问题的DNA粘贴算法[J].
系统工程与电子技术,2005,27(3):568-
573[7]Gao Lin,Xu Jin.DNA solution of vertex cover p
roblem based onsticker model[J].Chinese Journal of Electronics,2002,11(2):280-
284[8
]董亚非,张家秀,殷志祥,等.最小顶点覆盖问题的改进粘贴模型[J].电子与信息学报,2005,27(4):556-
560[9]Guo Min-yi,Ho M,Chang Weng-long.Fast p
arallel molecularsolution to the dominating-set problem on massively parallelbio-computing[J].Parallel Computing,2004,30(9/10):1109-1125
[10]Alonso Sanches C A,Yoshihiro Soma N.A poly
nomial-timeDNA computing solution for the Bin-Packing Problem[J].Ap-p
lied Mathematics and Computation,2009,215(6):2055-2062[11]Razzazi M,Roayaei M.Using
sticker model of DNA computingto solve domatic partition,kernel and induced path problems[J].Information Sciences,2011,181(17):3581-
3600(上接第251页
) 图4 BR-Branin函数寻优曲线
图5 Six-Hump Camel-Back函数寻优曲线
表2 CPSO与ICPSO算法性能对比表
函数算法最大/最小
步数平均步数收敛次数RA-RastriginCPSO 500/29 64 42ICPSO 29/7 22 50Generalized
RastriginCPSO 500/35 73 44ICPSO 35/10 25 50BR-BraninCPSO 500/38 68 46ICPSO 38/9 21 50Six-HumpCamel-B
ackCPSO 500/28 75 45ICPSO
31/7
19
50
图2-图5是CPSO与ICPSO优化的对比曲线,从图中可以看出,ICPSO的计算精度显著提高,迭代代数减少。
在图2中CPSO出现了不收敛状况,验证了寻优能力较差的问题,而在ICPSO第10步之后就开始稳定地收敛了,逐渐趋近于全局最优值-2。
在图3、图4中,CPSO优化后曲线下降比较慢,
并且由于算法本身使得速度逐渐趋近于0,速度更新相应变得越来越慢,这时候粒子会聚集在若干个点上,无法再进行更大规模的局部搜索使得寻优陷入局部收敛,从图可以看出,在第46步时达到优化目标;而ICPSO通过解空间的变换以及正态云算子的变异,
使得粒子迭代次数降低,寻优精度有所提高,分别在第10步和第7步时达到优化目标。
在图5中,通过CPSO和ICPSO优化的曲线可以看出,曲线变化虽然不是很明显,但从优化步数上明显看出,ICPSO在第9步时达到优化目标,而CPSO在23步时达到优化目标。
表2是结合两种改进措施的ICPSO与基本CPSO的算法性能仿真对比结果,其中,平均步数为收敛情况下的平均值。
从表2可以看出,500代以内基本CPSO算法分别有8次、6次、4次和5次仍未达到收敛,在收敛的情况下平均步数比ICPSO也高出许多,而改进后的算法全部收敛。
在时间性能上,ICPSO达到收敛的时间要大大优于CPSO算法。
通过
对比仿真结果表明,ICPSO算法明显优于CPSO算法,表明改进方法是有效的。
结束语 云粒子群算法已经在很多方面得到了关注,CPSO算法基于云数字特征编码,更好地描述了云粒子的动态行为。
本文针对基本的CPSO存在的问题,提出了两种改进措施,
从而提高了算法的搜索能力和种群多样性,并且提高了算法的收敛速度和精度。
实验结果表明改进后的方法是有效的。
云模型与云粒子群算法以及变异思想的成功结合为求解最优值的研究进行了新的探索和尝试。
参考文献
[1]Kennedy
J,Eberhart R.Particle Swarm Optimization[C]∥Procof the IEEE International Conference on Neural Networks.Perth,Australia,1995:1942-
1948[2
]张顶学,关治洪,刘新芝.一种动态改变惯性权重的自适应粒子群算法[J].控制与决策,2008,23(11):1253-
1257[3]李勇刚,桂卫华,阳春华,等.一种弹性粒子群优化算法[J].
控制与决策,2008,23(1):95-
98[4]李德毅,孟海军,史雪梅.隶属云和隶属云发生器[J].
计算机研究与发展,1995,32(6):15-
20[5]张光卫,何锐,刘禹,等.基于云模型的进化算法[J].
计算机学报,2008,31(7):1082-
1091[6]戴朝华,朱云芳,陈维荣,等.云遗传算法及其应用[J].
电子学报,2007,35(7):1419-
1424[7]韦杏琼,周永权,黄华娟,等.云自适应粒子群算法[J].
计算机工程与应用,2009,45(1):48-
50[8]姚小强,鄢余武,王崴.基于云遗传算法的图像相关匹配[J].
计算机工程,2011,37(1):201-
203[9]李德毅,杜鹢.不确定性人工智能[M].
北京:国防工业出版社,2005
[10]李士勇,李盼池.量子计算与量子优化算法[M].
哈尔滨:哈尔滨工业大学出版社,2009
[11]Lv Pin,Yuan Lin,Zhang
Jin-fang.Cloud theory-based simulatedannealing algorithm and application[J].Engineering Applica-tions of Artificial Intellig
ence,2009(22):742-749[12]Arumug
am M S,Rao M V C,Chandramohana.A new and im-proved version of particle swarm optimization algorithm withglobal-local best parameters[J].Knowledge and InformationSy
stems,2008,16(3):324-350·
552·。