摘要:
最近在做人工智能的课设,碰到一个与TSP类似的问题,今天尝试了一下用遗传算法求解TSP,下面是我碰到的问题以及我的一些想法:1.如何对个体进行编码?TSP问题的实质是求一个最短的哈密顿回路,如果将城市标号为0,1,2...n-1,那么TSP的一个解就是一个圆排列,等价于一个规定了起点的排列,所以容易想到可以用顺序编码方式,即用一个数组保存旅游顺序。2.如何快速初始化种群?根据上述编码方式,种群初始化就是产生一系列随机排列,c++有一个函数rand_shuffle(V.begin(),V.end())可以打乱一个排列,用这个可以实现种群的快速初始化。3.如何交叉?这个问题可以说是遗传算法求TSP 阅读全文