关键链法在不确定项目调度问题中的应用分析

时间:2021-11-04 12:58:15 资料 我要投稿

关键链法在不确定项目调度问题中的应用分析

摘 要:在实践中,项目的执行往往伴随着不确定因素的出现,因此项目经理需要采取措施以应对这些不确定。关键链法作为约束理论在项目管理中的应用,其在项目不确定性的应对中有着很大的潜力。关键链法应对不确定性是通过设置时间缓冲的方式来进行的。其首先将任务的安全时间从工期估计中分割出来,再通过某种缓冲区设置方法,如剪贴法、根方差法、APRT和APD,将安全时间以项目缓冲和输入缓冲的形式设置用以吸收不确定性。通过与其他不确定性项目调度方法的比较,指出了关键链法的优势和不足。   关键词:关键链;不确定;项目调度   中图分类号:C93 文献标志码:A 文章编号:1673-291X(2013)01-0218-03   引言   项目管理是管理科学的一个重要分支,它为项目成功的实施提供了一种有效的手段,是种特别适合于大型、复杂、环境多变、不确定性因素很多的一次性任务或项目的管理方法。项目管理改善了对各种资源利用的计划、组织、指挥和控制,对管理实践做出了重要贡献。随着科学技术的发展和经济的全球化,生产规模越来越大,复杂性越来越高,市场竞争也越来越激烈,对企业的管理和对生产过程的监控都提出了更高的要求,企业组织结构和生产组织方式更加趋向于面向项目的方式,项目管理问题也由此广泛地存在于产品研发、软件开发、建筑工程、飞机及轮船制造、过程重组、运营维护等领域之中。   项目进度是项目管理的重要目标之一。经典的项目进度管理方法是在确定性的环境实施的。然而在实际情况中,项目总是或多或少地面临一些不确定因素,如任务工期不确定、资源约束不确定、工序关系不确定等。不确定因素可能打破预期的假设,并且破坏方案的可行性,影响原计划方案的优化性能。因此对于项目经理而言,采用有效手段以应对项目环境中存在的不确定性,是提高项目成功率的必要条件。   关键链项目管理(Critical Chain Project Management,CCPM)[1]是约束理论(Theory of Constraints,TOC)在项目管理上的应用成果。在传统的CPM/PERT技术的基础上,CCPM 在项目进度管理中考虑了人类行为的影响因素,并将约束理论、聚集理论等引入到计划的制订中,通过设置缓冲区、监控关键链、使用最晚开工的计划、消除资源冲突等一系列措施[2~3],来解决传统项目管理中存在的种种问题,如工序工期估计过高却又很少被提前完成、工序提前完工的时机得不到利用、路径合并与资源并行分配导致项目延期等 [4],并有效地控制了学生综合症和帕金森定律在项目员工行为中的出现。CCPM为项目进度管理问题提供了一整套全新的解决方案,其中也包括应对不确定性,但Herroelen [5] 指出CCPM本身仍存在很多缺陷,其应对不确定性在某些方面仍有不足。   本文的目的是分析关键链法在不确定项目调度问题中的应用。首先本文介绍了关键链方法提出的背景。其次我们对关键链法应对不确定性的原理进行了分析。最后我们将关键链法与其他不确定项目调度方法进行了比较。   一、从约束理论到关键链   前文已经指出,CCPM是约束理论(TOC)在项目管理中的应用成果。约束理论是Goldratt提出的一种崭新的管理理论。它倡导从整体的、系统的角度来看待问题,指出要改进整个系统,必须找到系统中最薄弱的那个环节,通过改进这个环节,来提高整个系统的性能。实际上,TOC否定了一个传统的观点,即对系统的局部改进最终能导致系统的整体改进,它认为只有改进系统最薄弱的环节,才能提高系统的性能,而其他的局部改进均是在做无用功。对于系统的最薄弱环节,Goldratt称其为制约因素。TOC实施的步骤如下所示:(1)识别系统的制约因素;(2)决定如何利用系统的制约因素;(3)将系统中的其他因素从属于制约因素;(4)采取措施改进系统的制约因素;(5)如果经过前面的步骤,系统的制约因素已经被打破,那么回到第一步。注意不要让惰性成为系统的制约因素。   TOC通过重复这些步骤,不断地改进系统的性能。并且从理论上说,这些步骤适用于所有的系统。   按照约束理论的思想,提高项目管理效果的首要步骤是找出项目的制约因素。对于大多数情况而言,工期目标是项目最重要的目标。因此项目经理首先要找出制约项目工期的因素。传统的项目进度管理技术CPM/PERT,将决定项目工期的最长的一条任务路径成为关键路径。但是关键路径仅仅考虑了任务之间的紧前紧后关系,并没有考虑任务之间资源冲突的可能性,因为Goldratt这条路径并不是真正制约项目工期的制约因素,而提出了关键链的概念作为项目的制约因素。Newbold [6] 定义关键链为考虑项目的技术约束和资源约束下决定项目总工期的任务序列。因此CCPM首先需要识别出项目的制约因素—关键链。当关键链被识别出之后,CCPM通过设置时间缓冲的方式对其完工进行保护,这个被设置在关键链后的时间缓冲被称为项目缓冲(PB)。对于那些不属于关键链的任务,Goldratt将它们称作非关键链。为了防止非关键链对关键链的执行造成影响,CCPM通过在非关键链与关键链相接的地方设置时间缓冲的.方式来对关键链进行保护,这个时间缓冲则被称为输入缓冲(FB)。Oya [7] 将CCPM实施的步骤总结如下:(1)估计项目每个任务的最可能工期;(2)依照任务的紧前紧后关系调度每个任务到它的最晚开工时间进行开工;(3)消除任务之间的资源冲突;(4)识别项目的关键链和非关键链;(5)在关键链的后面设置项目缓冲;(6)在每条非关键链与关键链的交接处设置输入缓冲。   二、关键链法应对不确定性的原理   关键链应对不确定性的能力实际上是通过时间缓冲区的设置而得来的。Goldratt认为人们在估计任务所需的完工时间时往往会给出完工概率很大的安全估计而不是最可能估计,安全估计与最可能估计的时间差被称为安全时间。采用安全估计的目的是为了提高任务的完工率,然而统计学理论告诉我们,实际上为了达到所需的完工率,项目并不需要这么多的安全时间进行保护。如任务工期的标准差为σi,而由这些任务组成的序列工期的标准差为σ。当任务工期之间相互独立时,根据统计学定理,得:   那么可知,即项目为了应对不确定性所需的安全时间小于每个任务为应对不确定性所需安全时间的加和。Goldratt同时指出,由于学生综合症等因素的影响,员工总倾向于降低工作效率以充分使用分配的时间而不是按照正常的效率提前完工,因此每个任务安全时间的设置实际上没有达到应有的效果。由于以上的原因,Goldratt提出将任务的安全时间分割出来统一以时间缓冲区的模式进行设置和管理,以更好地应对项目的不确定性。   CCPM设置的缓冲区分为项目缓冲PB、输入缓冲FB和资源缓冲RB三种,其中项目缓冲和输入缓冲属于时间缓冲。项目缓冲被设置在关键链的最后,用以吸收关键链上的任务的不确定性,因此它的安全时间来自于关键链上的任务拥有的安全时间。输入缓冲被设置在每条非关键链与关键链相交接的地方,用以吸收非关键链上任务的不确定性,以保证非关键链不会对关键链的执行造成影响,它的安全时间来自于相应非关键链上的任务拥有的安全时间。对于从任务的时间估计中分割出来的安全时间,CCPM并不直接将其作为时间缓冲进行设置。由于前面的分析我们已经知道,项目为了应对不确定性所需的安全时间小于每个任务为应对不确定性所需安全时间的加和,因此CCPM均先通过某种缓冲区设置方法将这些分割的安全时间缩小,再将其作为缓冲区进行设置。   目前最主要的缓冲区设置方法有四种:剪贴法、根方差法、APRT和APD。剪贴法由Goldratt提出,它直接将安全时间的一半作为缓冲区进行设置。剪贴法最大的优点就是简便,然而使用剪贴法设置的缓冲区大小会随着任务工期的增长而线性增长,Herroelen[5]指出这种设置方法在大项目中会生成过大的缓冲区。根方差法是基于中心极限定理提出的。当任务工期之间相互独立时,工期的标准差之间存在等式(1)所示的关系。Newbold[6]认为任务的安全时间是标准差的2倍,因此从等式(1)上我们可以得出:   其中,Ui表示每个任务的安全时间。APRT和APD均由Oya [7] 提出,它们是考虑了项目网络特性的自适应缓冲区设置方法。在计算公式上APRT和APD与根方差法类似,只不过它们二者是对任务工期的方差之和进行开方,同时乘以一个参数K。APRT的参数K是通过对项目网络的资源紧性进行计算得来的,而APD的参数K则是对项目网络的网络复杂度进行计算得来的。注意到如果参数K等于2,那么APRT和APD实际上就变为了根方差法。   Herroelen[5]指出CCPM在设置输入缓冲时会存在两个难题。一是输入缓冲过大可能会造成非关键链的长度超过关键链。二是输入缓冲的设置可能会打乱原来的资源分配顺序,造成新的资源冲突。对于第一个问题,通常的解决办法是为输入缓冲区的尺寸设置一个上限,保证该非关键链不会长于关键链。而对于第二个问题,通常的解决方法是在输入缓冲的设置时进行重计划,以重新分配资源的方式来避免资源冲突。Goldratt并不推荐使用新的方法对这些问题进行解决,他强调与其为了生成一个完美的计划而努力,不如将更多的精力放在如何成功地执行项目之上。但应该指出的是,如果不解决这两个问题,那么CCPM生成的原始计划对项目执行的指导能力将会大大下降,计划本身甚至会变得不可行。因此在设置输入缓冲时采取措施解决这两个问题是十分必要的。   三、关键链法与其他不确定性项目调度方法的比较   不确定性项目调度作为一个热点问题,其调度方法已经得到广泛研究。在Herroelen [8] 的综述中,不确定性项目调度的方法被分为四大类:反应式调度、随机调度、主动调度和模糊调度。反应式调度(Reactive Scheduling)是当项目执行阶段出现干扰因素时对基准调度计划进行修复的调度方法;随机调度(Stochastic Project Scheduling)一般不生成确定了任务执行时间的基准调度计划,而是通过求得决定任务执行顺序的调度策略(Scheduling Policies)来进行项目调度;模糊调度(Fuzzy Project Scheduling)是以模糊理论为基础来获得确定了任务的模糊开始和结束时间的模糊调度计划;主动调度(Proactive Project Scheduling)则是根据已知的不确定因素的信息生成一个“受保护”的基准调度计划,相对于其他调度方法,主动调度注重提高基准调度计划的鲁棒性。这四类方法在应对项目的不确定性上各有所长。CCPM在应对不确定性上采用的是设置时间缓冲的方法生成了“受保护”的基准调度计划,因此它是一种主动调度方法。   Ballestín[9]在其对不确定性项目调度的分析中指出,当项目的不确定性程度很高时,一个确定性的基准调度计划的作用变得十分有限。因此采用动态调度的随机调度方法是一个合适的选择。然而基准调度计划对于组织和安排资源、与外部单位进行协调起着重要的作用,Herroelen[8]和Stijn[10]也强调了一个初始的基准调度计划对于调度质量的重要性。CCPM的一个优点就是它提供了一个生成有效的基准调度计划的方法。使用CCPM进行项目管理,可以在有效应对不确定性的同时,避免了因为没有基准调度计划而导致在资源的分配和与外部因素的交流上出现的困难。然而,由于CCPM设置缓冲区的主要目标是提高项目的完工率,其生成的基准调度计划是有些脆弱的。相对于CCPM,Stijn[11]介绍了另一类以提高计划的稳定性为目标的方案鲁棒调度方法。采用这类方法生成的基准调度计划能够使得任务在执行时的实际开工时间偏离计划开工时间的程度很低,因此它降低了由于实际执行与计划偏离造成的与外部因素沟通的成本。与方案鲁棒调度方法相比,CCPM专注于提高项目的完工率,同时使用CCPM生成的计划的工期也比较低[11]。   结论   作为约束理论在项目管理中的应用,关键链法在应对项目调度中的不确定性上有着良好的能力。关键链法应对不确定性的能力是通过设置时间缓冲区的方式得到的,其原理是将任务工期估计中的安全时间分割出来,以项目缓冲和输入缓冲的形式设置到任务之间以吸收执行过程中可能出现的不确定性。关键链法作为一种主动调度方法,能够在有效应对不确定性的同时,生成一个对指导项目执行和与外部因素进行协调有很大帮助的基准调度计划。虽然这个基准调度计划在稳定性上表现欠佳,但是它能保证较高的完工率,且相对于提高计划稳定性的方法,关键链法生成的计划的工期也比较低。总的来说,关键链法作为一个崭新的项目管理技术,其在应对不确定性上的潜力是很大的。   参考文献:   [1] Goldratt,E.Critical Chain[M].Great Barrington:North River Press,1997.   [2] Rand,G K.Critical Chain: Theory of constraints applied to project management [J].International Journal of Project Management,2000,   18(3):173-177.   [3] Herman,S.An investigation into the fundamentals of critical chain project scheduling [J].International Journal of Project Management,   2000,(6):363-369.   [4] 褚春超.工程项目进度管理方法与应用研究[D].天津:天津大学博士学位论文,2006.   [5] Herroelen,W.and Leus,R.On the merits and pitfalls of critical chain scheduling [J].Journal of Operations Management,2001,(5):559-577.   [6] Newbold,R.C.Project Management in the Fast Lane-Applying the Theory of Constraints.Boca Raton: The St.Lucie Press,1998.   [7] Oya I.Tukel,Walter O.Rom,Sandra DuniEksioglu.An investigation of buffer sizing techniques in critical chain scheduling [J].European   Journal of Operational Research,2006,172(2):401-416.   [8] Herroelen,W.and Leus,R.Project scheduling under uncertainty: Survey and research potentials[J].European Journal of Operational   Research,2005,165(2):289-306.   [9] Ballestín,F.When it is worthwhile to work with the stochastic RCPSP?[J].Journal of Scheduling,2007,10(3):153-166.   [10] Stijn Van de Vonder,Demeulemeester,E.and Herroelen,W.A classification of predictive-reactive project scheduling procedures[J].   Journal of Scheduling,2007,10(3):195-207.   [11] Stijn Van de Vonder,Demeulemeester,E.and Herroelen,W. The use of buffers in project management: The trade-off between stability   and makespan[J].International Journal of Production Economics,2005,97(2):227-240.   [责任编辑 王晓燕]   收稿日期:2012-11-23   作者简介:周意坤(1988-),男,江西南昌人,硕士研究生,从事项目管理、关键链研究。

【关键链法在不确定项目调度问题中的应用分析】相关文章:

考研政治 矛盾分析法在大题中的应用12-01

“结构分析法”在解题中的运用01-20

关键链挣值法的信息系统工程监理的进度控制分析01-13

关键隐含条件在物理计算题中的应用07-29

图象法在物理解题中的应用论文09-09

关键绩效指标法在医院绩效管理的应用论文09-04

无网格法在弹塑性问题中的应用10-07

企业如何应用边际分析法07-06

混合线性分析法的原理及应用07-11