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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 【智能优化算法-圆圈搜索算法】基于圆圈搜索算法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 运行结果

image.gif编辑

4 参考文献

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

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

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


相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
4天前
|
算法 搜索推荐 开发者
别再让复杂度拖你后腿!Python 算法设计与分析实战,教你如何精准评估与优化!
【7月更文挑战第23天】在Python编程中,掌握算法复杂度—时间与空间消耗,是提升程序效能的关键。算法如冒泡排序($O(n^2)$时间/$O(1)$空间),或使用Python内置函数找最大值($O(n)$时间),需精确诊断与优化。数据结构如哈希表可将查找从$O(n)$降至$O(1)$。运用`timeit`模块评估性能,深入理解数据结构和算法,使Python代码更高效。持续实践与学习,精通复杂度管理。
23 9
|
4天前
|
机器学习/深度学习 缓存 并行计算
操作系统调度算法的演变与优化
【7月更文挑战第23天】本文深入探讨了操作系统中调度算法的发展历程,从简单的先来先服务到复杂的多级反馈队列调度算法。通过分析不同算法的特点和性能表现,文章揭示了调度算法在提升系统响应速度、公平性以及资源利用率方面的重要性。同时,文章也讨论了现代操作系统如何通过优化调度算法来适应多核处理器架构,以及未来可能的研究方向。
|
5天前
|
缓存 算法 编译器
python算法优化
【7月更文挑战第21天】
14 3
|
5天前
|
传感器 机器学习/深度学习 算法
基于GA遗传算法的WSN网络节点覆盖优化matlab仿真
本研究应用遗传优化算法于无线传感器网络(WSN),优化节点布局与数量,以最小化节点使用而最大化网络覆盖率。MATLAB2022a环境下,算法通过选择、交叉与变异操作,逐步改进节点配置,最终输出收敛曲线展现覆盖率、节点数及适应度值变化。无线传感器网络覆盖优化问题通过数学建模,结合遗传算法,实现目标区域有效覆盖与网络寿命延长。算法设计中,采用二进制编码表示节点状态,适应度函数考量覆盖率与连通性,通过选择、交叉和变异策略迭代优化,直至满足终止条件。
|
10天前
|
机器学习/深度学习 算法 算法框架/工具
模型训练实战:选择合适的优化算法
【7月更文第17天】在模型训练这场智慧与计算力的较量中,优化算法就像是一位精明的向导,引领着我们穿越复杂的损失函数地形,寻找那最低点的“宝藏”——最优解。今天,我们就来一场模型训练的实战之旅,探讨两位明星级的优化算法:梯度下降和Adam,看看它们在不同战场上的英姿。
43 5
|
8天前
|
大数据 UED 开发者
实战演练:利用Python的Trie树优化搜索算法,性能飙升不是梦!
【7月更文挑战第19天】Trie树,又称前缀树,是优化字符串搜索的高效数据结构。通过利用公共前缀,Trie树能快速插入、删除和查找字符串。
27 2
|
13天前
|
算法 数据安全/隐私保护
基于GA遗传优化算法的Okumura-Hata信道参数估计算法matlab仿真
在MATLAB 2022a中应用遗传算法进行无线通信优化,无水印仿真展示了算法性能。遗传算法源于Holland的理论,用于全局优化,常见于参数估计,如Okumura-Hata模型的传播损耗参数。该模型适用于150 MHz至1500 MHz的频段。算法流程包括选择、交叉、变异等步骤。MATLAB代码执行迭代,计算目标值,更新种群,并计算均方根误差(RMSE)以评估拟合质量。最终结果比较了优化前后的RMSE并显示了SNR估计值。
26 7
|
10天前
|
并行计算 算法 Python
Dantzig-Wolfe分解算法解释与Python代码示例
Dantzig-Wolfe分解算法解释与Python代码示例
|
10天前
|
算法
基于粒子群优化的图像融合算法matlab仿真
这是一个基于粒子群优化(PSO)的图像融合算法,旨在将彩色模糊图像与清晰灰度图像融合成彩色清晰图像。在MATLAB2022a中测试,算法通过PSO求解最优融合权值参数,经过多次迭代更新粒子速度和位置,以优化融合效果。核心代码展示了PSO的迭代过程及融合策略。最终,使用加权平均法融合图像,其中权重由PSO计算得出。该算法体现了PSO在图像融合领域的高效性和融合质量。
|
10天前
|
传感器 算法 数据安全/隐私保护
基于鲸鱼优化的DSN弱栅栏覆盖算法matlab仿真
```markdown 探索MATLAB2022a中WOA与DSN弱栅栏覆盖的创新融合,模拟鲸鱼捕食策略解决传感器部署问题。算法结合“搜索”、“包围”、“泡沫网”策略,优化节点位置以最大化复杂环境下的区域覆盖。目标函数涉及能量效率、网络寿命、激活节点数、通信质量及覆盖率。覆盖评估基于覆盖半径比例,旨在最小化未覆盖区域。 ```

热门文章

最新文章