当前位置:   article > 正文

【群智能算法改进】一种改进的白鲸优化算法 改进白鲸优化算法 改进后的EBWO[2]算法【Matlab代码#42】_白鲸 优化算法怎么改进

白鲸 优化算法怎么改进


获取资源请见文章第5节:资源获取】


1. 原始BWO算法

白鲸优化算法 (BWO,beluga whale optimization) 是2022 年在白鲸游泳、捕鲸及跌倒等行为中得到启发而提出的一种新型基于种群的元启发式算法。BWO 主要对白鲸游泳、捕食及跌倒 (坠落) 等行为进行模拟,其对应探索、开发及鲸鱼坠落三个阶段。BWO 当中鲸落概率与平衡因子均为自适应的,对开发能力与控制搜索起到决定性作用。除此之外,在开发阶段引入 Levy 飞行策略来进一步提升该阶段的全局收敛性。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 改进后的EBWO算法

2.1 准反向学习QOBL策略

准反向学习QOBL策略是一种强大的策略,被广泛运用于多种群智能算法中,以提高算法的迭代速度。QOBL策略主要涉及以下两个公式:
X i , j t + 1 = C i , j + ( X i , j o − C i , j ) × r a n d (1) X_{i,j}^{t+1}=C_{i,j}+(X_{i,j}^{o}-C_{i,j})\times rand\tag1 Xi,jt+1=Ci,j+(Xi,joCi,j)×rand(1)
X i , j t + 1 = C i , j + ( C i , j − X i , j o ) × r a n d (2) X_{i,j}^{t+1}=C_{i,j}+(C_{i,j}-X_{i,j}^{o})\times rand\tag2 Xi,jt+1=Ci,j+(Ci,jXi,jo)×rand(2)
其中, X i , j o X_{i,j}^{o} Xi,jo X i , j X_{i,j} Xi,j的镜像反向解, C i , j C_{i,j} Ci,j是第 j j j维变量的上下限的中心值, X i , j t + 1 X_{i,j}^{t+1} Xi,jt+1即为根据QOBL策略生成的新的反向解,根据一定规则采用公式(1)还是公式(2)来生成该解。

对于生成的新解,只保留优于原先解的新解,否则,丢弃。

2.2 旋风觅食策略

旋风觅食策略(CFS)是从种群围绕最优解的螺旋运动中概念化出来的策略,在蝠鲼优化算法中也被用到。CFS策略可以加强BWO算法的开发阶段,即种群可以围绕最佳解决方案以螺旋方向移动,使得后面的白鲸个体可以游向前面的白鲸个体。图1展示了种群螺旋移动的轨迹。
在这里插入图片描述

图1 白鲸种群的CFS移动轨迹

白鲸种群CFS移动的公式可以表示如下:

在这里插入图片描述
其中, β \beta β表示一个权重系数,和迭代次数有关。 r 8 r_{8} r8是[0,1]之间的随机值。 X b e s t t X_{best}^{t} Xbestt为上一次迭代的最优个体, X i t X_{i}^{t} Xit为原先的第 i i i个白鲸个体, X i t + 1 X_{i}^{t+1} Xit+1为更新后的新个体。

与第一个策略一样,更新的个体同样要进行贪婪选择。

3. 部分代码展示

Function_name = 'F1'; % 测试函数名
Npop = 30;      % 种群个数
Max_it = 500;  % 最大迭代次数
[lb,ub,nD,fobj]=Get_Functions_details(Function_name);
[xposbest_BWO,fvalbest_BWO,Curve_BWO]=BWO(Npop,Max_it,lb,ub,nD,fobj); % 白鲸优化算法 
[fvalbest_GWO,xposbest_GWO,Curve_GWO]=GWO(Npop,Max_it,lb,ub,nD,fobj); % 灰狼优化算法
[fvalbest_WOA,xposbest_WOA,Curve_WOA]=WOA(Npop,Max_it,lb,ub,nD,fobj); % 鲸鱼优化算法
[fvalbest_SSA,xposbest_SSA,Curve_SSA]=SSA(Npop,Max_it,lb,ub,nD,fobj); % 麻雀搜索算法
[xposbest_EBWO,fvalbest_EBWO,Curve_EBWO]=EBWO(Npop,Max_it,lb,ub,nD,fobj); % 改进白鲸优化算法


figure('Position',[454   445   694   297]);
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])


subplot(1,2,2);
% 灰狼优化算法
semilogy(Curve_GWO,'Color','b','LineWidth',2)
hold on
% 鲸鱼优化算法
semilogy(Curve_WOA,'Color','g','LineWidth',2)
hold on
% 麻雀搜索算法
semilogy(Curve_SSA,'Color','m','LineWidth',2)
hold on
% 白鲸优化算法
semilogy(Curve_BWO,'Color','k','LineWidth',2)
hold on
% 改进白鲸优化算法
semilogy(Curve_EBWO,'Color','r','LineWidth',2)
title(Function_name)
xlabel('Iteration');
ylabel('Best fitness function');
axis tight
legend('GWO','WOA','SSA','BWO','EBWO')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

4. 仿真结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 资源获取

可以获取完整代码资源。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/435737
推荐阅读
相关标签
  

闽ICP备14008679号