基于惯性因子的混沌粒子群优化算法研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 2)
每个粒子的飞行速度为 vi = ( vi1 ,vi2 ,…,viD) 。在整
个群 体 中,所 有 粒 子 经 历 过 的 最 好 位 置 为 Pg =
( Pg1 ,Pg2 ,…,PgD) ,每一代粒子根据下面的公式更 新自己的速度与位置:
v'id = vid + c1 r1 ( Pid - xid) +
8
北京信息科技大学学报
第 27 卷
后期,较小的惯性权重的引用以具有很好的局部发 掘能力。利用 Matlab 对测试函数进行仿真,结果表 明改进的混沌优化粒子群算法不仅克服了粒子群算 法容易陷入局部值的缺陷,而且能更迅速地搜索到 全局值。
1 粒子群优化算法原理
PSO 算法[2]将每个个体看作是在 n 维搜索空间
使策略思路直观,容易用程序实现和适用于各种函
数的混沌优化算法引入到粒子群优化算法中,无疑
会提高粒子群算法的准确性。这就是混沌粒子群优
化算法( CPSO,Chaos Particle Swarm Optimization) 的
主要思想。它利用混沌运动的遍历性,用整个粒子
群搜索到的最优位置产生混沌序列,然后把产生的
优化粒子群算法进一步改进,Matlab 仿真结果表明,改进的混沌优化粒子群算法,结合了混沌和粒
子群算法共同的优点,能快速、准确地搜索到全局最优值。
关 键 词: 惯性因子; 粒子群; 混沌; 优化算法; 收敛性
中图分类号: V 241. 5 + 33
文献标志码: A
Research on chaos particle swarm optimization algorithm based on inertia weight
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.
c2 r2 ( Pgd - xid )
( 3)
x'id = xid + vid
( 4)
其中,c1 和 c2 是学习因子,为非负常数; r1 和 r2 是介
于 [0,1]之间的随机数。迭代中止条件根据具体
问题一般选为最大迭代次数或粒子群迄今为止搜索
到的最优位置满足预定最小适应阈值。
2 CPSO 及其改进算法
第 27 卷 第 5 期 2012 年 10 月
北京信息科技大学学报 Journal of Beijing Information Science and Technology University
Vol. 27 No. 5 Oct. 2012
文 章 编 号: 1674 - 6864( 2012) 05 - 0007 - 04
基于惯性因子的混沌粒子群优化算法研究
李邓化,李金鳌,庞美飒,刘爱华
( 北京信息科技大学 自动化学院,北京 100192)
摘
要: 粒子群优化算法本身在多峰复杂函数时会出现早熟收敛现象,降低粒子的多样
性,导致粒子群不能收敛到全局极值点。针对粒子群优化算法的局限性,把混沌优化思想引入到
粒子群算法,采用混沌优化粒子群算法对测试函数进行仿真,并在此基础上加入惯性因子对混沌
小值点的平均值作为算法的衡量指标。
IWCPSO 算法中,每 100 次对惯性因子进行判
定,判定的基本依据是这 100 次内寻优值的改变量
是否低于一个阈值,若是,则往下迭代; 否则,修改惯
本文在混沌优化算法中引入惯性因子,得到了 一种改进的混沌优化粒子群算法,在前期,该算法使 用较大的惯性权重以具有较强的全局搜索能力,在
收稿日期: 2011-08-30 基金项目: 北京市自然科学基金项目( 4122028) ; 北京市重点学科项目( PXM2012_014224_000046) 作者简介: 李邓化( 1956—) ,女,河南南阳人,博士,教授,主要从事压电换能器、检测技术及自动化装置的研究。
2. 3 改进的混沌粒子群优化算法
பைடு நூலகம்
为了平衡算法在全局和局部之间的搜索,加入
w ( inertia weight,称为惯性因子,非负数) ,由此得到
的算 法 称 为 带 惯 性 因 子 的 粒 子 群 优 化 算 法
第5 期
李邓化等: 基于惯性因子的混沌粒子群优化算法研究
9
( IWCPSO,Inertia Weight Chaos Particle Swarm
中的一个没有体积和重量的粒子,每个粒子将在解
空间中运动,并由速度决定其方向和距离。PSO 算
法先在可行解空间中随机初始化一群粒子,生成初
始种群,然后由目标函数确定一个适应值。在每一
代中,粒子将跟踪 2 个极值,一个为粒子本身迄今找
到的最优解 pbest,另一个为全种群找到的最优解
gbest。通常粒子将追随当前的最优粒子而动,并经
人们把混沌思想引入到粒子群优化算法中,得到了 混沌粒子群优化算法 ( CPSO,Chaos Particle Swarm Optimization) 。混沌粒子群优化算法既采用了混沌 优化算法策略思路直观、编程实现简单的优点,又克 服了粒子群优化算法本身在多峰复杂函数时,出现 早熟收敛现象,提高粒子的多样性,使粒子群能收敛 到全局极值点。
部发掘能力。
的平均值) ,纵轴表示最优适应度值的对数( 即每次 进化所得全局最小值的对数) 。
3 仿真和验证
本文利用 Matlab 仿真软件选取 4 种典型测试 函数[4],分别对 PSO、CPSO、IWPSO 算法进行了仿真
验证。
3. 1 测试函数 1: 基准测试函数
函数表达式如下: f( x) = x2 - 0. 4cos( 3πx) + 2y2 -
的轨道,记为: F( n,x) = f( f( f( x) …) ) = fn( x) 。μ
称为控制参数( 吸引子) ,μ 值不同,系统的稳定解
lim
n→∞
xn
也具有不同性质。
虽然粒子群优化算法[3]非常简单,但其易陷入
局部极值点,后期收敛速度慢和精度较差的缺点使
其应用受到限制。为了简化后面的优化搜索过程,
Optimization) 。IWCPSO 算法更新公式变为
v'id = wvid + c1 r1 ( Pid - xid ) +
c2 r2 ( Pgd - xid )
( 6)
其中 w ∈ ( 0,1) 。混沌优化粒子群算法,在前期,该
算法使用较大的惯性权重以具有较强的全局搜索能
力,在后期,较小的惯性权重的引用以具有很好的局
逆映射到原解空间内,得:
P mgi
=
(
P mg1
,…,P
m g2
,…,P
m gD
)
,
( m = 1,…,MaxC)
然后计算每个可行解的适应度值,保留最优的 可行解 P* 。
步骤 5 随机从当前的群体中选出一个粒子用 P* 取代。
步骤 6 若达到最大的进化次数或者满足最小
误差精度,则优化过程结束,否则返回步骤 3。
始的适应度。
步骤 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 作用下产生
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 次所得函数全局最
混沌序列中的最优位置粒子随机替代当前粒子群中
的某一个粒子的位置。
2. 2 混沌粒子群优化算法步骤
步骤 1 确定初始参数: 学习因子 c1 、c2 ,种群 个 数 为 D,最 大 进 化 次 数 MaxE、混 沌 搜 索 次 数
MaxC、最小误差精度 E。
步骤 2 随机产生 N 个粒子的种群,并计算初
Key words: inertia weight; particle swarm optimization; chaos; optimization algorithm; convergence characteristic
0 引言
粒 子 群 算 法 ( PSO,Particle Swarm Optimization) [1]是蚁群最优化( ACO,Ant Colony Optimization) 理论的重要分支,它是源于群智能和人类认知的学 习过程而发展起来的种群智能优化算法,其简单与 明确的背景,使得广大研究者加入到这种算法的研 究中。但是,粒子群优化算法本身在多峰复杂函数 时会出现早熟收敛现象,减低粒子的多样性,导致粒 子群不能收敛到全局极值点。为了解决这个问题,
逐代搜索最后得到最优解。
假设在 D 维搜索空间中,有 N 个粒子组成的一
个群体,其 中 第 i 个 粒 子 在 D 维 空 间 中 的 位 置 表
示为
xi = ( xi1 ,xi2 ,…,xiD )
( 1)
i = 1,2,…N。第 i 个粒子经历过的最好位置( 即具
有该种群中的最好适应度) ,记为
Pi = ( Pi1 ,Pi2 ,…,PiD )
2. 1 混沌粒子群优化算法 混沌优化算法的基本原理就是利用式( 3) 产生
的混沌序 列 值 进 行“载 波 ”。 将 待 优 化 的 参 数 与 混 沌变量相对应,若需优化 n 个参数,则任意设定( 0, 1) 区间 n 个相异的初值,得到 n 个轨迹不同的混沌 变量,然后进行迭代,并将每次迭代结果映射到解空 间 X 上,得到相应的 xi,求出 f( x) 的值并判断是否 最优,若不是则继续迭代。