霸王龙优化算法(Tyrannosaurus optimization,TROA)是一种新的仿生优化算法,该算法模拟霸王龙的狩猎行为,具有搜索速度快等优势。该成果于2023年发表在知名SCI期刊e-Prime-Advances in Electrical Engineering, Electronics and Energy上。
TROA算法通过位置初始化、狩猎和追逐、选择阶段三个主要操作模拟了霸王龙的狩猎行为,最后选取最优解。
算法原理
(1)种群位置初始化
TROA是一种基于种群的算法,它在搜索空间中随机生成猎物数量。设Xx为猎物的位置或位置,在上下限范围内随机生成,其数学模型如下式表示:
式中,Xi =[x1, x2,··xn]为猎物位置,i=1,2··n,其中,n为维数,np为种群数,dim为搜索空间维数,ub为上限,lb为下限。
(2)狩猎和追逐
霸王龙的捕猎是让幼崽追逐和捕捉猎物,所以当霸王龙捕食时,它会进行随机捕食,捕食动作的数学模型如下式表示:
其中,Er为到达分散猎物的估计,sr为狩猎成功率,在[0.1,1]之间。如果成功率为0,则表示猎物已经逃脱,狩猎失败,猎物的位置需要相应更新。目标是猎物相对霸王龙位置的最小位置,霸王龙的奔跑速度是tr。
(3)选择阶段
选择过程取决于猎物的位置,即目标猎物当前的位置和之前的位置。如果霸王龙捕猎失败,猎物的位置就变成零。
其中, 为初始随机猎物位置的适应度函数, 为更新猎物位置的适应度函数。
结果展示
以为CEC2005函数集为例,进行结果展示:
MATLAB核心代码
% 霸王龙优化算法
function [Jnew,J,znew,Convergence_curve1,Positions,p,JJ]=TROA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,sr,tr,pr)
Leader_score=inf;
trex_pos=ones(SearchAgents_no,dim);
% initial position of prey
Positions=initialization(SearchAgents_no,dim,ub,lb);
z=Positions;
t=1; % starting iteration
walk=[0.046 0.06];
run=0.3;
for p=1:SearchAgents_no
J(p,1) = fobj(z(p,:));
end
[~,indx] = min(J);
Target(:,:) = z(indx,:);
JJ=min(J);
while t<Max_iteration+1 %Main loop %Update the Position of solutions
ES=randn*(1-(t/Max_iteration)); % Probability Ratio of hunting sucess of the prey [-1 to 1]
for pp=1:SearchAgents_no
for j=1:dim
% hunting of the prey
Rnd=floor(rand()*SearchAgents_no)+1;
if rand<ES
znew(pp,j)=z(pp,j)+sr*( trex_pos(pp,j)*tr-Target(1,j)*rand()*pr); %sucess
else
znew(pp,j)=z(pp,j)*rand();
end
end
Jnew(pp,:)=fobj(znew(pp,:));
for j=1:dim
%-----------selection-----------
if J(pp,1)>Jnew(pp)
z(pp,:)=znew(pp,:);
J(pp,1)=Jnew(pp);
% updation of target
[~,indx] =min(J);
Target = z(indx,:);
else
Target(1,j)=zeros;
J(pp,1)=J(pp);
end
end
znew1=z(1,:);
end
Convergence_curve1(t)=min(J); %Update the convergence curve
p(t)= znew1(1,1);
t=t+1;
end
end
参考文献
[1] Sahu V S D M, Samal P, Panigrahi C K. Tyrannosaurus optimization algorithm: A new nature-inspired meta-heuristic algorithm for solving optimal control problems[J]. e-Prime-Advances in Electrical Engineering, Electronics and Energy, 2023, 5: 100243.
完整代码获取方式:后台回复关键字:TGDM880