基于遗传算法的路径规划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=[111111111111111111111111111111110111111101111110111101111111111111011111111111111101110001111111111111111111111111111111111111111111101111111