金豺(GJO)优化算法、matlab代码实现以及与PSO、GWO、SO算法比对

文章介绍了金豺优化算法(GJO),一种受金豺狩猎行为启发的优化算法。算法包括初始化种群、全局搜索、局部搜索等步骤,并提供了MATLAB代码实现,用F3测试问题展示了其性能并与GWO、PSO、SO等算法对比。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

金豺(GJO)优化算法是2022年由Nitish Chopra 等人提出,GJO 的灵感来自金豺 (Canis aureus) 的协作狩猎行为。算法的三个基本步骤是猎物搜索、包围和突袭

1 算法原理

该算法主要是由雄雌豺狼带领各个豺狼对猎物进行搜索、包围和围捕。
A:雄雌豺狼对
B:个体搜索猎物
C:包围猎物
D&E:围捕猎物
在这里插入图片描述

2 算法步骤

2.1 初始化种群

对个体进行初始化,和大部分算法一样,Ymax:表示上界,Ymin:表示下界
在这里插入图片描述
通过上述公式对种群进行初始化。

2.2 搜索猎物(全局搜索)

Ym(t):所有豺狼个体中最好的个体——雄性豺狼

Yfm(t):所有豺狼个体中次好的个体——雌性豺狼

在这里插入图片描述
在这里插入图片描述
E的计算公式:
E:回避能量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
c1=1.5,E1为从1.5~0线性递减。

rl的计算公式:
在这里插入图片描述
在这里插入图片描述
miu,v 为0-1的随机数,beta=1.5;

ps:τ对应matlab函数中的gamma函数。

豺狼个体更新位置的公式

ps:有点类似于灰狼优化算法个体更新位置的公式

算法的探索阶段(全局搜索)使用如下3个公式对豺狼个体进行位置更新。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.3 包围和围捕猎物(局部搜索)

算法的开发阶段(局部搜索)使用如下3个公式对豺狼个体进行位置更新
在这里插入图片描述
在这里插入图片描述

2.4 从全局搜索转向局部搜索

主要通过躲避能量的绝对值大小进行改变

当|E|>=1,豺狼对不同部分探索猎物,

当|E|<1,豺狼开始包围和攻击猎物。

3 算法流程图

在这里插入图片描述

4 matlab代码实现

main函数:

close all;
clear all;
clc;

% N种群大小
% Dim个体维度
% T最大迭代次数
% ub上界
% lb下界
% X_prey最好的个体
% G_best存储每次迭代后的最好个体的适应度值

N=300;
Dim=30;
T=500;
ub=100;
lb=-100;
[Y_prey,G_best]=GJO(Dim,ub,lb,N,T);
figure,
plot(G_best,'Color','blue');
best=G_best';%转置用于origin填充数据使用
xlim([1,500]);

my_function函数:

function my_fitness=my_function(X)
%F3测试问题
dim=size(X,2);
o=0;
for i=1:dim
    o=o+sum(X(1:i))^2;
end
my_fitness=o;
end

GJO主体代码

