一种基于扰动的精英反向学习粒子群优化的实现方法

文档序号:9667822阅读:886来源:国知局
一种基于扰动的精英反向学习粒子群优化的实现方法
【技术领域】
[0001] 本发明属于智能计算技术领域,特别是涉及一种基于扰动的精英反向学习粒子群 优化的实现方法。
【背景技术】
[0002] 粒子群优化算法(ParticleSwarmOptimization,PS0)是于 1995 年由学者 Kennedy和Eberhart受鸟群觅食行为启发提出的一种全局的优化进化算法,其主要思想是 通过个体之间的合作和信息共享实现对目标问题的求解。
[0003] 粒子群算法是一种基于种群的优化智能算法,所有的粒子都有一个由被优化的函 数决定的适应值,用来评价该粒子当前位置的优劣。粒子通过自身的迭代找到最优解,在每 一次迭代过程中,粒子通过追逐个体极值pbest和全局极值gbest来更新自己的位置。设 由N个粒子组成一个群体,在D维搜索空间中,向量Xi=(Xxi2,. . .,xid),i= 1,2,. . .,N, 表示第i个粒子在搜索空间中的位置,向量Vi=(vii,Vu,. . .,Vid)表示粒子的速度,第i个 粒子搜索到的最优位置为Pl=(Pn,pl2,. . .,pld),整个粒子群能搜索到的最优位置为pg= (pgl,pg2,. . .,pgd)。则粒子的变化方程如下:
[0004] vid (t+1) =wvid (t) (pid-xid (t)) +c2r2 (pgd-xid (t)) (1)
[0005]xid(t+l) =xid(t)+vid(t+l) (2)
[0006] 其中:d= 1,2, · ··,D;w称为惯性权重;cJPc2称为学习因子;ri和r2为两个在 (0, 1)范围内变化的随机函数;t为当前迭代次数。式(1)的第1部分为粒子先前的速度; 第2部分为"认知"部分,引导粒子向自身经历最优方向运动;第3部分为"社会"部分,引 导粒子向全局最优的方向运动。
[0007] 由于PS0算法流程简单,易于实现,已经广泛的用于多个领域。然而,PS0算法存 在着容易陷入局部极值,收敛速度慢,优化精度差的问题。
[0008]2〇〇5 年,Tizhoosh教授首次提出了反向学习(Opposition-basedlearning,0BL) 的概念,反向学习的主要思想是:在考虑每个候选个体的同时考虑其反向个体,这样可能得 到一个更接近最优的个体。反向学习策略能有效的提高群体多样性,避免算法早熟收敛。一 般智能算法都是随机生成初始群体,然后逐代向最优解接近并最终找到或接近最优解。在 搜索过程中,同时搜索当前解和反向解,从中选择较好的解作为下一代的群体,极大的提高 算法的效率。
[0009] 2013年,周新宇等提出精英反向学习策略,引入精英粒子,为了避免粒子群出现搜 索停滞,采用差分演化算法增强算法的局部开采能力。周新宇提出的精英反向学习(Elite Opposition-basedParticleSwarmOptimization,E0PS0)算法从收敛速度和收敛精度上 极大的提高了算法的性能,然而文中采用的是一种固定的惯性权重,对速度更新采用的是 标准的粒子群速度更新公式。固定的惯性权重不利于粒子前期大范围的搜索和粒子后期精 确的搜索,标准的粒子群速度更新公式使粒子容易陷入局部最优解。

【发明内容】

[0010] 本发明旨在克服现有技术缺陷,目的在于提供一种能够提高收敛速度和收敛精度 的基于扰动的精英反向学习粒子群优化的实现方法。
[0011] 为实现上述目的,本发明采用的技术方案是:
[0012] 第一步、初始化粒子参数
[0013] 首先设置种群粒子规模为N,同时对每个粒子的位置、速度也进行初始化,初始设 置粒子迭代次数的大小为Iter,粒子的评估次数为A,粒子的维数为D、粒子的社会学习能 力Q和粒子的自我学习能力C2,其中
[0014] Ci=C2= 1. 193 (3)
[0015] 第二步、计算粒子适应度值
[0016] 粒子的优劣由适应度函数所产生的适应度值来评价,把N个粒子中每个粒子所经 历的最好值,亦称作个体极值用Pi=(PU,Pl2,...,Pld)来表示,把N个粒子中最好的值,亦 称为全局极值用Pg=(Pgl,Pg2,...,Pgd)来表示。
[0017] 第三步、非线性递减惯性权重
[0018] 提出一种非线性递减的惯性权重,定义如下
[0019]

