预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

.....6/6基于遗传算法的路径规划MATLAB实现主程序:clearall;closeall;t=23;%过程点个数=t-1s=500;%种群规模pc=0.90;%交叉概率pm=0.20;%变异概率pop=zeros(s,t);fori=1:spop(i,1:t-1)=randperm(t-1);endfork=1:1:2000%进化代次数kifmod(k,10)==1kendpop=lujingdis(pop);c=15;%选择淘汰个数pop=lujingselect(pop,c);p=rand;ifp>=pcpop=lujingcross(pop);endifp>=pmpop=lujingmutate(pop);Endendpopmin(pop(:,t))J=pop(:,t);fi=1./J;[Oderfi,Indexfi]=sort(fi);%安排fi从小到大BestS=pop(Indexfi(s),:);%使BestS=E(m),m即是属于max(fi)的IndexfiI=BestS;x=[23610141722202325302825212916181591165];y=[526142927242822263030171315413316227];%过程点坐标%x=[12346911108964];%12个过程点的坐标%y=[12348101195212];fori=1:1:t-1x1(i)=x(I(i));y1(i)=y(I(i));endx(t)=x(I(1));y(t)=y(I(1));a=[111111111111111111111111111111110111111101111110111101111111111111011111111111111101110001111111111111111111111111111111111111111111101111111111111111111111101111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111110111111111111011111110111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111011111111110111111111111111111111111111111111111111111101111111111110111111111111111111111111111110111111111111011111111111111110111111111111111111111111111110111111111111111111111111011111111111011111111101111111111111111111111111111111111111111111101111111111111111111111111111111111111111011111111111111111111111111111111111111011111111111111101111111111111111111011111111111111111111111111111111011111111011111101111111111111];%31*31栅格%a=[1111111111111001110010100111110011110110111111111111111111111001101111111111111011111111110111110011];%11*11栅格b=a;b(end+1,end+1)=0;colormap([000;111]),pcolor(b)axisimagexy;%绘制栅格图holdon;figure(1);plot(x,y,'-or');适应度函数程序:lujingdis.mfunction[pop]=qiujuli(pop)[s,t]=size(pop);fori=1:1:sdd=0;forj=1:1:t-2dd=dd+lujingcalculate(pop(i,j),pop(i,j+1));endpop(i,t)=dd;End距离计算程序:lujingcalculate.mfunction[d]=juli(m,n)x=[23610141722