Page 258 - 《软件学报》2021年第5期
P. 258

1482                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                 部分:首先,在当前候选解的基础上,以 Levy 飞行随机游动生成新的候选解,评价并保留较好的候选解;其次,按照
                 发现概率 P a 舍弃部分候选解;最后,按照偏好随机游动方式产生新的候选解并替代舍弃的解,保留较好解后进入
                 下一次进化,直至满足算法的收敛条件.
                    设布谷鸟算法进化至第 r 代时第 m 个候选解为 X r,m , X            =  (x (1)  , x (2)  ,..., x ( )j  , ..., x ( )D  ) ,j∈[1,D].采用 Levy 飞
                                                                 , rm  , r m  , rm  , rm  , r m
                 行随机游动产生新的个体(候选解)X r+1,m 更新律的表达式为
                                              X r+1,m =X r,m +(X r,m −X r,gb )⋅(γ 0 ⊕L(β))            (1)
                 其中,X r,gb 为当前搜索到的全局最优解,L(β)表示 Levy 飞行随机游动路径,γ 0 表示初始搜索步长,⊕表示点对点乘
                 法,t 为飞行时间:
                                                   L(β)~ϑ=t −1−β ,0<β≤2                               (2)
                               [1]
                    通过数学代换 ,公式(2)等价于:
                                                        Γ  (1 β  + ⎛  )sin(π  ⋅  β  / 2) ⎞  1/ β
                                                   ϑ   ⎜                ⎟
                                            L () ~β   ⋅  ⎛  1 β ⎞  +  (β − 1) / 2                     (3)
                                                                β
                                                 || v  1/ β ⎜  Γ  ⎜ ⎜  ⎟  ⋅⋅ 2  ⎟  ⎟
                                                         ⎝ ⎝  2 ⎠       ⎠
                 其中,Γ(⋅)为伽玛函数,取β=1.5;ϑ,v 为标准高斯分布随机数.
                    在偏好随机游动方式中,按照发现概率 P a 舍弃部分候选解后,生成相同数量的新解:
                                                  X r+1,m =X r,m +φ⋅(X r,k −X r,s )                   (4)
                 其中,φ为算法的控制缩放系数,满足φ∈U(0,1);X r,k 和 X r,s 分别为第 r 代时第 k 个和第 s 个随机候选解.
                    基本 CS 算法虽然具有一定的收敛能力,但是存在以下局限性.
                    (1)  采用 Levy 飞行随机游动产生新候选解的搜索步长设置困难:如果搜索步长较大,则寻优速度增大,但
                        由于 Levy 飞行具有无限跳跃特性,使得算法执行过程中极易跳过全局最优解;如果搜索步长较小,虽
                        然能以较大概率获得全局最优解,但是寻优速度会降低.考虑到 Levy 飞行具有无限大方差并且其增
                        量服从二阶分布,因此,设计合理的搜索步长变得尤为困难.
                    (2)  CS 算法采用发现概率 P a 舍弃偏好随机游走方式产生新的候选解.这种方法虽然加强了算法的全局
                        搜索性能,但随机处理会舍弃较好的种群个体,而保留适应度较差的种群个体,进而降低算法搜索速
                        度和收敛精度.
                    (3)  CS 算法仅通过两个随机个体的位置向量差获得下次进化的方向,未能充分利用当前宿主巢穴的足够
                        信息,因此在搜索过程中具有盲目性,不能对种群个体进行局部精细化搜索,导致算法具有较差的局
                        部搜索能力.纵然算法具有一定的全局搜索能力,但是仍然存在全局搜索和局部搜索不平衡的问题.

                 2    万有引力加速机理的布谷鸟算法(GASCS)

                 2.1   万有引力算法

                    受万有引力定律启发,伊朗学者 Esmat Rashedi 等人于 2009 年提出了万有引力搜索算法(gravitational
                 search algorithm,简称 GSA) [24] .GSA 算法的原理是:物质个体之间由于引力作用相互吸引,并且引力沿质量较大
                 的个体方向移动.物质个体的质量决定其万有引力的大小,质量越大的个体所受的引力越大.在外有引力的作用
                 下,物质个体位置不断变化,最终,整个群体都聚集在物质个体质量最大的周围,即逼近优化问题的全局最优解.
                    在万有引力算法中,借鉴理论物理学中质量定义的 3 种属性描述函数适应度值,即主动引力质量 M a 、被动
                 引力质量 M p 和惯性质量 M i .每个物质个体的位置对应优化问题解,其万有引力和惯性质量 M i 共同决定相应的
                 函数适应度数值.事实上,GSA 算法通过调节 M a ,M p 和 M i 来控制算法进化,促使群体中的物质个体聚集在万有引
                 力最大的物质个体附近,进而搜索到最优解.
                    GSA 算法模型包含物质个体的质量计算、引力计算、加速度计算和速度更新与位置更新.算法首先对解空
                 间内的物质个体位置和速度初始化.如文献[24,25]所示,设 D 维空间维度中进化至第 r 代时第 m 个物质个体的
   253   254   255   256   257   258   259   260   261   262   263