加权黑猩猩优化算法(WChOA)附Matlab代码
?作者簡介:熱愛科研的Matlab仿真開發者,修心和技術同步精進,matlab項目合作可私信。
🍎個人主頁:Matlab科研工作室
🍊個人信條:格物致知。
更多Matlab仿真內容點擊👇
智能優化算法 ?神經網絡預測 雷達通信? 無線傳感器
信號處理 圖像處理 路徑規劃 元胞自動機 無人機? 電力系統
? 內容介紹
式方法之一是黑猩猩優化算法 (ChOA),其靈感來自黑猩猩在群體狩獵中的個體智力和性動機。本文提出了一種加權ChOA(WChOA)替代方案,以解決大規模數值優化問題中出現的兩個主要問題,例如低收斂速度和在解決高維問題時陷入局部最優。標準 ChOA 和 WChOA 之間的主要區別在于提供了位置加權方程以增強收斂性速度并避免局部最優。此外,探索和利用之間的平衡在所提出的方法中進行,這在基于群體智能的算法中至關重要。所提出的 WChOA 方法在不同的條件下進行評估,以證明它是最好的。為此,應用了一組經典單峰、多峰和固定維度多峰基準函數來研究 WChOA 特征的優缺點。此外,WChOA 在 IEEE Congress of Evolutionary Computation 基準測試功能(CECC06, 2019 Competition)上進行了測試。更深入地探討WChOA 在大規模數值優化和現實世界中的性能問題,WChOA 由 13 個高維和 10 個實際優化問題進行檢查。結果表明,與文獻中的最新方法(如 ChOA、PSO 、BBO、WOA、 BH、ALO、GA、SCA 和 GWO。
? 部分代碼
%__________________________________________
% fobj = @YourCostFunction
% dim = 變量數
% Max_iteration = 最大代數
% SearchAgents_no = 搜索代理的數量
% lb=[lb1,lb2,...,lbn] 其中 lbn 是變量 n 的下限
% ub=[ub1,ub2,...,ubn] 其中 ubn 是變量 n 的上限
% 如果所有變量的下限相等,你可以
% 定義 lb 和 ub 為兩個單數
%
%__________________________________________
清除所有?
clc
SearchAgents_no=30;?% 搜索代理數量
N=SearchAgents_no;
函數名='F14';?% 測試函數名稱,可以從F1到F23(論文中的表3,4,5)
最大迭代=500;% 最大迭代次數
Max_iter=Max_iteration;
% 加載所選基準函數的詳細信息
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[ABest_scoreChimp,ABest_posChimp,Chimp_curve]=Chimp(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[WABest_scoreChimp,WABest_posChimp,WCimp_curve]=WCimp(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[PSO_gBestScore,PSO_gBest,PSO_cg_curve]=PSO(N,Max_iteration,lb,ub,dim,fobj);
[TACPSO_gBestScore,TACPSO_gBest,TACPSO_cg_curve]=TACPSO(N,Max_iteration,lb,ub,dim,fobj);
[MPSO_gBestScore,MPSO_gBest,MPSO_cg_curve]=MPSO(N,Max_iteration,lb,ub,dim,fobj);
% PSO_cg_curve=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); % run PSO to compare to results
figure('Position',[500 500 660 290])
%Draw search space
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
%Draw objective space
subplot(1,2,2);
semilogy(MPSO_cg_curve,'Color','g')
hold on
semilogy(PSO_cg_curve,'Color','b')
hold on
semilogy(TACPSO_cg_curve,'Color','y')
hold on
semilogy(Chimp_curve,'--r')
hold on
semilogy(WChimp_curve,'r')
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('MPSO','PSO','TACPSO','Chimp','WChimp')
img =gcf;? %獲取當前畫圖的句柄
print(img, '-dpng', '-r600', './img.png')? ? ? ? ?%即可得到對應格式和期望dpi的圖像
display(['The best optimal value of the objective funciton found by TACPSO is : ', num2str(TACPSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by PSO is : ', num2str(PSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by PSO is : ', num2str(MPSO_gBestScore)]);
display(['The best optimal value of the objective funciton found by Chimp is : ', num2str(ABest_scoreChimp)]);
display(['The best optimal value of the objective funciton found by WChimp is : ', num2str(WABest_scoreChimp)]);
? 運行結果
? 參考文獻
Khishe, M. 和 MR Mosavi。“黑猩猩優化算法。” 具有應用程序的專家系統,第一卷。149,Elsevier BV,2020 年 7 月,第 113338,doi:10.1016/j.eswa.2020.113338。
?? 關注我領取海量matlab電子書和數學建模資料
??部分理論引用網絡文獻,若有侵權聯系博主刪除
總結
以上是生活随笔為你收集整理的加权黑猩猩优化算法(WChOA)附Matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 房地产里有多少“三季人”?
- 下一篇: 13行Python代码画美国疫情地图