networkx.algorithms.approximation.traveling_salesman.asadpour_atsp
的用法。用法:
asadpour_atsp(G, weight='weight', seed=None, source=None)
返回旅行商問題的近似解。
該近似解是 Asadpour 等人 [1] 開發的非對稱旅行商問題最著名的近似解之一。該算法首先解決 Held-Karp 鬆弛問題,以找到循環權重的下界。接下來,它使用最大熵舍入方案構造無向生成樹的指數分布,其中樹中邊的概率對應於該邊的權重。接下來,我們對該分布進行 次采樣,並在將弧的方向添加回邊後保存最小采樣樹。最後,我們對該圖進行擴充和短路,以找到推銷員的大致行程。
- G:nx.DiGraph
該圖應該是一個完整的加權有向圖。應該包括所有節點之間的距離,並且三角不等式應該成立。也就是說,任何兩個節點之間的直接邊應該是成本最低的路徑。
- weight:字符串,可選(默認=”weight”)
邊權重對應的邊數據鍵。如果任何邊不具有此屬性,則權重設置為 1。
- seed:整數、random_state 或無(默認)
隨機數生成狀態的指示符。請參閱隨機性。
- source:節點標簽(默認=`None`)
如果給定,則返回在給定節點處開始和結束的循環。
- cycle:節點列表
返回推銷員可以遵循的循環(節點列表)以最小化行程的總重量。
- NetworkXError
如果
G
不完整或節點少於兩個,算法會引發異常。- NetworkXError
如果“源”不是
None
並且不是G
中的節點,則算法會引發異常。- NetworkXNotImplemented
如果
G
是無向圖。
參數:
返回:
拋出:
參考:
- 1
A. Asadpour, M. X. Goemans, A. Madry, S. O. Gharan, and A. Saberi, An o(log n/log log n)-approximation algorithm for the asymmetric traveling salesman problem, Operations research, 65 (2017), pp. 1043-1061
例子:
>>> import networkx as nx >>> import networkx.algorithms.approximation as approx >>> G = nx.complete_graph(3, create_using=nx.DiGraph) >>> nx.set_edge_attributes(G, {(0, 1): 2, (1, 2): 2, (2, 0): 2, (0, 2): 1, (2, 1): 1, (1, 0): 1}, "weight") >>> tour = approx.asadpour_atsp(G,source=0) >>> tour [0, 2, 1, 0]
相關用法
- Python NetworkX astar_path用法及代碼示例
- Python NetworkX average_degree_connectivity用法及代碼示例
- Python NetworkX all_simple_paths用法及代碼示例
- Python NetworkX add_star用法及代碼示例
- Python NetworkX add_path用法及代碼示例
- Python NetworkX all_pairs_dijkstra_path用法及代碼示例
- Python NetworkX average_clustering用法及代碼示例
- Python NetworkX attr_matrix用法及代碼示例
- Python NetworkX arbitrary_element用法及代碼示例
- Python NetworkX average_neighbor_degree用法及代碼示例
- Python NetworkX all_pairs_shortest_path用法及代碼示例
- Python NetworkX attribute_mixing_dict用法及代碼示例
- Python NetworkX all_node_cuts用法及代碼示例
- Python NetworkX attr_sparse_matrix用法及代碼示例
- Python NetworkX articulation_points用法及代碼示例
- Python NetworkX all_shortest_paths用法及代碼示例
- Python NetworkX all_simple_edge_paths用法及代碼示例
- Python NetworkX adjacency_graph用法及代碼示例
- Python NetworkX all_pairs_bellman_ford_path用法及代碼示例
- Python NetworkX ancestors用法及代碼示例
- Python NetworkX average_shortest_path_length用法及代碼示例
- Python NetworkX all_topological_sorts用法及代碼示例
- Python NetworkX attribute_mixing_matrix用法及代碼示例
- Python NetworkX all_pairs_dijkstra用法及代碼示例
- Python NetworkX all_pairs_bellman_ford_path_length用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.approximation.traveling_salesman.asadpour_atsp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。