【智能优化算法-圆圈搜索算法】基于圆圈搜索算法Circle Search Algorithm求解单目标优化问题附matlab代码

1 内容介绍

圆圈搜索算法(Circle Search Algorithm,CSA)由Mohammed H. Qais等人于2022年提出,该算法由圆上正切关系启发所得,思路新颖,简单高效。

2 仿真代码

%___________________________________________________________________%

%      This is the main program that call all compared algorithms

clear all;

clc; close all;

SearchAgents_no=30; % Number of search agents

Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)

Max_iteration=500; % Maximum numbef of iterations

% Load details of the selected benchmark function

[lb,ub,dim,fobj]=Get_Functions_details(Function_name);

Positions=zeros(SearchAgents_no,dim);

%initialize the search agents for all algorithms

for i=1:SearchAgents_no  

        Positions(i,:)=lb+rand*(ub-lb);        

            

end

[X_c1,X_t1,curve1]=CSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c2,X_t2,curve2]=SCA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c3,X_t3,curve3]=SSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c4,X_t4,curve4]=HHO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c5,X_t5,curve5]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c6,X_t6,curve6]=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c7,X_t7,curve7]=TSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c8,X_t8,curve8]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

[X_c9,X_t9,curve9]=CGO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Positions);

semilogy(curve1,'Color','r','LineWidth',2)%CSA

hold on

semilogy(curve8,'Color','b','LineWidth',2)%GWO

semilogy(curve2,'Color','m','LineWidth',2)%SCA

semilogy(curve3,'Color','g','LineWidth',2)%SSA

semilogy(curve4,'Color','y','LineWidth',2)%HHO

semilogy(curve5,'Color','k','LineWidth',2)%WOA

semilogy(curve6,'Color',[0.9290 0.6940 0.1250],'LineWidth',2)%PSO

semilogy(curve7,'Color',[0.4940 0.1840 0.5560],'LineWidth',2)%TSO

semilogy(curve9,'Color','c','LineWidth',2)%CGO

title(Function_name)

xlabel('Iteration','fontsize',12,'FontWeight','bold','FontName','Arial Narrow');

ylabel('Best Fitness','fontsize',12,'FontWeight','bold','FontName','Arial Narrow');

axis tight

grid on

box on

legend('CSA','GWO','SCA','SSA','HHO','WOA','PSO','TSO','CGO','fontsize',12,'FontWeight','bold','FontName','Arial Narrow')

disp(["CSA","   SCA","     SSA","    HHO","    WOA","     PSO","     TSO","     GWO","     CGO"])

output=[X_c1 X_c2 X_c3 X_c4 X_c5 X_c6 X_c7 X_c8 X_c9]

3 运行结果

4 参考文献

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

5 往期回顾扫扫下方二维码


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部