基于Tent混沌序列的粒子群优化算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

—180

基于Tent 混沌序列的粒子群优化算法
田东平1,2
(1. 宝鸡文理学院计算机软件研究所,宝鸡 721007;2. 宝鸡文理学院计算信息科学研究所,宝鸡 721007)
摘 要:针对粒子群优化算法易陷入局部极值和进化后期收敛速度缓慢的问题,提出基于Tent 混沌序列的粒子群优化算法,应用Tent 映射初始化均匀分布的粒群,提高初始解的质量,设定粒子群聚集程度的判定阈值,并引入局部变异机制和局部应用Tent 映射重新初始化粒群的方法,增强算法跳出局部最优解的能力,有效避免计算的盲目性,从而加快算法的收敛速度。

仿真实验结果表明,该算法是有效的。

关键词:粒子群优化算法;Tent 映射;变异机制;判定阈值;收敛速度
Particle Swarm Optimization Algorithm
Based on Tent Chaotic Sequence
TIAN Dong-ping 1,2
(1. Institute of Computer Software, Baoji University of Arts and Science, Baoji 721007;
2. Institute of Computational Information Science, Baoji University of Arts and Science, Baoji 721007)
【Abstract 】Aiming at the problems of easily getting into the local optimum and slowly converging speed of the Particle Swarm Optimization(PSO) algorithm, a new PSO algorithm based on Tent chaotic sequence is proposed. The uniform particles are produced by Tent mapping so as to improve the quality of the initial solutions. The decision threshold of particles focusing degree is employed, and the local mutation mechanism and the local reinitializing particles are introduced in order to help the PSO algorithm to break away from the local optimum, whick can avoid the redundant computation and accelerate the convergence speed of the evolutionary process. Simulation experimental results show this algorithm is effective. 【Key words 】Particle Swarm Optimization(PSO) algorithm; Tent mapping; mutation mechanism; decision threshold; convergence speed
计 算 机 工 程 Computer Engineering 第36卷 第4期
Vol.36 No.4 2010年2月
February 2010
·人工智能及识别技术· 文章编号:1000—3428(2010)04—0180—03
文献标识码:A
中图分类号:TP301.6
1 概述
粒子群优化(Particle Swarm Optimization, PSO)算法是种
进化算法,是Kennedy 等人在对鸟类、鱼类群集活动时所形成的协同智能进行总结而提出的[1]。

与其他进化算法相比,PSO 算法简单通用、易于实现、可调参数少,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,非常适于对复杂环境中优化问题的求解。

目前,PSO 算法已被广泛应用于函数优化、神经网络训练、模糊系统控制等领域。

然而,与其他全局优化算法类似,PSO 算法亦有其不足:易陷入局部极值点,进化后期收敛速度缓慢、精度较差等。

文献[2]介绍了一种自适应逃逸微粒群算法,通过逃逸运动,使微粒能够有效地进行全局和局部搜索,减弱了随机变异操作带来的不稳定性。

但是,不论是基本PSO 算法还是此处的自适应逃逸PSO 算法,它们都具有不稳定性,究其原因是算法在初始化阶段微粒分布不均匀而造成的。

文献[2]只指出算法不稳定性的原因,而并没有给出具体的解决方案。

为此,本文提出基于Tent 混沌序列的粒子群优化算法。

2 粒子群优化算法
粒子群优化算法的基本思想源于鸟群飞行的觅食行为。

在PSO 系统中,每个备选解被称为一个“粒子”,多个粒子共存与合作寻优。

而每个粒子根据其自身“经验”和相邻粒子群的最佳“经验”,在问题解空间中向更好的位置“飞行”,以便搜索最优解。

PSO 算法的数学表示如下: ()()()()()()11221id id id id gd id v t v t c r p t x t c r p t x t ω+=×+××−+⎡⎤⎣⎦⎡⎤ ××−⎣⎦
(1)
()()()11id id id x t x t v t α+=+×+ (2)
其中,()1id x t +,()id x t ,()1id v t +,()id v t 分别表示第i 个粒子在
1t +和t 时刻的空间位移与运动速度;ω为惯性因子;12,c c 分
别表示粒子个体的加速权重系数和粒子群体的加速权重系数;12,r r 为[0,1]之间的随机数;()(),id gd p t p t 分别表示第i 个粒子个体在搜索过程中的最佳位置和粒子群体在搜索过程中的最佳位置。

