计算计划的相关任务的完成时间

时间:2015-06-16 17:59:19

标签: python algorithm

我正在尝试计算项目计划的最短完成时间,该计划具有n个任务,每个任务都可以具有依赖任务。

例如

4h

没有依赖性的任务被称为从属ID

从上面的任务表中,项目持续时间应计算为20天。

应该用什么算法来计算呢?

2 个答案:

答案 0 :(得分:0)

假设任务0在第0天结束。

在表格中添加新列“完成日期”。

向下执行任务列表,将当前任务的持续时间添加到其所依赖的任务的完成日期。将其存储为当前任务的完成日。

找到最长完成日。

答案 1 :(得分:0)

这个问题可以使用称为PERT图表的技术来解决,PERT图表只是一个有向图,其中节点代表“事件”,它们是“活动”或活动组的完成。您需要一个开始事件和一个结束事件,您示例中的其他事件将完成每个任务。图的边缘是表示从先决条件事件到结果的任务的箭头,权重等于完成任务的时间。因此,从重量10的开始到1,从重量3的开始到2,重量6的1到3,重量10的1到5,重量5的2到4,以及3, 4,5到重量结束0。

然后,您从头到尾按自己的方式工作,填写到达每个事件节点的时间。到达开始的时间为0,达到1为10,达到2为3,达到3为16(加时间达到1到6),时间达到4为3 + 5 = 8,时间达到5是10 + 10 = 20,到达End的时间是max(16 + 0,8 + 0,20 + 0)= 20。填充到达图表节点的时间是动态编程应用程序。可以按拓扑排序图形给出的顺序填充节点。