获取资源请见文章第5节:资源获取】棕熊优化算法(Brown-bear Optimization Algorithm,BOA)由Tapan Prakash等人于2022年提出,其受模拟棕熊的气味标记和嗅探行为的启发所得,具有寻优速度快,求解精度高等优势。
但是考虑到原始棕熊优化算法存在收敛精度低、收敛速度慢、易陷入局部最优等问题,故本文对BOA算法进行了改进。
原算法中线性变化的参数P会导致Gait while walking过程过少,导致算法陷入局部最优,所以引入动态自适应参数,使得算法在Gait while walking过程中尽量大范围搜索,跳出局部最优。

自适应t分布策略一般用于控制群体中个体的搜索范围或者搜索步长。它的基本思想是在搜索过程中根据当前的搜索状态动态调整搜索步长,以保证在探索和利用之间取得一个平衡。此外,自适应t分布策略通过动态调整搜索步长,可以使算法在探索阶段增加搜索范围,从而更有可能跳出局部最优解,进而找到全局最优解。
自适应t分布系数的参考代码如下:
% 设置自由度
nu = 10; % 这里设置自由度为 10,你可以根据迭代次数变化
% 生成随机样本
t= trnd(nu, 1, 1); % 生成t分布系数
黄金正弦算法通过组合正弦函数和黄金比例的方法进行迭代搜索,以接近最优解。黄金正弦作用时,搜索空间逐渐变窄,并在可能达到最优解的区域进行搜索,以提高收敛效率。黄金正弦的参考公式如下:

clear;
clc;
close all;
SearchAgents_no=30; % 种群数量
Function_name='F1'; % 标准测试函数编号(F1~F23)
Max_iteration=500; % 最大迭代次数
% 获取目标函数对应参数
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[WOA_Best_score,WOA_Best_X,WOA_Convergence]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[PSO_Best_score,PSO_Best_X,PSO_Convergence]=PSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[BOA_Best_score,BOA_Best_X,BOA_Convergence]=BOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[IBOA_Best_score,IBOA_Best_X,IBOA_Convergence]=IBOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
semilogy(WOA_Convergence,'m','LineWidth',2);
hold on
semilogy(PSO_Convergence,'b','LineWidth',2);
hold on
semilogy(BOA_Convergence,'k','LineWidth',2);
hold on
semilogy(IBOA_Convergence,'r','LineWidth',2);
legend('WOA','PSO','BOA','IBOA');
xlabel('当前迭代次数');
ylabel('适应度值');
title('迭代曲线对比');





可以获取完整代码资源。👇👇👇👀 名片