【黑猩猩算法】基于加权反对技术和贪婪搜索进化黑猩猩优化算法求解多模态工程问题附matlab代码
?作者簡介:熱愛科研的Matlab仿真開發者,修心和技術同步精進,matlab項目合作可私信。
🍎個人主頁:Matlab科研工作室
🍊個人信條:格物致知。
更多Matlab仿真內容點擊👇
智能優化算法 ?神經網絡預測 雷達通信? 無線傳感器
信號處理 圖像處理 路徑規劃 元胞自動機 無人機
? 內容介紹
?黑猩猩算法主要模擬了黑猩猩對于獵物的攻擊、驅趕、攔截和追逐等4種社會行為[16]。黑猩猩優化算法的基本描述為:假定黑猩猩種群數目為N,Xi表示第i只黑猩猩所處的位置,群體的最優解為Xatacter、次優解Xbarier、第3優解Xchaser、第4優解Xdrive。黑猩猩算法的具體數學描述如下:1)驅趕、追逐獵物。在黑猩猩狩獵的過程中,任何個體均會依據獵物的位置而改變自身的位置。其位置更新公式如下:
?式中:D表示黑猩猩與獵物之間的距離;Xprey和Xchimp分別表示獵物的位置和黑猩猩的位置;A、m、C為系數向量,m=Chaotic_value是一個基于某種混沌映射計算出來的混沌向量;r1和r2為[0,1]之間的隨機數;t和tmax分別表示當前迭代次數和最大迭代次數;f為收斂因子,在迭代過程中從2線性遞減到0。
2)攻擊方式。黑猩猩通過對獵物位置的探索,最后將其包圍。通常狩獵過程由攻擊者進行,而驅趕者、攔截者、追逐者僅參與狩獵過程,4種黑猩猩分別更新自己的位置,其他黑猩猩根據四者的位置進行更新。
? 部分代碼
function [] = drawComparisonPlot(function_name, curve_list, curve_name_list, curve_color_list)
figure('Position',[500 500 660 290])
% Draw search space
subplot(1,2,1);
func_plot(num2str(cell2mat(function_name)));
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([num2str(cell2mat(function_name)),'( x_1 , x_2 )'])
%Draw objective space
subplot(1,2,2);
for loop = 1:size(curve_list,1)
? ? semilogy(curve_list(:,loop),'Color',curve_color_list(1,loop));
? ? hold on;
end
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend(curve_name_list)? % chnage this according to your required names
end
? 運行結果
? 參考文獻
[1]程國森, and 崔東文. "黑猩猩優化算法-極限學習機模型在富水性分級判定中的應用." 人民黃河 43.7(2021):6.
?? 關注我領取海量matlab電子書和數學建模資料
??部分理論引用網絡文獻,若有侵權聯系博主刪除
總結
以上是生活随笔為你收集整理的【黑猩猩算法】基于加权反对技术和贪婪搜索进化黑猩猩优化算法求解多模态工程问题附matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022年系统架构设计师考试大纲
- 下一篇: matlab人脸追踪,求大神帮助我这个菜