networkx.algorithms.flow.min_cost_flow_cost
的用法。用法:
min_cost_flow_cost(G, demand='demand', capacity='capacity', weight='weight')
求滿足有向圖 G 中所有需求的最小成本流的成本。
G 是一個有邊成本和容量的有向圖,其中節點有需求,即它們想要發送或接收一定量的流量。負需求意味著節點想要發送流量,正需求意味著節點想要接收流量。如果流入每個節點的淨流量等於該節點的需求,則有向圖 G 上的流量滿足所有需求。
- G:NetworkX 圖
DiGraph 找到滿足所有需求的最小成本流。
- demand:string
圖 G 的節點預計具有一個屬性需求,該屬性指示節點想要發送(負需求)或接收(正需求)多少流量。請注意,需求之和應為 0,否則問題不可行。如果此屬性不存在,則認為節點的需求為 0。默認值:‘demand’。
- capacity:string
圖 G 的邊應該有一個屬性容量,表示邊可以支持多少流量。如果此屬性不存在,則認為邊具有無限容量。默認值:‘capacity’。
- weight:string
圖 G 的邊應該有一個屬性權重,該屬性權重指示在該邊上發送一個單位的流量所產生的成本。如果不存在,則認為權重為 0。默認值:‘weight’。
- flowCost:整數,浮點數
滿足所有需求的最小成本流的成本。
- NetworkXError
如果輸入圖未定向或未連接,則會引發此異常。
- NetworkXUnfeasible
在以下情況下會引發此異常:
需求之和不為零。那麽,就沒有滿足所有需求的流程。
沒有滿足所有需求的流量。
- NetworkXUnbounded
如果有向圖 G 具有負成本和無限容量的循環,則會引發此異常。那麽,滿足所有需求的流程的成本在下麵是無界的。
參數:
返回:
拋出:
注意:
如果邊權重或需求是浮點數(溢出和舍入錯誤可能導致問題),則不保證此算法有效。作為一種解決方法,您可以通過將相關邊屬性乘以一個方便的常數因子(例如 100)來使用整數。
例子:
最小成本流問題的一個簡單示例。
>>> G = nx.DiGraph() >>> G.add_node("a", demand=-5) >>> G.add_node("d", demand=5) >>> G.add_edge("a", "b", weight=3, capacity=4) >>> G.add_edge("a", "c", weight=6, capacity=10) >>> G.add_edge("b", "d", weight=1, capacity=9) >>> G.add_edge("c", "d", weight=2, capacity=5) >>> flowCost = nx.min_cost_flow_cost(G) >>> flowCost 24
相關用法
- Python NetworkX min_cost_flow用法及代碼示例
- Python NetworkX minimum_spanning_edges用法及代碼示例
- Python NetworkX minimum_edge_cut用法及代碼示例
- Python NetworkX minimum_st_node_cut用法及代碼示例
- Python NetworkX minimum_spanning_tree用法及代碼示例
- Python NetworkX minimum_node_cut用法及代碼示例
- Python NetworkX minimum_cut_value用法及代碼示例
- Python NetworkX minimum_cut用法及代碼示例
- Python NetworkX minimum_st_edge_cut用法及代碼示例
- Python NetworkX minimum_cycle_basis用法及代碼示例
- Python NetworkX multi_source_dijkstra_path用法及代碼示例
- Python NetworkX maximal_independent_set用法及代碼示例
- Python NetworkX make_small_graph用法及代碼示例
- Python NetworkX modularity_matrix用法及代碼示例
- Python NetworkX maximum_spanning_tree用法及代碼示例
- Python NetworkX multi_source_dijkstra_path_length用法及代碼示例
- Python NetworkX maximum_flow用法及代碼示例
- Python NetworkX modularity用法及代碼示例
- Python NetworkX maximum_flow_value用法及代碼示例
- Python NetworkX make_max_clique_graph用法及代碼示例
- Python NetworkX maximum_spanning_edges用法及代碼示例
- Python NetworkX max_flow_min_cost用法及代碼示例
- Python NetworkX multi_source_dijkstra用法及代碼示例
- Python NetworkX multipartite_layout用法及代碼示例
- Python NetworkX negative_edge_cycle用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.flow.min_cost_flow_cost。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。