[0020] w_、w_为惯性权重的上、下限,Iter_是最大迭代次数,Iter是粒子当前迭代次 数,惯性权重前期下降较快,后期下降较慢。
[0021 ] 第四步、确定粒子位置更新的方式
[0022] 随机产生一个[0, 1]之间的随机数R,与初始设定的概率P进行比较,若R〈P则按 方式一来执行;若R>P则按方式二来执行;
[0023] 方式一:精英反向学习
[0024] 设当前群体中的精英个体为Xi=(Xt2, . . .,Xtd),相应的精英反向解 X: = (xK,…,X:)定义如下:
[0025]
(5)
[0026] 其中[ae[0,i],k为一般化系数,利用该系数可以生成多个不同的 反向精英个体。
[0027] 方式二:极值扰动
[0028] 引入极值扰动来扩大粒子搜索的范围,避免粒子陷入局部最优,将速度的更新公 式改为:
[ΩΩ9Ρ1
[0030] 式中^和^是(0, 1)间均匀分布的随机数,个体极值和全局极值会随着^和^的 取值不同而发生扰动,速度的大小和方向也会发生改变,种群的搜索范围扩大,粒子会飞向 更多新的位置,粒子容易发现更优值,通过粒子间的相互学习,粒子会向更优的位置移动, 有可能会跳出局部最优解。
[0031] 第五步:更新个体极值和全局极值
[0032] 粒子执行完一次位置更新后,对于单个粒子,找到该粒子拥有的最优适应值,作为 此次粒子的个体极值,并将适应值对应的粒子位置更新,对于N个粒子,找到所有粒子的最 优适应值作为粒子的全局极值,更新全局粒子的位置。
[0033] 第六步:粒子继续执行条件的确定
[0034] 每次粒子的执行都会有一个终止的条件,在粒子初始化时,设定了粒子的迭代次 数Iter和粒子的评估次数A,当粒子迭代的次数未达到Iter时,粒子当前已经迭代的次数t增加一次,粒子执行过程继续执行,直到达到初始设定的迭代次数,粒子的执行过程停止。
[0035] 优选的,在上述非线性递减惯性权重中,惯性权重w的初始值设为0. 9。
[0036] 本发明还给出了上述的基于扰动的精英反向学习粒子群优化的实现方法性能的 评估,方法性能的评估采用下面的两种方法:
[0037] a.固定的评价次数,评估方法的收敛速度和收敛精度;
[0038] b.固定收敛精度目标值,评估方法达到该精度目标所需要的评估次数。
[0039] 本发明的基于扰动的精英反向学习粒子群优化的实现方法,采用非线性递减惯性 权重、精英反向解和极值扰动,实现了基于扰动的精英反向学习粒子群的优化。本发明与现 有技术相比,具有具有更高的收敛速度和收敛精度,能有效的避免陷入局部最优,适用于求 解函数优化的问题。
【附图说明】
[0040] 图1为本发明的基于扰动的精英反向学习粒子群优化的实现方法的步骤示意图。
【具体实施方式】
[0041] 下面结合附图和具体实施例对本发明做进一步的描述,并非对其保护范围的限 制。
[0042] 本发明提供了一种基于扰动的精英反向学习粒子群优化的实现方法。在其一个实 施例中,该实现方法的步骤包括:
[0043] 第一步、初始化粒子参数
[0044] 根据本发明的流程,在参数初始化时会设定一个概率P,通过概率控制粒子按照精 英反向学习或扰动的方式更新粒子的位置,粒子执行过程中将P设定为〇. 3。同时也会设定 粒子的具体属性,初始化种群大小为N个粒子,同时对每个粒子的位置X、速度V也进行初始 化,初始设置粒子迭代次数的大小为Iter,粒子的评估次数为A,粒子的维数为D、粒子的社 会学习能力Q和粒子的自我学习能力(:2,其中
[0045] Ci=C2= 1. 193 (1)
[0046] 其中,在粒子速度的初始化时,会初始设定一个速度范围[v_,v_],粒子速度超 过范围时,将粒子的速度设定为最大边界范围vmax或最小边界范围vmin,在粒子运行迭代过 程中,本发明对速度采用的是一种动态变化的方式。
[0047] 第二步、计算粒子适应度值
[0048] 粒子的优劣由适应度函数所产生的适应度值来评价,把N个粒子中每个粒子所经 历的最好值,亦称作个体极值用Pi=(PU,Pl2,...,Pld)来表示,把N个粒子中最好的值,亦 称为全局极值用匕=(Pgl,Pg2,...,Pgd)来表示。适应度函数通常用f(*)来表示,在函数的 优化过程中,会通过多种测试函数来进行测试,在对每一个测试函数进行测试时,测试函数 也就是这里的适应度函数。测试函数分为单峰测试函数,主要用来测试函数的寻优速度和 收敛精度;多峰测试函数,多峰函数具有多个局部极值点,主要用于测试算法避免陷入局部 极值的性能。
[0049] 第三步、非线性递减惯性权重
[0050] 基本的粒子群算法最初始时没有设定惯性权重,在粒子执行过程中利用的是粒子 的社会学习能力和自我学习能力实现粒子的信息共享,以没有惯性权重的方式执行粒子的 位置更新,粒子在前期和后期以同样的状态迭代执行,没有根据粒子执行的具体情况来进 行相应的变化。标准的粒子群算法初始时给定一个固定的惯性权重,在一定程度上平衡了 粒子在前期和后期的执行特点。在标准粒子群的基础上,有学者提出了一种线性递减的惯 性权重粒子群算法,更进一步提升了算法的性能,在算法执行过程中采用线性递
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1