1. 引言
在现代项目管理领域,传统进度管理方法如甘特图、关键路径法(CPM)及计划评审技术(PERT)长期占据主导地位[1]。然而,随着企业管理精细化程度的提升,资源约束的影响愈发显著,这些方法的局限性也逐渐凸显:一方面,它们普遍缺乏对资源冲突的考虑,难以适应复杂项目的动态需求;另一方面,其在各工序中单独预留安全时间,导致冗余时间过大,增加了项目延期的风险[2]。针对这一痛点,Goldratt博士提出的关键链法(Critical Chain Method)为项目进度优化提供了新思路。该方法通过整合各工序的冗余时间,将其集中转化为关键链上的缓冲区(Buffer),既能缩短整体工期,又能降低延期风险[3]。但现有成果仍存在两方面不足:其一,缓冲区计算方法多依赖经验判断,主观性较强,对项目中客观存在的不确定性因素考虑不足;其二,在检测类项目这一特定领域,相关应用研究较为匮乏,多数检测机构仍依赖传统经验进行进度管理,导致实际操作中常出现两类问题——要么因检测延期交付而违约,要么为追赶进度而省略关键检测步骤,违背质量控制程序。基于此,本文针对检测项目的特性,通过优化缓冲区计算模型对关键链技术进行改进,旨在提升其在检测项目中的适用性。同时,以气体报警器检测项目为实例进行案例分析,期望能为检测机构的进度管理提供可借鉴的方法与实践参考,推动检测项目管理的科学化与规范化。
2. 关键链进度改进方法
2.1. 基于三角模糊数的任务工时估算
(1) 传统工期估算方法
传统上对项目工期估算通常采用计划评审技术(PERT)三点估计,依据历史经验对项目中每个工序给出最乐观时间(
)、最可能时间(
)和最悲观时间(
) 3种时间估计,假设项目工期都服从
分布,运用中心极限定理可得项目工期服从正态分布,可以估计项目工序工期(
)和方差
,这种方法偏主观,评估工序工时缺乏准确性。
(2) 基于三角模糊数的工序工期估算方法
针对该检测项目工期估算问题,本文采用基于三角模糊数的工序工期估算方法。模糊理论在处理模糊不确定性方面有一定的优势。用三角模糊数(l, m, u)来描述工期,其隶属度函数如下:
(1)
隶属度函数
主要靠检测项目技术人员根据检测项目的特点和检测人员的技术水平综合判断确定。每个工序工期不会小于l,也不会大于u,检测工序工期的理想工期为m,当工序工期等于m时,其隶属度函数数值达到峰值
,其分布函数如下图1所示。
Figure 1. Distribution function plot
图1. 分布函数图
累积分布函数公式为:
(2)
根据三角模糊数累积分布函数表达式,得出一致指数。假设工序工期估值为(l, m, u),则一致性水平为h的基准工期模型为:
(3)
为完工率h下的工序工期,不同的项目对一致性指标有不同的要求,由于基于三角模糊数的隶属度函数,50%对应中值点的隶属度达到峰值(通常为1),两侧逐渐降低,反映“完成度越高,不确定性越小”的特性。因此,本文为了使检测项目工序工期估计结果更加接近真实情况,一致性指数取较高的值,趋向于取50%,即以
作为重估后的工序工期。
2.2. 基于启发式算法关键链识别
识别关键链是应用关键链法进行项目管理的第一步。根据关键链定义,满足资源约束的关键路径就是关键链。因此,识别关键链先要找到关键路径,识别约束资源,然后评估关键路径上约束资源对项目总工期的影响,根据优先级规则对资源优化配置,消解资源冲突,得到满足资源冲突的关键路径,即关键链。可以看作在有限资源条件下求最小总工期的资源优化问题[4]。其数学模型如下。
(4)
(5)
(6)
(7)
公式(4)是使项目总工期最小的目标函数(即最小项目总工期函数),公式(5)为工序之间的逻辑关系约束,公式(6)为项目的资源约束,公式(7)为工序工时非负约束。
在确定出关键路径的后,采用启发式算法进行资源调配来识别项目关键链。气体报警器检测项目的进度管理属于中小型项目,只需,找到并行工序存在资源冲突的工序,基于优先规则,对工序逻辑约束关系调整,解决资源冲突即可。而基于优先规则的启发式算法适用于资源受限的中小项目调度。常见的启发式优先规则,如下表1所示。
Table 1. Common heuristic priority rules
表1. 常见的启发式优先规则
优先规则名称 |
定义 |
最小化最早完成时间(min EF) |
优先安排最早能完成的工序 |
最小总时差(min TF) |
优先安排总时差最小的工序 |
最短任务优先(STP) |
优先安排持续时间短的工序,减少资源占用 |
最晚完成时间优先(LFT) |
优先安排截至时间紧迫的工序 |
资源利用率最高优先(RUP) |
优先安排占用关键资源的工序 |
本文中采用最小总时差(min TF)的启发式优先规则,假定网络计划图中同一时刻t,有两项并行工序i,j存在资源的供应量少于该资源的需求量,导致了该资源冲突。为了解决这一资源冲突,不得不推迟工序i或者工序j中一道工序开始时间,从而导致了项目总工期的延长。为了计算对总工期延长的影响大小,定义
为将工序i安排在工序j之前导致延长的工时,定义
为将工序j安排在工序i之前导致延长的工时。
为工序i的最早开始时间,
工序i的最晚开始时间,
为工序i的最早完成时间,
工序i的最晚完成时间,
为任务i的持续时间;
为工序j的最早开始时间,
工序j的最晚开始时间,
为工序j的最早完成时间,
工序i的最晚完成时间,
为任务j的持续时间,资源调配引起的工序工时变化,如图2所示。
Figure 2. Schematic diagram of the principle of resource allocation method
图2. 资源调配法原理示意图
与
的计算公式分别如式(8)和式(9)表示。
(8)
(9)
利用启发式算法,遵循最小总时差(min TF)优先规则,把每种排序组合方案,都计算其工期增加量,找到工期增加量最小的方案。如果
,则将工序i安排在工序j之后,反之
,则将工序j安排在工序i之后,如果
,则任意推迟其中一道工序。若在发生资源冲突的时间点上有两道以上的平行任务,则分别对它们进行两两排序比较,选择最小工期增加量。
2.3. 基于不确定性缓冲区设置
根据工序不确定性三角模糊数值,结合位置权数和风险系数对项目自身属性的影响,确定最终的项目缓冲[5]。
2.3.1. 影响缓冲的因素分析
(1) 位置权数
位置权数是指距离项目开始越远的活动越难以预料,也就是说越靠近结束位置的工序受到前面工序影响的概率越大,导致不确定性越大[6]。以各工序历时的中点为起点,计算与其项目开始时间的距离,再除以项目关键链路的时间长度,得到的数值为位置权数
。计算公式如下所示:
(10)
——项目开始时间至工序i工期中点的最长时间;
——工序i所在链路最长工期;
(2) 风险系数
风险系数指项目管理者在评价估计工时预期风险时,以工序50%完工率工期与最低效率完工时间进行比较,50%完工率工期越接近最低效率完工时间,则风险系数越大,该工序出现延期的情况的概率越大,在计算该工序安全时间产生的工序缓冲区应该越大,反之亦然。本文最低效率完工时间采用工期估计的三角模糊数中u表示,风险系数
计算公式如下所示:
(11)
——工序i在50%完工概率的工期;
——工序i最低效率完工时间。
(3) 安全时间
各个任务的安全时间是指90%完工概率时间与50%完工概率时间的差值,其计算公式如下所示:
(12)
用
表示工序i在50%保证率下工期,
表示安全时间,B表示链路的总缓冲,如图3所示。
Figure 3. Buffer aggregation principle
图3. 缓冲聚合原理
假定各工序的工期是相互独立的,情况a和情况b完成项目的不确定程度不同,分别用链路的方差
和
来表示,则有:
(13)
(14)
当二者完成项目的不确定性程度相同时,应有:
(15)
(16)
(17)
(18)
因此,在保证完工概率不变的情况下,把各个工序的安全缓冲时间集中到项目的尾部时,产生的总缓冲B小于各个工序安全缓冲时间
之和。也就是说,在没有增加项目风险的情况下,将缓冲时间集中到项目尾部的做法可以缩短项目总工期。
2.3.2. 缓冲优化模型
本文首先估计项目关键链工序的工期,然后结合工序的位置权数和风险系数进行不确定性调整,最后运用缓冲聚合原理,将所有工序的缓冲时间集中到项目结尾,具体步骤如下:
首先,确定单个任务安全时间
作为基础变化量,用来量化单个任务“固有的风险冗余”。任务不确定性越高,
越大,缓冲基础需求越高。
其次,引入位置权数
,修正任务位置的依赖效应[7]。传统的根方差法假设所有单个任务“地位平等”,忽略了任务在链路中的位置对项目工期的影响,如关键链末端任务延期会直接导致项目延期,而前端任务延期可通过后续调整弥补。通过置权数
的量化,间接体现了项目后期累积风险。由于检测任务工作各个环节依赖性比较强,使用
作为公式组合因子,线性放大后期任务的缓冲的需求。
的取值范围(1, 2],确保所有工序的位置权重大于1,且后期任务权重更高。
再次,引入风险系数
,修正单个任务风险差异。传统根方差法假设所有单个任务“风险水平一致”,但实际项目中,不同任务延期概率差异显著,如“误差检测”比“报告核验”风险更高。通过
评估项目单个任务进度风险程度,作为公式组合因子,实现对风险的加权修正,直观映射单个任务风险。
最后,将各个组合因子组合后,得到缓冲计算公式为:
(19)
——表示工序i的安全时间;
——表示工序i的位置权数;
——表示工序i的风险系数。
3. 案例分析
3.1. 项目背景
本文选取的研究对象为河南省LY检测中心承接的某化工厂气体报警器检测项目,涉及437台气体报警器。此次委托明确要求在合同签订后45天内完成全部设备的检测并出具报告,以避免影响正常生产及面临行政处罚风险。
3.2. 项目现状
依据中心制定的程序文件和工作人员的经验估算工期得到项目基础信息,如表2所示。
Table 2. Basic information of gas alarm detection items in LY testing center
表2. LY检测中心气体报警器检测项目基础信息
任务编号 |
任务名称 |
紧前任务 |
最乐观时间 |
最可能时间 |
最悲观时间 |
A |
客户需求分析 |
/ |
1 |
2 |
3 |
B |
委托协议签订 |
A |
1 |
2 |
2 |
C |
委托信息登记 |
B |
1 |
2 |
3 |
D |
合同评审 |
B |
2 |
2 |
3 |
E |
技术文件确认 |
D |
1 |
3 |
4 |
F |
检测设备确认 |
C |
5 |
7 |
8 |
G |
现场环境和样品确认 |
C |
2 |
3 |
3 |
H |
检测方法编写 |
G |
3 |
5 |
6 |
I |
误差检测 |
E, F, H |
7 |
9 |
10 |
J |
重复性检测 |
I |
2 |
5 |
7 |
K |
响应时间检测 |
J |
2 |
3 |
4 |
L |
检测验收 |
K |
1 |
2 |
2 |
M |
数据处理 |
L |
2 |
3 |
3 |
N |
报告编辑 |
M |
1 |
2 |
2 |
O |
报告核验 |
N |
1 |
1 |
2 |
P |
报告签发 |
O |
1 |
1 |
2 |
Figure 4. Network diagram of gas alarm detection projects
图4. 气体报警器检测项目网络图
在不考虑资源约束的情况下,气体报警检测项目流程,如图4所示。
根据初始的编制的计划工期,以悲观完工时间估计值为工序时间,利用关键路径(CPM)法对项目进行管理,关键路径A→B→C→G→H→I→J→K→L→M→N→O→P总工期为48天。然后与本文改进关键链进度计划进行比较。
3.3. 关键链缓冲区计算
(1) 工序工期确定
结合PERT的三时时间估算的结果,使l、u作为最乐观和最悲观时间,m为最可能时间研究发现,根据检测技术人员工作经验获得工序的工期模糊数,运用公式(3)的一致性水平为h的基准工期模型,以50%完工率
作为重估后的工序工期。计算结果如下表3所示。
Table 3. Re-evaluated process durations
表3. 重估后的工序工期
任务编号 |
任务名称 |
紧前任务 |
三角模糊数 |
|
l |
m |
u |
A |
客户需求分析 |
/ |
1 |
2 |
3 |
2.00 |
B |
委托协议签订 |
A |
1 |
2 |
2 |
1.71 |
C |
委托信息登记 |
B |
1 |
2 |
3 |
2.00 |
D |
合同评审 |
B |
2 |
2 |
3 |
2.29 |
E |
技术文件确认 |
D |
1 |
3 |
4 |
2.73 |
F |
检测设备确认 |
C |
5 |
7 |
8 |
6.73 |
G |
现场环境和样品确认 |
C |
2 |
3 |
3 |
2.71 |
H |
检测方法编写 |
G |
3 |
5 |
6 |
4.73 |
I |
误差检测 |
E, F, H |
7 |
9 |
10 |
8.73 |
J |
重复性检测 |
I |
2 |
5 |
7 |
4.74 |
K |
响应时间检测 |
J |
2 |
3 |
4 |
3.00 |
L |
检测验收 |
K |
1 |
2 |
2 |
1.71 |
M |
数据处理 |
L |
2 |
3 |
3 |
2.71 |
N |
报告编辑 |
M |
1 |
2 |
2 |
1.71 |
O |
报告核验 |
N |
1 |
1 |
2 |
1.29 |
P |
报告签发 |
O |
1 |
1 |
2 |
1.29 |
(2) 关键线路的确定
根据表3重估工序工期和图4项目网络计划图,以50%完工率
作为重估后的工序工期,确定六个时间参数,即最早开始时间ES、最早完成时间EF、最晚开始时间LS、最晚完成时间LF、总时差TF和自由时差FF,计算结果如表4所示。
在不考虑资源冲突的前提下,以50%完工率
作为重估后的工序工期,确定关键线路总工期为38.32天。
Table 4. Time parameters and resource requirements for the project schedule
表4. 项目进度计划时间参数及资源需求
任务编号 |
|
ES |
EF |
LS |
LF |
TF |
FF |
占用人力资源 |
资源需求量 |
资源最大供应量 |
A |
2.00 |
0.00 |
2.00 |
0.00 |
2.00 |
0.00 |
0.00 |
R4 |
1 |
6 |
B |
1.71 |
2.00 |
3.71 |
2.00 |
3.71 |
0.00 |
0.00 |
R4 |
1 |
6 |
C |
2.00 |
3.71 |
5.71 |
3.71 |
5.71 |
0.00 |
0.00 |
R4 |
1 |
6 |
D |
2.29 |
3.71 |
6.00 |
8.12 |
10.41 |
4.41 |
0.00 |
R4 |
1 |
6 |
E |
2.73 |
6.00 |
8.73 |
10.41 |
13.15 |
4.41 |
4.41 |
R6 |
1 |
1 |
F |
6.73 |
5.71 |
12.44 |
6.41 |
13.15 |
0.71 |
0.71 |
R1 |
1 |
1 |
G |
2.71 |
5.71 |
8.41 |
5.71 |
8.41 |
0.00 |
0.00 |
R1 |
1 |
1 |
H |
4.73 |
8.41 |
13.15 |
8.41 |
13.15 |
0.00 |
0.00 |
R3 |
1 |
1 |
I |
8.73 |
13.15 |
21.88 |
13.15 |
21.88 |
0.00 |
0.00 |
R2 |
2 |
3 |
J |
4.74 |
21.88 |
26.62 |
21.88 |
26.62 |
0.00 |
0.00 |
R2 |
2 |
3 |
K |
3.00 |
26.62 |
29.62 |
26.62 |
29.62 |
0.00 |
0.00 |
R2 |
2 |
3 |
L |
1.71 |
29.62 |
31.32 |
29.62 |
31.32 |
0.00 |
0.00 |
R1 |
1 |
1 |
M |
2.71 |
31.32 |
34.03 |
31.32 |
34.03 |
0.00 |
0.00 |
R2 |
1 |
3 |
N |
1.71 |
34.03 |
35.74 |
34.03 |
35.74 |
0.00 |
0.00 |
R5 |
1 |
5 |
O |
1.29 |
35.74 |
37.03 |
35.74 |
37.03 |
0.00 |
0.00 |
R1 |
1 |
1 |
(3) 识别关键链及消解资源冲突
对照项目进度计划时间参数及资源需求和网络计划图分析,发现资源冲突是在F工序和G工序之间存在R1人力资源冲突,工序F“检测设备”和工序G“现场环境和样品确认”并行时间段共需要R1人力资源2人,而R1人力资源的项目最大供应量是1人。采用最小总时差(min TF)的启发式优先规则算法公式(8)和式(9)进行计算:
(8)
(9)
由于
,根据最小总时差(min TF)的启发式优先规则,选择工序G先于工序F安排,关键线路工期为38.32 + 2 = 40.32天。
Figure 5. Network plan diagram after resolving resource conflicts
图5. 解决资源冲突后网络计划图
重新绘制其他报警器检测项目网络计划图,如下图5所示。
(4) 相关参数计算
在资源冲突消解后,关键工序为A→B→C→G→F→I→J→K→L→M→N→O→P,项目缓冲区PB插入点在工序P之后。非关键链分别是D→E链路插入FB1,H链路插入FB2,根据公式(10)~(12)计算参数
,
,
以及
,计算结果如表5所示。
Table 5. Calculation of buffer zone-related parameters
表5. 缓冲区相关参数计算
任务编号 |
u |
|
|
|
|
|
|
缓冲类型 |
A |
3 |
2.00 |
2.55 |
0.55 |
0.03 |
0.67 |
0.38 |
PB |
B |
2 |
1.71 |
1.95 |
0.24 |
0.07 |
0.85 |
0.22 |
PB |
C |
3 |
2.00 |
2.55 |
0.55 |
0.12 |
0.67 |
0.41 |
PB |
D |
3 |
2.29 |
2.68 |
0.39 |
0.12 |
0.76 |
0.33 |
FB |
E |
4 |
2.73 |
3.45 |
0.72 |
0.18 |
0.68 |
0.58 |
FB |
F |
8 |
6.73 |
7.45 |
0.72 |
0.29 |
0.84 |
0.78 |
PB |
G |
3 |
2.71 |
2.95 |
0.24 |
0.18 |
0.90 |
0.26 |
PB |
H |
6 |
4.73 |
5.45 |
0.72 |
0.27 |
0.79 |
0.72 |
FB |
I |
10 |
8.73 |
9.45 |
0.72 |
0.49 |
0.87 |
0.94 |
PB |
J |
7 |
4.74 |
6.00 |
1.26 |
0.66 |
0.68 |
1.41 |
PB |
K |
4 |
3.00 |
3.55 |
0.55 |
0.75 |
0.75 |
0.73 |
PB |
L |
2 |
1.71 |
1.95 |
0.24 |
0.81 |
0.85 |
0.37 |
PB |
M |
3 |
2.71 |
2.95 |
0.24 |
0.87 |
0.90 |
0.41 |
PB |
N |
2 |
1.71 |
1.95 |
0.24 |
0.92 |
0.85 |
0.40 |
PB |
O |
2 |
1.29 |
1.68 |
0.39 |
0.96 |
0.65 |
0.50 |
PB |
P |
2 |
1.29 |
1.68 |
0.39 |
0.99 |
0.65 |
0.50 |
PB |
根据公式(19),计算PB和FB结果如下:
3.4. 关键链缓冲区模拟
本文运用Oracle Crystal Ball软件验证本研究方法在缩短工期方面有效性[8]。实施步骤如下:
(1) 在Microsoft Excel表单上建立基于关键链技术进度计划仿真模型,以50%完工率
工序工期作为各个工序模拟仿真的基准工期,其次依据网络计划图中各个工序之间的逻辑关系设置最早开始时间ES,最早完成时间EF。
(2) 启动软件工具包,依据三角分布对基准工序时间定义假设和工序E最早完工时间定义预测。
(3) 执行仿真5000次,获得工期频率分布图,如图6所示,统计值与百分点表,如图7所示。
Figure 6. Duration frequency distribution diagram (CCPM)
图6. 工期频率分布图(CCPM)
Figure 7. Statistical values and percentage table of project duration distribution (CCPM)
图7. 项目工期分布统计值与百分表(CCPM)
根据仿真实验结果分析,采用本文关键链法进行项目进度管理,整个项目工期呈现出的区间范围为34.10~45.72天。本文关键链法进度计划仿真模型所得到的项目期望工期呈正态分布。基于关键链的项目进度计划完工工期42.65比传统关键路径的完工工期48天缩短了5.35天,提高了11.2%。考虑到项目进度管理中的不确定因素的影响,即使是缓冲区全部消耗完毕,按工期42.65天的完工概率94.74%,能够保证项目按时交付。因此,仿真模拟结果表明,运用本文所提出的关键链进度缓冲区管理方法减少了不必要的安全时间,所得到进度计划相对于关键路径法有着更短的完工工期,可以有效的实现对项目进度执行的管控,能较好地缩短检测项目交付工期,并且保证较高的完工概率。
4. 结论
本文提出了一种综合考虑工时估算、资源约束和不确定性影响因素的缓冲区大小计算方法,以检测项目组织的特点和人力资源约束的假设为基础,通过案例分析和仿真模拟对比,验证了本文方法的可行性和在缩短工期方面的优势。所提的方法符合检测项目进度管理的现状,提出了有效的缩短工期的方法,为LY检测中心其他项目的进度管理提供了一定的参考。
需要说明的是,本研究仅以LY检测中心气体报警器检测项目为案例进行分析,单一案例的行业属性、项目规模及管理模式具有一定局限性,可能导致研究结论的普适性有待进一步验证。未来研究将扩大案例覆盖范围,将该方法应用于不同行业、不同复杂度及不同组织模式的检测项目中,通过多案例对比分析验证方法的普适性。