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

文档序号:9667822阅读:来源:国知局
减的方式, 惯性权重前期和后期下降速度差别不大,不符合粒子在运行前期具有较大的惯性权重,运 行后期惯性权重较小。
[0051] 本发明提出一种非线性递减的惯性权重,定义如下
[0052]
(2)
[0053] wmax、wmin为惯性权重的上、下限,Iter_是最大迭代次数,Iter是粒子当前迭代次 数,惯性权重前期下降较快,后期下降较慢。
[0054] 第四步、确定粒子位置更新的方式
[0055] 随机产生一个[0, 1]之间的随机数R,与初始设定的概率P进行比较,若R〈P则按 方式一来执行;若R>P则按方式二来执行;
[0056] 方式一:精英反向学习
[0057] 在粒子群体中,将适应度最优的个体视为精英个体,粒子在迭代的过程中会追随 最优的粒子运动,通过反向学习产生精英反向解,扩大了粒子的搜索范围,粒子之间通过信 息共享,有利于粒子搜索到全局最优,加强精英个体搜索的区域,将会提高算法的收敛速度 和全局搜索能力。
[0058] 设当前群体中的精英个体为Xi=(XtdXt2, . . .,XtD),相应的精英反向解 XJ= ,…,X:)定义如下:
[0059
C3)
[0060] 其中[apbjLke[0,i],k为一般化系数,利用该系数可以生成多个不同的 反向精英个体。
[0061] 方式二:极值扰动
[0062] 基本的粒子群算法容易陷入局部最优,粒子种群都有趋同性,当粒子群算法陷入 局部最优时,即粒子所经历的个体最优值和粒子位置在全局最优解的一个很小的范围内, 则会导致速度难以得到更新,粒子会在局部最优值很小的一个范围内进行搜索,由于速度 很小,粒子难以发现更优的位置,粒子会陷入局部最优。较大的搜索范围能让粒子易于跳出 局部最优,因此,引入极值扰动来扩大粒子搜索的范围,避免粒子陷入局部最优,将速度的 更新公式改为:
[0063]
[0064] 式中^和匕是(0, 1)间均匀分布的随机数,个体极值和全局极值会随着^和匕的 取值不同而发生扰动,速度的大小和方向也会发生改变,种群的搜索范围扩大,粒子会飞向 更多新的位置,粒子容易发现更优值,通过粒子间的相互学习,粒子会向更优的位置移动, 有可能会跳出局部最优解。
[0065]第五步:更新个体极值和全局极值
[0066] 粒子执行完一次位置更新后,对于单个粒子,找到该粒子拥有的最优适应值,作为 此次粒子的个体极值,并将适应值对应的粒子位置更新,对于N个粒子,找到所有粒子的最 优适应值作为粒子的全局极值,更新全局粒子的位置。将个体极值和全局极值在每一次迭 代中都进行更新,能得到更优的粒子,在下一次的迭代中,粒子之间共享的信息会更优,更 加利于粒子寻找最优解。
[0067]第六步:粒子继续执行条件的确定
[0068] 每次粒子的执行都会有一个终止的条件,在粒子初始化时,设定了粒子的迭代次 数Iter和粒子的评估次数A,当粒子迭代的次数未达到Iter时,粒子当前已经迭代的次数t增加一次,粒子执行过程继续执行,直到达到初始设定的迭代次数,粒子的执行过程停止。
[0069] 如附图1所示,本实施例中采用的技术方案代码流程是:
[0070] 01)随机生成NP个粒子作为初始种群N;
[0071] 02)forIter=ltoItermaxdo
[0072] 03)按公式(4)更新惯性权重;
[0073] 04)ifRPthen
[0074] 05)获取粒子动态区间范围的最大值和最小值;
[0075] 06)fori=ltoNPdo
[0076] 07)生成随机系数k;
[0077] 08)forj=ltoDdo
[0078] 09)按公式(5)生成精英粒子的反向解;
[0079] 10)if粒子位置在动态区间范围外
[0080] 11)更新粒子位置为粒子动态区间范围内的一个随机数;
[0081] 12)endif
[0082] 13)endfor
[0083] 14)计算粒子适应度值;
[0084] 15)endfor
[0085] 16)从当前个体和精英反向个体中选择N个个体作为下一代群体;
[0086] 17)else
[0087] 18)动态的更新最大速度和最小速度;
[0088] 19)按式(6)更新粒子位置;
[0089] 20)计算粒子适应度值;
[0090] 21)fori=ltoNP
[0091] 22)更新pbest和gbest;
[0092] 23)endfor
[0093] 24)endif
[0094] 25)如果达到最大迭代次数或满足精度要求输出gtest;
[0095] 26)endfor
[0096]为了测试上述的基于扰动的精英反向学习粒子群优化的方法(DE0PS0),我们将其 与标准的粒子群优化算法(PS0)和精英反向学习粒子群优化算法(E0PS0)进行比较。评价 本发明方法的性能,主要从(1)固定的评价次数,评估算法的收敛速度和收敛精度;(2)固 定收敛精度目标值,评估算法达到该精度目标所需要的评估次数,这两个方面进行评价。 [0097] 采用本发明的方法,对函数进行优化测试,测试函数包括单峰测试函数、简单的多 峰函数、非旋转的多峰函数、带旋转的多峰函数,给出的函数优化的全局最优值均为〇,维数 均为30维,初始化粒子数为40个,为了消除算法在执行过程中的一些随机因素的影响,将 算法在各个函数上独立运行30次,以获得真实客观的评价。
[0098] 1)固定的评价次数,评估算法的收敛速度和收敛精度,具体测试结果详见表一。
[0099] 2)固定收敛精度目标值,评估算法达到该精度目标所需要的评估次数,具体测试 结果详见表二。
[0100] 表一固定评价次数算法在测试函数上的收敛精度
[0101]
[0102] 表二固定收敛精度目标值在测试函数上评估次数
[0103]

