关键路径法定义

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

关键路径法的分类

根据绘制方法的不同,关键路径法可以分为两种,即箭线图(ADM)和前导图(PDM)。

箭线图(ADM)法又称为双代号网络图法,它是以横线表示活动而以带编号的节点连接活动,活动间可以有一种逻辑关系,结束-开始型逻辑关系。

在箭线图中,有一些实际的逻辑关系无法表示,所以在箭线图中需要引入虚工作的概念。

绘制箭线图时主要有以下一些规则:

1、在箭线图(ADM)中不能出现回路。如上文所述,回路是逻辑上的错误,不符合实际的情况,而且会导致计算的死循环,所以这条规则是必须的要求。

2、箭线图(ADM)一般要求从左向右绘制。这虽然不是必须的要求,但是符合人们阅读习惯,可以增加箭线图(ADM)的可读性。

3、每一个节点都要编号,号码不一定要连续,但是不能重复,且按照前后顺序不断增大。这条规则有多方面的考虑,在手工绘图时,它能够增加图形的可读性和清晰性,另外,在使用计算机运行箭线图(ADM)这一条就非常重要,因为在计算机中一般通过计算节点的时间来确定各个活动的时间,所以节点编号不重复是必须的。

4、一般编号不能连续,并且要预留一定的间隔。主要是为了在完成的箭线图(ADM)中可能需要增加活动,如果编号连续,新增加活动就不能满足编号由小到大的要求。

5、表示活动的线条不一定要带箭头,但是为了表示的方便,一般推荐使用箭头。这一条主要是绘制箭线图(ADM)时可以增加箭线图(ADM)的可读性。

6、一般要求双代号网络图要开始于一个节点,并且结束于一个节点。此要求可以在手工绘图增加可读性,而在计算机计算时,可以增加效率和结果的清晰性。

7、在绘制网络图时,一般要求连线不能相交,在相交无法避免时,可以采用过桥法或者指向法等方法避免混淆。此要求主要是为了增加图形的可读性。

箭线图(ADM)要表示的是一个项目的计划,所以其清晰的逻辑关系和良好的可读性是非常重要的,除了箭线图(ADM)本身具有正确的逻辑性,良好的绘图习惯也是必要的。因此在绘图时遵守上面的这些规则就是非常重要的,另外,在绘图时,一般尽量使用直线和折线,在不可避免的情况下可以使用斜线,但是要注意逻辑方向的清晰性。

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

关键路径法的起源

关键路径法(CPM)最早出现于1956年,当时杜邦当时美国杜邦(Du Pont)公司拥有一台UNIVAC 1 计算机,他们使用这台计算机进行他们公司几乎所有的数据处理工作,但是仍然还有大量的剩余时间,杜邦(Du Pont)公司的管理层开始研究计算机在其它方面使用的可能性,因为当时电脑的费用是非常高昂的,他们考虑工程计划可能是应用电脑的一个方向。

他们联系了雷明顿兰德(Remington Rand)公司的Macuchy 博士,帮他们解决计算机使用的问题,后者派出了年轻的数学家James E. Kelly去协助杜邦(Du Pont)公司解决问题,杜邦公司方面的负责人是Morgan Walker。

他们要解决的问题是在工程项目中工期和费用之间的关系,他们研究的是如何能够采取正确的措施,在减少工期的情况下能尽可能少的增加费用。1957年5月7日,在特拉华州内瓦克召开的一个会议正式确定开始新计划技术的开发。Kelly借用了线性规划的概念来解决项目计划自动计算的问题,简单的说就是确定了每个活动的工期和活动间的逻辑关系,输入电脑后就能自动计算项目的工期,为了电脑的计算,Kelly在活动间使用了i,j这样的节点来表示活动间的前后逻辑关系。

当时遇到的一个问题是,杜邦公司的管理层并不理解Kelly所使用的方法,为了让其他人能够理解所使用方法的原理,Kelly就绘制了图形来解释电脑所作的工作,图形以箭线表示活动,以节点表示活动间的逻辑关系,这就是最早的箭线图(ADM)。

前面提到过,Kelly和Walker最初研究的目的是为了解决项目中工期和费用之间关系的问题,所以在Kelly和Walker最初提出的方法中,也包括费用的计划方法,其做法是,在每个活动上加载其相应的费用,从而得到整个项目的费用,就能分析与进度相关的费用问题,这种做法与现在所用的方法没有太大差别。不过,在当时的情况下,项目收集费用并分解到各个活动上存在较大困难。所以,在之后的很长时期内,关键路径法主要还是用于进度的计划和控制方面。Kelly和Walker还提出了资源加载和分配的方法,当然也存在和费用分析一样的问题。

