任务描述
本关任务:使用 python 实现遗传算法解决 TSP 问题。
相关知识
为了完成本关任务,你需要掌握:1.使用遗传算法解决 TSP 问题。
使用遗传算法解决TSP问题。
蚁群算法对于参数的敏感程度较高,参数设置的好,算法的结果也就好,参数设置的不好则运行结果也就不好。所以上一关将通关所设置的阈值较高。本关,我们将使用遗传算法来解决 TSP 问题,试图寻找到更短的旅行路线。
同求解目标函数最值问题类似,我们首先得初始化种群:
#初始化种群
pop = np.vstack([np.random.permutation(DNA_size) for _ in range(POP_size)])
其中,DNA_size 为染色体长度,POP_size 为种群大小,即染色体个数。每一个染色体为一种旅行的路线,如从城市 1 -->城市 2 -->城市 3 编码为: [1,2,3] 。
然后需要对旅行路线进行解码:
def