✅作者簡介:熱愛科研的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電子書和數學模組化資料