当前位置:文档之家› 基于惯性因子的混沌粒子群优化算法研究

基于惯性因子的混沌粒子群优化算法研究

第 27 卷 第 5 期 2012 年 10 月
北京信息科技大学学报 Journal of Beijing Information Science and Technology University
Vol. 27 No. 5 Oct. 2012
文 章 编 号: 1674 - 6864( 2012) 05 - 0007 - 04
LI Deng-hua,LI Jin-ao,PANG Mei-sa,LIU Ai-hua
( School of Automation,Beijing Information Science and Technology University,Beijing 100192,China)
Abstract: When particle swarm optimization ( PSO) algorithm is used in complicated multi-modal functions,premature convergence will occur,which can reduce the diversity of particles and cause the particle swarm algorithm unable to converge to the value of global optimal solution. To overcome the defect of premature convergence on PSO algorithm,the idea of chaos is introduced into PSO algorithm called chaos optimization particle swarm algorithm ( CPSO ) . In this paper,CPSO is employed to simulate test functions,on the basis of which an inertia factor is introduced to improve the performance of CPSO. Matlab simulation results show that compared with the original particle algorithm,the improved CPSO algorithm has the advantages of both the chaos and particle swarm optimization ( PSO) algorithm and can obtain the global optimum value quickly and accurately.
2. 3 改进的混沌粒子群优化算法
为了平衡算法在全局和局部之间的搜索,加入
w ( inertia weight,称为惯性因子,非负数) ,由此得到
的算 法 称 为 带 惯 性 因 子 的 粒 子 群 优 化 算 法
第5 期
李邓化等: 基于惯性因子的混沌粒子群优化算法研究
9
( IWCPSO,Inertia Weight Chaos Particle Swarm
逐代搜索最后得到最优解。
假设在 D 维搜索空间中,有 N 个粒子组成的一
个群体,其 中 第 i 个 粒 子 在 D 维 空 间 中 的 位 置 表
示为
xi = ( xi1 ,xi2 ,…,xiD )
( 1)
i = 1,2,…N。第 i 个粒子经历过的最好位置( 即具
有该种群中的最好适应度) ,记为
Pi = ( Pi1 ,Pi2 ,…,PiD )
使策略思路直观,容易用程序实现和适用于各种函
数的混沌优化算法引入到粒子群优化算法中,无疑
会提高粒子群算法的准确性。这就是混沌粒子群优
化算法( CPSO,Chaos Particle Swarm Optimization) 的
主要思想。它利用混沌运动的遍历性,用整个粒子
群搜索到的最优位置产生混沌序列,然后把产生的
8
北京信息科技大学学报
第 27 卷
后期,较小的惯性权重的引用以具有很好的局部发 掘能力。利用 Matlab 对测试函数进行仿真,结果表 明改进的混沌优化粒子群算法不仅克服了粒子群算 法容易陷入局部值的缺陷,而且能更迅速地搜索到 全局值。
1 粒子群优化算法原理
PSO 算法[2]将每个个体看作是在 n 维搜索空间
小值点的平均值作为算法的衡量指标。
IWCPSO 算法中,每 100 次对惯性因子进行判
定,判定的基本依据是这 100 次内寻优值的改变量
是否低于一个阈值,若是,则往下迭代; 否则,修改惯
( 2)
每个粒子的飞行速度为 vi = ( vi1 ,vi2 ,…,viD) 。在整
个群 体 中,所 有 粒 子 经 历 过 的 最 好 位 置 为 Pg =
( Pg1 ,Pg2 ,…,PgD) ,每一代粒子根据下面的公式更 新自己的速度与位置:
v'id = vid + c1 r1 ( Pid - xid) +
0. 6cos( 4πy) + 1
( 7)
其中 - 10 ≤ x,y ≤ 10,在[- 10,10]区间内有 1 个
全局最小值点( 0,0) ,全局最小值为 0。算法的初始
参数为: 粒子种群规模为 10,学习因子 c1 = 2,c2 = 2。 为评价算法的收敛性能,混沌寻优次数为 50 次,进
化次数设为1 000,连续运行 10 次所得函数全局最
始的适应度。
步骤 3 根据式( 1) 和( 2) 对粒子进行操作。
步骤 4 对最优位置 Pg = ( Pg1 ,Pg2 ,…,PgD)
进行混沌优化。将 Pgi( i = 1,2,…,D) 归一化处理
得到
P
* gi
,然后用
Logistic
方程迭代产生混沌变量序

P
(**
gi
i
=
1,2,…,D) ,再把产生的混沌变量序列
混沌优化的典型模型是 Logistic 方程。它是描
述生物种群的系统演化行为的模型,可描述为
xn+1 = μxn ( 1 - xn ) = f( xn ,μ)
( 5)
在式 ( 5 ) 中 对 每 一 点 x ∈ X,集 合 { x,f( x) ,
f2 ( x) ,f3 ( x) ,…,fn( x) ,…} 称作 x 在 f 作用下产生
Optimization) 。IWCPSO 算法更新公式变为
v'id = wvid + c1 r1 ( Pid - xid ) +
c2 r2 ( Pgd - xid )
( 6)
其中 w ∈ ( 0,1) 。混沌优化粒子群算法,在前期,该
算法使用较大的惯性权重以具有较强的全局搜索能
力,在后期,较小的惯性权重的引用以具有很好的局
混沌序列中的最优位置粒子随机替代当前粒子群中
的某一个粒子的位置。
2. 2 混沌粒子群优化算法步骤
步骤 1 确定初始参数: 学习因子 c1 、c2 ,种群 个 数 为 D,最 大 进 化 次 数 MaxE、混 沌 搜 索 次 数
MaxC、最小误差精度 E。
步骤 2 随机产生 N 个粒子的种群,并计算初
人们把混沌思想引入到粒子群优化算法中,得到了 混沌粒子群优化算法 ( CPSO,Chaos Particle Swarm Optimization) 。混沌粒子群优化算法既采用了混沌 优化算法策略思路直观、编程实现简单的优点,又克 服了粒子群优化算法本身在多峰复杂函数时,出现 早熟收敛现象,提高粒子的多样性,使粒子群能收敛 到全局极值点。
优化粒子群算法进一步改进,Matlab 仿真结果表明,改进的混沌优化粒子群算法,结合了混沌和粒
子群算法共同的优点,能快速、准确地搜索到全局最优值。
关 键 词: 惯性因子; 粒子群; 混沌; 优化算法; 收敛性
中图分类号: V 241. 5 + 33
文献标志码: A
Research on chaos particle swarm optimization algorithm based on inertia weight
本文在混沌优化算法中引入惯性因子,得到了 一种改进的混沌优化粒子群算法,在前期,该算法使 用较大的惯性权重以具有较强的全局搜索能力,在
收稿日期: 2011-08-30 基金项目: 北京市自然科学基金项目( 4122028) ; 北京市重点学科项目( PXM2012_014224_000046) 作者简介: 李邓化( 1956—) ,女,河南南阳人,博士,教授,主要从事压电换能器、检测技术及自动化装置的研究。
部发掘能力。
的平均值) ,纵轴表示最优适应度值的对数( 即每次 进化所得全局最小值的对数) 。
3 仿真和验证
本文利用 Matlab 仿真软件选取 4 种典型测试 函数[4],分别对 PSO、CPSO、IWPSO 算法进行了仿真
验证。
3. 1 测试函数 1: 基准测试函数
函数表达式如下: f( x) = x2 - 0. 4cos( 3πx) + 2y2 -
Key words: inertia weight; particle swarm optimization; chaos; optimization algorithm; convergence characteristic
0 引言
粒 子 群 算 法 ( PSO,Particle Swarm Optimization) [1]是蚁群最优化( ACO,Ant Colony Optimization) 理论的重要分支,它是源于群智能和人类认知的学 习过程而发展起来的种群智能优化算法,其简单与 明确的背景,使得广大研究者加入到这种算法的研 究中。但是,粒子群优化算法本身在多峰复杂函数 时会出现早熟收敛现象,减低粒子的多样性,导致粒 子群不能收敛到全局极值点。为了解决这个问题,
相关主题