Page 121 - 2024年第55卷第5期
P. 121
少、收敛速度快和易操作等优点 [21 - 22] ,但在后期迭代中存在收敛精度低和种群多样性差的问题,这也
是众多学者对其改进的原因 [23 - 24] 。针对当前改进方法计算量过大,本文基于混沌映射和莱维飞行改进
SSA。计算过程如下。
步骤 1:设置最大迭代次数(T )、空间维数(N )和樽海鞘数量(N),并根据式(4)初始化樽海
s
max
dim
鞘位置。
i
X = rand(N,N ) (ub - lb) + lb (i = 1 ,2,…,N;j = 1 ,2,…,N ) (4)
s
j
dim
j
j
j
dim
s
i
式中:rand(N,N )为 N 行 N 列的随机矩阵;为点乘;X 为第 i个跟随者在第 j维度上位置;
j
dim
dim
s
s
ub,lb分别为 j维搜索空间上限和下限。
j j
步骤 2:根据适应度函数计算每个樽海鞘的适应度值。
步骤 3:根据适应值对樽海鞘进行排名,并将最佳樽海鞘位置定义为食物源位置。
步骤 4:根据式(5)更新领导者位置。
3
j
1
2
j
j
j
1
X = { F+ c[(ub - lb)c+ lb] c ≥0.5 (5)
j
F- c[(ub - lb)c+ lb] c<0.5
1
j
3
2
j
j
j
1
式中:X 为领导者第 j纬度上的位置;F 为食物源第 j维度的位置;c和 c为 0~1的随机数,c为樽
2
j
2
3
j
海鞘步长,c决定领导者移动方向;c为 0~2的数,用来平衡算法全局探索和开发能力。当 c>1时,
1
3
1
SSA处于探索阶段,当 c<1时,SSA处于开发阶段。
1
步骤 5:根据式(6)更新跟随者位置。
1 i i - 1
i
X = (X+ X ) (6)
j j j
2
i - 1
式中 X 为第 i - 1 跟随者在第 j维度上位置。
j
步骤 6:计算樽海鞘适应度值,并更新食物源位置。
步骤 7:根据是否已达到最大迭代次数判定是否满足结束条件。若是,输出计算结果;否则,继
续迭代。
[22]
为提高 SSA搜索能力,基于式(7)所示的混沌映射函数 Quadratic 对其进行优化,如式(8)所示;
为提高 SSA寻优能力,参考文献[21]基于莱维飞行优化 SSA中决定领导者位置更新的 c和 c。
2
3
2
x = B - Ax,i = 1 ,2,3,…,N (7)
i + 1 i s
式中:x和 x 为第 i个和第 i + 1 个映射数据;A、B为可调整参数,本文分别取 4和 0.5。
i i + 1
4T max 2 4T max 2
-
-
c= 2e ( ) ·2 x = 4e ( ) · 0.5 - 4x 2 (8)
T
T
1 i + 1 i
式中 T为当前迭代次数。
由于 c和 c是 0~1之间随机数,不可直接使用莱维替代 c和 c,需对其进行改进,即:
2 3 2 3
Levy - min (Levy)
j
Levy= Levy + (9)
j
j
max(Levy) - min(Levy)
式中:Levy为基于莱维飞行的第 j个变量;Levy为 Levy组成的数组。
j
j
用上式中 Levy替代 c和 c,即得樽海鞘群领导者更新公式:
3
2
j
j
j
j
j
j
j
1
1
X = { F+ c[(ub - lb)Levy + lb],Levy ≥0.5 (10)
j F- c[(ub - lb)Levy + lb],Levy<0.5
j
1
j
j
j
j
j
为验证改进 SSA(ISSA)相比 SSA在参数辨识方面的优势,采用常用的基准测试函数(Rastrigin) [25]
对 ISSA和 SSA进行对比分析。Rastrigin三维曲面 [25] 和以对数形式表示的两个算法平均适应度变化曲
线(50次测试)如图 1所示,其中 F(x,x)为函数值,x和 x为自变量。从图 1(b)可以看出:相比
2
1
1
2
SSA,ISSA具有更快的收敛速度和更高的辨识精度。即 ISSA在参数辨识方面性能优于 SSA。
基于 ISSA与实际运行数据即可对水轮机建模数据进行修正,进一步基于 BPNN构建非线性水轮
机模型。水轮机的建模过程如图 2所示,基于 BPNN的高精度水轮机模型和线性引水系统模型如图 3
所示。其中:GCNN为基于 BPNN构建的以 n 和 M 为输入、以 Y为输出的开度特性神经网络;X为
11
11
— 6 2 1 —