Page 182 - 《软件学报》2021年第10期
P. 182
3154 Journal of Software 软件学报 Vol.32, No.10, October 2021
(4) 参数 p[0,1]对 FPA 算法的勘探(全局授粉)和开采(局部授粉)之间的相互转换进行调节,且因受花朵
个体之间所处位置的邻近性和风等其他自然因素影响,使得授粉更偏重于自花授粉 [21] .
从上述可知,异花授粉(全局授粉)和自花授粉(局部授粉)是 FPA 算法的核心,算法的全局授粉(优化)通过公
式(1)实现,局部授粉(优化)通过公式(5)实现.
全局授粉(优化)的进化公式如下:
x i t 1 x t i L ()(x t i x best ) (1)
t
其中, x 、 x t 1 分别对应于迭代 t 次、(t+1)次后获得的解,x best 是每次迭代后获得的最优解,是控制步长的缩放因
i
i
子 [20] ,L()是对应于花朵个体的莱维飞行位移.L()的计算如公式(2):
G ()sin( / 2) 1
L () ~ (s s ) 0 (2)
0
s 1
其中,=3/2,G()是标准伽马函数,s 由公式(3)得到:
s (3)
|| 1/
2
2
其中,~N(0, ),ν~N(0,1), 由公式(4)计算获得:
G (1 ) sin( / 2) 1/
2 1) / 2 (4)
G [(1 )/ 2] 2 (
花朵个体的局部授粉(优化)可通过公式(5)进行局部搜索:
x t 1 x t i (x t j x t k ) (5)
i
t
t
其中, x 、 x 是优化过程中两个不同的随机解,是区间 0~1 上的一个均匀分布随机数.
j
k
2 基于多策略改进的花授粉算法
依据基本 FPA 算法的仿生原理可知:其是由全局搜索和局部搜索通过参数 p 进行融合组成的,并利用公式
(1)和公式(5)实现了数学模型化,为其解决一系列复杂的优化问题奠定了理论基础.而对基本 FPA 算法的搜索机
制进行定性分析显示:基本 FPA 算法的搜索策略存在的不足制约着算法的收敛效果,包括存在收敛速度慢和易
陷入局部最优等缺点.对于这些影响算法性能的不利因素,本文对 FPA 算法进行了多策略改进.
2.1 新全局搜索策略
从技术角度来说,FPA 算法在全局授粉时,莱维飞行和最优个体(x best )对种群中的个体同时施加影响.由于受
全局最优个体 x best 的吸引,FPA 算法在优化简单问题时具有较快的收敛速度;但在解决复杂的优化问题时,若种
群中的个体 x best 陷入到探索领域中的某些局部极小位置,则其他个体受 x best 的影响,也快速移动到 x best 所在的
位置,使得( x x best )变得非常小,从而造成个体位置更新公式(1)无效,因为 x t 1 x i t 0 t i . x 在这种情况下,种群
t
i
i
将停止进化,并且很难逃离局部最优.为了解决该问题,本文利用公式(6)对公式(1)进行改进:
x t 1 x t L ()(x t x x t x t x t x t ) (6)
i i i best 1 i 2 i 3 i 4 i
其中,i、i 1 、i 2 、i 3 、i 4 分别是从当前群体中随机选取的 5 个不同个体的下标,其余变量的含义同公式(1).
从公式(6)可以看出:在莱维飞行机制的基础上,引入了两组差异矢量,增加了种群个体之间的差异性,提高
了算法在多维空间的探索能力,有利于抑制算法早熟收敛,提升算法的性能.
2.2 引入精英变异策略的局部搜索策略
在基本花授粉算法的局部搜索部分,利用公式(5)的变异操作产生一个新个体.从公式(5)可知:新个体是在父
代个体的基础上加上一个扰动项,其值是一个随机数和两个个体差分矢量的乘积.于是,新个体的产生具有较大
的随机性,这使得种群个体的多样性能够较好地得到维持,从而使算法能够保持良好的持续优化能力.但是由于
个体缺乏对种群中最优个体良好经验的继承和学习机制,个体的进化方向具有很强的盲目性,这导致了对搜索