关键路径python
时间: 2023-12-19 13:32:15 浏览: 37
关键路径法是一种用于确定项目中关键任务的方法,它可以帮助我们确定项目的最短工期。下面是一个使用Python实现关键路径法的例子:
```python
import networkx as nx
# 创建一个有向图
G = nx.DiGraph()
# 添加节点
G.add_node('A', duration=5)
G.add_node('B', duration=3)
G.add_node('C', duration=2)
G.add_node('D', duration=4)
G.add_node('E', duration=6)
G.add_node('F', duration=7)
G.add_node('G', duration=4)
G.add_node('H', duration=3)
# 添加边
G.add_edge('A', 'B')
G.add_edge('A', 'C')
G.add_edge('B', 'D')
G.add_edge('C', 'D')
G.add_edge('D', 'E')
G.add_edge('E', 'F')
G.add_edge('E', 'G')
G.add_edge('F', 'H')
G.add_edge('G', 'H')
# 计算关键路径
critical_path = nx.algorithms.dag.dag_longest_path(G, weight='duration')
# 输出关键路径
print('Critical path:', critical_path)
```
在这个例子中,我们首先创建了一个有向图,并添加了节点和边。每个节点都有一个持续时间,表示完成该任务所需的时间。然后,我们使用networkx库中的`dag_longest_path`函数计算关键路径,并将结果打印出来。