0

假设我有一个list=[2,5,7](代表城市的访问顺序)。我想将节点插入6此列表(或图表);但是,我正在寻找最好的插入位置(就总成本而言list)。例如 Cost oflist1=[2,6,5,7]低于 Cost of list2=[2,5,7,6]。成本函数是节点之间的距离。例如,Cost[2,6,5,7] = Distance[2][6] + Distance[6][5] + Distance[5][7]

有什么快速的方法吗?Networkx 中是否有任何内置函数(例如nx.dijkstra_path_length(G, i, j, 'weight')计算插入前的最短路径)或任何其他包?请注意,它list=[2,5,7]可以被视为一个图表,并且很容易由 Networkx 生成(2---5---7)

PS:我将在下面提供一个玩具大小的实例:a=[6,10]并且list=[2,5,7]是我的输入。我想将a(6 和 10)中的所有节点添加到最佳位置list(例如将节点添加到 TSP 游览)。插入 6 in 有两个可能的位置list。A:介于25 B:介于5和之间7。由于Cost[2,6,5,7] < Cost[2,5,7,6],选项 A 提供最低成本。现在list=[2,6,5,7]. 再次插入节点10,应检查所有三个可能的位置 A: between 2and 6 B: between 6and 5 C: between 5and 7。输出将是一个类似的列表[2,6,5,10,7]

4

0 回答 0