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 —
   116   117   118   119   120   121   122   123   124   125   126