function [Y_prey,G_best]=GJO(Dim,ub,lb,N,T)
    %% 初始化参数
    c1=1.5;
    beta=1.5;
    %% 初始化种群
    Pop=zeros(N,Dim);
    Pop_size=size(Pop,1);
    for i=1:Pop_size
        for j=1:Dim
            Pop(i,j)=lb+rand*(ub-lb);
        end
    end
    %% 进化
    for t=1:T
        %筛选雄雌豺狼个体
        for i=1:Pop_size
            fit_ness(i)=my_function(Pop(i,:));
        end
        [~,sort_index]=sort(fit_ness);
        Y1=Pop(sort_index(1),:);%雄性豺狼
        Y2=Pop(sort_index(2),:);%雌性豺狼
        Y1_fitness=fit_ness(sort_index(1));%雄性豺狼适应度值
        Y2_fitness=fit_ness(sort_index(2));%雌性豺狼适应度值

        for i=1:Pop_size
            for j=1:Dim
            %eq(6)~eq(8)
            E0=2*rand-1;
            E1=c1*(1-(t/T));
            E=E1*E0;
            
            %eq(9)~eq(10)
            miu=rand;
            v=rand;
            sita=((gamma(1+beta)*sin(pi*beta/2))/(gamma((1+beta)/2)*beta*2.^((beta-1)/2))).^(1/beta);
            LF=0.01*(miu*sita)/(abs(v.^(1/beta)));
            rl=0.05*LF;

            if abs(E)>=1
            Y1_new=Y1(j)-E.*abs(Y1(j)-rl.*Pop(i,j));
            Y2_new=Y2(j)-E.*abs(Y2(j)-rl.*Pop(i,j));
            Y_new(i,j)=(Y1_new+Y2_new)./2;%紧随雄雌豺狼,更新豺狼位置 eq(4)、(5)and(11)
            else
            Y1_new=Y1(j)-E.*abs(rl*Y1(j)-Pop(i,j));
            Y2_new=Y2(j)-E.*abs(rl*Y2(j)-Pop(i,j));
            Y_new(i,j)=(Y1_new+Y2_new)./2;%紧随雄雌豺狼,更新豺狼位置 eq(12)、(13)and(11)
            end
            end
        end
            %% 计算所有新更新个体的适应度值
    for i=1:Pop_size
        Flag4Up=Y_new(i,:)>ub;
        Flag4Lp=Y_new(i,:)<lb;
        Y_new(i,:)=(Y_new(i,:).*(~(Flag4Up+Flag4Lp)))+Flag4Up.*ub+Flag4Lp.*lb;%修正
        y=my_function(Y_new(i,:));
        if y<my_function(Pop(i,:))
            fit_ness(i)=y;
            Pop(i,:)=Y_new(i,:);%替换个体
        end
    end
    %% 更新雄雌豺狼
    [~,sort_index]=sort(fit_ness);
    Y1=Pop(sort_index(1),:);%雄性豺狼
    Y2=Pop(sort_index(2),:);%雌性豺狼
    Y_prey=Y1;%最好的个体
    G_best(t)=my_function(Y1);%每次迭代后计算雄性豺狼个体的适应度值
    end
end

运行F3测试案例

在这里插入图片描述

与GWO、PSO、SO算法进行比对——F3算法

在这里插入图片描述
在这里插入图片描述

