所以,我正试图用遗传算法来解决TSP问题。为此,我需要创建一个人口库。我要做的就是创建一个代表人口库的随机排列列表。我正在尝试使用random.shuffle。这是我应该处理该部分的代码。城市是一个城市和路线列表,我想保留人口库(N个随机排列列表):
for x in range(n):
random.shuffle(cities)
routes.append(cities)
它发生的事情是它只是添加相同的排列n次。有人知道我可能会缺少什么吗?
答案 0 :(得分:2)
shuffle
就地修改列表。您需要将列表副本添加到routes
;否则会添加对同一列表的引用,该列表将处于其最后一个洗牌状态。
for x in range(n):
random.shuffle(cities)
routes.append(cities.copy())
答案 1 :(得分:0)
import random
print [random.sample(cities,n) for i in xrange(n)]
你可以试试这个。