基于Tent混沌序列的粒子群优化算法概要.docx
《基于Tent混沌序列的粒子群优化算法概要.docx》由会员分享,可在线阅读,更多相关《基于Tent混沌序列的粒子群优化算法概要.docx(14页珍藏版)》请在冰豆网上搜索。
![基于Tent混沌序列的粒子群优化算法概要.docx](https://file1.bdocx.com/fileroot1/2023-2/5/8fa130a0-56ae-420b-a995-5aeb91ac84a4/8fa130a0-56ae-420b-a995-5aeb91ac84a41.gif)
基于Tent混沌序列的粒子群优化算法概要
—180
—
基于Tent混沌序列的粒子群优化算法
田东平1,2
(1.宝鸡文理学院计算机软件研究所,宝鸡721007;2.宝鸡文理学院计算信息科学研究所,宝鸡721007
摘要:
针对粒子群优化算法易陷入局部极值和进化后期收敛速度缓慢的问题,提出基于Tent混沌序列的粒子群优化算法,应用Tent映射初始化均匀分布的粒群,提高初始解的质量,设定粒子群聚集程度的判定阈值,并引入局部变异机制和局部应用Tent映射重新初始化粒群的方法,增强算法跳出局部最优解的能力,有效避免计算的盲目性,从而加快算法的收敛速度。
仿真实验结果表明,该算法是有效的。
关键词:
粒子群优化算法;Tent映射;变异机制;判定阈值;收敛速度
ParticleSwarmOptimizationAlgorithm
BasedonTentChaoticSequence
TIANDong-ping1,2
(1.InstituteofComputerSoftware,BaojiUniversityofArtsandScience,Baoji721007;
2.InstituteofComputationalInformationScience,BaojiUniversityofArtsandScience,Baoji721007
【Abstract】AimingattheproblemsofeasilygettingintothelocaloptimumandslowlyconvergingspeedoftheParticleSwarmOptimization(PSOalgorithm,anewPSOalgorithmbasedonTentchaoticsequenceisproposed.TheuniformparticlesareproducedbyTentmappingsoastoimprovethequalityoftheinitialsolutions.Thedecisionthresholdofparticlesfocusingdegreeisemployed,andthelocalmutationmechanismandthelocalreinitializingparticlesareintroducedinordertohelpthePSOalgorithmtobreakawayfromthelocaloptimum,whickcanavoidtheredundantcomputationandacceleratetheconvergencespeedoftheevolutionaryprocess.Simulationexperimentalresultsshowthisalgorithmiseffective.【Keywords】ParticleSwarmOptimization(PSOalgorithm;Tentmapping;mutationmechanism;decisionthreshold;convergencespeed
计算机工程ComputerEngineering第36卷第4期
Vol.36No.42010年2月
February2010
·人工智能及识别技术·文章编号:
1000—3428(201004—0180—03
文献标识码:
A
中图分类号:
TP301.6
1概述
粒子群优化(ParticleSwarmOptimization,PSO算法是种
进化算法,是Kennedy等人在对鸟类、鱼类群集活动时所形成的协同智能进行总结而提出的[1]。
与其他进化算法相比,PSO算法简单通用、易于实现、可调参数少,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,非常适于对复杂环境中优化问题的求解。
目前,PSO算法已被广泛应用于函数优化、神经网络训练、模糊系统控制等领域。
然而,与其他全局优化算法类似,PSO算法亦有其不足:
易陷入局部极值点,进化后期收敛速度缓慢、精度较差等。
文献[2]介绍了一种自适应逃逸微粒群算法,通过逃逸运动,使微粒能够有效地进行全局和局部搜索,减弱了随机变异操作带来的不稳定性。
但是,不论是基本PSO算法还是此处的自适应逃逸PSO算法,它们都具有不稳定性,究其原因是算法在初始化阶段微粒分布不均匀而造成的。
文献[2]只指出算法不稳定性的原因,而并没有给出具体的解决方案。
为此,本文提出基于Tent混沌序列的粒子群优化算法。
2粒子群优化算法
粒子群优化算法的基本思想源于鸟群飞行的觅食行为。
在PSO系统中,每个备选解被称为一个“粒子”,多个粒子共存与合作寻优。
而每个粒子根据其自身“经验”和相邻粒子群的最佳“经验”,在问题解空间中向更好的位置“飞行”,以便搜索最优解。
PSO算法的数学表示如下:
((((((11221ididididgdidvtvtcrptxtcrptxtω+=×+××−+⎡⎤⎣⎦⎡⎤××−⎣⎦
(1
(((11idididxtxtvtα+=+×+(2
其中,(1idxt+,(idxt,(1idvt+,(idvt分别表示第i个粒子在
1t+和t时刻的空间位移与运动速度;ω为惯性因子;12,cc分
别表示粒子个体的加速权重系数和粒子群体的加速权重系数;12,rr为[0,1]之间的随机数;((,idgdptpt分别表示第i个粒子个体在搜索过程中的最佳位置和粒子群体在搜索过程中的最佳位置。
3基于Tent混沌序列的粒子群优化算法
3.1混沌映射与混沌序列
一般将由确定性方程得到的具有随机性的运动状态称为混沌,呈现混沌状态的变量称为混沌变量。
混沌是存在于非线性系统中的一种普遍现象,一个混沌变量在一定范围内具有随机性、遍历性和规律性的特点。
利用混沌变量的这些特征进行优化搜索,能使算法跳出局部最优,保持群体的多样性,改善算法的全局搜索性能。
然而,不同的混沌映射算子对混沌寻优过程有很大的影
基金项目:
陕西省教育厅科研计划基金资助项目(09JK335
作者简介:
田东平(1981-,男,讲师、硕士,主研方向:
模糊推理,专家系统,智能优化计算
收稿日期:
2009-11-20E-mail:
tdp211@
—181—
响。
目前文献中引用较多的是Logistic映射算子。
文献[3]通过比较指出Tent映射比Logistic映射具有更好的遍历均匀性和更快的迭代速度,并经过严格数学推理,论证了Tent映射具有作为优化算法混沌序列的前提条件。
Tent映射又称为帐篷映射,其表达式如下式:
(1201221121
kkkkkxxxxx+⎧⎪=⎨−<⎪⎩≤≤≤(3
理论研究表明[3]:
Tent映射经贝努利移位变换后可以表
示成如下形式:
(12mod1kkxx+=(4
因此,根据Tent映射,可按如下步骤在可行域中产生粒子i的混沌点列:
Step1取初值0x(0x应避免落入小周期点内,如4周期(0.2,0.4,0.8,0.6,记入标志组(0,1,1zzxij===。
Step2利用式(4进行迭代,i自增1,产生x序列。
Step3如果迭代达到最大次数,则转向执行Step5;否则,若产生的x序列落入不动点或5周期以内的小循环(如
({}0,0.25,0.5,0.75xi=或者(({},0,1,2,3,4xixikk=−=,则
转向执行Step4;若产生的序列未出现上述情况,则转向执行Step2。
Step4改变迭代初值(((1,1xizjzjjjε=+=+=+,返回Step2。
Step5程序运行结束,保存产生的x序列。
3.2算法设计思想与实现流程
针对PSO算法易陷入局部极值和进化后期收敛速度缓慢的缺点以及文献[2]中指出由于算法在初始化阶段微粒分布的不均匀而导致算法的不稳定性等原因,本文提出基于Tent混沌序列的PSO算法。
一方面,应用Tent映射初始化均匀分布的粒群,提高了初始解的质量;另一方面,设定粒子群聚集程度的判定阈值,经判断若知算法出现“聚集”现象,则计算粒群中每个粒子的适应度值(1,2,,ifiN="和整个粒群的平均适应度值
(1
1N
iiffxN==
∑(其中,N为群体中粒子数目,并依据f将整个群体一分为二:
对适应度值小于或等于f的粒子,将粒子所在位置ix增加随机扰动,即(1iixxη=×+,其中,η是服从高斯分布的随机变量;对适应度值大于f部分的粒子,应用3.1节中的Tent映射,重新初始化并择优选取相同数量的粒子。
此处先计算并判断粒子的聚集程度,旨在明确算法的下一步具体执行策略,以避免盲目的变异和重新初始化而引起的大量运算,进而影响算法的收敛速度;将粒子群一分为二,对比较“聚集”部分的粒子实施高斯变异,对比较“发散”部分的粒子,应用Tent映射初始化生成分布均匀的粒群,由变异和重新初始化两部分构成当前进化代新的群体,从而增强算法跳出局部最优解的能力。
为了判定粒子群的聚集程度,此处引用了粒子间最大聚集距离的计算式[4]:
1,2,,maxim
MaxDist=="(5
其中,m为相邻子群粒子数;ldp为历史最佳位置;idx表示
第i个粒子的第d维分量。
由上述分析可知,基于Tent混沌序列的PSO算法的实
现流程如下:
Step1应用3.1节中的Tent混沌映射算法,在可行域中产生N个粒子的初始位置;随机初始化各粒子的初始速度。
Step2将第i个粒子的pBest设置为该粒子的当前位置,
gBest设置为初始群体中最佳粒子的位置。
Step3计算粒子间最大聚集距离,判断算法是否陷入局部最优,若是则执行Step4;否则转Step5。
Step4计算出每个粒子的适应度值(1,2,,ifiN="和粒子群体的平均适应度值f。
(1对于所有的iff≤的粒子,由于出现“聚集”现象,因此将其对应的位置量ix进行变异,
即(1iixxη=×+,其中,η是服从高斯分布的随机变量。
(2对于所有的iff>的粒子,由于出现“发散”趋势,因此应用3.1节中的Tent映射,重新初始化相同数量的ix。
Step5根据式(1和式(2更新粒子的速度和位置。
Step6根据粒子群的当前状态,更新每个粒子所经历的最好位置和整个粒子群所经历的最好位置。
Step7判断算法是否达到最大迭代次数,若是则程序运行结束,并输出相应优化变量;否则转Step3。
4数值仿真与分析
4.1仿真函数引用
本文采用4个经典的基准测试函数Sphere,Griewank,Rastrigin和Schaffer来测试文中提出的基于Tent混沌序列的粒子群优化算法的性能。
具体函数引用如下:
(1Sphere:
[]211
100,100d
iiifxx==∈−∑
(2Griewank:
(([]2
21
1
14000cos1,600,600d
d
iiiifxx===−+∈−∑∏
(3Rastrigin:
([]231
10cos210,100,100d
iiiifxxx=⎡⎤=−π+∈−∑⎣⎦
(4Schaffer:
(((
2
224120.5sin0.51.00.001fxx=+++
[]100,100ix∈−
其中,Sphere是个单模态函数,在点(0,0,,0"达到最小值0;Griewank,Rastrigin和Schaffer均为多模态函数,在其定义域内有大量局部极值点,且均在点(0,0,,0"达到最小值0。
4.2仿真结果分析
为了测试本文所提出的基于Tent混沌序列的PSO算法的性能,本文设计了4类测试实验:
(1基本粒子群优化算法(CanonicalPSO,CPSO;
(2仅应用3.1节中的Tent混沌映射初始化均匀分布粒群的PSO算法(TPSO;
(3仅在算法进化过程中引入局部变异机制和局部应用3.1节中的Tent映射重新初始化粒群的PSO算法(MPSO;
(4本文提出的基于Tent混沌序列的PSO算法(TMPSO。
在进行仿真实验时,参数设置如下:
惯性因子ω线性减小,0.9Maxω=和0.4Minω=;加速因子122cc==;约束因子0.5α=;函数维度30d=;群体粒子数为15;最大迭代次数为150;粒子聚集距离阈值取0.28;Tent映射的迭代次数取450。
算法在Matlab7.1环境下实现,为衡量本文算法的优化性能,对每个函数独立运行30次所得最优收敛值、平均收敛值、最差收敛值和标准差作为最终评价指标,如表1所示。
—182
—表14种算法优化性能比较
优化
函数
优化方法最优收敛值平均收敛值最差收敛值标准差CPSO7.8238e+0012.8533e+0031.0573e+0042.0337e-013TPSO1.7643e-0105.3096e-0073.6435e-0049.4701e-023MPSO1.7656e-0039.0188e+0023.2886e+0031.0168e-013f1
TMPSO2.8355e-0344.1358e-0212.0679e-0205.8241e-035CPSO4.3359e+0025.4356e+0026.6981e+0025.0842e-014
TPSO-6.1400e-017-6.1400e-017-6.1400e-0170
MPSO1.7670e+0013.8989e+0027.3878e+0021.0168e-014
f2
TMPSO6.1400e-0176.1400e-0176.1400e-0170
TPSO3.6435e-0061.7265e-0038.2842e-0035.8184e-019MPSO8.3675e+001
3.9012e+0021.2966e+0036.6258e-014
f3
TMPSO0
5.6360e-0072.8180e-0060
CPSO2.4559e-0031.1600e-0012.5088e-0011.2413e-017TPSO2.4559e-0031.7040e-0025.6365e-0023.1032e-018MPSO2.4562e-0031.7422e-0014.7786e-0011.2413e-017f4
TMPSO
2.4559e-003
1.3246e-002
5.6368e-002
3.1032e-018
从表1可以看出:
本文提出的基于Tent混沌序列的粒子
群优化算法在最优收敛值、平均收敛值、最差收敛值和标准
差的求解方面均优于其他3种算法。
例如,在对2f的测试中,TMPSO取得了与TPSO同样好的优化结果;在对4f的测试中,尽管TMPSO的最差收敛值略差于TPSO,最优收敛值和
标准差等同于TPSO,但是其平均收敛值要优于TPSO,这充分说明TMPSO算法具有更好的稳定收敛性,也进一步论证了文献[2]中所述的初始粒群分布的不均匀性是造成PSO算法稳定性差的结论。
为了反映本文中TMPSO算法的动态进化特性,图
1~图4分别给出4
个基准测试函数在优化算法CPSO,MPSO,TPSO和TMPSO下的进化曲线。
图1Sphere
Function
图2Griewank
Function
适应
度对数
值
图
3Rastrigin
Function
图4SchafferFunction
从图1~图4可以看出:
MPSO比CPSO在收敛速度和计算精度方面有显著提高,这说明在基本粒子群优化算法中引入变异机制和局部重新初始化部分粒群的方法后,有助于算法摆脱局部极值点的束缚而进行全局寻优;TPSO的性能曲线明显好于MPSO和CPSO;TMPSO算法对应的曲线具有最快的收敛速度和最高的收敛精度,其性能显著优于其他3种算法。
另外,从TMPSO的进化曲线可以观察到,如图1、图3和图4所示,尤其是在迭代后期,曲线均呈现出波动下降的趋势,这表明当前粒子群未陷入局部极值点,仍具有较好的分散性和搜索寻优能力。
为了进一步检验文中所提出的TMPSO算法的优化性能,论文将其对4个基准测试函数的优化结果与文献[5-6]中的算法进行比较,如表2所示。
表2本文算法与文献[5-6]中算法优化结果比较
测试函数优化方法最优收敛值
平均收敛值
最差收敛值
标准差
PSO-E[5]----
PSO-PC[6]01.9511e-0041.0800e-0026.3250e-005f1
TMPSO2.8355e-0344.1358e-0212.0679e-0205.8241e-035PSO-E[5]0
3.4900e-002
4.0510e-0017.5200e-002PSO-PC[6]3.4180e-0019.8560e-0011.6078e+0003.5270e-001
f2
TMPSO6.1400e-0176.1400e-0176.1400e-0170PSO-E[5]
1.2935e+0013.0879e+0017.4622e+0011.6527e+001PSO-PC[6]5.7002e+000
6.7592e+000
7.6727e+0019.9435e+000
f3
TMPSO0
5.6360e-007
2.8180e-006
PSO-E[5]----PSO-PC[6]02.7500e-0028.5200e-0023.9200e-002f4
TMPSO
2.4559e-0031.3246e-0025.6368e-002
3.1032e-018
从表2可以看出:
本文算法取得了比PSO-E和PSO-PC
更好的优化结果,尽管TMPSO算法在对2f测试时所获得的
最优收敛值略差于PSO-E,但是其平均收敛值和最差收敛值
均优于文献[5],特别是最优收敛值的标准差远小于PSO-E算法,这充分说明本文算法的性能均达到或优于其他已有算法。
5结束语
为解决粒子群优化算法易陷入局部极值、进化后期收敛速度缓慢和稳定性较差的缺点,本文提出基于Tent混沌序列的粒子群优化算法。
通过对4个基准测试函数的仿真计算,并与文献中相应算法优化结果的比较,证明了该算法具有快速收敛和鲁棒性好的特点。
下一步的研究重点为如何应用逻辑自映射函数初始化均匀分布的粒群以及探讨初始微粒分布的均匀性对算法收敛性的影响程度。
(下转第186页