【非洲秃鹫优化算法】基于circle混沌初始化和LEVY非洲秃鹫优化算法求解单目标优化问题(IAVOA2021)含Matlab源码

简介: 【非洲秃鹫优化算法】基于circle混沌初始化和LEVY非洲秃鹫优化算法求解单目标优化问题(IAVOA2021)含Matlab源码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

洲秃鹫觅食和导航行为启发而提出的一种新型元启发式优化算法,具有寻优能力强、收敛速度快等优点。AVOA是受非洲秃鹫觅食和导航行为启发提出的一种元启发式优化算法。AVOA数学描述如下。


a avoa通过通过所有适应度适应度适应度适应度炙鹤移动。

式中Ri(t) 除最优、次优蒸鹇外的其他蒸鹱位置; BestV1 BestV2 —最优蒸鹛和次优蒸鹛位置; L1 L2 01之间待测量1 pi 选择最佳蒸鹇的概率; fi 其他蒸鹛合适度; t 当前代次数;其他参数含义相同。

b)秃鹫秃鹫觅食,若经常觅食状态状态状态状态状态状态状态状态状态状态能量能量能量能量能量能量能量能量能量能量能量能量能量能量能量能量能量更强壮的猎鹰附近察觉食物。食物率数据描述为:

式中F兔饲料食用率; T 最大延迟次数; z 11之间的随机数; h 22之间的随机数; rand1 01之间的随机数; w 控制探索过程序参数,随着w值增加,计算进入研究阶段的概率增加大,反知概率减少。

c)探索阶段。炙鹤工具具有很高的视觉能力和很好的嗅觉能力。在AVOA中,炙鹤通式(5)随机搜索不同域。

式中Pi(t1)—t1次迭代秃鹫位置;Pi(t)t次迭代秃鹫位置;X秃鹫随机移动的地方,以保护食物免受其他秃鹫夺取,X2×randrand表示01之间的随机数;P1探索阶段选择参数;rand2rand3randP101之间的随机数;ublb搜索空间上、下限值;其他参数意义同上。

d)开发阶段。AVOA中,开发阶段分为开发一阶段和开发二阶段2种策略,并通过开发阶段选择参数P2P3决定采用何种策略进行位置更新。开发第一阶段秃鹫位置更新描述如下:

式中rand4rand5rand6randP201之间的随机数;P2开发第一阶段更新策略选择参数;其他参数意义同上。

开发第二阶段秃鹫位置更新描述如下:

式中BestV1(t)BestV2(t)t次迭代最优、次优秃鹫位置;randP301之间的随机数;P3开发第二阶段更新策略选择参数;Levy(d)随即游走,其每一步方向完全随机而各向同性,步长为重尾分布;其他参数意义同上。


⛄ 部分代码

function [fMin , bestX, Convergence_curve ] = DBO(XC,N, Max_iteration,lb,ub,dim,fobj  )

% [DBO_Best_score(cnt), DBO_Best_pos(cnt, :), DBO_Curve]=DBO(XC,N,Max_iteration,lb,ub,dim,fobj);

       

  P_percent = 0.2;    % The population size of producers accounts for "P_percent" percent of the total population size      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

pNum = round( N *  P_percent );    % The population size of the producers  



lb= lb.*ones( 1,dim );    % Lower limit/bounds/     a vector

ub= ub.*ones( 1,dim );    % Upper limit/bounds/     a vector

%Initialization

for i = 1 : N

   

   x( i, : ) = lb + (ub - lb) .* rand( 1, dim );  

   fit( i ) = fobj( x( i, : ) ) ;                      

end


pFit = fit;                      

pX = x;

XX=pX;    

[ fMin, bestI ] = min( fit );      % fMin denotes the global optimum fitness value

bestX = x( bestI, : );             % bestX denotes the global optimum position corresponding to fMin


% Start updating the solutions.

for t = 1 : Max_iteration    

     

       [fmax,B]=max(fit);

       worse= x(B,:);  

      r2=rand(1);

 

 

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

   for i = 1 : pNum    

       if(r2<0.9)

           r1=rand(1);

         a=rand(1,1);

         if (a>0.1)

          a=1;

         else

          a=-1;

         end

         b = rand();

   x( i , : ) =  pX(  i , :)+b*abs(pX(i , : )-worse)+a*0.1*(XX( i , :)); % Equation (1)

      else

           

          aaa= randperm(180,1);

          if ( aaa==0 ||aaa==90 ||aaa==180 )

           x(  i , : ) = pX(  i , :);  

          end

        theta= aaa*pi/180;  

     

      x(  i , : ) = pX(  i , :)+tan(theta).*abs(pX(i , : )-XX( i , :));    % Equation (2)      


       end

     

       x(  i , : ) = Bounds( x(i , : ), lb, ub );    

       fit(  i  ) = fobj( x(i , : ) );

   end

