1
使用networkX来调用端点之间的所有最短路径。NetworkX不对称权重
在一个示例拓扑像graph1,其中权重是不对称的R1 <之间 - > R2,我希望看到从R1只有一个最短路径R3, 但是我看到两(见下文)。我的目标是复制像OSPF或IS-IS那样的协议。
有什么办法可以达到这个目的吗? (度量/权重不能被修改,是直接从路由器获得)
实施例:
>>> from networkx import nx
>>> graph1 = {
...
... 'R1':{'R2':{'weight':50000},'R3':{'weight':200}},
... 'R2':{'R1':{'weight':100},'R3':{'weight':100}},
... 'R3':{'R1':{'weight':200},'R2':{'weight':100}}
... }
>>> network_graph = nx.from_dict_of_dicts(graph1)
>>> print [p for p in
nx.all_shortest_paths(network_graph,source='R1',target='R3', weight='weight')]
[['R1', 'R3'], ['R1', 'R2', 'R3']]
非常感谢你的回答。工作正常 ! – psagrera