JiAngTxone
关注 关注
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
优化算法(python实现
03-27
优化算法GJO)(python实现
优化算法matlab实现
03-27
优化算法(Golden Jackal Optimization Algorithm,GJO)是一种基于自然界中群体行为的全局优化算法。这种算法在解决复杂多模态优化问题时表现出色,它模仿了在捕猎过程中的协作和搜索策略。在MATLAB...
智能优化算法优化算法GJO),原理公式详解,附matlab代码
woaipythonmeme的博客
11-15 1109
优化算法(Golden jackal optimization,GJO)是一种新的全局优化算法,该算法的灵感来自于的合作狩猎行为。该成果于2022年发表在知名SCI期刊Expert Systems with Applications上。目前谷歌学术上查询被引173次。GJO算法通过种群位置初始化、确定雌雄对位置、搜索猎物阶段和包围攻击猎物阶段四个主要操作模拟了合作狩猎的行为,最后选...
算法GJO)多目标优化(文末附完整免费代码)
m0_59257547的博客
07-14 774
优化算法(GJO)算法原理及其具体实现
优化(GJO)算法(含MATLAB代码)
algorithmzzy的博客
12-23 2696
优化(GJO)算法(含MATLAB代码)
智能优化算法优化算法- 附代码
Jack旭的博客
06-05 9296
优化(Golden jackal optimization,GJO算法是2022年提出的一种新的元启发式算法,该算法是一种模仿的合作狩猎行为的新型智能优化算法GJO算法包括三个基本步骤是搜索猎物、包围猎物和攻击猎物。...
【智能优化算法优化算法(Golden jackal optimization,GJO)
yuchunyu12的博客
05-10 385
狼优化(Golden jackal optimization,GJO)是期刊“Expert Systems with Applications”(中科院一区IF 8.3)的智能优化算法
【智能算法优化算法GJO)原理及实现
Logic_9527的博客
04-25 1131
种群依据猎物的逃避能量E,决定是否对猎物发起进攻。在迭代过程中,猎物的逃避能量E呈下降趋势,当|E|>=1时,即猎物有足够能量躲避捕猎,种群转向探索阶段寻找其他猎物;当|E|<1时,种群转向进攻阶段对猎物发起进攻。2022年,N Chopra等人受到狩猎行为启发,提出了优化算法(Golden Jackal Optimization, GJO)。其中,E为猎物的逃避能量,rl表示一个基于莱维分布的任意向量,Prey(t)表示猎物位置向量,YM和YFM分别表示雄和雌的位置。
分享了优化算法Golden jackal optimization algorithm源代码及原文,亲测有效,更多算法可进入
09-13
优化算法(Golden Jackal Optimization Algorithm, GJOA)是一种新型的群智能优化算法,源自于自然界中的社会行为。在生物学中,以其高效协作的狩猎策略闻名,这种策略被抽象并应用于解决工程和数学中的...
【光伏预测】基于优化算法GJO优化Transformer回归预测实现光伏预测附Matlab代码.rar
最新发布
07-18
1.版本:matlab2014/2019a/2021a ...擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
【柴油机故障诊断】基于优化算法GJO优化Transformer实现柴油机故障诊断附Matlab代码.rar
07-18
1.版本:matlab2014/2019a/2021a ...擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手
算法(GJO)优化最小二乘支持向量机回归预测,GJO-LSSVM回归预测,多变量输入模型 评价指标包括:R2、MAE、M
09-18
算法(GJO)优化最小二乘支持向量机回归预测,GJO-LSSVM回归预测,多变量输入模型。 评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。
Go-gjo-用于创建JSON对象的小型工具类
08-14
gjo - 用于创建JSON对象的小型工具类
【BP回归预测】基于优化算法GJO实现光伏数据预测多输入单输出附matlab代码.rar
07-03
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 ...擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。
多目标优化算法:多目标优化算法MOGJO(提供MATLAB代码
IT猿手
04-25 3418
一、算法简介 优化算法(Golden jackal optimization,GJO)由Nitish Chopra 和 Muhammad Mohsin Ansari 于2022年提出,该算法模拟了狩猎行为,算法新颖,快速高效。 是一种中型的体型偏瘦的狼,体长60-132厘米,站立时高约38-50厘米,尾巴长约20-30厘米,体重8-10千克,肩高约40厘米。头部,耳朵,两侧及四肢具有红褐色的色调,有长而尖的口吻和相对较短的尾巴,蓬松的尾巴上毛比较长。通常身体的皮毛颜色是黄色至淡色、近乎白色
路径规划算法:基于优化的机器人路径规划算法- 附matlab代码
qq_59747472的博客
08-08 744
路径规划是机器人领域中的一个重要问题,它涉及到如何让机器人在给定的环境中找到最优的路径以完成任务。近年来,基于优化的机器人路径规划算法成为研究的热点。优化算法是一种仿生算法,它模拟了在寻找食物时的行为。是一种聪明而灵活的动物,它能够通过观察周围环境和自身运动来找到最短的路径。这种算法通过模拟的行为,将机器人路径规划问题转化为数学优化问题,并通过迭代的方式逐步优化路径。基于优化的机器人路径规划算法具有许多优势。首先,它能够在复杂的环境中找到最短路径,适应各种复杂的场景。
基于优化算法的函数寻优算法
心升明月的博客
07-04 2490
文献[1]提出了一种新的自然启发优化方法,称为优化(Golden Jackal Optimization, GJO)算法,其灵感来自的协作狩猎行为。算法的三个基本步骤是猎物搜索、包围和突袭。与许多其他元启发式方法一样,GJO是一种基于群体的方法,在该方法中,初始解随机均匀分布在搜索空间上:Y0=Ymin⁡+rand(Ymax⁡−Ymin⁡)(1)Y_0=Y_{\min}+rand(Y_{\max}-Y_{\min})\tag{1}Y0​=Ymin​+rand(Ymax​−Ymin​)(1)其中,Ym
Matlab算法(GJO)优化双向长短期记忆神经网络的数据分类预测
qq_59747472的博客
09-11 233
在当今信息爆炸的时代,数据分类预测已经成为了许多领域中的一个重要问题。长短期记忆神经网络(LSTM)作为一种强大的序列模型,被广泛应用于自然语言处理、语音识别、股票预测等领域。然而,由于LSTM模型的复杂性和参数众多,其训练过程往往需要耗费大量的时间和计算资源。为了提高LSTM模型的训练效率和预测准确性,研究人员提出了许多优化算法。其中,算法GJO)是一种基于群体行为的优化算法,具有全局搜索能力和较快的收敛速度。
基于纵横交叉算法GJO优化的matlab代码
07-13
我了解您想要获取基于纵横交叉算法GJO(Generalized Jensen Operator)优化的MATLAB代码。很抱歉,目前我无法提供完整的代码,但我可以为您提供一个基本的代码框架,您可以根据自己的需求进行修改和完善。 ```matlab % GJO优化算法 % 步骤1:初始化 N = 50; % 种群数量 MaxIter = 100; % 最大迭代次数 Lb = -10; % 变量下界 Ub = 10; % 变量上界 dim = 2; % 变量维度 % 步骤2:生成初始种群 X = Lb + (Ub - Lb) * rand(N, dim); % 随机生成初始种群 % 步骤3:计算适应度 fit = CalculateFitness(X); % 自定义的计算适应度函数,根据问题进行修改 % 步骤4:迭代更新 for iter = 1:MaxIter % 选择操作 [parent1, parent2] = Selection(X, fit); % 自定义的选择操作函数,根据问题进行修改 % 交叉操作 offspring = Crossover(parent1, parent2); % 自定义的交叉操作函数,根据问题进行修改 % 变异操作 offspring = Mutation(offspring); % 自定义的变异操作函数,根据问题进行修改 % 合并父代和子代种群 X = [X; offspring]; % 更新适应度 fit = CalculateFitness(X); % 筛选操作 X = Selection(X, fit); % 自定义的筛选操作函数,根据问题进行修改 end % 步骤5:输出结果 bestSolution = X(1, :); bestFitness = fit(1); disp('最优解:'); disp(bestSolution); disp('最优适应度:'); disp(bestFitness); % 自定义的计算适应度函数 function fitness = CalculateFitness(population) % 根据问题进行适应度计算 % ... end % 自定义的选择操作函数 function [parent1, parent2] = Selection(population, fitness) % 根据问题进行选择操作 % ... end % 自定义的交叉操作函数 function offspring = Crossover(parent1, parent2) % 根据问题进行交叉操作 % ... end % 自定义的变异操作函数 function offspring = Mutation(parent) % 根据问题进行变异操作 % ... end ``` 请注意,上述代码只是一个基本的框架,您需要根据实际问题进行适当的修改和完善。在代码中的步骤3至步骤5之间的操作需要根据您的具体问题进行自定义。希望这个代码框架能对您有所帮助!
写文章