[ fMMin, bestII ] = min( fit );      % fMin denotes the current optimum fitness value

 bestXX = x( bestII, : );             % bestXX denotes the current optimum position


R=1-t/Max_iteration;                           %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Xnew1 = bestXX.*(1-R);

    Xnew2 =bestXX.*(1+R);                    %%% Equation (3)

  Xnew1= Bounds( Xnew1, lb, ub );

  Xnew2 = Bounds( Xnew2, lb, ub );

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    Xnew11 = bestX.*(1-R);

    Xnew22 =bestX.*(1+R);                     %%% Equation (5)

  Xnew11= Bounds( Xnew11, lb, ub );

   Xnew22 = Bounds( Xnew22, lb, ub );

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  

   for i = ( pNum + 1 ) :12                  % Equation (4)

    x( i, : )=bestXX+((rand(1,dim)).*(pX( i , : )-Xnew1)+(rand(1,dim)).*(pX( i , : )-Xnew2));

  x(i, : ) = Bounds( x(i, : ), Xnew1, Xnew2 );

 fit(i ) = fobj(  x(i,:) ) ;

  end

 

 for i = 13: 19                  % Equation (6)


 

       x( i, : )=pX( i , : )+((randn(1)).*(pX( i , : )-Xnew11)+((rand(1,dim)).*(pX( i , : )-Xnew22)));

      x(i, : ) = Bounds( x(i, : ),lb, ub);

      fit(i ) = fobj(  x(i,:) ) ;

 

 end

 

 for j = 20 : N                 % Equation (7)

      x( j,: )=bestX+randn(1,dim).*((abs(( pX(j,:  )-bestXX)))+(abs(( pX(j,:  )-bestX))))./2;

     x(j, : ) = Bounds( x(j, : ), lb, ub );

     fit(j ) = fobj(  x(j,:) ) ;

 end

  % Update the individual's best fitness vlaue and the global best fitness value

    XX=pX;

   for i = 1 : N

       if ( fit( i ) < pFit( i ) )

           pFit( i ) = fit( i );

           pX( i, : ) = x( i, : );

       end

       

       if( pFit( i ) < fMin )

          % fMin= pFit( i );

          fMin= pFit( i );

           bestX = pX( i, : );

         %  a(i)=fMin;

           

       end

   end

 

    Convergence_curve(t)=fMin;

 

   

 

end


% Application of simple limits/bounds

function s = Bounds( s, Lb, Ub)

 % Apply the lower bound vector

 temp = s;

 I = temp < Lb;

 temp(I) = Lb(I);

 

 % Apply the upper bound vector

 J = temp > Ub;

 temp(J) = Ub(J);

 % Update this new move

 s = temp;

function S = Boundss( SS, LLb, UUb)

 % Apply the lower bound vector

 temp = SS;

 I = temp < LLb;

 temp(I) = LLb(I);

 

 % Apply the upper bound vector

 J = temp > UUb;

 temp(J) = UUb(J);

 % Update this new move

 S = temp;

%---------------------------------------------------------------------------------------------------------------------------

⛄ 运行结果

⛄ 参考文献

[1]李旭东, 杨威嘉, 赵志高,等. 基于多目标混合非洲秃鹫优化算法的多能系统调度方法:.

