首页 > 代码库 > 关键路径法

关键路径法

如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭

关键路径法(Critical Path Method, CPM)是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种,属于肯定型的网络图。关键路径法将项目分解成为多个独立的活动并确定每个活动的工期,然后用逻辑关系(结束-开始、结束-结束、开始-开始和开始结束)将活动连接,从而能够计算项目的工期、各个活动时间特点(最早最晚时间、时差)等。在关键路径法的活动上加载资源后,还能够对项目的资源需求和分配进行分析。关键路径法是现代项目管理中最重要的一种分析工具。

分类

箭线图(ADM)法又称为双代号网络图法,箭线图法用箭线表示活动,活动之间用节点(称作“事件”)连接,只能表示结束——开始关系,每个活动必须用唯一的紧前事件和唯一的紧后事件描述;紧前事件编号要小于紧后事件编号;每一个事件必须有唯一的事件号。

前导图(PDM)法又称为单代号网络图法,它是以节点表示活动而以节点间的连线表示活动间的逻辑关系,活动间可以有四种逻辑关系,结束-开始、结束-结束、开始-开始和开始-结束。

时间参数

在关键路径法中,一般有以下一些时间参数:

最早开始时间(Early Start)活动最早开始时间由所有前置活动中最后一个最早结束时间确定。

最早结束时间(Early Finish)活动的最早结束时间由活动的最早开始时间加上其工期确定。

最迟结束时间(Late Finish)一个活动在不耽误整个项目的结束时间的情况下能够最迟结束的时间。它等于所有紧后工作中最早的一个最晚开始时间。

最迟开始时间(Late Start)一个活动在不耽误整个项目的结束时间的情况下能够最迟开始的时间。它等于活动的最迟结束时间减去活动的工期。

总时差(Total Float) 指一项活动在不影响整体计划工期的情况下最大的浮动时间。

自由时差(Free Float)指活动在不影响其紧后工作的最早开始时间的情况下可以浮动的时间。

如果是对于箭线图法,用到的时间参数还常有:

最早节点时间(Early Event Occurrence Time)最早节点时间由其前置活动中最晚的最早结束时间确定。

最迟节点时间(Late Event Occurrence Time)最迟节点时间由其后置活动中最早的最迟开始时间确定。

时间计算

正推法

箭线图(ADM)的计算一般有正推法(Forward Pass)和逆推法(Backward Pass)两种,正推法用于计算活动和节点的最早时间,其算法如下:

⒈设置箭线图(ADM)中的第一个节点的时间,如设置为1。

关键路径法

关键路径法

⒉选择一个开始于第一个节点的活动开始进行计算。

⒊令活动最早开始时间等于其开始节点的最早时间。

⒋在选择的活动的最早开始时间上加上其工期,就是其最早结束时间。

⒌比较此活动的最早结束时间和此活动结束节点的最早时间。如果结束节点还没有设置时间,则此活动的最早结束时间就是该结束节点的最早时间;如果活动的结束时间比结束节点的最早时间大,则取此活动的最早结束时间作为节点的最早时间;如果此活动的最早结束时间小于其结束节点的最早时间,则保留此节点时间作为其最早时间。

⒍检查是否还有其它活动开始于此节点,如果有,则回到步骤3进行计算;如果没有,则进入下一个节点的计算,并回到步骤3开始,直到最后一个节点。

逆推法

活动和节点的最迟时间采用逆推法(Backward Pass)计算,逆推法(Backward Pass)一般从项目的最后一个活动开始计算,直到计算到第一个节点的时间为止,在逆推法的计算中,首先令最后一个节点的最迟时间等于其最早时间,然后开始计算,具体的计算步骤如下所示:

⒈设置最后一个节点的最迟时间,令其等于正推法计算出的最早时间。

⒉选择一个以此节点为结束节点的活动进行计算。

⒊令此活动的最迟结束时间等于此节点的最迟时间。

⒋从此活动的最迟结束时间中减去其工期,得到其最迟开始时间。

⒌比较此活动的最迟开始时间和其开始节点的最迟时间,如果开始节点还没有设置最迟时间,则将活动的最迟开始时间设置为此节点的最迟时间,如果活动的最迟开始时间早于节点的最迟时间,则将此活动的最迟开始时间设置为节点的最迟时间,如果活动的最迟开始时间迟于节点的最迟时间,则保留原节点的时间作为最迟时间

⒍检查是否还有其它活动以此节点为结束节点,如果有则进入第二步计算,如果没有则进入下一个节点,然后进入第二步计算,直至最后一个节点。

⒎第一个节点的最迟时间是本项目必须要开始的时间,假设取最后一个节点的最迟时间和最早时间相等,则其值应该等于1。

几个特别注意的重点:

1、关键路径法(CPM):是项目整个路径中最长的路径,是项目完成的最短时间

2、关键路径可以有多个,但是越多,项目风险越大。

3、向关键路径要时间,向非关键路径要资源

4、掌握相关的术语:浮动时间(TF)、自由时差(FF)

5、进度压缩两种方法:赶工、快速跟进(只能在关键路径上压缩)

6、关键链法:是考虑了缓冲时间,预留一个总缓冲时间。一般在资源有限时使用,它在进度网络分析中把确定性和随机性方法结合了起来(P122)

7、了解正推法和反推法

8、判断关键路径、计算浮动时间和自由时差(第一个大计算)

如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