3 基于Tent 混沌序列的粒子群优化算法
3.1 混沌映射与混沌序列
一般将由确定性方程得到的具有随机性的运动状态称为混沌,呈现混沌状态的变量称为混沌变量。

混沌是存在于非线性系统中的一种普遍现象,一个混沌变量在一定范围内具有随机性、遍历性和规律性的特点。

利用混沌变量的这些特征进行优化搜索,能使算法跳出局部最优,保持群体的多样性,改善算法的全局搜索性能。

然而,不同的混沌映射算子对混沌寻优过程有很大的影
基金项目:陕西省教育厅科研计划基金资助项目(09JK335)
作者简介:田东平(1981-),男,讲师、硕士,主研方向:模糊推理,专家系统,智能优化计算
收稿日期:2009-11-20 E-mail :tdp211@
—181—
响。

目前文献中引用较多的是Logistic 映射算子。

文献[3]通过比较指出Tent 映射比Logistic 映射具有更好的遍历均匀性和更快的迭代速度,并经过严格数学推理,论证了Tent 映射具有作为优化算法混沌序列的前提条件。

Tent 映射又称为帐篷映射,其表达式如下式:
()1201221121
k k k k k x x x x x + ⎧⎪=⎨− <⎪⎩≤≤≤ (3)
理论研究表明[3]:Tent 映射经贝努利移位变换后可以表
示成如下形式:
()12mod1k k x x += (4)
因此,根据Tent 映射,可按如下步骤在可行域中产生粒子i 的混沌点列:
Step1 取初值0x (0x 应避免落入小周期点内,如4周期(0.2,0.4,0.8,0.6)),记入标志组()0,1,1z z x i j ===。

Step2 利用式(4)进行迭代,i 自增1,产生x 序列。

Step3 如果迭代达到最大次数,则转向执行Step5;否则,若产生的x 序列落入不动点或5周期以内的小循环(如
(){}0,0.25,0.5,0.75x i =或者()(){},0,1,2,3,4x i x i k k =−=),则
转向执行Step4;若产生的序列未出现上述情况,则转向执行Step2。

Step4 改变迭代初值()()()1,1x i z j z j j j ε=+=+=+,返回Step2。

Step5 程序运行结束,保存产生的x 序列。

3.2 算法设计思想与实现流程
针对PSO 算法易陷入局部极值和进化后期收敛速度缓慢的缺点以及文献[2]中指出由于算法在初始化阶段微粒分布的不均匀而导致算法的不稳定性等原因,本文提出基于Tent 混沌序列的PSO 算法。

一方面,应用Tent 映射初始化均匀分布的粒群,提高了初始解的质量;另一方面,设定粒子群聚集程度的判定阈值,经判断若知算法出现“聚集”现象,则计算粒群中每个粒子的适应度值()1,2,,i f i N ="和整个粒群的平均适应度值
()1
1N
i i f f x N ==
∑(其中,N 为群体中粒子数目),并依据f 将整个群体一分为二:对适应度值小于或等于f 的粒子,将粒子所在位置i x 增加随机扰动,即()1i i x x η=×+,其中,η是服从高斯分布的随机变量;对适应度值大于f 部分的粒子,应用3.1节中的Tent 映射,重新初始化并择优选取相同数量的粒子。

此处先计算并判断粒子的聚集程度,旨在明确算法的下一步具体执行策略,以避免盲目的变异和重新初始化而引起的大量运算,进而影响算法的收敛速度;将粒子群一分为二,对比较“聚集”部分的粒子实施高斯变异,对比较“发散”部分的粒子,应用Tent 映射初始化生成分布均匀的粒群,由变异和重新初始化两部分构成当前进化代新的群体,从而增强算法跳出局部最优解的能力。

