Я пытаюсь использовать Travel_salesman_problem NetworkX, чтобы найти кратчайший путь между узлами, но, похоже, он возвращает более длинный путь, чем необходимо. Вот минимальный пример:
Я пытаюсь использовать Travel_salesman_problem NetworkX, чтобы найти кратчайший путь между узлами, но, похоже, он возвращает более длинный путь, чем необходимо. Вот минимальный пример: [code]import shapely import networkx as nx import matplotlib.pyplot as plt
# Make a 10x10 grid
vert = shapely.geometry.MultiLineString([[(x, 0), (x, 100)] for x in range(0, 110, 10)]) hori = shapely.affinity.rotate(vert, 90) grid = shapely.unary_union([vert, hori])
# Turn it into a graph
graph = nx.Graph() graph.add_edges_from([(*line.coords, {"distance": line.length}) for line in grid.geoms])
# Select nodes and visit them via TSP and manually
for ax in axes: for line in grid.geoms: ax.plot(*line.xy, c="k", lw=.25) ax.scatter(*zip(*nodes), c="k") ax.set_aspect("equal") axes[0].plot(*tsp_path.xy, c="b") axes[0].set_title(f"TSP solution length={tsp_path.length}") axes[1].plot(*manual_path.xy, c="r") axes[1].set_title(f"manual length={manual_path.length}") [/code] Чего мне не хватает? Является ли TSP неправильным алгоритмом для этого? [img]https://i.sstatic.net/9QiWyhcK .png[/img]
Я пытаюсь использовать Travel_salesman_problem NetworkX, чтобы найти кратчайший путь между узлами, но, похоже, он возвращает более длинный путь, чем необходимо. Вот минимальный пример:
import shapely
import networkx as nx
import matplotlib.pyplot...
Я работаю в аэропорту, и моя задача — рассчитывать маршруты руления самолетов на рулежных дорожках, обеспечивая соблюдение предписанной последовательности движения. Здесь я приведу пример и хотел бы спросить, существуют ли высокопроизводительные...
Теорема Дейкстры говорит о поиске кратчайшего пути между двумя вершинами. Но что, если у нас есть матрица/граф с кластерами... и теперь нам нужно найти кратчайший путь между этими кластерами! расстояние между этими кластерами такое же, как и между...