工程网络计划蒙特卡洛仿真及进度风险分析
第21卷 第4期
文章编号:1006-9348(2004)04-0143-05
计 算 机 仿 真
2004年4月
工程网络计划蒙特卡洛仿真及进度风险分析
王仁超,欧阳斌,褚春超
(天津大学建筑工程学院,天津300072)
摘要:运用网络计划蒙特卡洛仿真(MCS),从宏观的项目层和微观的工序层分别进行进度风险分析。在项目层,仿真计算获取总工期的统计分布,据此计算某一计划工期的项目完工概率或完工风险,工期;在工序层,通过计算工序关键概率(ACP)和关键指标(ACI),掌握关键线路、关键工序分布情况,外,用VisualC++开发了一个网络计划MCS软件,关键词:网络计划;蒙特卡洛仿真;进度风险;项目总工期;;中图分类号:TP391.9 文献标识码:A
1 引言
,CPM)和计划评审技术(PERT)。CPM适用于工程中各工序间逻辑关系和持续时间都确定的情况。然而,实际工程项目中通常包含诸多不确定性因素,进而导致工程进度计划存在一定的风险,因而有必要对进度风险进行分析。PERT为各工序持续时间不确定而逻辑关系确定的情况,提供了简捷的处理方法,即:基于“三时估计法”计算各工序持续时间的期望值D及方差σ,即D=(a+4m+b)/6,σ=(b-a)/36(其中a、最可能、最乐观的工序估计持续时间);m、b分别为最悲观、然后可按CPM处理,并计算方差、完工概率等。然而,这些简化处理基于以下简化假定
[2][3]
2
2
2
[4][7]
。而这些可分别借助各工序ACP和
ACI指标分析来实现。因此,本文提出进度风险分析应兼顾
宏观的项目层与微观的工序层,即关注项目整体进度风险的同时也应重视对风险源工序的辨识,并开发相应网络计划
MSC软件予以实现。
2 网络计划MCS基本原理
2.1 网络计划时间参数的计算
网络计划按图形表现形式可分为单代号网络(AoE)和双代号网络(AoN)。由于单代号网络具有建模直观而简捷、网络图易于绘制、便于计算机编程实现等优点,本文研究采用这种形式。假定项目共有n项工序,为建立一个具有单一始点和终点、无回环的项目网络模型,统一添加一个虚拟的开工工序和完工工序。网络中各节点(工序)时间参数及工期的计算公式如下[1]:
工序最早开始时间ES:
ES0=0
ESi=max{ESh+Dh}(i=1,…,n+1
)
(1)
:①各工序持续时间服从β分
布,且相互独立;②网络计划图中只有一条线路(期望关键线路)占支配地位,其它线路成为关键线路的概率可忽略不计;③网络计划中线路的持续时间服从正态分布。而事实上,没有任何的经验证明工序持续时间的最适合形式是β分布
[2]
;
实际中,由于工序持续时间的不确定性,几乎所有的线路理论上都有可能成为关键线路[4],导致实际网络中经常出现两条或多条关键、准关键线路的情况[3];线路的持续时间服从正态分布的假定以线路间相互独立以及中心极限定理适用为前提,与工程实际存在差距。
[2][3]
工序最早完成时间EF:
EFi=ESi+Di
(2)
针对上述问题,通常在网络计划中引入MCS。然而,纵观国内网络计划MCS及其进度风险分析的相关研究[3][5][6],往往只关注于整个项目完工概率或风险值。这些分析对于宏观决策固然有着重要的作用,但网络计划的具体实施与管理是以工序为生命线的,倘若进度风险分析仅局限于项目层显然是片面的、缺乏实践指导意义的。对于计划的具体实施者和管理者,不仅需要了解网络计划内部的关键线路和关键工序的分布情况,还需甄别出其中的高风险工序作为进度风
网络计划的计算工期Tc:
Tc=EFn+1
(3)
工序最迟完成时间LF:
LFn+1=EFn+1
LFi=min{LFj-Dj}(i=n,…,0
)
(4)
工序最迟开始时间LS:
LSi=LFi-Di
(5)
收稿日期:2003-04-22
工序总时差TF:
—143—
TFi=LFi-EFi=LSi-ESi(6)
3
F(T)(也称为完工概率曲线)。据此可求(8)式近似表达式:
3
Pr=1-P(T≤Tp)=1-F3(Tp)
工序自由时差FF:
FFi=min{ESj}-EFi
(7)
(9)
于是,由完工概率曲线可进一步获得进度风险曲线。利用完工概率曲线和进度风险曲线,根据总工期T与完工概率或进度风险率的对应关系,则可进行如下进度风险分析:
1)输入指定某一总工期,查询相应完工概率和进度风
上述各式中:下标i(i=0,…,n+1)表示各工序的ID号,其中0、n+1分别为虚拟开工、完工工序的ID,{h}、{j}分别为工作i的紧前工序、紧后工序ID集。
网络中关键工序和关键线路可由时差法确定[1]:总时差为零的工序为关键工序;从起点节点到终点节点均为关键工序的线路应为关键线路。
2.2 网络计划MCS原理
MCS作为一种仿真技术,是一种特殊的数值计算方法,
险率。
2)给定某一完工概率或风险水平,查询相应总工期。
4 关键度指标
4.1 ACP
,“关键概率”,其中ACP更为适用,:、成为关键工
4]
其计算常需借助MCS。
是充分利用计算机计算能力的随机试验方法
[8]
。网络计划
MCS通常是在工程项目尚未进行之前通过仿真试验在计算
机上预演实际工程系统的运行情况,其基本思想[6](工序持续时间Di),验、,(1)~(7),问题的解。实际工程项目中,概率模型的构造通常可选取某β分布、种经典概率分布形式,如均匀分布、三角分布、正态分布、指数分布等。
ACP(i)=n(i)critical/N(10)
式中n(i)critical表示工序i在总共N次仿真试验中成为关键工序的次数,可由统计获得。
4.2 ACI
ACI最早由Bowers和Williams[7]率先提出,用于衡量各
工序进度风险水平。其定义为:工序持续时间(Di)与项目总工期(T)间的线性相关系数[4][7]。即
ACI(i)=Corr(Di,T)
3 网络计划中的总体进度风险估计
3.1 网络计划进度风险的含义
σ(T)]Corr(Di,T)=Cov(Di,T)/[σ(Di)・
Cov(Di,T)=E(Di・T)-E(Di)・E(T
)
(11)
风险目前尚无统一的定义,一般认为风险即是不期望发生事件的客观不确定性(概率)及后果。网络计划中的进度风险
[3][5][6]
通常定义为实际工期T超过规定(或计划)工期TP
上式中:Corr(Di,T)、Cov(Di,T)分别为Di与T的相关系数
)、)分别表示相应随机变量的期望值和标σ(・和协方差,E(・
σ(T)、准差。其中E(T)、E(Di,T)通常很难精确求解,常需借助于MCS求其近似解。其求解公式分别如下:
E(T)=
的概率Pr,即:
Pr=P(T>Tp)
(8)
由于工序持续时间不确定,实际工期T具有随机性,可用
MCS抽样工期来模拟。3.2 项目总工期仿真分析
N
k=1N
∑T
N
(k)
(12)
(k)
σ(T)=
N
作为项目决策者,通常会对总工期的统计分布较为关心。这种统计分布可通过网络计划MCS所得的总工期样本分组计频近似获得[3][5][6]。假定仿真总共运行N次,运行第
k(k=0,…,N-1)次时,随机抽样得出第k个样本计划及
Cov(Di,T)=
=
k=1
k=1
∑(T
(k)
i
N
2
-E(T))/(N-1)
∑(D
N
(k)(k)
-E(Di))(T-E(T))
其总工期{T(k)},具体操作步骤如下:
1)确定分组区间总范围为[Tmin,Tmax],其中Tmin=min{T
(k)
k)(D(・∑・T)-E(Di)・E(T)i
k=1
(13)
},Tmax=max{T
(k)
};
2)根据分组区间总范围可先指定分组数然后确定组
当工序持续时间概率模型为某种经典概率分布时,(11)
式中σ(Di)、E(Di)可由分布参数直接求取,而对于一般分布而言也常需借助于MCS,即:
E(Di)=
N
距,或是先指定组距再确定分组数。统计各分组中的频数,得频数直方图;
3)将绝对频数转换为相对频数,即得近似的总工期分
N
i=1N
∑t
(k)
i
布密度函数f
3
3
(14)
(k)i
(T);
4)对f(T)按区间累加可得到总工期的近似累积分布
σ(Di)=
k=1
∑(D
2
-E(Di))/(N-1)
—144—
(12)~(14)式中:D(ik)表示第k次仿真运行时,随机抽样得出第k个计划的第i项工序持续时间;T(k)则表示第k个计划按前述时间参数公式所得的计算总工期。
该指标最初应用于BaSEMA公司所承担的一些重大的国防工程项目中,实践证明ACI作为各工序进度风险评级的依据,是必要而有效的。
4.3 ACI与ACP的结合应用
ACI、ACP这两个指标从不同角度反映了各工序的相对
管理软件MSProject和P3成果的基础上,充分体现了本文研究思路。其中,网络计划MCS的具体运行流程如图1所示。以下结合实例分析予以展示。
某水电站高线公路工程,预先定(、名
重要(关键)程度,但两者有着紧密的联系。从风险分析的角度来考察:ACP是进度风险概率的重要影响因素,因为只有可能处于关键线路上的工序才能最终影响到项目总工期;然而,它却与风险的另一要素———后果并无多大关联。而ACI则不然,从相关系数的统计学意义可知,它所反映的是某一工序持续时间对项目总工期的影响程度,是对风险两要素一定程度上的综合反映[4][7]。
据此,Williams[7]将ACP、ACI可[7]还同时指出,
ACP、ACI,若单独使用都可能得出
,1),存入数据库中。为便于比较分析,分别采用
CPM/PERT和
图1 程序流程图
有悖于管理者直觉的不合理结论。因而,在工程进度在工序层次的风险分析中应兼顾ACP和ACI。具体思路如下:
1)对于ACI和ACP都较高的工序,理应将其作为进度
MCS两种方法。其
中,CPM/PERT法中各工序持续时间为其概率分布的期望值;设定MCS仿真次数N=10000。运行程序,分析相应仿真结果(如表1、
2,图2、3所示):
1)由表2,网络
管理中的重中之重,此类工序不仅是实现工期赶工或压缩工期的关键途经,此外,同时还应加强风险管理以消除或降低其不确定性影响;相反,而对于那些ACI和ACP都较低的工序,则可相应降低管理要求。
2)对于ACP高、ACI低或是ACP低、ACI高的工序则应
予以特殊考虑。
①对于前一种类型的工序,管理者应主要关注于如何缩短此类型工序的持续时间(比如对于那些资源驱动工期的工序投入更多的资源)。理由如下:ACP高意味着此类型工序极有可能位于关键线路成为关键工序,也就是说此类型工序往往成为影响项目总工期的“瓶颈”,是工期赶工或压缩能否实现的关键所在。另一方面,ACI低则意味着此项工序并非高风险,不作为工期风险管理的重点。
②后一类型的工序应列入风险防范及管理的重点,对其有必要采取强有力的进度风险管理措施。理由如下:风险管理理论中,十分强调对于“稀少事件”的管理[7],这种类型
(Zero-In2的工序类似于“稀少事件”中被称为“零—无穷小”finityDilemmas)的风险情况(例如核电站的重大事故):虽然其
计划MCS期望工期为651.4,完工概率为53%(由图3可得)(其理论值为
50%,误差可接受);而PERT计算工期为639.8(见图6),其完
图2 项目单代号网络图
工概率仅为31%、进度风险达0.69,表明PERT方法偏于乐观、风险偏大,与文献[3][9]分析相吻合。
2)ACP(见表1)以概率形式直观而清晰地反映了各工序
的关键程度,较之CPM/PERT单一关键线路包含有更丰富的信息“:最关键”线路0→1→4→5→14→19→23→24,与PERT中期望关键线路相吻合(图2中用粗箭线标识);此外,0→1→4→6→7→16→17,0→2→8→11→16→17→24等线路也是不容忽视的。
3)根据ACI对各工序进行进度风险评级,工序4、24、14、6、11、7、19可视为导致进度风险的最为薄弱的六个工序环
关键概率很小,但ACI高很大程度上便意味着高风险,一旦该工序位于关键线路上成为关键工序,它便会严重影响到项目总工期。
5 网络计划MCS软件及实例分析
基于上述原理,笔者用VisualC++自行开发了一套的网络计划MCS软件系统NETSIMU。该系统在吸收著名项目
节,为进度风险防范与管理的“关键”。此外,分析中还应注意将ACP、ACI相结合,两者兼顾,具体参照前述管理思路。
—145—
图3 总工期分布直方图以及完工概率、风险曲线
表1 项目基本信息
各工序基本输入信息
ID[***********][1**********]920
关键度指标
持续时间分布(单位:天)
Uniform(95,119)N(148,41.1)[131,174]Triangle(158,169.8,184)N(60,21.4)[50,78]Uniform(130,166)N(119,38.6)[101,135]Triangle(127,137.3,159)N(178,38.4)[158,199]Triangle(56,78.5.94.6)Uniform(61,95)N(92,37.5)[76,121]Triangle(121,139.7,154)N(140,30.6)[128,158]N(214.5,59.6)[197,238]Triangle(91,104.4,119)Uniform(64,82.5)N(130,34.8)(112,148)Triangle(97.5,131,154)N(62,16.1)[52,79]Triangle(42,63.5,83)
ACP(i)1.0000.74400.25600.00000.74400.51160.23240.23240.25600.04650.00000.20950.00000.00000.51160.00000.48840.48840.00000.51160.0000
ACI(i)0.00000.08780.05870.08970.44320.04910.23240.17600.11920.11590.01950.20770.06150.11160.30240.02260.01020.08050.12180.16880.0442
工序名称
开工
1#、2#洞进口之间便道施工1#洞k1+758.74~k2+316段开挖
紧前工序
—
0001446282,381010557,9,111612,131414
临建、附企修建
2#洞进口洞脸开挖
2#洞k1+758.74~k2+316段开挖1#洞进口洞脸开挖k1+523~k2+310段开挖k1+316~k2+480段开挖k1+480~k2+510段开挖1#洞进口衬砌
涵洞工程
1#洞出口衬砌1#洞路面、排水工程
桩号k3+310~k4+438.64段开挖
2#洞进口衬砌
1#、2#洞之间明线段路基工程1#、2#洞之间明线段路面、排水工程1#洞灌浆工程2#洞进口明挖2#洞灌浆工程
—146—
各工序基本输入信息
21222324
2#洞进口衬砌2#洞路面、排水工程2#洞出口路面、排水工程
15151917,18,20,21,22,23
Triangle(96,108.9,117)N(92,25.8)[79,111]Triangle(31,44.5,55)Uniform(5,8)
关键度指标
0.00000.00000.51651.0000
0.03360.10720.02190.3247
工程竣工验收
2
)[a,b]表示区间[a,b]内、 注:Uniform(a,b)表示区间[a,b]内的均匀分布;Triangle(a,b,c)表示区间[a,b]内、模数为c的三角分布;N(μ,σ2
均值为μ、方差为σ的正态分布。
表2 CPM/PERT与MCS总工期比较表
CPM/PERT
MCS
Tmin=603.7;
Tmax=710.8;E(T)=651.4
[3] 王卓甫,等.水利水电施工应用PERT[J].河海
大学学报,2002-1,30(1):44-[4] EEinactivitynetworks
],Journal2000,(127):220-[5],.[J].系统工程理论与
总工期T(天)
2
(T)总工期方差σ
639.824.412
20.632
,1998,
(4):24-28.
6 结束语
,、各工序
ACP和ACI、较为精确的MCS算
[6] 王卓甫,陈登星.水利水电施工进度计划的风险分析[J].河海
大学学报,1999-7,27(4):83-87.
[7] TMWilliams.Whatiscritical[J],InternationalJournalofProject
Management,1993(4),11:197-200.
[8] 谭跃进,陈英武,易进先.系统工程原理[M].长沙:国防科技大
法;将自行开发的MU系统应用于实例分析,结果表明该系统是合理有效的。文中研究成果不仅有利于工程决策者、管理者从整体上掌握项目风险情况,保证项目的如期完工;而且有助于不同风险偏好程度的决策者(偏好、厌恶或是适中)制定合理的项目总工期;同时,还可使管理者准确把握工程进度控制及其风险管理中的关键工序环节,从而有效地指导进度计划的具体实施。参考文献:
[1] 中国建筑学会建筑统筹管理分会.工程网络计划技术规程教程
[M].北京:中国建筑工业出版社,2000-3.
[2] 李若刚,等.关于网络计划模型中的时间不确定性的讨论[J].
学出版社,1999-111235-279.
[9] 吴之明.网络计划中的时间价值和时间风险[J].系统工程理论
与实践,1993,(4):24-28.
[作者简介]
),男(汉族),山东龙口人,副教授,王仁超(1963—
博士,主要研究方向:大型工程系统分析、项目管理及计算机仿真;
),男(汉族),湖南嘉禾人,硕士研欧阳斌(1980.6—
究生,主要研究方向:项目管理、系统分析与仿真;
),男(汉族),河南南阳人,硕士研究生,主要研究方褚春超(1979.1—
系统工程与电子技术,1997(8):40-45.
向:项目管理、系统分析与仿真。
MonteCarloSimulationofProjectNetworkPlanningandScheduleRiskAnalysis
WANGRen-chao,OUYANGBin,CHUChun-chao
(CivilEngineeringInstituteofTianjianUniversity,Tianjin300072,China)
ABSTRACT:UsingMonteCarloSimulation(MCS),projectscheduleriskanalysisisimplementedatboththemacroscopiclevelofprojectandthemicroscopiclevelofactivity.Attheprojectlevel,thestatisticaldistributionoftheprojectcompletiontimecanbeobtainedbysimulationcalculation.Onthebasisofthis,theprojectcompletionprobabilityorcompletionriskcanbeacquiredbygivingaprojectcompletiontime,orarationalprojectcompletiontimecanbedeterminedbygivingacertaincompletionprobabilityorcompletionrisklevel.Attheactivitylevel,twocriticalityindices,ActivityCriticalityProbability(ACP)andActivityCrucialityIndex(ACI),arecalculated,throughwhichnotonlythedistributionofcriticalpathsandcriticalactivitiesinthenetworkarerevealed,butalsothehigh-riskactivitiesareidentified.Furthermore,anetworkplanningsoftwarewiththefunctionofMCShasbeendevelopedusingtheVisualC++andisappliedtothescheduleriskanalysisofaproject.
KEYWORDS:Networkplanning;Montecarlosimulation(MCS);Schedulerisk;Projectduration;Activitycriticalityprobability(ACP);Activ2itycrucialityindex(ACI)
—147—