Page 45 - 2023年第54卷第3期
P. 45

含一组优化问题的潜在解。在迭代过程中,根据优化函数计算每个解的适宜度,以个体和全体适宜度
              极值为基准,不断更新全体粒子信息,进而搜索整个状态空间,最终使得适应度值最小,即找到优化
              问题的全局最优解。
                  在传统 PSO算法的基础上,本文从粒子速度更新公式和变异扰动两个方面进行了改进:
                  1)粒子速度更新公式的改进。传统 PSO算法粒子速度更新公式如式(1)所示,本文在粒子速度更
              新过程中保留了原本的搜索方法,同时引入了与全体最优粒子对应的 BP神经网络权值和阈值,将
              IPSO算法和 BP神经网络的梯度下降法相结合,如式(2)所示。本文以 BP神经网络的输出误差作为适
              宜度函数,在粒子速度计算过程中,将适宜度最优(即误差最小)的 BP神经网络权值和阈值导出,形
              成与 IPSO算法粒子相同的数据编码格式,加入粒子速度计算过程。并通过动态系数 η依据计算进度
              调整 IPSO算法与梯度下降法计算结果所占比例。
                                                           k
                                                                      k
                                              k + 1
                                                                          k
                                                   k
                                                              k
                                             v = v+ cr(P - x) + cr(P - x)                               (1)
                                              ij   ij  1 1  ij  ij  2 2  gj  ij
                                                                         k
                                                          k
                                      k + 1
                                                                      k
                                                             k
                                                  k
                                      v = (1 - η )[v+ cr(P - x) + cr(P - x)] + η V BPbest               (2)
                                                             i j
                                      ij
                                                          i j
                                                                         i j
                                                                      g j
                                                  i j
                                                     1 1
                                                                 2 2
                                                              k
                                                          η =                                           (3)
                                                             2K
              式中:v为粒子速度;x为粒子位置;i为第 i个粒子,j为粒子的维度;k为当前的迭代次数;c、c
                                                                                                       1  2
              为学习因子;r、r为(0,1)内的随机数;P和 P 分别为个体和全体粒子适宜度极值;K为最大迭代
                                                       ij
                                                           gj
                               2
                           1
              次数;V    BPbest 为对应全体最优适宜度粒子的 BP神经网络的权值和阈值。
                  本文同时引入了惯性权重和动态学习因子,对粒子速度更新算法进行了改进。惯性权重采用陈博
              文等  [21] 基于 Logistic回归曲线提出的衰减策略,将惯性权重变化分为下降、上升、再下降三个部分。
              可在迭代计算初期提高粒子的广域搜索能力和收敛效率,中期随着权重转折上升而扩大搜索空间和寻
              优能力,后期依靠局部搜索获得高精度解。非线性自适应改变的学习因子在算法初期提高个体极值的
              权重,后期提高了全体极值的权重。本文采用了仝秋娟等                            [22] 提出的学习因子异步变化规则,能够始终
              保持 c和 c之和为 4。改进后的 IPSO算法粒子速度和位置更新公式如下:
                    1
                        2
                                                              k
                                                   k
                                      k + 1
                                                                       k
                                                           k
                                                                          k
                                     v = (1 - η )[ ω v+ cr(P - x) + cr(P - x)] + η V BPbest             (4)
                                      k + 1 {
                                      ij
                                                           i j
                                                   i j
                                                                          i j
                                                                       g j
                                                              i j
                                                      1 1
                                                                  2 2
                                           k
                                              k + 1
                                     x = x+ v
                                              ij
                                      ij
                                           ij
                                                        -          -
                                                - 2 k( ω max ω min ) ω max ω min
                                             ω =              +         + ω max                         (5)
                                                                    12
                                                      K           - ( k - 6 )
                                                               1 + e K
                                                      f - f         f - f
                                               c= 2 +    ave  ,c= 2 -  ave                              (6)
                                                1
                                                              2
                                                     f - f         f - f
                                                      ave  min      ave  min
                                                                                                   = 0;f为
              式中:ω为惯性权重;ω max         、ω min 分别为最大惯性权重和最小惯性权重,本文 ω max                   = 0.8,ω min
              该粒子本次迭代的适宜度值,f 和 f 分别为全体适宜度的平均值和最小值。
                                               min
                                          ave
                  2)粒子的变异扰动。为了提高粒子种群多样性,进一步扩大搜索空间,本文引入了变异扰动。在
              粒子每次更新后,根据该粒子前 2次适宜度值变化趋势计算变异概率 p,若前 2次适宜度值变化幅度
              均小于 5%,则增大变异概率。引入变异扰动有利于在迭代后期扩大搜索空间,跳出局部极值。根据
              黄璇等   [23] 向 PSO算法引入的变异操作,本文设置的粒子速度变异公式和变异概率为:
                                                      ij
                                                  ij
                                                         min
                                            x=  { x+ (x- x )(1 - k?K)a,a>0.5                            (7)
                                             ij
                                                 x- (x- x )(1 - k?K)a,a ≤0.5
                                                  ij  ij  max
                                          { [(p+ p) - (p- p)cos( π k?K)],β <0.05
                                                        1
                                               1
                                                  0
                                                           0
                                        k
                                       p=                                                               (8)
                                            [(p+ p) - (p- p)cos( π k?K)]?2,β≥0.05
                                                  0
                                               1
                                                           0
                                                        1
              式中:x 、x 分别为粒子位置的最小和最大值;p、p为初始和最终概率,本文 p= 0.05 ,p= 0.35 ;
                     min  max                                0   1                        0         1
              β 为该粒子前 2次适宜度值变化幅度;a为(0,1)内的随机数。
                  ( 3)IPSO - BP神经网络。本文 IPSO - BP神经网络算法流程如图 5所示,其具体实现步骤如下:①根
              据实验数据构建含沙水体中目标鱼类死亡率的数据集,并进行归一化处理;②将数据集导入 IPSO - BP
                                                                                                —  2 9 5 —
   40   41   42   43   44   45   46   47   48   49   50