我有一大组表示一组图形的顶点/节点。请注意,这个完整集合中可能有许多独立的图。目标是在所有这些图上找到最小数量的顶点,这些顶点对应于这些选定顶点捕获的所有边上的最大权重总和。我在熊猫中有邻接矩阵,我正在使用networkx。如何找到捕获最大总成本的多个潜在独立的无向图中顶点的最小集合
以下是三个列的示例数据框,其中Number_Of_Trips是权重。为了将两个度量合并在一起,我可以提供node = 10 *行程的权重。即旅行的最大化# - 10个* NumberOfNodes
Number_Of_Trips dropoff_gh7 pickup_gh7
0 304 9tbqhsx 9tbqj4g
1 271 9tbqj4f 9tbqhsx
2 263 9tbqt4s 9tbqhsx
3 258 9tbqdye 9tbqdsr
4 256 9tbqhgh 9tbqjfv
5 236 9tbqhsw 9tbqj4g
6 233 9tbqt4g 9tbqv03
7 229 9tbqhsx 9tbqj4c
8 218 9tbqy3f 9tbqt4s
9 213 9tbq5v4 9tbqh41
10 210 9tbqhgh 9tbqhsw
11 192 9tbqhgh 9tbqje4
12 186 9tbqy3f 9tbqt4g
13 184 9tbqhgh 9tbqj4z
14 183 9tbqe3d 9tbqe9e
15 170 9tbq3xn 9tbq39w
16 167 9tbq5bw 9tbqht6
17 163 9tbqhsx 9tbqh0x
18 162 9tbqdk1 9tbq7p2
19 160 9tbqsch 9tbqt4s
x = nx.from_pandas_dataframe(df,"dropoff_gh7","pickup_gh7","Number_Of_Trips")
graphs = list(nx.connected_component_subgraphs(x))
您引用了相互矛盾的评估标准;我们需要你来定义这个问题。我们还需要您描述您的研究,以及可用算法如何不能满足您的需求。如果您的成本函数表现得很好,我会认为Dijkstra的算法可以随时适应您的事业。 – Prune
请包括一个样本数据集以及您迄今为止所尝试的数据,然后我们可能会提供帮助。阅读关于如何创建[最小,完整和可验证的示例]的帮助(https://stackoverflow.com/help/mcve)。 –
@JoelOstblom - 我补充说明。此外,为了回答Prune的问题,我似乎找不到任何算法,因为它具有最大总权重但节点数最少的子图。 Djikstra需要一个特定的源和目的地,并且生成树实施一条通过所有节点的路径。这些不符合我的需要。因此我的问题。 – SriK