为了判定粒子群的聚集程度,此处引用了粒子间最大聚集距离的计算式[4]:
1,2,,max i m
MaxDist ==" (5)
其中,m 为相邻子群粒子数;ld p 为历史最佳位置;id x 表示
第i 个粒子的第d 维分量。

由上述分析可知,基于Tent 混沌序列的PSO 算法的实
现流程如下:
Step1 应用3.1节中的Tent 混沌映射算法,在可行域中产生N 个粒子的初始位置;随机初始化各粒子的初始速度。

Step2 将第i 个粒子的pBest 设置为该粒子的当前位置,
gBest 设置为初始群体中最佳粒子的位置。

Step3 计算粒子间最大聚集距离,判断算法是否陷入局部最优,若是则执行Step4;否则转Step5。

Step4 计算出每个粒子的适应度值()1,2,,i f i N ="和粒子群体的平均适应度值f 。

(1)对于所有的i f f ≤的粒子,由于出现“聚集”现象,因此将其对应的位置量i x 进行变异,
即()1i i x x η=×+,其中,η是服从高斯分布的随机变量。

(2)对于所有的i f f >的粒子,由于出现“发散”趋势,因此应用3.1节中的Tent 映射,重新初始化相同数量的i x 。

Step5 根据式(1)和式(2)更新粒子的速度和位置。

Step6 根据粒子群的当前状态,更新每个粒子所经历的最好位置和整个粒子群所经历的最好位置。

Step7 判断算法是否达到最大迭代次数,若是则程序运行结束,并输出相应优化变量;否则转Step3。

4 数值仿真与分析
4.1 仿真函数引用
本文采用4个经典的基准测试函数Sphere, Griewank, Rastrigin 和Schaffer 来测试文中提出的基于Tent 混沌序列的粒子群优化算法的性能。

