✅作者简介:热爱科研的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种黑猩猩分别更新自己的位置,其他黑猩猩根据四者的位置进行更新。
黑猩猩优化算法(Chimp Optimization Algorithm,ChOA)是对自然界中黑猩猩群体合作捕食行为模拟而提出的一种群智能优化算法。该算法结构清晰,调整参数少,在许多优化领域应用取得较大地成功。随着研究的深入,研究者发现该算法存在易陷入局部最优,全局勘探能力和局部开采能力之间不平衡,这极大地限制了算法本身的性能。本文针对黑猩猩优化算法所存在的不足,从多策略混合这方面对算法进行分析改进,并将算法应用于函数优化、最小生成树、无人机三维路径规划及图像增强问题,进一步提升ChOA算法的性能和拓宽其应用范围。
⛄ 部分代码
function PlotClusterinResult(X, IDX)
k=max(IDX);
Colors=hsv(k);
Legends = {};
for i=0:k
Xi=X(IDX==i,:);
if i~=0
Style = 'x';
MarkerSize = 8;
Color = Colors(i,:);
Legends{end+1} = ['Cluster #' num2str(i)];
else
Style = 'o';
MarkerSize = 6;
Color = [0 0 0];
if ~isempty(Xi)
Legends{end+1} = 'Noise';
end
end
if ~isempty(Xi)
plot(Xi(:,1),Xi(:,2),Style,'MarkerSize',MarkerSize,'Color',Color);
end
hold on;
end
hold off;
axis equal;
grid on;
legend(Legends);
legend('Location', 'NorthEastOutside');
end
⛄ 运行结果
⛄ 参考文献
[1]程国森, and 崔东文. "黑猩猩优化算法-极限学习机模型在富水性分级判定中的应用." 人民黄河 43.7(2021):6.