1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56Uk5xu
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
4.部分源码
d=[3,9,10,12,13,16,26,31,41,42,48,56,63,69,76,77,81,86,91,94];
G=100;
popsize=50;
poplength=18;
pc=1;
pm=1;
pop=initialize(popsize,poplength);
for i=1:G
pop=crossover(pop,poplength,pc);
pop=muate(pop,pm);
pop=roulette(pop,popsize,poplength);
end
[a,b]=sort(pop(:,poplength+1));
bestroad=pop(b(popsize),:);
t=0;
for i=1:poplength
if(bestroad(i)~=0)
t=t+1;
end
end
disp('Short Road is:');disp(bestroad(1:t))
disp('The Number is:');disp(t)
for i=1:11
for j=1:11
gx((i-1)*11+j)=j-1;
gy((i-1)*11+j)=11-i;
end
end
for i=1:10
for j=1:10
gbh((i-1)*10+j,:)=[(i-1)*11+j,(i-1)*11+j+1,i*11+j+1,i*11+j];
end
end
hold on
for i=1:length(d)
fill(gx(gbh(d(i)+1,:)),gy(gbh(d(i)+1,:)),'g')
end
for i=1:100
plot(gx(gbh(i,1:2)),gy(gbh(i,1:2)))
plot(gx(gbh(i,2:3)),gy(gbh(i,2:3)))
plot(gx(gbh(i,3:4)),gy(gbh(i,3:4)))
plot(gx(gbh(i,4:1)),gy(gbh(i,4:1)))
text(sum(gx(gbh(i,:)))/4,sum(gy(gbh(i,:)))/4,...
num2str(i-1),'Color','Blue','Fontsize',10)
end
A199