✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统
⛄ 内容介绍
在本文中,一种新的基于种群的技术称为粪甲虫优化器提出了一种基于球滚、跳舞、觅食、偷窃和繁殖行为的DBO算法。新提议的DBO该算法同时考虑了全局勘探和局部开采,从而具有快速收敛速度和令人满意的解决方案精度。一系列著名的数学测试函数(包括23个基准函数和29个CEC-BC-2017测试函数)用于评估DBO算法的搜索能力。从模拟结果来看观察到DBO算法呈现出实质上具有竞争力的性能利用在收敛速度方面最先进的优化方法,溶液精度和稳定性。此外,Wilcoxon符号秩检验和弗里德曼测试用于评估算法的实验结果证明了DBO算法相对于其他当前流行的优化技术的优越性。为了进一步说明实际应用潜力DBO算法成功地应用于三个工程设计问题。这个实验结果表明,所提出的DBO算法可以有效处理实际应用程序问题。
⛄ 部分代码
% -----------------------------------------------------------------------------------------------------------
% Dung Beetle Optimizer: (DBO) (demo)
% Programmed by Jian-kai Xue
% Updated 28 Nov. 2022.
%
% This is a simple demo version only implemented the basic
% idea of the DBO for solving the unconstrained problem.
% The details about DBO are illustratred in the following paper.
% (To cite this article):
% Jiankai Xue & Bo Shen (2022) Dung beetle optimizer: a new meta-heuristic
% algorithm for global optimization. The Journal of Supercomputing, DOI:
% 10.1007/s11227-022-04959-6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
clc
close all
SearchAgents_no=30; % Number of search agents
Function_name='F21'; % 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);
[fMin,bestX,DBO_curve]=DBO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
% function topology
figure('Position',[500 400 700 290])
subplot(1,2,1);
func_plot(Function_name);
title('Function Topology')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
% Convergence curve
subplot(1,2,2);
semilogy(DBO_curve,'Color','g')
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
%axis tight
grid on
box on
legend('DBO')
display(['The best solution obtained by DBO is : ', num2str(bestX)]);
display(['The best optimal value of the objective funciton found by DBO is : ', num2str(fMin)]);
⛄ 运行结果
⛄ 参考文献
⛄ Matlab代码关注
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料