
基于双重改进的鲸鱼优化算法.docx
13页基于双重改进的鲸鱼优化算法 陈楠 高建瓴 喻明毫 白羽飞 胡承刚摘 要: 传统的鲸鱼优化算法(WOA)容易陷入局部最优以及收敛速度慢,针对此问题进行研究,提出了一种改进的鲸鱼优化算法,改进算法首先用非线性收敛因子替换原本使用的收敛因子,改进后的非线性收敛因子可以有效利用在算法中以弥补该算法在计算过程中全局探索与局部开发能力中的缺陷,并且可以加快算法收敛速度;然后在鲸鱼位置更新公式中加入了自适应权重,该策略可以改善算法的寻优精度以及进一步提高收敛速度;最后,在固定参数和不同维度的8个基准测试函数上进行了实验,结果表明,改进后的算法在寻找最优位置的精度和收敛速度对比于传统的鲸鱼算法和其他智能优化算法均有着显著的提高,具有更好的优化效果关键词: 鲸鱼优化算法; 自适应权重; 收敛因子; 寻优精度; 收敛速度: 2095-2163(2021)07-0180-06:TP391文献标志码: AA hybrid improved whale optimization algorithmCHEN Nan, GAO Jianling, YU Minghao, BAI Yufei, HU Chenggang(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China)【Abstract】The traditional whale optimization algorithm (WOA) is easy to fall into local optimum and has slow convergence speed. Aiming at this problem, an improved WOA is proposed. Firstly, the nonlinear convergence factor is used to replace the original one. The improved non-linear convergence factor is helpful to make up for the defects of the algorithm in global exploration and local development ability, and can improve the efficiency of the algorithm, meanwhile speed up the convergence speed of the algorithm; then, the adaptive weight is added to the whale position update formula, which can improve the optimization accuracy and further improve the convergence speed of the algorithm; finally, experiments are carried out on eight benchmark functions with fixed parameters and different dimensions, and the results show that the accuracy and convergence speed of the improved algorithm in finding the optimal position are significantly improved compared with the traditional whale algorithm and other intelligent optimization algorithms, and it has better optimization effect.【Key words】whale optimization algorithm; adaptive weight; convergence factor; optimization accuracy; convergence speed0 引 言鯨鱼优化算法(Whale Optimization Algorithm,WOA)是位于澳大利亚的格里菲斯大学中的Mirjalili等人[1]于2016年提出的一种新型的群体智能优化方法,其想法来自于座头鲸在海洋中独特的捕捉食物的行为。
该算法通过鲸鱼包围猎物、泡泡攻击猎物这些过程来实现优化搜索该算法的原理相对简单、操作起来也比较容易、容易实现、需要调整的参数比较少、一级鲁棒性较强等优点在函数优化方面,相比较于粒子群(PSO)、差分进化(DE)和引力搜索(GSA)、萤火虫(FFA)等算法,WOA算法的稳定性和求解精度也明显较高,同时,该算法也越来越多被应用在实际工程中, Kumar等人将WOA应用于全球MPP光伏系统的跟踪系统中,实现了能源的有效利用Mohamed等人将WOA应用于多阈值图像分割的问题中,实验结果表明,WOA算法的性能在大多数情况下都优于其他对比算法然而,和其他元启发式算法大概一致,传统的鲸鱼优化算法进行计算时依旧存在一些缺陷,例如求出最优解的精度相对比较低、算法计算起来要进行收敛的速度也很缓慢、收敛后期算法容易停滞不进行计算、还容易陷入局部最优解、收敛性证明以及自身的参数选择准则等Pradeep等人将自适应策略引入到WOA中,并将这个改进后的算法应用于10个经典的函数优化问题中,仿真结果比较得出,所提出的改进的自适应WOA算法在收敛速度和精度上均比原算法更佳Oliva等人提出了混沌映射鲸鱼优化算法(CWOA),并且在太阳能电池和其光伏组件或者面板的参数预测中使用该算法,实验结果对比表明,所提出的混沌映射算法在解决原先问题中的预测精度以及鲁棒性上都有比较好的效果。
因此,针对在传统的WOA算法中一直存在的优化问题,本文提出了基于双重策略改进的鲸鱼优化算法(Improved whale optimization algorithm based on dual strategy,CWOA)改进算法首先用非线性收敛因子替换原本使用的收敛因子,改进后的非线性收敛因子可以有效利用在算法中以弥补该算法在计算过程中全局探索与局部开发能力中的缺陷,并且可以使算法收敛速度加快;然后在鲸鱼位置更新公式中加入了自适应权重[2],该策略可以改善算法的寻优精度以及进一步提高收敛速度仿真结果表明,该算法具有较高的优化精度和较快的收敛速度1 鲸鱼优化算法受到鲸鱼特殊捕食行为的启发,Mirjalili等人于2016年提出的一种新型的群体智能优化方法—鲸鱼优化算法(WOA)[3],该算法的原理在于模拟座头鲸进行泡泡网捕食时的过程,如图1 所示鲸鱼优化算法分为以下的3个部分,分别是:对猎物进行包围、泡泡攻击猎物以及搜寻猎物1.1 对猎物进行包围首先是通过向上螺旋靠近目标,并逐渐缩小包围范围,最终到达目标鱼群的位置的方法,即为找到问题的最优解假设鲸鱼种群的所有规模为N,需要进行最优解问题求解所在空间的维度为D,则需要求解第i只鲸鱼在D维空间所需求解的对应的位置为Xi=(x1i,x2i,...xdi),i=1,2,3...,N,则最优鲸鱼的位置对应于问题的最优解[4]。
在捕食过程中,鲸鱼首先会观察并识别猎物所在的位置,然后对其进行包围在鲸鱼优化算法中,假设问题最佳的结果就是猎物所处的位置,当猎物被定位好时,其他的鲸鱼也会游向该鲸鱼的位置反之,在鲸鱼优化算法中,个体和最优解(猎物)之间的距离需要第一个求解此时需用到的数学公式为:其中,t为当前已进行迭代过的次数;X(t)为各个体位置向量;X*(t)为目前求出来的最优解,即猎物所在位置;常数C→为摆动因子,可由下列式子计算得出:鲸鱼位置更新公式为:其中,A→和D→为矩阵系数表达式为:其中,r→为[0,1]之间的随机数,a→随着迭代次数的变化而变化,迭代次数增加时,a→也从2到0相应地性递减,Tmax表示迭代次数最大值[5]1.2 泡泡网攻击鲸鱼的泡泡网攻击有2种方式一种是收缩包围捕食,另一种是螺旋吐气泡捕食对此拟做研究分述如下1)收缩包围捕食此方式中鲸鱼的位置是通过式(4)来获得的,通过其中收敛因子a→来进行求解2)螺旋式吐气泡捕食第一步先计算鲸鱼各个个体与当前最佳位置(当前最优解)之间的距离,然后模拟鲸鱼-在捕食时使用螺旋向上的方式进行计算,其公式为:其中,D→=X*(t)-X→(t)表示第i只鲸鱼和当前最佳位置(最优解)之间的距离;b是用来对螺旋形式的常量系数进行限定;l为[-1,1]之间产生的一个随机值。
需要特别注意的是,在鲸鱼使用螺旋向上的形式对猎物进行包围时,还需要对包围的圈子进行收缩因此,为了实现该同步模型,选择相同概率p来对最优解进行收缩包围和螺旋更新[6],其公式如下:其中,p为[0,1]之间的随机数1.3 搜寻猎物当A→>1的时候,鲸鱼将针对猎物进行随机的搜索,进行全局范围的搜索[7],就是为了避免该算法在计算过程中陷入局部最优[5],该阶段的数学表达式如下:其中,Xrand为当前计算种群中随机挑选的一只鲸鱼的位置2 双重改进鲸鱼优化算法鲸鱼优化算法在计算时收敛速度比较慢、还容易在计算过程中陷入局部最优以及容易早熟收斂,针对这些问题,提出利用非线性收敛因子和自适应权值对鲸鱼优化算法进行改进本文算法流程如图22.1 非线性收敛因子在寻找最优解的过程中,鲸鱼优化算法和其他群体智能算法一样,会出现全局探索能力和局部开发能力不平衡的现象[8]对于鲸鱼优化算法进行分析,从结果可知,收敛因子a针对全局探索能力以及局部开发能力是特别重要的一部分,在种群中各个个体之间的位置发生变化也与这个收敛因子有关,但是在经典的鲸鱼优化算法中收敛因子a随着迭代次数的一次次增加线性地从2递减到0,这也使得该算法的迭代的速度变得相对比较缓慢;同时算法在进行局部求解最优时,搜索答案只能靠近局部最优解,而进行局部寻优不能有更好的效果。
针对这个问题,本文提出了一种非线性收敛因子[9]具体公式如下:其中,Max_iter为最大迭代次数,t为当前迭代次数2.2 自适应权重策略鲸鱼优化算法在计算后期进行局部位置开发时容易陷入局部最优,也特别容易出现早熟收敛的现象,为此,提出一种自适应权重策略,为了使算法能够保持种群的多样性并且能够及时跳出局部最优自适应权重策略函数公式如下:每个个体都要经过对猎物进行包围、泡泡网攻击、搜寻最后的猎物三个阶段,当个体在对猎物进行包围阶段或者泡泡网攻击阶段时采用自适应权重策略去更新位置,取该个体进行变化后的最优的位置,为了让种群的收敛变得更快,也可以防止种群陷入局部最优的效果变得更好,使算法具有更好的寻优效果3 实验结果与分析3.1 实验环境和测试函数本文的仿真实验是基于Windows 10(x64)操作系统,Intel(R) Core(TM) i5-7500 CPU 3.40 GHz主频,RAM 8 G内存编译环境采用python3.6为验证本文新提出的CWOA的寻求最优解的性能,参照文献选取8个基准测试函数进行数值仿真实验,具体的测试函数见表1,其中F1~F4为单模态函数,用来测试算法局部寻优能力;F5~F8表示复杂的非线性多模态函数,用来测试算法的全局寻优。
3.2 参数设置与实验结果分析为了保证该实验的公平性和合理性,本实验的所有算法的功用参数采用统一配置,参数设置:改进鲸鱼优化算法中k=2,d=0.5,b=1,r→取值为0到1之间的随机数,a的取值从2线性。
