✅作者简介:热爱科研的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电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除