python——防止ant访问已经访问过的顶点
发布时间:2022-08-07 09:47:25 338
相关标签: # node.js
我试图实现蚁群方法来解决TSP问题,但我在为ant创建路径时遇到了问题。ant需要访问所有顶点并返回到原始顶点,而不重复顶点。我试图验证蚂蚁是否访问了已经访问过的vertix,但它不起作用。
如何防止蚂蚁访问已访问的顶点?
如果需要,我的完整代码:https://pastebin.com/cDFB1JZL
我处理ant路径的代码部分:
current_position = draw_first_position
k = 1
k0 = 0
for j in range(vertice):
sum += probability[current_position][j]
while(k != 3):
draw = random.uniform(0, sum)
accumulated = 0
for j in range(vertice-1):
prob = probability[current_position][j] / sum
accumulated += prob
if(draw <= accumulated):
next_position = j
break
ant_path[k0][k] = next_position
current_position = next_position
sum = 0
#skip the vertex already visited
for j in range(vertice):
for i in range(len(ant_path)):
if(j != ant_path[k0][i]):
sum += probability[current_position][j]
k += 1
print(ant_path)
如果我的问题中缺少信息,请告诉我。提前感谢!
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报