Page 259 - 《软件学报》2021年第5期
P. 259
傅文渊:具有万有引力加速机理的布谷鸟搜索算法 1483
位置和速度分别为
X , r m = (x (1) , rm , x (2) ,..., x ( )j , rm ,..., x ( )D , r m ), V m = (v (1) , r m ,v (2) ,...,v ( )j , r m ,...,v ( )D , r m ),
, r m
, rm
其中,j=1,2,3,…,D, x ()j , rm 和 v ()j , rm 分别表示第 m 个物质个体在第 j 维的位置分量和速度分量.通过物质个体位置对
应的适应度数值,确定物质个体的质量 M i 和受到的万有引力.根据牛顿第二定律计算物质个体的加速度,并更新
物质个体位置 X r,m 和速度 V r,m .GSA 算法主要包括以下 4 个步骤.
(1) 物质个体质量计算
根据文献[24−26],物质个体 m 的质量定义为
f − f
q , rm = , rm , r worst (5)
f , rbest − f , r worst
q
M , rm = N , rm (6)
∑ q , rm
m= 1
其中,f r,m 和 M r,m 分别表示 GSA 算法第 r 次进化时,物质个体 m 的函数适应度值和相应的质量.假设所求解的为
最小化问题,f r,best 和 f r,worst 分别表示第 r 次进化时物质个体最优的适应度数值和最差适应度数值,其数学表达式
如下:
f , rbest = min f , r m (7)
m∈ {1,2,..., }
N
f , rworst = max f , r m (8)
m∈ {1,2,..., }
N
(2) 物质个体万有引力计算
根据万有引力定律,在维度 j 上,物质个体 m 对物质个体 k 的万有引力定义如下:
M ⋅ M
F () j , rmk = G ⋅ r , rpm , r ak ⋅ (x ( ) j , rm − x () j , r k ) (9)
R , rmk + ε
其中,ε为一个无穷小的常数;M r,pm 表示被作用于物质个体 m 第 r 次进化时的惯性质量,M r,ak 表示为作用于物质
个体 m 第 r 次进化时的惯性质量,并且 M r,pm =M r,ak =M r,m ;R r,mk 为物质个体 m 和物质个体 k 的欧氏空间距离,即
R r,mk =||X r,m −X r,k || 2 ;G r 表示第 r 次进化时物质个体的万有引力常数,其表达式如公式(10)所示:
G r =G(G 0 ,r)=G 0 ⋅e −θ⋅r/W (10)
其中,G 0 为进化初始时物质个体的万有引力系数;θ为算法控制参数,一般取θ=20;W 为算法进化代数的最大值.
在维度 j 上,物质个体 m 所受的万有引力合力为 F ()j :
, rm
N
F () j = d ⋅ ∑ F () j (11)
, rm j , r mk
kb ≠ ∈ ,k m
其中,d j 为区间(0,1)内均匀分布的一个随机数,b 为物质个体数目.
(3) 物质个体加速度计算
由牛顿第二定律,物质个体 m 在维度 j 上第 r 次进化时的加速度定义如下:
F ()j
a ()j , rm = , rm (12)
M
, rmm
其中,M r,mm =M r,pm =M r,ak =M r,m .
(4) 物质个体更新速度和位置
算法在每次进化过程中,物质个体按照公式(13)和公式(14)分别更新速度 v ()j , rm 和位置 x ()j , rm ,其具体的数学表
达式分别为
v ()j 1,m = d v⋅ j ( )j , r m + a ()j , r m (13)
r+
x r+ ( )j 1,m = x ()j , r m + v ()j 1,m (14)
r+