我正在尝试计算项目计划的最短完成时间,该计划具有n个任务,每个任务都可以具有依赖任务。
4h
没有依赖性的任务被称为从属ID
从上面的任务表中,项目持续时间应计算为20天。
应该用什么算法来计算呢?
答案 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。填充到达图表节点的时间是动态编程应用程序。可以按拓扑排序图形给出的顺序填充节点。