首页 > 行业资讯 > 【智能优化算法】基于混合策略改进的蝴蝶优化算法(MSBOA)求解单目标优化问题matlab代码

【智能优化算法】基于混合策略改进的蝴蝶优化算法(MSBOA)求解单目标优化问题matlab代码

时间:2022-02-25 来源: 浏览:

【智能优化算法】基于混合策略改进的蝴蝶优化算法(MSBOA)求解单目标优化问题matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #智能优化算法及应用 356个

1 简介

针对蝴蝶优化算法(BOA)容易陷入局部最优和收敛性差等问题,提出一种多策略改进的蝴蝶优化算法(MSBOA).首先引入余弦相似度位置调整策略,通过旋转变化算子和伸缩变换算子进行位置更新,从而有效地保持BOA的种群多样性;其次引入动态切换概率,来平衡BOA局部阶段和全局阶段的转换;最后增加混合惯性权重策略,以提高BOA的收敛速度.使用16个基准测试函数,Wilcoxon检验以及部分CEC2014函数来验证MSBOA的有效性和鲁棒性.仿真实验结果表明,与BOA和其他改进策略BOA及其他群智能算法相比,MSBOA在收敛精度和收敛速度上有明显的提升.

2 部分代码

function [fmin, best_pos, Curve] = BOA(X, N, Max_iter, lb, ub, dim, fobj) %% BOA参数 p = 0.8; % 开关概率 power_exponent = 0.1; sensory_modality = 0.01; for i = 1:N fitness(i) = fobj(X(i, :)); end % 最优解 [fmin, I] = min(fitness); best_pos = X(I, :); S = X; %% 迭代 for t = 1:Max_iter for i = 1:N % 计算与目标函数相关的每只蝴蝶的香味 Fnew = fobj(S(i, :)); FP = (sensory_modality*(Fnew^power_exponent)); % 全局或局部搜索 if rand < p dis = rand * rand * best_pos - X(i, :); % Eq. (2) in paper S(i, : ) = X(i, :)+dis*FP; else % 在附近随机找蝴蝶 epsilon = rand; JK = randperm(N); dis = epsilon*epsilon*X(JK(1), :)-X(JK(2), :); S(i, : ) = X(i, :)+dis*FP; % Eq. (3) in paper end % 边界处理 S(i, : ) = simplebounds(S(i, :), lb, ub); % 新的个体适应度值 Fnew = fobj(S(i, :)); % Fnew represents new fitness values % If fitness improves (better Xutions found), update then if Fnew <= fitness(i) X(i, : ) = S(i, :); fitness(i) = Fnew; end % 更新当前全局最优解 if Fnew <= fmin best_pos = S(i, :); fmin = Fnew; end end Curve(t) = fmin; % 更新感觉因子 sensory_modality = sensory_modality_NEW(sensory_modality, Max_iter); disp([’BOA : At iteration ’, num2str(t), ’ ,the best fitness is ’, num2str(Curve(t))]); end %% 边界限制函数 function s = simplebounds(s, Lb, Ub) s = max(s, Lb); s = min(s, Ub); end function y=sensory_modality_NEW(x, Ngen) y = x+(0.025/(x*Ngen)); end end

3 仿真结果

4 参考文献

[1]陈俊, 何庆. 基于余弦相似度的改进蝴蝶优化算法[J]. 计算机应用, 2021, 41(9):10.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