尽管存在这些问题,在1957年7月24日,他们已经做了一个简化的例子,称为”George Fischer Works”,这个计划包括了61条活动,其中有8个时间限制和16条虚工作。在刚开发出这种方法时,他们将这种方法称为Kelly-Walker法,而计划中的关键线路,他们称之为主链路(Main chain)。

根据Kelly和Walker的论文和其它相关书籍的记载,当时他们一共进行了三个试验对Kelly-Walker法进行检验。第一个试验是在1957年12月份,杜邦公司成立了一个测试小组对这种新的计划方法测试,有一个传统的计划组与他们同时独立对一个价值1000万美元的化学设备项目进行计划。这个测试小组的成员没有参与Kelly-Walker法的开发,但是在开始测试之前,他们接受40个小时的培训。此项目的计划从初步设计的完成开始,在编制计划时,他们首先将整个项目分解成一些较小的工作包,然后再将这些工作包最终分解成为活动,项目共有800条活动,其中包括400条施工活动,150条采购和设计活动。根据记载,在此项目中显示出的Kelly-Walker法的最大优势在于,此项目在实施中出现了较大的变更,相对于传统计划方法,使用Kelly-Walker法更容易更新计划,其工作量仅有最初建立计划的10%,另外,在设计信息只有30%的情况下,能够比较准确的预测劳动力,还有就是能够比较准确的识别关键的采购工作。

1958年,他们进行了第二次试验,此试验所针对的是一个价值2000万美元的化学设备项目,根据Kelly和Walker在1959年发表的论文,此次试验显示的最主要的优点是能够比较容易的包含设计部分的计划。

不过现在人们最常提及的一个试验是他们随后进行的维护设备的试验,在此项目中,他们使用Kelly-Walker法进行分析和计划,使得设备维护时间减少了25%。

1959年,Kelly和Walker共同发表了”Critical Path Planning and Scheduling” 论文,在这篇长达25页的论文中,Kelly和Walker不仅阐述了关键路径法的基本原理,还提出了资源分配与平衡,费用计划的方法。我们今天所使用的方法的原理,与Kelly和Walker在论文中提出的方法,并没有原则上的不同。

不过随后关键路径法的发展并不是很顺利,杜邦公司开发此项技术的领导层更换之后,不再使用这项技术,而雷明顿兰德公司也认为这项技术没有太大前途。

对于关键路径法的发展起到重要作用的是Mauchly博士和Kelly随后成立的Mauchly合伙公司。在60年代初期,在Kelly的带领下,此公司进行了大量的关键路径法的培训和推广工作。

与此同时,另外一个对关键路径法(CPM)的发展起到重要作用的是美国海军北极星计划开发的计划评审技术(PERT)。在1955年11月17日,美国海军北极星计划成立了一个特别项目管理办公室(SPO),管理其Fleet Ballistic Missile计划,负责人是Admiral Raborn。在1956年和1957年期间,他们研究了各种已经存在的项目管理技术,在大约1957年秋季的时候,他们接触到了杜邦公司开发的计划管理技术,这对他们开发PERT起到了重要的作用。1958年1月份,SPO研究了在计算机上实现计划和控制的可行性,1958年1月27日,SPO正式成立了一个小组开发PERT技术,在大约一年以后,PERT技术成为一种可操作性的技术,计划评审技术(PERT)和关键路径法(CPM)基本上一样,唯一的区别是计划评审技术的每个活动的工期不是确定的,而是包括了悲观值,乐观值和最有可能值三个值。比较有趣的是,1959年,北极星计划的这个特别项目管理办公室(SPO)开了一个招待会,介绍他们的这种新技术,并希望参会者能给出更多的意见,Kelly和Walker在被邀请之列,在会上,他们发现SPO开发的PERT和他们的Kelly-Walker法原理上完全一样,而SPO所说的关键线路(Critical Path),就是他们的Kelly-Walker法中的主链路(Main Chain)。回去之后,他们决定将它们的方法的名称改为关键路径法(Critical Path Method)。

