智能优化算法之金豺优化算法(GJO),原理公式详解,附matlab代码

智能优化算法之金豺优化算法(GJO),原理公式详解,附matlab代码金豺优化算法 Golden jackal optimization GJO 是一种新的全局优化算法 该算法的灵感来自于金豺的合作狩猎行为 该成果于 2022 年发表在知名 SCI 期刊 Expert Systems with Applications 上 目前谷歌学术上查询被引 173 次 GJO 算法通过种群位置初始化 确定雌雄金豺对位置

大家好,我是讯享网,很高兴认识大家。

金豺优化算法(Golden jackal optimization,GJO)是一种新的全局优化算法,该算法的灵感来自于金豺的合作狩猎行为。该成果于2022年发表在知名SCI期刊Expert Systems with Applications上。目前谷歌学术上查询被引173次。

d0d27cead6c5270a71f22666cf1db9e6.png
讯享网

GJO算法通过种群位置初始化、确定雌雄金豺对位置、搜索猎物阶段和包围攻击猎物阶段四个主要操作模拟了金豺合作狩猎的行为,最后选取最优解。

算法原理

(1)种群位置初始化

每一只猎物的位置随机分布在搜索空间上,每个个体的相对位置的数学模型如下式表示:

其中,  表示第i只猎物在第j维空间的位置,  和  分别表示第  维空间的上边界和下边界,random( )为[0,1]内的随机数。最终形成的猎物种群位置矩阵如下:

其中,m为猎物种群的大小,n为搜索空间的总维度。

(2)确定雌雄金豺对位置

根据猎物种群位置矩阵以及特定的适应度函数计算适应度矩阵,位置具有最优适应度的猎物记为雄性金豺,位置记为  ,适应度记为  ;位置具有次优适应度的记为雌性金豺,位置记为  ,适应度记为   。

(3)搜索猎物阶段

在搜索猎物阶段,雄性金豺对于猎物种群中每个个体的相对位置的数学模型如下式表示:

雌性金豺对于猎物种群中每个个体的相对位置如下:

其中,t为当前迭代的次数,  表示第t次迭代时第  个猎物的位置,  表示第  次迭代时雄性金豺的位置,  表示第  次迭代时雌性金豺的位置。  为逃跑能量,数学模型如下式表示:

其中,  为初始逃跑能量;  为一个系数,用来递减逃跑能量  ;  为总迭代次数;  为常数,取值为1.5。  随着迭代次数的变化,由1.5逐渐减小至0;  为[-1,1]内的随机值。

(4)包围攻击猎物阶段

在包围攻击猎物阶段,雄性金豺对于猎物种群中每个个体的相对位置如下:

雌性金豺对于猎物种群中每个个体的相对位置如下:

结果展示

以为CEC2005函数集为例,进行结果展示:

08741fddf1952a290e1bd5c2b6448c76.png

b4474fbe16427d7af96b7f898fb61289.png

eb0a6b187461e18f3c5d6b875ed299f3.png

2191061280d510a2cb39b2dfa84b387d.png

 MATLAB核心代码

% 金豺优化算法(GJO) function [Male_Jackal_score,Male_Jackal_pos,Convergence_curve]=GJO(SearchAgents_no,Max_iter,lb,ub,dim,fobj) %% initialize Golden jackal pair Male_Jackal_pos=zeros(1,dim); Male_Jackal_score=inf; Female_Jackal_pos=zeros(1,dim); Female_Jackal_score=inf; %% Initialize the positions of search agents Positions=initialization(SearchAgents_no,dim,ub,lb); Convergence_curve=zeros(1,Max_iter); l=0;% Loop counter % Main loop while l<Max_iter for i=1:size(Positions,1) % boundary checking Flag4ub=Positions(i,:)>ub; Flag4lb=Positions(i,:)<lb; Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb; % Calculate objective function for each search agent fitness=fobj(Positions(i,:)); % Update Male Jackal if fitness<Male_Jackal_score Male_Jackal_score=fitness; Male_Jackal_pos=Positions(i,:); end if fitness>Male_Jackal_score && fitness<Female_Jackal_score Female_Jackal_score=fitness; Female_Jackal_pos=Positions(i,:); end         end

讯享网

参考文献

[1] Chopra N, Ansari M M. Golden jackal optimization: A novel nature-inspired optimizer for engineering applications[J]. Expert Systems with Applications, 2022, 198: .

[2] 李伟彦,董宝良,王凯. 基于金豺优化算法的云计算资源调度研究[J]. 电子设计工程,2023

完整代码获取方式:后台回复关键字:TGDM880

小讯
上一篇 2025-03-31 14:44
下一篇 2025-03-16 14:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54759.html