具体函数引用如下:
(1)Sphere :[]211
,100,100d
i i i f x x ==∈−∑
(2)Griewank :
()([]2
21
1
14000cos 1,600,600d
d
i i i i f x x === −+∈−∑∏
(3)Rastrigin :()[]231
10cos 210,100,100d
i i i i f x x x =⎡⎤=−π+∈−∑⎣⎦
(4)Schaffer:()()(
)
2
224120.5sin 0.5 1.00.001f x x =+++
[]100,100i x ∈−
其中,Sphere 是个单模态函数,在点()0,0,,0"达到最小值0;Griewank, Rastrigin 和Schaffer 均为多模态函数,在其定义域内有大量局部极值点,且均在点()0,0,,0"达到最小值0。

4.2 仿真结果分析
为了测试本文所提出的基于Tent 混沌序列的PSO 算法的性能,本文设计了4类测试实验:
(1)基本粒子群优化算法(Canonical PSO,CPSO);
(2)仅应用3.1节中的Tent 混沌映射初始化均匀分布粒群的PSO 算法(TPSO);
(3)仅在算法进化过程中引入局部变异机制和局部应用3.1节中的Tent 映射重新初始化粒群的PSO 算法(MPSO);
(4)本文提出的基于Tent 混沌序列的PSO 算法(TMPSO)。

在进行仿真实验时,参数设置如下:惯性因子ω线性减小,0.9Max ω=和0.4Min ω=;加速因子122c c ==;约束因子0.5α=;函数维度30d =;群体粒子数为15;最大迭代次数为150;粒子聚集距离阈值取0.28;Tent 映射的迭代次数取450。

算法在Matlab7.1环境下实现,为衡量本文算法的优 化性能,对每个函数独立运行30次所得最优收敛值、平均收敛值、最差收敛值和标准差作为最终评价指标,如表1所示。

—182
— 表1 4种算法优化性能比较
优化
函数
优化方法 最优收敛值 平均收敛值 最差收敛值 标准差 CPSO 7.823 8e+001 2.853 3e+003 1.057 3e+004 2.033 7e-013 TPSO 1.764 3e-010 5.309 6e-007 3.643 5e-004 9.470 1e-023 MPSO 1.765 6e-003 9.018 8e+002 3.288 6e+003 1.016 8e-013 f 1
TMPSO 2.835 5e-034 4.135 8e-021 2.067 9e-020 5.824 1e-035 CPSO 4.335 9e+002 5.435 6e+002 6.698 1e+002 5.084 2e-014
TPSO -6.140 0e-017 -6.140 0e-017 -6.140 0e-017 0
MPSO 1.767 0e+001 3.898 9e+002 7.387 8e+002 1.016 8e-014
f 2
TMPSO 6.140 0e-017 6.140 0e-017 6.140 0e-017 0
TPSO 3.643 5e-006 1.726 5e-003 8.284 2e-003 5.818 4e-019 MPSO 8.367 5e+001
3.901 2e+002 1.296 6e+003 6.625 8e-014
f 3
TMPSO 0
5.636 0e-007 2.818 0e-006 0
CPSO 2.455 9e-003 1.160 0e-001 2.508 8e-001 1.241 3e-017 TPSO 2.455 9e-003 1.704 0e-002 5.636 5e-002 3.103 2e-018 MPSO 2.456 2e-003 1.742 2e-001 4.778 6e-001 1.241 3e-017 f 4
TMPSO
2.455 9e-003
1.324 6e-002
5.636 8e-002
3.103 2e-018
从表1可以看出:本文提出的基于Tent 混沌序列的粒子
群优化算法在最优收敛值、平均收敛值、最差收敛值和标准
差的求解方面均优于其他3种算法。

例如,在对2f 的测试中,TMPSO 取得了与TPSO 同样好的优化结果;在对4f 的测试中,尽管TMPSO 的最差收敛值略差于TPSO ,最优收敛值和
标准差等同于TPSO ,但是其平均收敛值要优于TPSO ,这充分说明TMPSO 算法具有更好的稳定收敛性,也进一步论证了文献[2]中所述的初始粒群分布的不均匀性是造成PSO 算法稳定性差的结论。

为了反映本文中TMPSO 算法的动态进化特性,图
1~图4分别给出4
个基准测试函数在优化算法CPSO, MPSO, TPSO 和TMPSO 下的进化曲线。

图1 Sphere
Function
图2 Griewank
Function
适应
度对数


3 Rastrigin
Function
图4 Schaffer Function
从图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]0 1.951 1e-004 1.080 0e-002 6.325 0e-005f 1
TMPSO 2.835 5e-034 4.135 8e-021 2.067 9e-020 5.824 1e-035PSO-E [5]0
3.490 0e-002
4.051 0e-0017.520 0e-002PSO-PC [6] 3.418 0e-0019.856 0e-001 1.607 8e+000 3.527 0e-001
f 2
TMPSO 6.140 0e-017 6.140 0e-017 6.140 0e-0170 PSO-E [5]
1.293 5e+001 3.087 9e+001 7.462 2e+001 1.652 7e+001PSO-PC [6] 5.700 2e+000
6.759 2e+000
7.672 7e+0019.943 5e+000
f 3
TMPSO 0
5.636 0e-007
2.818 0e-006
PSO-E [5]- - - - PSO-PC [6]0 2.750 0e-002 8.520 0e-002 3.920 0e-002f 4
TMPSO
2.455 9e-003 1.324 6e-002 5.636 8e-002
3.103 2e-018
从表2可以看出:本文算法取得了比PSO-E 和PSO-PC
更好的优化结果,尽管TMPSO 算法在对2f 测试时所获得的
最优收敛值略差于PSO-E ,但是其平均收敛值和最差收敛值
均优于文献[5],特别是最优收敛值的标准差远小于PSO-E 算法,这充分说明本文算法的性能均达到或优于其他已有算法。

5 结束语
为解决粒子群优化算法易陷入局部极值、进化后期收敛速度缓慢和稳定性较差的缺点,本文提出基于Tent 混沌序列的粒子群优化算法。

通过对4个基准测试函数的仿真计算,并与文献中相应算法优化结果的比较,证明了该算法具有快速收敛和鲁棒性好的特点。

下一步的研究重点为如何应用逻辑自映射函数初始化均匀分布的粒群以及探讨初始微粒分布的均匀性对算法收敛性的影响程度。

(下转第186页)。

相关文档
最新文档