✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
🔥 内容介绍
蝴蝶优化算法(BOA)仅考虑气味感知规则,容易陷入局部最优。与原始BOA相比,所提出的混合闪光蝴蝶优化算法(HFBOA)加入了一个额外的算子,即颜色感知规则,使其更符合自然界蝴蝶的实际觅食特性。此外,HFBOA还采用逻辑映射更新控制参数的策略,以增强全局最优能力。该方法的性能通过12个基准函数进行了验证,其中对比实验结果表明,与六种最先进的优化方法相比,HFBOA对于数值优化问题收敛速度更快,并且具有更好的稳定性。此外,所提出的HFBOA已成功应用于六个工程约束优化问题(即管柱设计、拉/压弹簧设计、悬臂梁设计等)。仿真结果表明,所提出的方法在解决复杂的现实工程约束任务方面表现出卓越的性能。
📣 部分代码
% rot_matrix function
function M=rot_matrix(D,c)
A=normrnd(0,1,D,D);
P=cGram_Schmidt(A);
A=normrnd(0,1,D,D);
Q=cGram_Schmidt(A);
u=rand(1,D);
D=c.^((u-min(u))./(max(u)-min(u)));
D=diag(D);
M=P*D*Q;
end
function [q,r] = cGram_Schmidt (A)
% computes the QR factorization of $A$ via
% classical Gram Schmid
%
[n,m] = size(A);
q = A;
for j=1:m
for i=1:j-1
r(i,j) = q(:,j)'*q(:,i);
end
for i=1:j-1
q(:,j) = q(:,j) - r(i,j)*q(:,i);
end
t = norm(q(:,j),2 ) ;
q(:,j) = q(:,j) / t ;
r(j,j) = t ;
end
end