在这个问题中,我们的个体就是一条一条的路线了,其目的就是找到一条总距离最短的路线。基本步骤与前两篇文章基本类似,不过在本问题中,我们用城市路线中每个城市的经纬度来表示个体(城市路线)的DNA。...在产生后代的过程中,需要注意的是,因为我们的个体是路线,所以不能将两个父本的样本进行随机交换,因为如果随机交换,就会出现路线重复的问题,比如说,有两个父本[2,1,0,3]和[3,0,1,2],若将第一个元素进行交换得到一个后代...latitudes[i, :] = longitude_latitude[:, ]
return longitudes, latitudes
# 计算种群中每个个体的适应度...longitudes.shape[],), dtype=np.float64)
for i in range(population.shape[]):
# 方法一: 用欧氏距离计算...np.sum( np.power(np.diff(longitudes[i]), 2) + np.power(np.diff(latitudes[i]), 2) )
# 方法二: 用球面距离计算