艾琪
摘 要:针对资源受限情况下关键路径不连续、活动执行顺序不稳定、活动间依赖关系不明确等问题,从关键链项目进度管理的思想出发,提出基于共享资源链的关键链识别新方法。该方法通过对资源在活动间使用和转移情况的跟踪来建立活动间的共享资源链,保证了活动间因资源冲突导致的隐性依赖关系的确定,结合项目网络图中显性的逻辑链,以达到识别项目关键链的目的。最后通过算例演示方法的应用过程,说明其可行性及有效性。
关键词:关键链;共享资源链;逻辑链;约束理论
中图分类号:F12 文献标志码:A 文章编号:1673-291X(2013)06-0014-03
引言
项目进度管理不仅是项目管理中的重要组成部分,也一直是其中的重点和难点。自20世纪90年代以来,约束理论(TOC)在项目管理中的直接应用形成了关键链项目管理,作为项目进度管理第三代技术,关键链被欧美企业广泛应用并取得成功,通过实践证明关键链项目管理可以有效地控制项目并缩短项目工期和减少项目成本。关键链项目管理较传统的项目管理方法有许多优点:以关键链取代关键路径,不仅考虑项目活动之间的紧前关系,还考虑项目活动的资源约束。并以关键链的长度来确定项目的工期。因此如何确定关键链,是关键链项目管理的五步聚焦法的第一步,也是关键链项目管理中最为重要的一步。
关键链的识别是非常复杂的,目前国内外学者普遍认为关键链的识别过程本质上是结合关键链思想的单/多资源约束下的进度编排问题。Newbold[1]提出利用ACTIM值大小作为项目调度优先权的判别标准,并通过ACTIM值识别出项目关键链;Herroelen W S[2]深入分析了关键链项目管理的优缺点,提出基于最晚完工时间LFT作为优先规则的调度方法更符合工程实际。管在林[3]提出一种基于统计理论的贡献度算法,提出关键指数和关联指数两个概念,以贡献度为优先规则从整体角度来考虑活动对项目目标实现的影响。莫巨华[4]基于RCPSP的调度理论和方法设计了识别关键链的通用算法,采用LFT规则及串行调度方案生成初始调度计划,再通过左移及右移操作,比较活动最早和最晚开始时间来识别关键链。田文迪 [5] 将工序氛围已完成、正在执行、候选、无法执行四个状态集,按照执行顺序,设计一种启发式算法,在LFT优先规则基础上进行关键链的识别。马国丰 [6] 提出单资源约束下的一种启发式算法,为关键链技术的应用提供了定量支撑。但实际项目管理环境复杂,涉及资源较多,刘士新等 [7] 涉及了基于关键链的项目调度新方法,基于优先规则的并行调度算法对项目进行反向调度,获得最小化项目周期的近优调度计划,在近优调度计划中识别关键链。
本文着眼于关键链产生的背景,提出共享资源链的概念,描述活动间的资源依赖关系。将网络计划中给定的紧前紧后关系作为逻辑链,为显性约束;同时通过对资源在活动间使用、转移情况的跟踪来建立共享资源链,确定隐性约束,保证完整地识别关键链,并对一种以上的关键链进行比较,最终确定最优关键链。
一、基于共享资源链识别关键链
在CPM进度计划中,活动的执行顺序严格由逻辑关系确定,并在实施中保持不变。但在关键链进度管理中,活动的执行时动态变化的,这是由于项目在资源限定的约束下,由于资源冲突,需按照一定规则调整作业执行,从而导致活动时间窗、时差的改变,意味着网络组织顺序的重构,那么影响项目工期的关键路径发生转换。
定义1 逻辑链:在网络计划中由于工艺、技术等形成的紧前紧后约束,使活动i和活动j形成串行关系,那么活动i、j之间形成一条逻辑链,记作i?j。
定义2 共享资源链:在网络计划中由于资源冲突,对于不存在逻辑约束但是共享某种或多种资源的活动i和j,那么活动i、j之间形成一条共享资源链,若活动i的优先权大于j,记作i[?] j。
在关键链进度管理中,由于关键资源的限制,一些活动无法按照CPM规划的最早时间开始,必须推迟其执行时间,知道所需资源获得满足为止,即需要一部分活动完工释放占有的资源为另外一些活动开工创造条件。因此本文通过建立共享资源链来跟踪资源在活动间这种隐性的依赖关系。
参考田文迪在关键链识别一文中对活动状态的描述,将活动分为四类:{done}状态集,表示已完成的活动;{doing}状态集,表示正在执行的活动;{todo}状态集,表示紧前活动均已完成的活动;{donot}状态集,表示不具备开工条件的作业。建立活动间共享资源链的流程(如图1所示)。
定义3 关键链:一条由逻辑链和共享资源链共同组成的,从项目开始到结束,链条最长的一条有序排列链路。
将已经建立的共享资源链放在与逻辑链同等重要的地位,确定所有从项目开始到结束的完成路径,从中确定路径最长的路径为关键链。
二、算例分析
这里采用文献[8]中的例子[8],其中包含的作业基本信息(如表1所示),CPM进度计划(如下页图2所示)。由于资源限量为6单位,资源出现冲突,因此识别关键路径改为识别关键链。
图2 不考虑资源冲突的CPM进度计划
第一步:计算网络参数。根据CPM进度计划,计算各活动的总时差TFS=0,TFA=6,TFB=2,TFC=0,TFD=6,TFE=8,TFF=5,TFG=0,TFH=6,TFI=0,TFW=0,由此确定活动被调度的优先顺序为{S,C,G,I,W,B,F,A,D,H,E}。令{done}={S}。
第二步:建立共享资源链。{done}={S},紧后活动A、B、C均转入{todo}集,按照优先规则,优先调度活动C,活动C转入{doing}集。而活动B、A没有足够的资源,无法开工,活动C结束后转入{done}集,其紧后活动为G,但是G的紧前活动并没有全部完成,因此调度活动B,转入{doing},判断:活动B的开工是由于活动C 完成释放了足够的资源,因此在C与B之间建立资源链;同样地搜索,在活动F与A之间建立资源链。
第三步:识别关键链。从项目开工到结束之间的路径有三条:(1)S?C[?] B?F[?] A?E?W;(2)S?C[?] B?F[?] A?D?H?W;(3)S?C[?] B?G?I?W。对应的工期分别为D1=17,D2=19,D3=17,关键链为其中最长的一条链路,因此S?C[?] B?F[?] A?D?H?W为关键链。
结论
在关键链项目管理思想基础上,提出共享资源链的概念,在此基础上建立识别关键链的新方法,易于理解,通过对文献8中的算例进行分析,明确了该方法的正确性和可行性。但是关键链项目管理实施是一个非常复杂的过程,关键链的识别仅仅是单项目关键链项目管理的第一步,如何充分利用关键链以及对缓冲区的管理和控制等一系列问题仍有待进一步研究。