在60年代初期,PERT的发展比较迅速,据统计,到1964年,关于PERT的参考书目和论文达到了1000多种。到1961年,各种基于PERT的类似的方法出现,如PERT/Cost, PERT-RAMPS(Resource Allocation & Multi-Project Schedule),MAPS,SCANS,TOPS,PEP,TRACE,LESS和PAR等。其中PEP法是将甘特图的活动赋以逻辑关系,这是现在的计划软件一般采用的一种图形输出方法。在1962年的时候,时任美国国防部长MacNamara在起草一项法令时,指出计划评审法和关键路径法同时并存的局面容易引起混淆,以后国防部的所有部门一律使用计划评审法(PERT),这在当时对于关键路径法的提倡者是一个重大打击,不过在随后的发展中,关键路径法(CPM)逐渐占了优势,现在真正使用计划评审法的其实已经很少。而且即使是在当时,很多所谓的计划评审法(PERT),其实质其实是关键路径法(CPM)。如美国航空局(NASA)当时使用的NASA-PERT,实际就是关键路径法(CPM)。

无论是关键路径法(CPM)还是计划评审法(PERT),最初使用的表示方法都是箭线法(ADM),在之后很长的一段时间箭线法(ADM)都是人们主要使用的方法,直到70年代以后,前导图(PDM)才开始逐渐流行起来,但是箭线法(ADM)仍然使用极为广泛。在90年代以后,美国Primavera公司开发出其Windows版本的计划管理软件时,只采用前导图(PDM)作为其计算平台,从根本上改变了这一局面,从此以后,前导图(PDM)成了人们主要使用的方法,而箭线图(ADM)则很少使用。

在早期对于前导图(PDM)的发展起到重要作用的是美国斯坦福大学的John W. Fondahl,他是60年代初期的非计算机关键路径法的权威,1961年他发表了一篇题为”A Non-computer Approach to Critical Path Methods for the Construction Industry”,在这篇论文中,他阐述了前导图系统,并把它作为一种效率比较高的手工绘制关键路径法的方法,因为当时使用计算机运行CPM是非常昂贵的。Fondahl从1958年开始作为斯坦福大学的成员,受美国海军委托为其研究提高生产效率的方法。其中最主要的成果就是这份论文,这份论文当时一共出售了20000份。

在这份论文中,根据习惯使用的流程图方法,Fondahl提出了以节点表示活动以连接线表示活动间的逻辑关系。论文论述了流程图的简易性和使用手算在较少的人力投入下采用关键路径法的可能性,同时论文也论述了费用工期互为反比的问题。斯坦福大学之后继续研究了前导图(PDM)的手工进度更新的问题,并在1964年发表了相关的技术报告。

虽然Fondahl博士极力强调他提出的方法是为了手工计算关键路径法,但是H.B Zachry公司在1962年开始研究将前导图法用于计算机上,1963年3月他们与IBM公司联合进行该项研究,之后形成了IBM的计划软件,名为”Project Control System(PCS)”。该系统还是第一个在计划中引入时间间隔(LAG)的软件。虽然前导图法最初被应用于大型机,但是随后被广泛应用于小型机和个人电脑上的软件,这一趋势使得前导图(PDM)逐渐成为主要使用的方法,到现在,在国外前导图(PDM)基本已经成为唯一在使用的方法,而箭线图(ADM)只有在教学和培训中还有时用到。而发展势头曾一度压过关键路径法(CPM)的计划评审技术(PERT),现在使用的已经很少了。

在美国发展出关键路径法(CPM)和计划评审技术(PERT)的同时,其它一些国家如欧洲和英国等,也曾经开发出一些类似的项目管理技术,但是现在关于这些技术的记载已经很少。

关键路径法(CPM)最初被开发是用于项目管理,不过,在发展过程中,它逐渐在工程项目的合同索赔和纠纷解决上起到重要作用。最早在诉讼中涉及到要求使用关键路径法(CPM)是1972(Appeal of Minmar Builders, Inc, GSBCA No. 3430, 72-2 BOA)年,在此案例中,法庭由于承包商没有使用关键路径法(CPM)而拒绝了承包商的索赔,因为其使用的横道图不能显示具体的活动是否在关键线路上,从而无法判断活动耽误对于整体的影响。之后,关键路径法(CPM)逐渐成为工期延误索赔中必须的做法,并逐渐形成了很多专门的分析方法,现在甚至有很多人专业从事工期延误分析的工作。

关键路径法的一些主要时间参数

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

最早开始时间(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)两种,正推法用于计算活动和节点的最早时间,其算法如下:

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

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

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

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

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

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

活动和节点的最迟时间采用逆推法(Backward Pass)计算

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

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

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

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

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

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

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

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

