关键链项目管理中考虑资源约束的接驳缓冲设置新方法
——以某大厦地下停车场第二层开挖管道工程为例*
2023-12-06田文迪孙子丹王仕首
田文迪 孙子丹 王仕首
(1.武汉纺织大学管理学院,湖北 武汉 430000;2.湖北商贸学院,湖北 武汉 430000)
0 引言
项目管理的应用已从建筑和工程领域扩展到信息技术、研发、软件开发以及新产品和服务开发领域。然而,缺乏有效的项目计划和实施,会导致项目交付延迟,甚至在完成前被取消。项目经理为应对这些情况,提出多种不同的管理方法。其中,Goldratt将约束理论(Theory of Constraints,TOC)应用于关键链项目管理方法(Critical Chain Project Management,CCPM)。该方法认为关键链是决定项目工期最长的一条链,与关键路径不同,它不仅考虑了活动之间的紧前约束关系,还考虑了资源约束。在关键链的末端插入项目缓冲来吸收项目中的不确定性,在关键链与非关键链交汇处插入接驳缓冲来保护关键链从而保证项目按时完工。因此,缓冲区成为关键链项目管理的重要内容,缓冲区位置的设置和大小的确定是CCPM研究的热点和重点问题[2]。
现有接驳缓冲区的研究主要集中在缓冲区大小的研究。Tukel等[3]提出了根据资源紧张度和网络密度来确定接驳缓冲区大小的方法,并通过大规模仿真实验证实了所提方法在项目不确定性较低时尤其有效;Zhang等[4]采用设计结构矩阵(DSM)来分析活动之间的信息流,通过由实体资源紧张度和信息资源紧张度组成的综合资源紧张度来调整和确定项目缓冲区大小;张俊光等[5]运用熵权法评估项目的不确定性,并利用模糊方法确定离散程度来计算项目缓冲区;Zohrehvandi等[6]提出一种缓冲区大小和控制算法(BSCA)作为启发式算法,用于计算项目缓冲区和接驳缓冲区;胡雪君等[7]运用贝叶斯网络技术分析关键风险因素,运用资源流网络方法衡量资源约束风险,进行项目缓冲大小的计算;Zhao等[8]提出了一种对关键链项目重排的两阶段方法,并将这种方法与CCPM和RSEM方法结合起来确定缓冲区的大小;郭恒栋等[9]通过考虑不同资源类型,并在资源紧张度的基础上进行改进,提出了一种基于改进资源紧张度、网络复杂度、项目经理风险偏好调整系数等不确定性因素的项目和接驳缓冲区大小计算方法;黄建文等[10]综合考虑资源柔性和资源紧张度对项目的影响,提出了一种计算缓冲区大小以及分配缓冲区的方法。
与上述研究不同的是,Leus和Herroelen[11]提出一种新的缓冲设置方法——ADFF(Adapted Float Factor Model)。该方法将缓冲区分散插入各活动任务之间,被看成是一种分散缓冲管理方法,通过模拟仿真实验,证明该方法在出现扰动较大的情况下能生成比较稳健的、具有鲁棒性的调度计划;Vonder等[12-13]提出了RFDFF(Resource Flow Dependent Float Factor)方法并运用分散缓冲管理思想,比较了多种求解鲁棒性项目调度计划的启发式算法,包括 RFDFF方法、VADE(Virtual Activity Duration Extension)方法、STC(Starting Time Criticality)方法等,最后通过仿真实验,证明STC方法的效果最好。
综上所述,对关键链的研究多集中在关键链方法的改进,缓冲区研究成果集中在缓冲区大小计算,对于缓冲区位置设置研究较少。对于现有缓冲区位置的设置主要分为两种,一种是传统CCPM中的接驳缓冲,可称为集中缓冲;另一种是分散缓冲。赵雁[14]研究了集中缓冲和分散缓冲的区别,结果表明:分散缓冲具有更好的解鲁棒性,当项目工期较紧的情况下,分散缓冲具有更好的鲁棒性;当活动时间的不确定性程度较大时,集中缓冲的质量鲁棒性较好。虽然分散缓冲在项目工期较紧的情况下更加有效,但分散缓冲和关键链的集中缓冲思想存在一定差别。分散缓冲在项目活动任务之间分散插入缓冲,而关键链的集中缓冲则是针对性地插入缓冲保护关键链,在实际项目中操作更简单、合理。因此,首先,对集中缓冲展开研究,指出传统接驳缓冲仅考虑活动的紧前关系,没有考虑资源约束;其次,由于资源约束时常出现传统接驳缓冲无法有效保护关键链的现象,由此提出了一种考虑资源流动的接驳缓冲区设置的方法;最后,结合案例说明该方法的有效性,能够有效保护关键链,提高项目绩效。
1 传统接驳缓冲存在的问题
CCPM方法是一种进度网络分析技术,可以根据有限的资源对项目进度计划进行调整,该方法结合了确定性与随机性办法。传统的CCPM方法执行尽可能晚的调度方法,所有活动都是关键的,所以这些活动的延迟会导致项目完工时间变长,受限的资源也会影响非关键链上的活动。为了缓解这种问题,CCPM引入了项目和接驳缓冲区。传统的接驳缓冲区在关键链和非关键链处插入,以此来保护关键链不受到相应的非关键链上活动延迟所带来的影响。
CCPM方法通过考虑资源受限和某些人为活动的影响来确定项目的持续时间,克服了关键路径方法(CPM)和计划评审技术(PERT)等存在的缺点。后者通过考虑活动的持续时间(分别为确定性和随机性)和优先关系来确定项目的持续时间,而没有考虑资源的受限能力。相反,CCPM确定了关键活动,同时考虑到资源的使用,并引入了项目和接驳缓冲区,以保障项目的最终计划日期。这个方法也可能涉及一些问题,例如由于关键链之外的活动的延迟而导致关键活动的延迟。由于CCPM只考虑了关键活动之间的紧前紧后关系以及资源的约束,没有考虑到非关键链上的活动与关键活动之间的资源情况,如果非关键链上的某个活动与关键链的活动存在资源冲突,该活动的延迟就会发生串联效应,导致接驳缓冲在没有消耗的情况下延迟关键链上的活动。例如,项目中包含有1种可更新资源,项目网络图如图1所示,资源流动图如图2所示,其中项目关键链为S—2—4—5。在这个网络中,活动S是虚拟的。
图1 项目网络图
图2 资源使用图
传统的CCPM方法会在活动3和活动5之间设置接驳缓冲,带有缓冲插入的基准计划图如图3所示。在图2中,由于活动3和活动4之间存在资源的流动,活动3的延迟也会影响到属于关键链上活动4的开始,而缓冲FB失去保护关键链的作用,最终使整个项目的关键链变长,影响整个工期。
传统的CCPM方法效果虽好,但时常会发生接驳缓冲区无法有效保护关键链,导致关键链发生延迟的情况。Vanhoucke[15]指出,虽然在基准计划时间表中插入缓冲区很简单,但这种插入机制通常是一项繁琐的任务,这与关键链/缓冲区管理的总体理念产生冲突。在这方面,传统的CCPM程序中对接驳缓冲区识别的问题是关键链虽考虑了资源和活动优先关系,但接驳链仅基于CPM网络没有考虑到资源的约束。
基于此,本文通过考虑非关键链和关键链活动存在的资源关系,添加附加接驳缓冲,以减少非关键链上活动由于资源约束而影响关键链上活动,进而对项目整体工期造成影响。
2 考虑资源约束的接驳缓冲设置方法
本文在CCPM接驳缓冲(集中缓冲)的基础上,不仅考虑非关键链活动与关键链活动之间的紧前关系,还充分考虑非关键链活动与关键链活动之间的资源流动。设置接驳缓冲,如果非关键链活动i和关键链活动j之间存在资源流动的关系,则在两项活动之间添加缓冲,称之为附加接驳缓冲,保护非关键链活动和关键链活动不受到资源冲突的影响,从而保障项目的完工时间。具体设置步骤如下:
(1)采用Demeulemeester和Herroelen[15]设计的分支定界算法生成项目的最晚开始的基准调度计划。
(2)采用田文迪等[17]提出的启发式算法来识别关键链和非关键链。
(3)在所有非关键链与关键链的交接点添加接驳缓冲区(FB),以此来保护关键链。此时只标记接驳缓冲位置,不计算接驳缓冲大小。
(4)在最晚开始基准计划基础上采用Artigue等[18]方法得到活动之间的资源流动关系。
(5)活动序号由小到大依次判断非关键活动与关键活动之间是否存在流动关系(从非关键活动流向关键活动),若存在,则需要在该非关键活动与关键活动之间添加附件接驳缓冲,同时将原有的非关键链分割成两条非关键链。反复循环,直至查找到所有的附加接驳缓冲。
附加接驳缓冲区大小设置采用类似接驳缓冲大小的方法,即经典的剪切法见公式(1)和根方差法见公式(2)。
(1)
(2)
式中,EFB为附加接驳缓冲大小;Duration(i)为活动i的持续时间;NCC为非关键链;i∈NCC表示活动i在非关键链上。
(6)在第三步标记接驳缓冲位置处插入接驳缓冲。由于本文不是缓冲区设置大小的研究,直接选用经典的Goldratt[1]提出的剪切法见公式(3)和根方差法见公式(4)来计算缓冲区大小
(3)
(4)
式中,FB为接驳缓冲区大小;Duration(i)为活动i的持续时间;NNCC为非关键链;i∈NNCC表示活动i在关键链上,此处非关键链是在第五步循环查找附加接驳缓冲后生成的新的非关键链。
(7)插入接驳缓冲和附加接驳缓冲区后,将缓冲区看成活动,如果出现紧前活动冲突或资源冲突,则进行项目重排,生成一个新的项目调度计划。
3 案例分析
为了验证考虑资源约束的接驳缓冲新方法的有效性,本文以某大厦地下停车场第二层开挖管道工程为例,通过模拟仿真与传统接驳缓冲进行对比实验。该工程项目有10项施工作业,有3种不可再生资源,资源量可用量分别为3,1,2。项目AOA网络图如图4所示。各活动基本信息见表1。
表1 活动基本信息
图4 项目AOA网络图
采用Demeulemeester和Herroelen[16]所设计的分支定界算法得到最晚开始的基准计划,如图5所示。
图5 基准计划图
采用田文迪等[17]提出的启发式算法来识别关键链和非关键链,关键链为S—2—7—8—10,非关键链有两条,分别为1—4—5和3—6—9。
如果采用传统CCPM接驳缓冲方法,可以得到带有缓冲插入的项目基准计划图,如图6所示,图中缓冲大小采用剪切法计算取整获得。可以看出,即使接驳缓冲区未完全消耗,接驳链上活动4的延迟仍会影响属于关键链上活动7的开始,活动4延迟之后的基准计划图如图7所示。
标记接驳缓冲区位置,分别为非关键活动5与关键活动8的交汇处,非关键活动9与关键活动10的交汇处。
在最晚开始基准计划基础上得到活动之间的资源流动关系。
由于该项目存在三种资源,为了得到活动之间存在的资源流动关系,可以根据带有缓冲插入的项目基准计划图分别绘制出三种资源的使用图,如图8所示。
图8 三种资源的使用图
对上述三种资源的使用图进行整理后,可以得到各项活动之间的资源流矩阵表,见表2。查找非关键活动与关键活动之间存在资源流动关系(非关键活动流向关键活动),可以得到活动4与活动7之间存在这种资源流动约束,则只需在活动4和活动7之间添加附加接驳缓冲。在活动4和活动7之间增加新的资源流活动关系后,可以得到新的含有资源流动的项目网络图(图9),其中虚线表示活动之间存在资源流动关系。
表2 资源流动矩阵表
图9 考虑资源约束的项目网络图
从活动序号由小到大依次查询发现非关键活动4与关键活动7之间存在资源流动,则活动4与7之间需要添加新的附加接驳缓冲,同时非关键链1—4—5发生断裂,可以生成两条非关键链1—4和5,采用剪切法计算附加接驳缓冲EFB=(2+2)/2=2,依次反复查询,直到找出所有资源流动关系。
在第三步标记的接驳缓冲处插入接驳缓冲FB1=1(非关键链5的缓冲1/2向上取整为1)和接驳缓冲FB2=(2+1+4)/2=4(非关键链3—6—9的缓冲7/2向上取整为4)。
在基准计划中插入接驳缓冲和附加接驳缓冲后,可以得到一个新的项目基准计划图,插入附加接驳缓冲和接驳缓冲后的项目基准计划如图10所示。
图10 插入附加接驳缓冲和接驳缓冲后的项目基准计划
在确定后新的项目基准计划图之后,对图6和图10两种基准计划进行仿真实验,缓冲大小设置分别采用了经典的剪切法和根方差法,以项目鲁棒性成本(SC)、项目及时完工率(TPCP)、缓冲消耗率(BC)以及项目平均完工时间(APL)4个指标作为评价指标。实验相关参数设置见表3,实验结果对此见表4和表5。
表3 实验参数设置
表4 实验结果对比(采用剪切法计算缓冲大小)
表5 实验结果对比(采用根方差法计算缓冲大小)
从实验结果显示来看,随着项目不确定性的提高,APL在增加,TPCP在降低,SC在增加,BC在升高。所提出来的方法比传统的CCPM方法得到的APL更低,TPCP更高,SC也更低,BC消耗更多。因此,本文提出的方法可有效地保护关键链,从而提高项目绩效。
4 结语
本文综合考虑了非关键活动和关键活动之间存在资源流动关系,提出了设置附加接驳缓冲区的方法,能够很好保护关键链不受非关键活动的影响。这种方法可以减小非关键链和关键链的资源冲突所产生的进度计划偏差,缩短计划工期,提高完工概率,为项目进度管理提供一个有效的方法。该方法通过实例中进行测试,结果显示,运用该方法可降低项目风险。