【主权项】
1. 一种基于扰动的精英反向学习粒子群优化的实现方法,其特征在于,包括如下步 骤: 第一步、初始化粒子参数 首先设置种群粒子规模为N,同时对每个粒子的位置、速度也进行初始化,初始设置粒 子迭代次数的大小为Iter,粒子的评估次数为A,粒子的维数为D、粒子的社会学习能力C1 和粒子的自我学习能力C2,其中 C1= C2= 1. 193 (1) 第二步、计算粒子适应度值 粒子的优劣由适应度函数所产生的适应度值来评价,把N个粒子中每个粒子所经历的 最好值,亦称作个体极值用P1= (P n,P12, ...,Pld)来表示,把N个粒子中最好的值,亦称为 全局极值用Pg= (P gl,Pg2,...,Pgd)来表示; 第三步、非线性递减惯性权重 提出一种非线性递减的惯性权重,定义如下其中,Wmax、WminS惯性权重的上、下限,Itermax是最大迭代次数,Iter是粒子当前迭代 次数,惯性权重前期下降较快,后期下降较慢; 第四步、确定粒子位置更新的方式 随机产生一个[0, 1]之间的随机数R,与初始设定的概率P进行比较,若R〈P则按方式 一来执行;若R>P则按方式二来执行; 方式一:精英反向学习 设当前群体中的精英个体为Xi = (X t D Xii 2,…,Xi1 D),相应的精英反向解|定义如下:其中X1, [a],bike [〇,i],k为一般化系数,利用该系数可以生成多个不同的反向 精英个体; 方式二:极值扰动 引入极值扰动来扩大粒子搜索的范围,避免粒子陷入局部最优,将速度的更新公式改 为:式中6和r 4是(0, 1)间均匀分布的随机数,个体极值和全局极值会随着r 3和r 4的取 值不同而发生扰动; 第五步:更新个体极值和全局极值 粒子执行完一次位置更新后,对于单个粒子,找到该粒子拥有的最优适应值,作为此粒 子的个体极值,并将适应值对应的粒子位置更新,对于N个粒子,找到所有粒子的最优适应 值作为粒子的全局极值,更新全局粒子的位置; 第六步:粒子继续执行条件的确定 每次粒子的执行都会有一个终止的条件,在粒子初始化时,设定了粒子的迭代次数 Iter和粒子的评估次数A,当粒子迭代的次数未达到Iter时,粒子当前已经迭代的次数t 增加一次,粒子执行过程继续进行,直到达到初始设定的迭代次数,粒子的执行过程停止。2. 根据权利要求1所述的基于扰动的精英反向学习粒子群优化的实现方法,其特征在 于:在非线性递减惯性权重中,惯性权重w的初始值设为0. 9。3. 根据权利要求1或2所述的基于扰动的精英反向学习粒子群优化的实现方法性能的 评估,其特征在于:方法性能的评估采用下面的两种方法: a. 固定的评价次数,评估方法的收敛速度和收敛精度; b. 固定收敛精度目标值,评估方法达到该精度目标所需要的评估次数。
【专利摘要】本发明涉及一种基于扰动的精英反向学习粒子群优化的实现方法,其技术方案是:第一步是初始化粒子参数;第二步是计算粒子适应值,获得个体极值和全局极值;第三步是非线性递减惯性权重,用一种非线性递减的方式而不是线性递减方式改变惯性权重以提高算法的收敛速度和收敛精度;第四步是确定粒子位置更新的方式;第五步是更新个体极值和全局极值;第六步是粒子继续执行条件的确定。本发明适用于求解函数优化的问题,方法具有更高的收敛速度和收敛精度,能有效的避免陷入局部最优。
【IPC分类】G06N3/00
【公开号】CN105426955
【申请号】CN201510513794
【发明人】李俊, 汪冲, 陈姚节, 李波, 胡威, 方国康
【申请人】武汉科技大学
【公开日】2016年3月23日
【申请日】2015年8月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1