遗传算法求解TSP问题
遗传算法简介TSP问题遗传算法内容生成初始种群计算个体适应度轮盘赌选择交叉操作变异操作图像输出
完整代码运行结果总结
遗传算法简介
遗传算法包括初始种群生成,适应度的计算,种群选择,交叉和变异这几项内容
TSP问题
TSP问题是旅行商经过一系列城市使得旅行商经过的总路程最短的问题
遗传算法内容
生成初始种群
// An highlighted block
for i=1:NP
f(i,:)=randperm(N); %初始种群
end
计算个体适应度
// An highlighted block
for i=1:NP
len(i,1)=D(f(i,N),f(i,1));
for j=1:N-1
len(i,1)=len(i,1)+D(f(i,j),f(i,j+1));
end
end
maxlen=max(len);
minlen=min(len
%计算归一化适应值
for i=1:NP
fitness(i,1)=(1-(len(i,1)-minlen)/(maxlen-minlen+0.001));
end
轮盘赌选择
// An highlighted block
sumFit=sum(fitness);
fitvalue=fitness./sumFit;
fitvalue=cumsum(fitvalue);
ms=sort(rand(NP,1));
fiti=1;
newi=1;
while newi |