摘要
为解决鲸鱼优化算法中收敛速度慢和寻优精度低等问题,提出一种基于Iterative映射和非线性拟合的鲸鱼优化算法(NWOA)。首先,该算法利用了Iterative映射对鲸鱼种群初始化,保证初始种群的多样性;其次,采用非线性拟合的策略对收敛因子和惯性权重进行改进,以平衡算法的全局勘测能力和局部开发能力。通过对13种函数进行仿真实验,从均方差和平均值的角度分析,改进后算法寻优精度显著提高,且稳定性较强。实验结果表明NWOA与传统的鲸鱼优化算法相比,收敛速度明显加快。
鲸鱼优化算法(whale optimization algorithm,WOA)是由格里菲斯大学Mirjalili教
鲸鱼优化算法是受气泡捕食
在鲸鱼搜寻猎物位置时,发觉猎物位置可能在当前距离猎物最近的鲸鱼位置附近,其他鲸鱼将会朝向当前距离猎物最近的鲸鱼位置靠近,达到更新自身位置的目的。换句话说,鲸鱼并不确定猎物的实际位置,只是朝当前最优鲸鱼的方向移动,从而包围猎物。在基本的WOA中,首先需要知道个体和当前最优鲸鱼之间的距离
| , | (1) |
, | (2) |
式中:表示当前迭代次数;表示当前最优鲸鱼位置;表示鲸鱼个体位置;表示摆动因子。鲸鱼的位置更新公式为
, | (3) |
, | (4) |
鲸鱼潜入海中,以螺旋姿态向上游,并吐出大小不一的气泡。气泡上升到海平面,构成一张网,把猎物包裹起来。首先计算出个体与当前最优鲸鱼位置之间的距离,其次模拟鲸鱼沿着螺旋状轨迹向猎物位置游去,该过程的数学模型如下
, | (5) |
, | (6) |
其中:为螺旋状常数;为(-1,1)之间的随机数。
为了实现收缩包围捕食和气泡攻击捕食2种机制同步更新,引用了参数来控制鲸鱼位置的更新方式,公式如下所示
, | (7) |
式中,。
WOA算法采用随机生成的方式来初始化种群,这种方式可能会破坏种群的多样性。研究表明混沌序列具有很好的随机性和遍历性,文献[
, | (10) |
其中,。
在鲸鱼优化算法中,参数随着迭代次数增加从2线性递减到0。由
, | (11) |
其中:为当前迭代次数; 为最大迭代次数;是一个常数。
惯性权重是在粒子群算法中的一个重要参数。文献[
, | (12) |
其中:和分别为惯性权重的最大值和最小值;是一个常数参数。将
, | (13) |
。 | (14) |
为了证明基于Iterative映射和非线性策略鲸鱼优化算法的可行性,选取了13个基准测试函数如
编号 | 函数 | 维度 | 范围 | 理论最优值 |
---|---|---|---|---|
F1 | 30 | 0 | ||
F2 | 30 | 0 | ||
F3 | 30 | 0 | ||
F4 | 30 | 0 | ||
F5 | 30 | 0 | ||
F6 | 30 | 0 | ||
F7 | 30 | 0 | ||
F8 | 30 | -12 569.5 | ||
F9 | 30 | 0 | ||
F10 | 30 | 0 | ||
F11 | 30 | 0 | ||
F12
|
| 30 | 0 | |
F13 |
+
| 30 | 0 |
在本实验中,把提出的NWOA算法与WOA、EWOA、CWOA、IWOA算
算法 | 参数 | 值 |
---|---|---|
WOA | 从2到0线性下降 | |
IWOA |
|
2.00 1.00 2.00 |
EWOA |
|
2.00 1.00 |
CWOA |
|
2.00 0.00 0.90 0.20 |
NWOA |
|
0.80 0.25 0.10 1.20 0.80 |
对上述每个算法在全部测试函数中都独立运行50次,列出最优解,最差解,平均值和均方差来评价算法的优劣。单峰测试函数有一个显著特点是只有一个全局最优解,并不存在局部最优解。可以用这种函数来测试算法收敛性。其实验结果如
函数 | 结果 | WOA | EWOA | IWOA | CWOA | NWOA |
---|---|---|---|---|---|---|
F1 |
最优解 最差解 平均值 均方差 |
3.319 9e-86 2.870 9e-69 5.797 4e-71 4.059 4e-70 |
2.808 5e-93 8.620 3e-77 3.611 3e-78 1.554 9e-77 |
0 0 0 0 |
0 0 0 0 |
0 0 0 0 |
F2 |
最优解 最差解 平均值 均方差 |
1.844 9e-58 4.822 4e-48 9.960 2e-50 6.816 2e-49 |
2.082 1e-57 2.317 7e-44 4.650 6e-46 3.277 6e-45 |
0 0 0 0 |
1.985 2e-230 1.362 1e-201 2.725 6e-203 0 |
0 0 0 0 |
F3 |
最优解 最差解 平均值 均方差 |
2.241 8e+03 6.217 9e+04 4.195 6e+04 1.173 1e+04 |
3.069 2e+00 4.098 0e+04 1.819 0e+04 1.361 3e+04 |
0 0 0 0 |
0 0 0 0 |
0 0 0 0 |
F4 |
最优解 最差解 平均值 均方差 |
1.741 0 88.299 6 56.519 2 27.446 5 |
13.190 5 99.142 5 83.491 5 18.749 4 |
9.051 4e-221 1.810 3e-222 1.472 4e-222 0 |
3.729 0e-228 6.276 2e-190 1.261 9e-191 0 |
0 0 0 0 |
F5 |
最优解 最差解 平均值 均方差 |
2.792 9e-174 1.153 2e-143 2.379 9e-145 1.633 2e-144 |
1.516 3e-177 1.290 8e-148 2.582 6e-150 1.825 5e-149 |
0 0 0 0 |
0 0 0 0 |
0 0 0 0 |
F6 |
最优解 最差解 平均值 均方差 |
0.087 3 1.482 1 1.434 6 0.275 3 |
0.318 5 2.812 7 1.193 4 1.358 4 |
0.101 9 1.625 2 0.702 1 0.398 4 |
0.163 4 1.034 3 0.562 8 0.590 0 |
0.101 0 1.070 7 0.539 6 0.224 1 |
F7 |
最优解 最差解 平均值 均方差 |
3.585 1e-05 0.017 1 0.004 1 0.003 8 |
4.606 3e-04 0.087 9 0.013 0 0.014 6 |
6.454 1e-07 4.259 3e-04 8.340 9e-05 8.781 9e-05 |
1.843 9e-07 6.883 1e-04 7.007 7e-05 7.433 2e-05 |
8.812 0e-07 2.145 0e-04 6.387 0e-05 5.422 1e-05 |
F1-F7函数值收敛曲线如图

图2 F1收敛曲线图
Fig. 2 F1 convergence curve chart

图3 F2收敛曲线图
Fig. 3 F2 convergence curve chart

图4 F3收敛曲线图
Fig. 4 F3 convergence curve chart

图5 F4收敛曲线图
Fig. 5 F4 convergence curve chart

图6 F5收敛曲线图
Fig. 6 F5 convergence curve chart

图7 F6收敛曲线图
Fig. 7 F6 convergence curve chart

图8 F7收敛曲线图
Fig. 8 F7 convergence curve chart
多维测试函数的实验结果如
函数 | 结果 | WOA | EWOA | IWOA | CWOA | NWOA |
---|---|---|---|---|---|---|
F8 |
最优解 最差解 平均值 均方差 |
-1.256 9e+04 7.161 9e+03 -1.020 9e+04 1.820 3e+03 |
-1.256 0e+04 -4.681 9e+03 -6.885 0e+03 1.751 4e+03 |
-1.256 9e+04 -5.056 8e+03 -1.217 6e+04 1.217 8e+03 |
-9.576 2e+03 -2.273 5e+19 -4.547 0e+17 3.215 2e+18 |
-1.256 4e+04 -4.723 9e+03 -2.012 5e+04 1.106 8e+03 |
F9 |
最优解 最差解 平均值 均方差 |
0 5.684 3e-14 1.136 9e-15 8.038 9e-14 |
0 53.354 4 2.149 8 9.325 9 |
0 0 0 0 |
0 0 0 0 |
0 0 0 0 |
F10 |
最优解 最差解 平均值 均方差 |
8.881 8e-16 7.993 6e-15 24.440 9e-15 2.486 4e-15 |
8.881 8e-16 7.993 6e-15 4.227 7e-15 1.953 8e-15 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 0 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 0 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 0 |
F11 |
最优解 最差解 平均值 均方差 |
0 0.137 0 0.002 7 0.019 4 |
0 0.351 0 0.028 6 0.078 7 |
0 0 0 0 |
0 0 0 0 |
0 0 0 0 |
F12 |
最优解 最差解 平均值 均方差 |
0.082 4 1.241 8 0.574 4 0.224 7 |
0.737 3 2.415 4 1.483 1 0.404 0 |
0.032 3 1.723 2 0.461 4 0.352 9 |
0.074 4 0.845 3 0.437 1 0.175 7 |
0.052 4 0.689 5 0.333 1 0.134 3 |
F13 |
最优解 最差解 平均值均方差 |
0.002 9 0.292 3 0.031 2 0.041 3 |
0.012 9 0.294 8 0.084 5 0.049 5 |
0.002 7 0.240 2 0.067 3 0.240 2 |
0.008 9 0.068 2 0.036 8 0.016 5 |
0.007 9 0.081 6 0.027 5 0.015 4 |
图

图9 F8收敛曲线图
Fig. 9 F8 convergence curve chart

图10 F9收敛曲线图
Fig. 10 F9 convergence curve chart

图11 F10收敛曲线图
Fig. 11 F10 convergence curve chart

图12 F11收敛曲线图
Fig. 12 F11convergence curve chart

图13 F12收敛曲线图
Fig. 13 F12 convergence curve chart

图14 F13收敛曲线图
Fig. 14 F13convergence curve chart
综上所述,无论是单峰函数还是多峰函数,NWOA算法的实验结果显著更优,具有较快的收敛速度和较高的寻优精度。为了更好的验证NWOA算法的性能,
函数 | 种群数量 | WOA | EWOA | IWOA | CWOA | NWOA |
---|---|---|---|---|---|---|
F1 |
30 50 100 |
5.797 4e-70 9.681 0e-85 4.110 2-94 |
3.611 3e-78 2.703 1e-96 1.208 1e-113 |
0 0 0 |
0 0 0 |
0 0 0 |
F2 |
30 50 100 |
9.960 2e-50 5.793 5e-54 8.727 6e-57 |
4.650 6e-46 4.445 1e-56 4.536 4e-65 |
0 6.205 5e-209 3.023 8e-199 |
2.725 6e-203 1.120 5e-207 1.968 3e-212 |
0 0 0 |
F3 |
30 50 100 |
4.195 6e+04 2.985 3e+04 1.562 6e+04 |
1.819 0e+04 1.175 0e+04 1.143 8e+04 |
0 0 0 |
0 0 0 |
0 0 0 |
F4 |
30 50 100 |
56.519 20 42.884 8 23.105 1 |
83.491 5 85.263 8 80.669 2 |
1.472 4e-222 6.209 2e-204 1.562 1e-198 |
1.261 9e-191 8.804 8e-199 8.829 4e-198 |
0 0 0 |
F5 |
30 50 100 |
2.379 9e-145 3.937 5e-163 1.110 9e-190 |
2.582 6e-150 3.276 9e-186 1.113 1e-227 |
0 0 0 |
0 0 0 |
0 0 0 |
F6 |
30 50 100 |
1.434 6 0.968 1 0.705 4 |
1.193 4 0.801 0 0.324 8 |
0.702 1 0.581 5 0.508 6 |
0.562 8 0.412 1 0.354 0 |
0.539 6 0.376 4 0.219 2 |
F7 |
30 50 100 |
0.004 1 0.001 9 0.001 1 |
0.013 0 0.006 5 0.003 1 |
8.340 9e-05 3.276 9e-05 2.295 1e-05 |
7.007 7e-05 4.371 7e-05 2.192 2e-05 |
6.387 0e-05 2.842 3e-05 1.794 7e-05 |
F8 |
30 50 100 |
-1.020 9e+04 -1.115 8e+04 -1.193 7e+04 |
-6.885 0e+03 -7.195 6e+03 -8.333 1e+03 |
-1.207 6e+04 -1.243 7e+04 -1.254 7e+04 |
-4.547 0e+04 -4.993 0e+04 -1.434 2e+04 |
-2.012 5e+04 -1.118 6e+04 -1.092 3e+04 |
F9 |
30 50 100 |
1.136 9e-14 0 1.136 9e-15 |
2.149 8 0 0 |
0 0 0 |
0 0 0 |
0 0 0 |
F10 |
30 50 100 |
24.440 9e-15 4.654 1e-15 3.872 5e-15 |
4.227 7e-15 4.298 8e-15 4.227 7e-15 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 |
8.881 8e-16 8.881 8e-16 8.881 8e-16 |
F11 |
30 50 100 |
0.002 7 0.005 3 0.005 4 |
0.028 6 0.003 9 0.002 8 |
0 0 0 |
0 0 0 |
0 0 0 |
F12 |
30 50 100 |
0.574 4 0.010 7 8.194 0e-04 |
1.483 1 0.060 8 0.021 7 |
0.461 4 0.035 9 0.027 7 |
0.437 1 0.023 5 0.012 0 |
0.333 1 0.020 8 0.013 8 |
F13 |
30 50 100 |
0.031 2 0.198 4 0.035 3 |
0.084 5 1.140 0 0.859 4 |
0.067 3 0.350 2 0.359 5 |
0.036 8 0.330 6 0.204 1 |
0.027 5 0.268 3 0.181 0 |
对于基本的WOA,种群数量是N,空间维度是D,最大迭代次数是Max_iter,对应时间复杂度是O(Max_iter*N*D)。NWOA算法主要在基本WOA上对初始化种群、收敛因子和惯性权重这3方面进行改进。算法的时间复杂度分析如下:初始化种群的时间复杂度为O(N*D),收敛因子和惯性权重的时间复杂度为O(Max_iter)。NOWA算法总的时间复杂度为O(Max_iter*N*D+N*D+2*Max_iter)。根据大O准则定义知,当迭代次数较大时,改进算法时间复杂度近似等于基本WOA时间复杂度。
函数 | WOA | EWOA | IWOA | CWOA | NWOA |
---|---|---|---|---|---|
F1 | 3.632 4 | 4.441 3 | 3.572 3 | 4.106 9 | 3.439 7 |
F2 | 3.661 4 | 3.863 2 | 3.353 9 | 4.650 3 | 3.502 3 |
F3 | 10.513 2 | 15.398 5 | 10.725 9 | 13.952 9 | 10.348 6 |
F4 | 3.539 4 | 5.384 0 | 3.432 6 | 4.264 4 | 3.263 7 |
F5 | 3.470 5 | 3.873 2 | 2.836 4 | 4.169 4 | 3.387 2 |
F6 | 3.447 7 | 3.783 4 | 3.488 0 | 4.274 2 | 3.341 7 |
F7 | 7.562 7 | 9.490 1 | 6.538 7 | 9.201 7 | 6.506 1 |
F8 | 4.797 5 | 5.607 8 | 4.005 1 | 5.797 5 | 4.153 4 |
F9 | 3.895 2 | 5.816 2 | 3.455 8 | 4.612 3 | 3.324 9 |
F10 | 3.892 6 | 6.993 6 | 4.005 8 | 4.963 3 | 3.673 5 |
F11 | 5.835 9 | 5.371 5 | 4.126 6 | 6.125 9 | 4.713 5 |
F12 | 14.894 9 | 16.446 6 | 15.235 2 | 18.554 8 | 14.769 3 |
F13 | 14.918 9 | 18.441 9 | 16.591 4 | 16.005 7 | 14.671 1 |
针对鲸鱼优化算法中存在收敛速度慢和寻优精度低等问题,提出一种改进的鲸鱼优化算法(NWOA)。采用Iterative映射来初始化种群,使种群尽可能均匀分布在整个空间,提高算法的收敛速度;利用非线性拟合策略构造收敛因子和惯性权重,以平衡算法的全局勘测能力和局部收敛能力。通过对13个测试函数进行仿真实验,结果表明NWOA算法收敛速度较快且收敛精度高,体现了该算法优越的性能。
参考文献
Mirjalili S, Lewis A. The whale optimization algorithm[J]. Advances in Engineering Software, 2016, 95: 51-67. [百度学术]
Iscan H, Gunduz M. An application of fruit fly optimization algorithm for traveling salesman problem[J]. Procedia Computer Science, 2017, 111: 58-63. [百度学术]
Kennedy J, Eberhart R. Particle swarm optimization[C]//Proceedings of ICNN'95 - International Conference on Neural Networks. November 27 - December 1, 1995. Perth, WA, Australia: IEEE, 2002: 1942-1948. [百度学术]
Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014, 69: 46-61. [百度学术]
Trivedi I N, Pradeep J, Narottam J, et al. Novel adaptive whale optimization algorithm for global optimization[J]. Indian Journal of Science and Technology, 2016, 9(38): 319-326. [百度学术]
Mafarja M M, Mirjalili S. Hybrid Whale Optimization Algorithm with simulated annealing for feature selection[J]. Neurocomputing, 2017, 260: 302-312. [百度学术]
钟明辉, 龙文. 一种随机调整控制参数的鲸鱼优化算法[J]. 科学技术与工程, 2017, 17(12): 68-73. [百度学术]
Zhong M H, Long W. Whale optimization algorithm based on stochastic adjustment control parameter[J]. Science Technology and Engineering, 2017, 17(12): 68-73.(in Chinese) [百度学术]
凌颖,杨春燕,黎新,等.改进灰狼优化算法的研究[J].科学技术创新,2020(16):61-63. [百度学术]
Ling Y, Yang C Y, Li X, et al. Research on improving Grey Wolf optimization algorithm [J]. Science and Technology Innovation,2020(16):61-63. (in Chinese) [百度学术]
郭振洲, 王平, 马云峰, 等. 基于自适应权重和柯西变异的鲸鱼优化算法[J]. 微电子学与计算机, 2017, 34(9): 20-25. [百度学术]
Guo Z Z, Wang P, Ma Y F, et al. Whale optimization algorithm based on adaptive weight and cauchy mutation[J]. Microelectronics & Computer, 2017, 34(9): 20-25.(in Chinese) [百度学术]
王坚浩, 张亮, 史超, 等. 基于混沌搜索策略的鲸鱼优化算法[J]. 控制与决策, 2019, 34(9): 1893-1900. [百度学术]
Wang J H, Zhang L, Shi C, et al. Whale optimization algorithm based on chaotic search strategy[J]. Control and Decision, 2019, 34(9): 1893-1900.(in Chinese) [百度学术]
石旭东, 姜鸿晔. 基于鲸鱼优化小波神经网络的飞行航迹缺失数据预测方法[J]. 计算机应用与软件, 2020, 37(7): 200-205. [百度学术]
Shi X D, Jiang H Y. Prediction method of flight track missing data based on whale optimization wavelet neural network[J]. Computer Applications and Software, 2020, 37(7): 200-205.(in Chinese) [百度学术]
吴坤,谭劭昌.基于改进鲸鱼优化算法的无人机航路规划[J].航空学报,2020,41(S2):107-114. [百度学术]
Wu K, Tan S C. Path planning of UAVs based on improved whale optimization algorithm[J]. Acta Aeronautica et Astronautica Sinica, 2020, 41(S2): 724286.(in Chinese) [百度学术]
王思涵, 黎阳, 李新宇. 基于鲸鱼群算法的柔性作业车间调度方法[J]. 重庆大学学报, 2020, 43(1): 1-11. [百度学术]
Wang S H, Li Y, Li X Y. An improved whale swarm algorithm for flexible job-shop scheduling problem[J]. Journal of Chongqing University, 2020, 43(1): 1-11.(in Chinese) [百度学术]
张东洋, 杨永辉, 储茂祥, 等. 基于2维鲸鱼优化加权的WGG-Otsu算法的钢板表面缺陷图像分割[J]. 安徽大学学报(自然科学版), 2020, 44(3): 72-77. [百度学术]
Zhang D Y, Yang Y H, Chu M X, et al. Steel plate surface defect image segmentation based on two-dimensional weighted WGG-Otsu with whale optimization[J]. Journal of Anhui University (Natural Science Edition), 2020, 44(3): 72-77.(in Chinese) [百度学术]
凌颖. 鲸鱼优化算法及其应用研究[D]. 南宁: 广西民族大学,2018. [百度学术]
Ling Y. Research on whale optimization algorithm and its application[D].Nanning: Guangxi University for Nationalities, 2018. (in Chinese) [百度学术]
王日宏, 李祥, 李娜. 基于高斯扰动和混沌初始化的狼群算法[J]. 计算机工程与设计, 2019, 40(10): 2879-2884. [百度学术]
Wang R H, Li X, Li N. Wolf pack algorithm based on Gaussian disturbance and chaotic initialization[J]. Computer Engineering and Design, 2019, 40(10): 2879-2884.(in Chinese) [百度学术]
王梦娜, 王秋萍, 王晓峰. 基于Iterative映射和单纯形法的改进灰狼优化算法[J]. 计算机应用, 2018, 38(S2): 16-20, 54. [百度学术]
Wang M N, Wang Q P, Wang X F. Improved grey wolf optimization algorithm based on iterative mapping and simplex method[J]. Journal of Computer Applications, 2018, 38(S2): 16-20, 54.(in Chinese) [百度学术]
王涛, Chellali R. 非线性权重和收敛因子的鲸鱼算法[J]. 微电子学与计算机, 2019, 36(1): 11-15. [百度学术]
Wang T, Chellali R. Whale optimization algorithm with nonlinear weight and convergence factor[J]. Microelectronics & Computer, 2019, 36(1): 11-15.(in Chinese) [百度学术]