热门文章

  • 柔性作业车间生产调度中MK算例文本各行数字表示的含义以及算例的数据 3735
  • 如何设置Winform图标 3608
  • 金豺(GJO)优化算法、matlab代码实现以及与PSO、GWO、SO算法比对 2319
  • 蛇优化算法 1821
  • 多目标柔性生产作业车间——反世代距离(IGD) 1646

最新评论

  • 计算机工程与应用

    JiAngTxone: 一般不用了

  • 计算机工程与应用

    xxxxyyyqq: 二审意见好多,但主编给了”请参照专家再审意见及“论文写作模板”继续修改;并请斟酌全文,减少表述错误。“,修改后还要送外审吗?

  • 计算机工程与应用

    JiAngTxone: 大概1月半左右

  • 计算机工程与应用

    weixin_48648259: 请问一下录用到网络首发大概过了多久啊

  • 多目标柔性生产作业车间——反世代距离(IGD)

    TianCaiTang: 你好,我看你这个是3个目标函数。请问一下真实帕累托前沿解集可以通过一种算法多次求解获得的意思是比如不是迭代次数,而是算法从开始运行到停止运行算一次吗?运行多次将每次的帕雷托最优解集放在一起构成真实帕累托解集吗?还有就算咋样取均匀分的的帕累托前沿啊?盼复,谢谢

最新文章

  • MATLAB Sub2ind下标值转化
  • 计算机工程与应用
  • 关于变邻域搜索求解柔性作业车间问题的探讨
2023年31篇
2022年11篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JiAngTxone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司企业网站优化需要注意哪些网站优化外修哈尔滨网站优化服务好的seo网站优化网站内部优化有必要吗网站广告要多久才能优化乌兰察布网站排名优化嘉兴网站快照优化公司梅州百度网站优化软件伦敦网站优化作用大兴网站优化推广咸宁网站优化推广厦门网站优化去哪找河北综合网站优化价格表石景山网站快速优化江门网站优化电池充电网站优化到底是啥意思吉林网站优化方法金牛区网站优化哪家好什么是网站排名优化昆明网站优化多少钱上首页的网站seo优化许昌网站seo优化哪里好松江区企业网站优化案例福州台江网站seo优化有哪些南通网站优化招聘广州网站优化推广公司本地网站优化公司排名上海网站搜索优化软件怎样优化自己的网站歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化