缎蓝亭鸟优化器与内部搜索算法的混合算法
2019-12-16余俊毅陈平华
余俊毅 陈平华
摘要:针对内部搜索算法(ISA)具有寻优精度差的缺陷,提出缎蓝亭鸟优化器(sBO)与内部搜索算法的混合算法(sBO-ISA)。使用内部搜索算法中的构造组的寻优机制生成的坐标点及在目标函数排名中排在个体的前两名或后两名的个体坐标点扰动缎蓝亭鸟优化器中的个体位置更新机制的当代起始点,并按一定概率选择使用被个体的前两名个体坐标点扰动的缎蓝亭鸟优化器的个体位置更新机制还是被个体的后两名个体坐标点扰动的缎蓝亭鸟优化器的个体位置更新机制生成坐标点。通过对ISA算法的一系列修改,最终加强了算法的寻优能力。仿真实验表明sBO-ISA算法寻优能力优于缎蓝亭鸟优化器,同时也优于内部搜索算法。
关键词:缎蓝亭鸟优化器;元启发式算法;内部搜索算法;混合算法
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2019)30-0185-09
1概述
近年来,为了求解优化问题,一些学者提出了一些新的元启发式算法,如内部搜索算法(Interior Seareh Algorithm,简称ISA)、缎蓝亭鸟优化器(satin Bowerbird Optimizer,简称SBO)等算法。
ISA作为新式的元启发式算法,在近几年得到越来越广泛应用并在部分优化问题中取得了一定的成果,如工程优化问题、优化神经网络参数等。为了改进ISA,文献[7]提出M-ISA算法,文献[8]提出LISA算法,文献[9]提出了自适应的ISA算法、二阶段的ISA算法和结合差分策略的ISA算法,文献[10]提出HISA算法,文献[11]提出CSAISA算法,由文献[12,13]可知,文献[12]参考了文献[13]中的交叉算子提出了HlSGA算法。综上所述可知,关于内部搜索算法的研究正在逐步成为业界的研究热点,并且对该算法的研究已经取得一定的进展。
由文献[9]可知,内部搜索算法是一个具有缺陷的算法,该缺陷指的是寻优精度差。由文献[1-2,9]可知,寻优精度不高的原因可能是ISA受ISA中的构造组(Composition Group)的公式影响,侧重大范围搜索,耗费过多搜索次数在较远离较优位置区域,又根据SBO个体位置更新公式及轮盘选择法的特点可知,SBO个体较侧重搜索较优位置附近区域,所以为了缓解ISA算法所具有寻优精度差的缺陷,尝试将ISA与SBO进行混合,使得混合后的算法(指SBO-ISA算法)既比SBO算法的寻优能力强也比ISA算法的寻优能力强。
2内部搜索算法
由文献[1-2]可知,在迭代过程中,ISA个體除最优个体外,其余归类为镜子组(mirror group)或构造组,归为镜子组概率为a,每类个体执行相应机制搜索函数最优解,在每次迭代末尾部分执行新旧种群个体保留机制,ISA算法的详细流程详见文献[1-2]。ISA的搜索机制的描述如下:
1)最优个体、镜子组个体和构造组个体位置更新公式分别如公式(1)、(3)和(4)所示
3缎蓝亭鸟优化器
由文献[3-4]可知,SBO个体位置更新公式(机制)由公式(12)和(14)组成,该更新公式在每一维的更新中,执行完公式(12)后以mutuation的概率执行公式(14),该算法的详细流程详见文献[3-4]。
SBO的搜索机制的描述如下:
1)个体移动公式和个体变异公式分别如公式(12)和(13)所示
4缎蓝亭鸟优化器与内部搜索算法的混合算法
参考文献[1-2,18,19]按某种规则并通过执行相应公式进行较大或较小范围搜索(文献[1-2]以概率规则及排名规则,文献[18,19]以排名规则)的方法、文献[18]利用坐标点间的距离制作个体更新公式的方法、文献[20-23]利用排名信息在特定排名范围内随机选取个体用于制作个体更新公式及相应公式等内容或思想或方法并再次使用,使用在下文4.1节的较劣个体的数学表达式(指公式(15-26)和下文4.2节的被构造组公式扰动的SBO算法的个体移动公式的数学表达式(指公式(27-31,))中。
由文献【1,2】、4.1节、4.2节和4.3节可知,SBO-ISA算法流程与内部搜索算法具有一定的相似性,SBO-ISA算法是在内部搜索算法的基础上修改而成,主要是将内部搜索算法中最优个体更新公式替换成公式(261、将内部搜索算法中的新旧种群保留机制替换成缎蓝亭鸟优化器p,4]的新旧种群保留策略,同时又参考文献【9】中的结合差分策略的ISA算法使用含有最优个体坐标与当前个体坐标的向量差并随机选取的个体坐标点作为起点的个体位置更新公式替代掉ISA的构造组部分的个体位置更新公式的做法并再次使用,将内部搜索算法中的构造组替换成含有公式(31)的寻优机制(详情请查看4.2节的内容及4.3节的SBO-ISA的详细流程)。
4.1最优个体位置更新公式的更改
4.2对构造组的更改
参考4.1节的内容、文献【9】中的结合差分策略的ISA算法中用于替代掉构造组公式的个体位置更新公式和文献【17】使用与当前个体排名相差不大的个体制作算子等内容或思想并再次使用,获得被构造组公式扰动的SBO算法的个体移动公式的数学表达式(指公式(27-31))。
由文献【28】可知,文献【28】使用了根据个体目标函数排名划定范围分别执行相应的个体更新机制的方法。由文献【1-2,28】可知,文献【1-2】使用了文献【28】用过的方法并同时用了按一定概率执行相应的位置更新公式的方法。参考文献【1,2,28】的内容及文献【1,2,28】使用过的方法并再次使用,获得公式(31)中的执行规则(指在公式(31)中根据排名信息并且按概率决定执行公式(31)中的两个式子的哪一个)和被更改后的构造组的执行过程,被更改后的构造组的执行过程是指:首先目标函数排名第二的个体执行公式(26),然后排名大于二的个体则按排名和概率执行被构造组公式扰动的SBO算法的个体移动公式(意思就是按公式(31)执行),并在此基础上参考并按照文献[4J中如何执行公式(14)的方法执行公式(14),也就是说在每一维的更新中按一定概率执行公式(14)(其概率值也依照文献[4])。
4.3SBO-ISA算法流程
参考并根据缎蓝亭鸟优化器的详细流程、内部搜索算法的详细流程和上述第4节的内容,获得缎蓝亭鸟优化器与内部搜索算法的混合算法(sBO-ISA)的详细流程,SBO-ISA的详细流程如下:
步骤1:初始化种群个体,计算每个个体的目标函数值,初始化当前迭代次数t=l。初始化个体坐标的维度DEMAX。
步骤2:如果迭代次数t大于最大迭代次数,则跳到步骤11,如果迭代次数小于等于最大迭代次数,则跳到步骤3。
步骤3:i赋值为1。
步骤4:如果xit是最优个体,则执行公式(26),执行完后跳到步骤8。
步骤5:如果xit不是最优个体,并且r1<=a,则执行公式(2)和公式(3)并且执行完后跳到步骤8。
步骤6:如果xit的目标函数排名小于等于1或者小于等于2,则执行公式(26),执行完公式(26)后跳到步骤8,否则跳到步骤7。
步骤7:个体xit执行被构造组扰动的SBO个体位置更新公式(指公式(31)和公式(14),其中公式(14)是按照文献[4]中执行公式(14)的执行方法执行公式(14))。
步骤8:判断个体是否越界,如果是,使用在ISA算法中使用过的公式(5)来处理个体(按方法b)。
步骤9:i等于i加1,如果i小于或等于种群总数,则跳到步骤4。
步骤10:使用缎蓝鸟优化器的新旧种群保留策略选出新一代种群个体,t等于t加1,然后跳到步骤2。
步骤11:结束。
6结束语
在仿真实验中,缎蓝亭鸟优化器与内部搜索算法的混合算法(SBO-ISA)的寻优能力既比缎蓝亭鸟优化器的寻优能力强也比内部搜索算法的寻优能力强。SBO-ISA算法的寻优能力虽然比SBO算法和ISA算法强,但还是会有一定的提升空间,针对SBO-ISA算法做算法改进是未来的研究方向。