[2]王忠义, 崔东文. 基于小波包分解-非洲秃鹫优化算法-深度极限学习机的水文预报模型及其应用[J]. 水电能源科学, 2022(008):040.

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
10月前
|
算法 数据安全/隐私保护
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
本项目实现了一种基于Logistic Map混沌序列的数字信息加解密算法,使用MATLAB2022A开发并包含GUI操作界面。支持对文字、灰度图像、彩色图像和语音信号进行加密与解密处理。核心程序通过调整Logistic Map的参数生成伪随机密钥序列,确保加密的安全性。混沌系统的不可预测性和对初值的敏感依赖性是该算法的核心优势。示例展示了彩色图像、灰度图像、语音信号及文字信息的加解密效果,运行结果清晰准确,且完整程序输出无水印。
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
|
存储 算法 数据可视化
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
541 2
|
机器学习/深度学习 算法 索引
单目标问题的烟花优化算法求解matlab仿真,对比PSO和GA
本项目使用FW烟花优化算法求解单目标问题,并在MATLAB2022A中实现仿真,对比PSO和GA的性能。核心代码展示了适应度计算、火花生成及位置约束等关键步骤。最终通过收敛曲线对比三种算法的优化效果。烟花优化算法模拟烟花爆炸过程,探索搜索空间,寻找全局最优解,适用于复杂非线性问题。PSO和GA则分别适合快速收敛和大解空间的问题。参数调整和算法特性分析显示了各自的优势与局限。
606 11
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
算法 数据安全/隐私保护
基于GA遗传优化算法的Okumura-Hata信道参数估计算法matlab仿真
在MATLAB 2022a中应用遗传算法进行无线通信优化,无水印仿真展示了算法性能。遗传算法源于Holland的理论,用于全局优化,常见于参数估计,如Okumura-Hata模型的传播损耗参数。该模型适用于150 MHz至1500 MHz的频段。算法流程包括选择、交叉、变异等步骤。MATLAB代码执行迭代,计算目标值,更新种群,并计算均方根误差(RMSE)以评估拟合质量。最终结果比较了优化前后的RMSE并显示了SNR估计值。
336 7
|
机器学习/深度学习 算法 计算机视觉
通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法
摘要: 使用MATLAB2022a对比了二进制编码与实数编码的遗传优化算法,关注最优适应度、平均适应度及运算效率。二进制编码适用于离散问题,解表示为二进制串;实数编码适用于连续问题,直接搜索连续空间。两种编码在初始化、适应度评估、选择、交叉和变异步骤类似,但实数编码可能需更复杂策略避免局部最优。选择编码方式取决于问题特性。
基于GA-PSO遗传粒子群混合优化算法的VRPTW问题求解matlab仿真
摘要: 本文介绍了考虑时间窗的车辆路径问题(VRPTW),在MATLAB2022a中进行测试。VRPTW涉及车辆从配送中心出发,服务客户并返回,需在指定时间窗内完成且满足车辆容量限制,目标是最小化总行驶成本。文章探讨了遗传算法(GA)和粒子群优化(PSO)的基本原理及其在VRPTW中的应用,包括编码、适应度函数、选择、交叉、变异等步骤。同时,提出了动态惯性权重、精英策略、邻域搜索、多种群和启发式信息等优化策略,以应对时间窗限制并提升算法性能。
383 11
|
机器学习/深度学习 算法 调度
Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码
基于改进鲸鱼优化算法的微网系统能量管理源码实现,结合LSTM预测可再生能源和负荷,优化微网运行成本与固定成本。方法应用于冷热电联供微网,结果显示经济成本平均降低4.03%,提高经济效益。代码包括数据分段、LSTM网络定义及训练,最终展示了一系列运行结果图表。
|
算法 调度 决策智能
基于GA-PSO遗传粒子群混合优化算法的DVRP问题求解matlab仿真
该文介绍了车辆路径问题(VRP)的优化求解,特别是动态车辆路径问题(DVRP)。在MATLAB2022a中运用GA-PSO混合优化算法进行测试,展示了运行结果图像。核心程序包含粒子更新、交叉、距离计算等步骤。DVRP在物流配送、运输调度中有广泛应用,目标是最小化行驶距离并满足车辆容量限制。遗传算法通过选择、交叉和变异操作寻找解,而粒子群优化模拟鸟群行为更新速度和位置。GA-PSO混合算法结合两者优点,提高搜索效率。在DVRP中,算法需考虑问题特性和约束,以找到高质量解。
|
存储 传感器 算法
基于ACO蚁群优化算法的WSN网络路由优化matlab仿真
摘要(Markdown格式): - 📈 ACO算法应用于WSN路由优化,MATLAB2022a中实现,动态显示迭代过程,输出最短路径。 - 🐜 算法模拟蚂蚁寻找食物,信息素更新与蚂蚁选择策略确定路径。信息素增量Δτ += α*τ*η,节点吸引力P ∝ τ / d^α。 - 🔁 算法流程:初始化→蚂蚁路径选择→信息素更新→判断结束条件→输出最优路由。优化WSN能量消耗,降低传输成本。

热门文章

最新文章