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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。