ant colony optimization
v1.1.1
一个使用蚁群优化 (ACO) 查找图中最短路径的 Python 包。
➡️ 查看我的 Medium 文章,了解详细的演练
蚁群优化算法是一种用于解决计算问题的概率技术,可以简化为通过图找到良好的路径(来源)。
ACO 算法的这种实现使用 NetworkX 图环境。
$ pip install aco_routing
查看:example.py
导入所有依赖项:
from aco_routing import ACOimport networkx as nx
创建一个带有节点和边的NetworkX.Graph
对象:
G = nx.DiGraph()G.add_edge("A", "B", cost=2)G.add_edge("B", "C", cost=2)G.add_edge("A", "H" , 成本=2)G.add_edge("H", "G", 成本=2)G.add_edge("C", "F", 成本=1)G.add_edge("F", "G",成本=1)G.add_edge("G", "F", 成本=1)G.add_edge("F", "C", 成本=1)G.add_edge("C", "D", 成本= 10)G.add_edge("E", "D", 成本=2)G.add_edge("G", "E", 成本=2)
使用 ACO 找到source
和destination
之间的最短路径和成本:
aco = ACO(G, ant_max_steps=100, num_iterations=100, ant_random_spawn=True)aco_path, aco_cost = aco.find_shortest_path(source="A",destination="D",num_ants=100, )
输出:
ACO path: A -> H -> G -> E -> D ACO path cost: 8.0
aco_routing.Ant
遍历图形的Ant
。
aco_routing.ACO
传统的蚁群优化算法,在图中的各个节点生成蚂蚁,并找到指定源和目的地之间的最短路径(伪代码)。
在 GitHub 问题页面上发布任何问题和建议。
要做出贡献,请分叉该项目,然后创建一个拉取请求返回主版本。