十二生肖智能算法,请一次性带走!

概述

今天为大家带来一期---十二生肖智能算法

子鼠---鼠群RSO(Rat Swarm Optimizer)--2020年

丑牛---天牛须搜索BAS(Beetle Antenna Searching)--2017年

寅虎---蜂虎狩猎BEH(Bee-Eater-Hunting)--2022年

卯兔---人工兔ARO(Artificial Rabbits Optimization)--2022年

辰龙---变色龙CSA(Chameleon Swarm Algorithm)--2021年

巳蛇---蛇SO(Snake Optimizer)--2022年

午马---野马WHO((Wild Horse Optimizer)--2021年

未羊---羚羊优化算法GOA(Gazelle Optimization Algorithm)--2022年

申猴---卷尾猴搜索CapSA(capuchin search algorithm)--2020年

酉鸡---白骨顶鸡COOT(Coot optimization algorithm)--2021年

戌狗---澳洲野狗优化算法DOA(Dingo Optimization Algorithm)--2021年

亥猪---跳蛛优化算法JSOA(Jumping Spider Optimization Algorithm)--2021年

6267a5ed51d92b6cf393b1b7ba8eea4b.png

01

① 为了凑齐十二生肖,作者无奈只能先将跳蛛算法拿过来充当“亥猪”了,因为作者实在搜不到关于“猪”的优化算法。(难道是嫌弃猪太笨,所以没人研究?为此作者还特意查了查,有研究表明:猪是世界上仅次于黑猩猩和宽吻海豚之后第三聪明的动物,哈哈哈为猪澄清!)

② 凑齐十二生肖算法,还将十二生肖算法放在一起PK,纯属娱乐!大家各取所需即可!

③ 作者已经将各自算法都放在一个单独文件夹内,文件夹截图如下所示。想要让12生肖进行PK,直接运行PKmain.m文件即可。若只想运行单独的算法,打开各自的文件夹运行相应的main文件即可。

d0f75c3152a1f64fbc76f0f935270ef9.png

02结果展示

十二种算法作者均将其整理为标准的算法套用,方便大家对其更改!

[Best_score,Best_pos,curve]=算法名称(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness)

依旧是在CEC2005函数中测试,粒子个数设置为30个,迭代次数为1000次,结果图:

52555c0341c9ea7ec28d9bb0a99866c1.png

c1335fde3b13ae80a2b31879a53d9e54.png

f555d0a12e3bceb1790a54a1f53fa4f8.png

325eeab30a52f1de531487c0547240de.png

a6b19d4fa8f1dc4028b64d9309849f96.png

8207e39252a2e5422e219349fc2652b8.png

73487bf452bb789f5efed2359865cb7d.png

c50a1f17c2d40f488a07c4cdd3221567.png

13f73efaa90186ddc705ecac0ef35789.png

3a416d2c1f6901913f2490fadd67cd81.png

03

核心代码展示:在这里附上PKmain.m文件代码:

clear all
clc
close all
addpath(genpath(pwd))
SearchAgents=30;
Fun_name='F10';
Max_iterations=1000;
[lowerbound,upperbound,dimension,fitness]=fun_info(Fun_name);


%% 鼠群RSO(Rat Swarm Optimizer)--2020年
[~,~,RSO_curve]=rso(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 丑牛---天牛须搜索BAS(Beetle Antenna Searching)--2017年
[~,~,BAS_curve]=BAS(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 寅虎---蜂虎狩猎BEH(Bee-Eater-Hunting)--2022年
[~,~,BEH_curve]=BEH(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 卯兔---人工兔ARO(Artificial Rabbits Optimization)--2022年
[BestX,BestF,ARO_curve]=ARO(Fun_name,Max_iterations,SearchAgents,lowerbound,upperbound,dimension,fitness);
%% 辰龙---变色龙CSA(Chameleon Swarm Algorithm)--2021年
[~,~,CSA_curve]=Chameleon(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 巳蛇---蛇SO(Snake Optimizer)--2022年
[Xfood, Xvalue,SO_curve] = SO(SearchAgents,Max_iterations,fitness, dimension,lowerbound,upperbound);  % Calculating the solution of the given problem using SO
%% 午马---野马WHO((Wild Horse Optimizer)--2021年
[~,~,WHO_curve]=WHO(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 未羊---羚羊优化算法GOA(Gazelle Optimization Algorithm)--2022年
[~,~,GOA_curve]=GOAmain(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 申猴---卷尾猴搜索CapSA(capuchin search algorithm)--2020年
[~,~,CapSA_curve]=CapSA(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 酉鸡---白骨顶鸡COOT(Coot optimization algorithm)--2021年
[~,~,COOT_curve]=COOT(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 戌狗---澳洲野狗优化算法DOA(Dingo Optimization Algorithm)--2021年
[~,~,DOA_curve]=DOA(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
%% 亥猪---跳蛛优化算法JSOA(Jumping Spider Optimization Algorithm)--2021年
parameters.SearchAgents= SearchAgents;  % Number of jumping Spiders
parameters.Function=Fun_name; %Function_name
parameters.maxIteration=Max_iterations; % Maximum numbef of iterations
[parameters.lb,parameters.ub,parameters.dim,parameters.fobj]=FunctionsDetails(parameters.Function);
[vMin,theBestVct,JSOA_curve]=JSOA(parameters);
%% 画图
figure('Position',[500 500 660 290])
%Draw search space
subplot(1,2,1);
fun_plot(Fun_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Fun_name,'( x_1 , x_2 )'])


%Draw objective space
subplot(1,2,2);


semilogy(RSO_curve,'Color',[0.33 0.66 0.7410],'linewidth',1);
hold on
semilogy(BAS_curve,'Color',[0.02 0.4470 0.3],'linewidth',1);
hold on
semilogy(BEH_curve,'r','linewidth',1);
hold on
semilogy(ARO_curve,'Color',[0 0 0],'linewidth',1);
hold on
semilogy(CSA_curve,'g','linewidth',1);
hold on
semilogy(SO_curve,'b','linewidth',1);
hold on
semilogy(WHO_curve,'y','linewidth',1);
hold on
semilogy(GOA_curve,'c','linewidth',1);
hold on
semilogy(CapSA_curve,'Color',[0.4 0.10 0.910],'linewidth',1);
hold on
semilogy(COOT_curve,'Color',[0.4940 0.1840 0.5560],'linewidth',1);
hold on
semilogy(DOA_curve,'Color',[0.9290 0.6940 0.1250],'linewidth',1);
hold on
semilogy(JSOA_curve,'Color',[0.6350 0.0780 0.1840],'linewidth',1);


grid on;
title('收敛曲线')
xlabel('迭代次数');
ylabel('适应度值');
box on
legend('RSO','BSA','BEH','ARO','CSA','SO','WHO','GOA','CapSA','COOT','DOA','JSOA')
set (gcf,'position', [300,300,900,380])
if strcmp(Fun_name, 'F8')
    ylim([-13000 -1000])
end

04代码获取

完整代码获取,点击下方卡片回复关键词:

十二生肖

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

淘个代码_

不想刀我的可以选择爱我

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

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

打赏作者

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

抵扣说明:

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

余额充值