(1)全局规划算法:
猎人猎物算法 HPO:Naruei I, Keynia F, Sabbagh Molahosseini A. Hunter–prey optimization: Algorithm and applications[J]. Soft Computing, 2022, 26(3): 1279-1314.
function [res]=HPO(lb,ub,popsize,gensize,callfit,data)
delta = 0.1;
BESTY=inf;
Lb = repmat(lb,popsize,1);
Ub = repmat(ub,popsize,1);
dim = length(lb);
x = lb+(ub-lb).*rand(popsize,dim);
y = zeros(1,popsize);
for i = 1:popsize
y(i)=callfit(x(i,:),data);
end
[bestY,minid] = min(y);
Tpos = x(minid,:);
trace = zeros(1,gensize);
for gen = 1:gensize
gen
C = 1-gen/gensize*0.98;
miu = mean(x,1);
Deuc = pdist2(x,miu);
[~,id] = sort(Deuc,'ascend');
kbest = round(C*popsize);
Ppos = x(id(kbest),:);
for i = 1:popsize
P = rand(1,dim)<C;
Z = rand(1,dim).*(P==0)+rand(1,dim).*(~(P==0));
for j = 1:dim
if rand<delta
x(i,j)=x(i,j)+0.5*((2*C*Z(j)*Ppos(j)-x(i,j))+(2*(1-C)*Z(j)*miu(j)-x(i,j)));
else
x(i,j)=Tpos(j)+C.*Z(j).*cos(2*pi*(rand()*2-1))*(Tpos(j)-x(i,j));
end
end
end
x(x<Lb)=Lb(x<Lb);x(x>Ub)=Ub(x>Ub);
for i = 1:popsize
y(i)=callfit(x(i,:),data);
end
[bestY,minid] = min(y);
Tpos = x(minid,:);
if bestY<BESTY
BESTX=Tpos;
BESTY=bestY;
end
trace(gen) = BESTY;
end
res.y=BESTY;
res.x=BESTX;
res.trace=trace;
end
(2)动态避障算法:
改进引力势场法:王翼虎. 电力巡检旋翼无人机航迹规划研究[D].兰州交通大学,2020.DOI:10.27205/d.cnki.gltec.2020.000310.
(3)最终效果:
联系方式:qq974555975
微信:a_powerful_id