💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
文献来源:
在这篇论文中,提出并全面测试了一种新的生物启发元启发式算法,名为人工兔优化(ARO)。ARO算法的灵感来自于大自然中兔子的生存策略,包括绕道觅食和随机隐藏。绕道觅食策略强制兔子在其他兔子巢附近吃草,可以防止其巢被捕食者发现。随机隐藏策略使兔子能够随机选择一个自己的洞穴躲藏,可以降低被敌人捕获的可能性。此外,兔子能量的减少将导致从绕道觅食策略转变为随机隐藏策略。这项研究通过数学建模这些生存策略来开发一种新的优化器。通过与其他知名优化器在解决一系列31个基准函数和五个工程问题时进行比较,验证了ARO的有效性。结果表明,在解决基准函数和工程问题时,ARO通常优于测试对手。ARO被应用于滚动轴承的故障诊断中,其中通过ARO优化的反向传播(BP)网络得到了发展。案例研究结果展示了ARO优化器在解决具有挑战性的实际问题中的实用性。
📚2 运行结果
部分代码:
%%% Artificial Rabbits Optimization (ARO) for 23 functions %%%
function [BestX,BestF,HisBestF]=ARO(F_index,MaxIt,nPop,Low,Up,Dim,fitness)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FunIndex: Index of function. %
% MaxIt: Maximum number of iterations. %
% PopSize: Size of population. %
% PopPos: Position of rabbit population. %
% PopFit: Fitness of population. %
% Dim: Dimensionality of prloblem. %
% BestX: Best solution found so far. %
% BestF: Best fitness corresponding to BestX. %
% HisBestF: History best fitness over iterations. %
% Low: Low bound of search space. %
% Up: Up bound of search space. %
% R: Running operator. %
% L:Running length. %
% A: Energy factor. %
% H: Hiding parameter. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PopPos=zeros(nPop,Dim);
PopFit=zeros(nPop,1);
for i=1:nPop
PopPos(i,:)=rand(1,Dim).*(Up-Low)+Low;
PopFit(i)=fitness(PopPos(i,:));
end
BestF=inf;
BestX=[];
for i=1:nPop
if PopFit(i)<=BestF
BestF=PopFit(i);
BestX=PopPos(i,:);
end
end
HisBestF=zeros(MaxIt,1);
for It=1:MaxIt
Direct1=zeros(nPop,Dim);
Direct2=zeros(nPop,Dim);
theta=2*(1-It/MaxIt);
for i=1:nPop
L=(exp(1)-exp(((It-1)/MaxIt)^2))*(sin(2*pi*rand)); %Eq.(3)
rd=ceil(rand*(Dim));
Direct1(i,randperm(Dim,rd))=1;
c=Direct1(i,:); %Eq.(4)
R=L.*c; %Eq.(2)
A=2*log(1/rand)*theta;%Eq.(15)
if A>1
K=[1:i-1 i+1:nPop];
RandInd=K(randi([1 nPop-1]));
newPopPos=PopPos(RandInd,:)+R.*( PopPos(i,:)-PopPos(RandInd,:))...
+round(0.5*(0.05+rand))*randn; %Eq.(1)
else
Direct2(i,ceil(rand*Dim))=1;
gr=Direct2(i,:); %Eq.(12)
H=((MaxIt-It+1)/MaxIt)*randn; %Eq.(8)
b=PopPos(i,:)+H*gr.*PopPos(i,:); %Eq.(13)
newPopPos=PopPos(i,:)+ R.*(rand*b-PopPos(i,:)); %Eq.(11)
end
newPopPos=SpaceBound(newPopPos,Up,Low);
newPopFit=fitness(newPopPos);
if newPopFit<PopFit(i)
PopFit(i)=newPopFit;
PopPos(i,:)=newPopPos;
end
end
for i=1:nPop
if PopFit(i)<BestF
BestF=PopFit(i);
BestX=PopPos(i,:);
end
end
HisBestF(It)=BestF;
end
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。