✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
在这项工作中提出了一种新的仿生优化算法,称为人工蜂鸟算法(AHA)来解决优化问题。AHA算法模拟自然界中蜂鸟的特殊飞行技能和智能觅食策略。模拟了觅食策略中使用的三种飞行技能,包括轴向、对角线和全向飞行。此外,实施了引导觅食、领地觅食和迁徙觅食,并构建了访问表来模拟蜂鸟对食物来源的记忆功能。AHA 使用两组数值测试函数进行验证,并将结果与从各种算法获得的结果进行比较。比较表明,AHA 比其他元启发式算法更具竞争力,并且可以用更少的控制参数确定高质量的解决方案。此外,AHA 的性能在十个具有挑战性的工程设计案例研究中得到验证。结果表明,与文献中现有的优化技术相比,AHA 在计算负担和求解精度方面的优越性。
⛄ 部分代码
%%%%%%%%%%%寻找支配解%%%%%%%%
function non_dom=quick_sort(pop)
npop=size(pop,1);
K=10;
pop(:,K+3)=0;
for i=1:npop
pop(i,K+3)=0;
for j=1:i-1
if pop(j,K+3)==0
if Dominates(pop(i,K+1:K+2)',pop(j,K+1:K+2)')
pop(j,K+3)=1;
elseif Dominates(pop(j,K+1:K+2)',pop(i,K+1:K+2)')
pop(i,K+3)=1;
break;
end
end
end
end
ind=find(pop(:,K+3)==0);
non_dom=pop(ind,1:K+2);
% [N,P]=size(pop);
% M=2; %目标函数值的个数
% V=10; %每个目标函数值的维数
% non_dom=[];
% individual=pop; %pop:种群(自变量+目标函数值),行数为种群数量
% while ~isempty(individual) %individual为空时停止循环
% temp1=[];
% temp2=[];
% flag=0;
% %Number of individuals that dominate this individual 支配i的解的个数
% %individual(i).n=0;
% %Individuals which this individual dominate 被i支配的解
% %individual(i).p=[]
% for i=2:size(individual,1) %size(individual,1)为individual的行数
% dom_less=0;
% dom_equal=0;
% dom_more=0;
% for j=1:M %M=2,两个目标函数
% if(individual(1,V+j)<individual(i,V+j)) %V=6,每个目标函数均为六维 %%pareto支配判断
% dom_less=dom_less+1; %解1有可能支配解i
% elseif (individual(1,V+j)==individual(i,V+j))
% dom_equal=dom_equal+1; %互不支配
% else
% dom_more=dom_more+1; %解1有可能被解i支配
% end
% end
% if dom_less==0 && dom_equal~=M %该行为真时,表示解i支配解1
% flag=flag+1; %flag中存放解i支配解1的个数
% temp1=[temp1;individual(i,:)]; %temp1中存放支配解i
% elseif dom_more==0 && dom_equal~=M %该行为真时,表示解1支配解i
% temp2=[temp2;individual(1,:)]; %temp2中存放支配解1
% else %其余情况:两个解互不支配
% temp1=[temp1;individual(i,:)]; %temp1中也存放有可能支配的解i
% end %则称j优于i,则把此时的j放入individual(i)_p中
% end %循环结束时,表示解1依次与后面所有的解进行了支配判别
% if flag==0||isempty(temp1) %该行判断值为真时,表示解1不受当前任何解的支配
% %即解1为当前解集中的一个pareto最优解
% non_dom=[non_dom;individual(1,:)];
% end
% individual=temp1; %此时temp1中存放的就是通过上次比较后剩下的非支配解(非支配解即不受其他解支配)
end
⛄ 运行结果
⛄ 参考文献
[1]刘明辉. 改进的多目标人工蜂群算法和在特征选择中的应用[D]. 安徽大学,2018.
[2] 赵伟, 王丽, Mirjalili S. 人工蜂鸟算法:一种新型仿生优化器及其工程应用[J]. 应用力学与工程中的计算机方法, 2022, 388:114194-。
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除