绘制图解旅行商问题
Plotting graph an answer to traveling-salesman problem
我需要绘制 TSP 解的图形。我正在使用 TSPLIB 95 库和 public 问题 (ch130.tsp)。
我已获得作业要求,只需 3 个基本步骤即可解决问题。
第 1 步。Select 随机开始城市和 'move' 那里。
第 2 步。Select距离当前居住城市最近的可用(未访问)城市。
第三步,如果有可用的城市,则重复第二步。
我实现了给我一个列表的代码——作为答案的路径。现在我想用我的答案绘制一个看起来接近这个的图表,但只有我的答案路径。但不知道如何。我试着做一个变量
G = tsplib95.fields.ToursField(list_of_visited_cities)
但不知道下一步该怎么做。一些代码向导可以帮助我吗?
图表生成自
problem = tsplib95.load('ch130.tsp')
G = problem.get_graph()
nx.draw_networkx(G)
plt.show()
您可以使用 nx.draw_networkx_edges()
的 edgelist
参数来仅绘制特定的边:
pos = G.nodes(data="coord")
nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_labels(G, pos)
nx.draw_networkx_edges(G, pos, edgelist=list(zip(path, path[1:])))
我需要绘制 TSP 解的图形。我正在使用 TSPLIB 95 库和 public 问题 (ch130.tsp)。
我已获得作业要求,只需 3 个基本步骤即可解决问题。
第 1 步。Select 随机开始城市和 'move' 那里。
第 2 步。Select距离当前居住城市最近的可用(未访问)城市。
第三步,如果有可用的城市,则重复第二步。
我实现了给我一个列表的代码——作为答案的路径。现在我想用我的答案绘制一个看起来接近这个的图表,但只有我的答案路径。但不知道如何。我试着做一个变量
G = tsplib95.fields.ToursField(list_of_visited_cities)
但不知道下一步该怎么做。一些代码向导可以帮助我吗?
图表生成自
problem = tsplib95.load('ch130.tsp')
G = problem.get_graph()
nx.draw_networkx(G)
plt.show()
您可以使用 nx.draw_networkx_edges()
的 edgelist
参数来仅绘制特定的边:
pos = G.nodes(data="coord")
nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_labels(G, pos)
nx.draw_networkx_edges(G, pos, edgelist=list(zip(path, path[1:])))