⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhishijiange.asv

📁 规则障碍物环境下的机器人路径规划matlab源码!
💻 ASV
字号:
clear all
m=20;   %种群规模
n=2;   %插入的点数
g=150;  %进化代数
op_pre=0.01 ;   %判断收敛的阈值
a=0.4;
b=0.3;
%c=4;
d=20;%图形中横纵栅格数
MM=d*d; %共100个栅格
%变量范围
Xlu=zeros(18*n+20,2);
for i=1:18*n+20
    Xlu(i,:)=[0,d];
end
% O=[1 3 7 10;2 3 10 11;3 6 2 5;7 9 6 9;15 17 12 16];
% C=[2 8.5;2.5 10.5;4.5 2.5;8 7.5;16 14];
O=[1 4 14 18;8 13 8 13;14 17 2 5];%障碍物上下左右界
C=[2.5 16;10.5 10.5;15.5 3.5];
 P=initization(m,n,MM,d);

BestF=zeros(1,g);   %各代的最优的适应值
AvrF=zeros(1,g);    %各代适应值的平均值
Best=[];    %最优个体
gen=0;  %寻得最优个体的代数
Gen=0;  %算法收敛代数
% s=20;
% for i=1:s
[Best10,Gen10,BestF10,AvrF10,gen10,pt10]=ymSGA(m,n,g,op_pre,MM,d,Xlu,O,C,P,a,b,3);
[Best20,Gen20,BestF20,AvrF20,gen20,pt20]=ymSGA(m,n,g,op_pre,MM,d,Xlu,O,C,P,a,b,4);
[Best30,Gen30,BestF30,AvrF30,gen30,pt30]=ymSGA(m,n,g,op_pre,MM,d,Xlu,O,C,P,a,b,5);

 
% Best10,Gen10,gen10,pt10
% Best20,Gen20,gen20,pt20
% Best30,Gen30,gen30,pt30
G10(i,:)=Gen10;
G20(i,:)=Gen20;
G30(i,:)=Gen30;
g10(i,:)=gen10;
g20(i,:)=gen20;
g30(i,:)=gen30;
B10(i,:)=Best10(1,1);
B20(i,:)=Best20(1,1);
B30(i,:)=Best30(1,1);
end
mean(G10),mean(G20),mean(G30),mean(g10),mean(g20),mean(g30),mean(B10),mean(B20),mean(B30),
% figure(1)
% plot(BestF10,'k-');
% hold on
% plot(BestF20,'k--');
% hold on
% plot(BestF30,'k-.')
% title('各代的最优的适应值');
% xlabel('进化代数t');
% ylabel('适应值');
% legend(':知识影响间隔2代',':知识影响间隔3代',':知识影响间隔4代');
% % figure(11)
% % plot(BestF10,'k-');
% % hold on
% % plot(BestF20,'k--');
% % hold on
% % plot(BestF30,'k-.')
% % title('best fitness of each generation');
% % xlabel('generation of evolution t');
% % ylabel('fitness');
% % legend(':popsize10',':popsize20',':popsize30');
% figure(2)
% plot(AvrF10,'k-');
% hold on
% plot(AvrF20,'k--');
% hold on
% plot(AvrF30,'k-.');
% title('每代的平均适应值');
% xlabel('进化代数t');
% ylabel('平均适应值');
% legend(':知识影响间隔2代',':知识影响间隔3代',':知识影响间隔4代');
% %  figure(22)
% % plot(AvrF10,'k-');
% % hold on
% % plot(AvrF20,'k--');
% % hold on
% % plot(AvrF30,'k-.');
% % title('average fitness of each generation');
% % xlabel('generation of evolution t');
% % ylabel('average fitness');
% % legend(':popsize10',':popsize20',':popsize30');
%  figure(3)
% axis([0,d,0,d])
%     for i=1:d
%         for j=1:d
%                 x1=j-1;y1=d-i;
%                 x2=j;y2=d-i;
%                 x3=j;y3=d-i+1;
%                 x4=j-1;y4=d-i+1;
%                 fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1]);
%                 hold on
%         end
%     end
%     hold on
%     %画栅格
%     for k=1:d*d  
%     coordinate=ymadjp1(k,d);
%     x0=coordinate(1)-0.84;
%     y0=coordinate(2)-0.84;
%     text(x0,y0,{k},'fontsize',9); 
%     end
%     %画障碍物
% 
% X1=[1 4 4 1 1];
%   Y1=[14 14 18 18 14];
% fill(X1,Y1,'k');hold on
%   X2=[8 13 13 8 8];
%   Y2=[8 8 13 13 8];
% fill(X2,Y2,'k');hold on
%   X3=[14 17 17 14 14];
%   Y3=[2 2 5 5 2];
% fill(X3,Y3,'k');hold on
%  %画出最优路径
% 
%   [b10,b11]=size(Best10);
% for i=2:2:b11
%     if Best10(1,i)==0
%         break
%     else
%     X4(i/2)=Best10(1,i); 
%     Y4(i/2)=Best10(1,i+1);
%     end
% end
% line(X4,Y4,'linestyle','-','color','k');
% hold on
% [b20,b21]=size(Best20);
% for j=2:2:b21 
%     if Best20(1,j)==0
%         break
%     end
%     X5(j/2)=Best20(1,j); 
%     Y5(j/2)=Best20(1,j+1);
% end
% line(X5,Y5,'linestyle','--','color','k');
% hold on
% [b30,b31]=size(Best30);
% for j=2:2:b31 
%     if Best30(1,j)==0
%         break
%     end
%     X6(j/2)=Best30(1,j); 
%     Y6(j/2)=Best30(1,j+1);
% end
% line(X6,Y6,'linestyle','-.','color','k');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -