一种改进的白鲸优化算法BWO 精英反向策略的种群初始化+动态折射反向学习+旋风式觅食策略
文章目录
一种改进的白鲸优化算法BWO 精英反向策略的种群初始化+动态折射反向学习+旋风式觅食策略
一、原始白鲸优化算法BWO
白鲸优化算法(Beluga Whale Optimization, BWO)是一种新型的基于群体的元启发式算法,灵感来源于白鲸的行为。以下是该算法的基本原理和详细流程:
基本原理:
- 灵感来源:BWO算法模仿白鲸的三种行为:游泳(探索)、捕食(开发)和鲸落(鲸落阶段)。
- 探索与开发:算法通过模拟白鲸的这些行为来平衡全局搜索(探索)和局部搜索(开发)的能力。
- 自适应平衡因子:算法中引入了自适应的平衡因子和鲸落概率,这些因子在控制探索和开发能力中起着重要作用。
- Levy飞行:在开发阶段引入Levy飞行机制来增强全局收敛能力。
详细流程和步骤:
- 初始化:确定算法参数,包括种群大小和最大迭代次数,随机生成初始白鲸群体的位置,并计算其适应度值。
- 探索阶段:- 模拟白鲸的游泳行为,通过配对游泳来更新白鲸的位置。- 使用随机数和当前位置信息来计算新位置。
- 开发阶段:- 模拟白鲸的捕食行为,白鲸通过共享位置信息来捕食。- 引入Levy飞行策略,通过随机跳跃强度和Levy飞行函数来更新白鲸的位置。
- 鲸落阶段:- 模拟白鲸在迁徙和捕食过程中可能发生的死亡和沉入海底的现象。- 根据鲸落概率选择一些白鲸,并更新它们的位置。
- 迭代过程:- 根据当前迭代次数和最大迭代次数计算平衡因子。- 根据平衡因子决定白鲸进入探索阶段还是开发阶段。
- 终止条件:- 如果当前迭代次数大于或等于最大迭代次数,则算法停止。- 否则,重复上述步骤。
- 输出结果:返回最佳白鲸的位置和适应度值。
数学模型:
- 探索阶段:通过配对游泳行为更新白鲸的位置。
- 开发阶段:通过捕食行为和Levy飞行策略更新白鲸的位置。
- 鲸落阶段:根据鲸落概率和步长因子更新白鲸的位置。
算法特点:
- BWO算法是无导数优化技术,易于实现。
- 算法能够平衡探索和开发阶段,确保全局收敛。
- 在解决单峰和多峰函数问题时表现出色,尤其在可扩展性分析中表现优异。
实验验证:
- 通过30个基准函数和4个实际工程问题来测试BWO算法的有效性。
- 与15种其他元启发式算法进行比较,包括PSO、DE、GA等。
应用领域:
- BWO算法在解决复杂的实际工程优化问题中显示出潜力和优势,如悬臂梁设计、焊接梁设计、张力/压缩弹簧设计和压力容器设计问题。
二、多策略改进白鲸优化算法IBWO
改进1:精英反向策略
参考文献:刘琨, 赵露露, 王辉. 一种基于精英反向和纵横交叉的鲸鱼优化算法[J]. 小型微型计算机系统, 2020, 41(10): 2092-2097.
%% 基于精英反向策略的种群初始化function Positions=initializationNew(SearchAgents_no,dim,ub,lb,fun)
Boundary_no=size(ub,2);% numnber of boundaries
BackPositions =zeros(SearchAgents_no,dim);if Boundary_no==1
PositionsF=rand(SearchAgents_no,dim).*(ub-lb)+lb;%求取反向种群
BackPositions = ub + lb - PositionsF;end%获取精英种群
index =zeros(size(PositionsF,1));fori=1:size(PositionsF,1)if(fun(PositionsF(i,:))<fun(BackPositions(i,:)))%原始解比反向解更好,即为精英解index(i)=1;else%反向解更好的付给原始解PositionsF(i,:)=BackPositions(i,:);endend
XJY =PositionsF(index ==1,:);%获取精英边界
lbT =min(XJY);
ubT =max(XJY);%更新精英反向解
改进2:动态折射反向学习策略
参考文献:邵鹏, 吴志健, 周炫余, 等. 基于折射原理反向学习模型的改进粒子群算法[J]. 电子学报, 2015, 43(11): 2137.
公式参考:基于折射原理反向学习模型的改进粒子群算法
k=(1+(T/Max_it)^0.5)^10;
GbestTemp =(ub+lb)/2+(ub+lb)/(2*k)-xposbest/k;
Flag4ub = GbestTemp>ub;
Flag4lb = GbestTemp<lb;
GbestTemp=(GbestTemp.*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;iffobj(GbestTemp)<fvalbest
fvalbest=fobj(GbestTemp);
xposbest = GbestTemp;end
改进3:旋风式觅食策略策略
参考文献:
Zhao W, Zhang Z, Wang L. Manta ray foraging optimization: An effective bio-inspired optimizer for engineering applications[J]. Engineering Applications of Artificial Intelligence, 2020, 87: 103300.
for i=1:Npop
r9=rand;
beta = 2*exp(r9*(Max_it-T+1)/(Max_it))*sin(2*pi*r9);
if i==1
TPos(i,:)=xposbest+rand*(xposbest-pos(i,:))+beta*(xposbest-pos(i,:));
if fobj(TPos(i,:))<fobj(pos(i,:))
pos(i,:) = TPos(i,:);
end
else
TPos(i,:)=xposbest+rand*(pos(i-1,:)-pos(i,:))+beta*(xposbest-pos(i,:));
if fobj(TPos(i,:))<fobj(pos(i,:))
pos(i,:) = TPos(i,:);
end
end
end
实验结果
种群数:30
迭代次数:500
代码清单
私信我获得购买链接
其他程序定制
利用该优化算法对机器学习和深度学习进行优化
先用就是创新
包括但不限于
优化BP神经网络,深度神经网络DNN,极限学习机ELM,鲁棒极限学习机RELM,核极限学习机KELM,混合核极限学习机HKELM,支持向量机SVR,相关向量机RVM,最小二乘回归PLS,最小二乘支持向量机LSSVM,LightGBM,Xgboost,RBF径向基神经网络,概率神经网络PNN,GRNN,Elman,随机森林RF,卷积神经网络CNN,长短期记忆网络LSTM,BiLSTM,GRU,BiGRU,TCN,BiTCN,CNN-LSTM,TCN-LSTM,BiTCN-BiGRU,LSTM–Attention,VMD–LSTM,PCA–BP等等
用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出
版权归原作者 机器不会学习CL 所有, 如有侵权,请联系我们删除。