我正在编写一个脚本,为旅行商问题创建随机解决方案。我有一组城市,以及一组距离(因为我正在创建随机解决方案,所以我还不需要)。
我试图在城市列表中使用Itertools.permutations以创建独特的路线。我的问题是:
提前致谢!
答案 0 :(得分:1)
此Python代码将根据随机起点生成排列,并在6个排列后停止:
from itertools import permutations
from random import shuffle
A=range(26)
shuffle(A)
for i,perm in enumerate(permutations(A)):
print perm
if i>=5:
break
请注意,排列仍然有很多结构,因此第二种排列与第一种排列非常相似。
每次尝试不同的排列时,你可以更好地使用shuffle(A)。 (它可以重新生成排列,但29个城市的概率非常低。)例如,
for i in range(10):
shuffle(A)
print A