NetworkX TypeError: traveling_salesman_problem() got an unexpected keyword argument 'cycle_nodes'

这个错误是因为在 NetworkX 库中,traveling_salesman_problem() 函数没有 cycle_nodes 这个参数。你可能想要使用 approximation.traveling_salesman_problem() 函数来解决问题,但该函数也不支持 cycle_nodes 参数。

解决方法

如果你想找到从起点到终点,经过所有景点一次的最短路径,可以使用 approximation.traveling_salesman_problem() 函数来近似解决。

**修改后的代码示例:**pythonimport networkx as nx

创建有向图G = nx.DiGraph()

添加节点num_nodes = 5G.add_nodes_from(range(num_nodes))

添加边和权重G.add_edge(0, 1, weight=1)G.add_edge(0, 2, weight=2)G.add_edge(0, 3, weight=3)G.add_edge(0, 4, weight=4)G.add_edge(1, 2, weight=5)G.add_edge(1, 3, weight=6)G.add_edge(1, 4, weight=7)G.add_edge(2, 3, weight=8)G.add_edge(2, 4, weight=9)G.add_edge(3, 4, weight=10)

寻找从起点到终点,经过所有景点一次的最短路径shortest_path = nx.approximation.traveling_salesman_problem(G)

计算最短路径长度path_length = sum(G[shortest_path[i]][shortest_path[i + 1]]['weight'] for i in range(num_nodes - 1))

print('最短路径:', shortest_path)print('最短路径长度:', path_length)

这样,你就可以找到从起点到终点,经过所有景点一次的最短路径,并计算最短路径的长度。

NetworkX TypeError: traveling_salesman_problem() got an unexpected keyword argument 'cycle_nodes'

原文地址: https://www.cveoy.top/t/topic/fPRJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录