北方苍鹰优化算法(Northern Goshawk Optimization, NGO)是一种基于北方苍鹰捕猎行为的优化算法,由 MOHAMMAD DEHGHANI 等人在 2022 年提出。该算法通过模拟苍鹰的猎物识别、攻击、追逐和逃生等行为,解决各种优化问题。
在北方苍鹰优化算法中,苍鹰的捕猎过程被分为两个阶段:猎物识别与攻击(勘探阶段)和追逐及逃生(开发阶段)。在勘探阶段,苍鹰会随机选择一个猎物并迅速发起攻击,这个过程类似于全局搜索,目的是为了寻找更好的解。在开发阶段,苍鹰会追逐被攻击的猎物,并采取适当的策略逃生。这个过程类似于局部搜索,目的是为了改进已经找到的解。
该算法采用数学模型描述苍鹰的捕猎行为,将优化问题的解空间视为搜索空间。种群成员的初始解在搜索空间中随机初始化。通过迭代更新种群成员的位置和速度,该算法不断向最优解靠近,最终找到最优解。
北方苍鹰优化算法具有全局搜索和局部搜索相结合的特点,可以处理复杂的优化问题,尤其适用于多峰值、非线性、离散和连续混合优化问题。同时,该算法具有较好的鲁棒性和通用性,能够广泛应用于不同领域的优化问题求解。
根据NFL定理,激励读者对其进行改进,提出了最佳领导者策略和自适应莱维步长方法进行改进,为了验证改进效果,将改进算法INGO与原始NGO算法在23个经典基准测试函数上经行对比。结果显示改进后的算法INGO取得了显著的效果。
部分实验结果如下:
部分主函数代码如下:
% CEC2005 对比
clc;clear;close all
N=30; %种群数量
T=500; % 最大迭代次数
F='F11'; % 选择函数F1-F23
%获取函数细节
[lb,ub,dim,fobj]=Get_F(F);
%调用智能算法,更改名字即可替换成其它算法
[Top_Score_1,Top_Position_1,Convergence_curve_1]=NGO(N,T,lb,ub,dim,fobj);
[Top_Score_2,Top_Position_2,Convergence_curve_2]=INGO(N,T,lb,ub,dim,fobj);
% 定义RGB颜色值
% 绘制每条曲线
semilogy(Convergence_curve_1, '-k', 'LineWidth', 2);
hold on;
semilogy(Convergence_curve_2, '-r', 'LineWidth', 2);