您的当前位置:首页正文

改进智能优化算法|一种改进的白鲸优化算法IBWO 精英反向策略的种群初始化策略+动态折射反向学习策略+旋风式觅食策略

来源:九壹网


一种改进的白鲸优化算法BWO 精英反向策略的种群初始化+动态折射反向学习+旋风式觅食策略


一、原始白鲸优化算法BWO

白鲸优化算法(Beluga Whale Optimization, BWO)是一种新型的基于群体的元启发式算法,灵感来源于白鲸的行为。以下是该算法的基本原理和详细流程:

基本原理:

详细流程和步骤:

  1. 初始化:确定算法参数,包括种群大小和最大迭代次数,随机生成初始白鲸群体的位置,并计算其适应度值。

  2. 探索阶段

    • 模拟白鲸的游泳行为,通过配对游泳来更新白鲸的位置。
    • 使用随机数和当前位置信息来计算新位置。
  3. 开发阶段

    • 模拟白鲸的捕食行为,白鲸通过共享位置信息来捕食。
    • 引入Levy飞行策略,通过随机跳跃强度和Levy飞行函数来更新白鲸的位置。
  4. 鲸落阶段

    • 模拟白鲸在迁徙和捕食过程中可能发生的死亡和沉入海底的现象。
    • 根据鲸落概率选择一些白鲸,并更新它们的位置。
  5. 迭代过程

    • 根据当前迭代次数和最大迭代次数计算平衡因子。
    • 根据平衡因子决定白鲸进入探索阶段还是开发阶段。
  6. 终止条件

    • 如果当前迭代次数大于或等于最大迭代次数,则算法停止。
    • 否则,重复上述步骤。
  7. 输出结果:返回最佳白鲸的位置和适应度值。

数学模型:

  • 探索阶段:通过配对游泳行为更新白鲸的位置。
  • 开发阶段:通过捕食行为和Levy飞行策略更新白鲸的位置。
  • 鲸落阶段:根据鲸落概率和步长因子更新白鲸的位置。

算法特点:

  • BWO算法是无导数优化技术,易于实现。
  • 算法能够平衡探索和开发阶段,确保全局收敛。
  • 在解决单峰和多峰函数问题时表现出色,尤其在可扩展性分析中表现优异。

实验验证:

  • 通过30个基准函数和4个实际工程问题来测试BWO算法的有效性。
  • 与15种其他元启发式算法进行比较,包括PSO、DE、GA等。

应用领域:

  • BWO算法在解决复杂的实际工程优化问题中显示出潜力和优势,如悬臂梁设计、焊接梁设计、张力/压缩弹簧设计和压力容器设计问题。

二、多策略改进白鲸优化算法IBWO

改进1:精英反向策略

%% 基于精英反向策略的种群初始化
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));
for i = 1:size(PositionsF,1)
   if(fun(PositionsF(i,:))<fun(BackPositions(i,:)))%原始解比反向解更好,即为精英解
       index(i) = 1;
   else%反向解更好的付给原始解
       PositionsF(i,:) = BackPositions(i,:);
   end
end
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;
if fobj(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等等

用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出

因篇幅问题不能全部显示,请点此查看更多更全内容

Top