文章目录

  • 【`获取资源`请见文章第5节:资源获取】
  • 1. 基础天鹰优化算法
  • 1.1 扩展阶段
  • 1.2 收缩阶段
  • 2. 改进的天鹰优化算法
  • 2.1 混沌Tent映射初始化种群
  • 2.2 自适应权重因子
  • 3. 部分代码展示
  • 4. 结果展示
  • 5. 资源获取



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


1. 基础天鹰优化算法

天鹰优化算法(Aquila Optimizer,AO)是于2021年提出的一种新型智能优化算法,
该算法主要模拟天鹰在捕捉猎物过程中的自然行为,来达到寻优的目的,具有寻优能力强,收敛速度快等特点。

天鹰算法分为两个阶段:扩展阶段和收缩阶段。

1.1 扩展阶段

扩展阶段总体来说是让个体在当前最优个体附近进行搜索。扩展阶段有两种位置更新公式:

天鹰优化grnn 天鹰优化算法案例_开发语言


其中,xbest为当前的全局最优解,xmean为当前所有个体的平均位置,rand为0-1之间的随机数,xr表示群体中的随机个体,d为当前维度值。

1.2 收缩阶段

与扩展阶段类似,每个个体也是在两个更新位置的公式里随机选择一个来进行计算自己的新位置。

天鹰优化grnn 天鹰优化算法案例_算法_02


其中,xmax和xmin是x取值的最大和最小值,rand为0-1之间的均匀随机数,G2为-1到1之间的均匀随机数,levy为levy随机步长,r1为-1到1之间的均匀随机数。

2. 改进的天鹰优化算法

2.1 混沌Tent映射初始化种群

在扩展阶段,引入 Tent混沌映射生成良好的初始化种群,改善种群多样性,防止在优化过程中出现可能产生的种群分布不均匀问题,加快收敛速度,提高收敛精度。

Tent混沌映射的数学表达式为:

天鹰优化grnn 天鹰优化算法案例_迭代_03

2.2 自适应权重因子

为进一步平衡 AO 算法中扩展探索和缩小探索能力,提出一种自适应惯性权重ω,在迭代初期,让天鹰以更快速度移动,快速到达目标值附近,在迭代后期,让天鹰以较小速度移动,不易出现陷入局部最优的困扰。

自适应权重因子的计算公式为:

天鹰优化grnn 天鹰优化算法案例_开发语言_04


改进后的计算公式为:

天鹰优化grnn 天鹰优化算法案例_迭代_05

3. 部分代码展示

Solution_no=30;  
F_name='F1';    
M_Iter=1000;    

[LB,UB,Dim,F_obj]=Get_F(F_name); 
[Best_FF,Best_P,conv]=AO(Solution_no,M_Iter,LB,UB,Dim,F_obj);  
[Best_FF_IAO,Best_P_IAO,conv_IAO]=IAO(Solution_no,M_Iter,LB,UB,Dim,F_obj);

figure(1)
func_plot(F_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([F_name,'( x_1 , x_2 )'])

figure(2)
semilogy(conv,'Color','k','LineWidth',1)
hold on
semilogy(conv_IAO,'Color','r','LineWidth',1)
title('Convergence curve')
xlabel('Iteration#');
ylabel('Best fitness function');
axis tight
legend('AO','IAO')

4. 结果展示

天鹰优化grnn 天鹰优化算法案例_开发语言_06

IAO算法在第100 次迭代中的适应度值为 2.165e-220
IAO算法在第200 次迭代中的适应度值为 0
IAO算法在第300 次迭代中的适应度值为 0
IAO算法在第400 次迭代中的适应度值为 0
IAO算法在第500 次迭代中的适应度值为 0
IAO算法在第600 次迭代中的适应度值为 0
IAO算法在第700 次迭代中的适应度值为 0
IAO算法在第800 次迭代中的适应度值为 0
IAO算法在第900 次迭代中的适应度值为 0
IAO算法在第1000 次迭代中的适应度值为 0
The best optimal values of the objective funciton found by AO is : 7.4522e-292
The best optimal values of the objective funciton found by IAO is : 0

5. 资源获取

可以获取完整代码资源。