关键路径法(Critical Path Method, CPM)相关推荐

  1. 关键路径法详解【CPM】

    摘要 CPM(CriticalPathMethod 关键路径法)是项目管理中最基本也是非常关键的一个概念,它上连着WBS(工作分解结构),下连着执行进度控制与监督.关键路径是项目计划中最长的路线. 它 ...

  2. 图算法入门4:活动网络-AOE网络和关键路径(critical path)

    AOE网络的基本概念 上一节介绍了活动网络AOV网络的相关内容,这一节将进一步介绍另一种活动网络AOE网络.如果对于有向无环图(DAG),用有向边表示一个工程的各项活动(activity),边上的权值 ...

  3. Progressive Minimal Path Method for Segmentation of 2D and 3D Line Structures论文学习

    Progressive Minimal Path Method for Segmentation of 2D and 3D Line Structures论文翻译和学习 今天就先学到这里吧!明天接着研 ...

  4. 【关键路径问题(Critical Path)——图】

    关键路径问题(Critical Path) 一.基本术语 二.如何求关键路径 1.问题分析 2.求关键路径的步骤 三.算法实现 1.算法思想 2.算法描述 AOE网(Activity On Edges ...

  5. 关键路径例题图表_算法学习记录-图——应用之关键路径(Critical Path)

    之前我们介绍过,在一个工程中我们关心两个问题: (1)工程是否顺利进行 (2)整个工程最短时间. 之前我们优先关心的是顶点(AOV),同样我们也可以优先关心边(同理有AOE).(Activity On ...

  6. 软件项目管理中通过CPM算法求关键路径,最早和最晚开始时间

    首先贴一下百度百科对CPM的定义: 关键路径法(Critical Path Method, CPM)是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种,属于肯定型的网络图.关键路径法将项目分 ...

  7. 信息系统高级项目管理师英语词汇(二)-常见项目管理词汇

    常见项目管理词汇 Day1 数据:Data 工作绩效数据:Work Performance Data 工作绩效信息:Work Performance Information 工作绩效报告:Work P ...

  8. PMBOK泛读(开篇) - 术语表

    常用缩写 缩写 含义 AC 实际成本 BAC 完工预算 CCB 变更控制委员会 COQ 质量成本 CPAF 成本加奖励费用 CPFF 成本加固定费用 CPI 成本绩效指数 CPIF 成本加激励费用 C ...

  9. 48. 数据结构笔记之四十八的有向无环图的应用关键路径

    48. 数据结构笔记之四十八的有向无环图的应用关键路径 "富贵不淫贫贱乐 , 男儿到此是豪雄.-- 程颢" 来看下有向无环图的另一个应用关键路径. 1.  关键路径 与AOV-网相 ...

最新文章

  1. PDF审计工具peepdf
  2. TFS 2008 中文版下载及安装完整图解
  3. Oracle创建简单视图案例
  4. java_math_BigDecimal
  5. opencv中很有趣的仿射变换(Affine Transformation)
  6. 压缩包密码字典_压缩包密码pojie!
  7. 基于SSM+SpringBoot+MySQL的社区管理系统
  8. 单片机c语言小波阈值降噪,一种基于改进阈值函数的小波阈值降噪算法
  9. 最小生成树(Kruskal、Prim)
  10. Jquery.Print实现表格打印
  11. 【PHP】极速分销裂变,疯狂砍价活动
  12. 基于SOME/IP的AP AUTOSAR实战步骤
  13. 精简我们的apk的方法
  14. 推荐10款Java程序员使用的单元测试工具
  15. VC++按F5出现No matching symbolic info found程序运行完直接退出
  16. 计算机图形学10:二维观察之线的裁剪
  17. Windows remote login into Linux methods
  18. Adobe Acrobat DC 安装后报错1603,Microsoft Visual C++2013(x64)运行时安装失败,补丁软件被自动删除的解决办法
  19. 表格内容识别(python-opencv)(一)【9/8】
  20. 免费 去除广告插件 chrome浏览器 用的贼爽!!!

热门文章

  1. box-shadow上下左右四个边框设置阴影样式
  2. 计算机图形学绪论:感知、光、颜色和数学
  3. DataX数据同步工具使用
  4. [pandas] DataFrame 取指定列为某些值的行
  5. 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow第2版》-学习笔记(8):降维
  6. 微机原理与接口技术总结
  7. 2019中国机器人大赛窄足机器人赛后总结
  8. 从顺丰到菜鸟,洋女婿“爆改”俄罗斯邮政
  9. ios UIView全部API解读
  10. 盘点Linux操作系统的十大版本