文章编号:1006-2475(2012)04-0033-04
计算机与现代化
JISUANJIYUXIANDAIHUA
总第200期
基于蒙特卡洛模拟的项目风险管理方法研究
方
维
(同济大学电信学院计算机应用系,上海201804)
摘要:工程项目的复杂性和波动性导致项目的不可预测性,因此风险管理显得愈发重要。本文关注风险管理中定量分析方法,为进一步风险应对提供数据。重点阐述蒙特卡洛模拟在定量分析中的运用。关键词:项目管理;风险管理;风险量化分析;蒙特卡洛模拟;PERT图;迪杰斯特拉算法TP301中图分类号:
文献标识码:A
doi:10.3969/j.issn.1006-2475.2012.04.009
ProjectRiskManagementMethodsBasedonMonteCarloSimulation
FANGWei
(Dept.ofComputer,InstituteofElectronicsandInformationEngineering,TongjiUniversity,Shanghai201804,China)Abstract:Thepaperfocusesonthequantitativeriskanalysismethod,whichquantizesthescheduleriskinprojectriskman-agementtosupporttheRiskResponse.ThepaperdescribestheapplicationoftheMonteCarlosimulationinquantitativeanaly-sisanddevelopstheriskmanagementsystem.
Keywords:projectmanagement;riskmanagement;quantitativeriskanalysis;MonteCarlosimulation;PERTgraphic;Dijk-straalgorithm
0引言
险管理具体实现过程。
现代工程项目通常有投资大、持续时间长、技术风险高等特征,随着非确定性因子的增多,工程项目面临的风险越来越大,项目风险管理在工程管理中发挥着越来越重要的作用。如何进行准确的风险分析,为后续的风险应对与管理提供准确的数据支持已成为日益关注的话题。工程项目中时间表的制定取决于技术水平、资源分配等因素,而这些因素通常有着非确定性的特点,因此作为风险控制三大目标(进度、经费、质量)之一的进度风险,同时也影响项目经费与项目质量:当进度风险发生时,项目经费也会随之增加,同时项目质量也会受到影响;而一旦当工程进度失控,导致重大延迟时,可能会导致巨大的损失。因此,在现代风险管理中,一个重要的目标就是对项目管理中的进度不确定性进行评估。在前期进行风险评估时,可以采用蒙特卡洛模拟的随机数算法来对工程进度进行评估。本文从风险定量分析方法出发,详细描述进行蒙特卡洛模拟的流程,最后,给出风
1
1.1
理论背景
风险管理[1]
风险管理中包括了对风险的量度、评估和应变策
略。理想的风险管理是一连串排好优先次序的过程,
可能导致最大损失的事情优先处理,而相对风险较低的事情则押后处理。通过风险识别、风险估计、风险驾驭、风险监控等一系列活动来防范风险的管理工作。风险模型定量化分析[2-3]主要是计算基本事件、危险事件发生概率的点估计和区间估计以及不确定性,在概率的意义上区分各种不同因素对风险影响的重要程度1.2
蒙特卡洛模拟简介[4]
蒙特卡洛方法的基本原理及思想如下:当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。
收稿日期:2011-12-06
作者简介:方维(1982-),男,湖北荆门人,同济大学电信学院计算机应用系硕士研究生,研究方向:项目管理,风险管理。
34计算机与现代化2012年第4期
蒙特卡洛方法通过抓住事物运动的几何数量和几何特征,利用数学方法加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡洛解题归结为3个主要步骤:(1)构造或描述概率过程;(2)实现从已知概率分布抽样;(3)建立各种估计量。1.3PERT图简介[5]
PERT(ProjectEvaluationandReviewTechnique)即计划评审技术,简单地说,PERT是利用网络分析制
它能协调整个计定计划以及对计划予以评价的技术。物力、时间、资金,加速划的各道工序,合理安排人力、
计划的完成。在现代计划的编制和分析手段上,PERT被广泛使用,是现代项目管理的重要手段和方法。
PERT图的基本要求:(%1)事件和活动在网络中必须按照一组逻辑法则排序,以便把重要的关键路线确定出来。这些法则包括后面的事件在其前面的事件全部完成之前不能认为已经完成,不允许出现“循环”,就是说,后继事件不可有导回前一事件的活动联系。
(%2)网络中每项活动可以有3个估计时间。就是说,由最熟悉有关活动的人员估算出完成每项任务所需要的最乐观的、最可能的和最悲观的3个时间,用这3个时间估算值来反映活动的“不确定性”。
(%3)需要计算关键路线和宽裕时间。关键路线是网络中期望时间最长的活动与事件序列。宽裕时间是完成任一特定路线所要求的总的期望时间与关键路
对于任一事件线所要求的总的期望时间之差。这样,
来说,宽裕时间就能反映存在于整个网络计划中的多余时间的大小。
PERT图的局限性:)对于非确定性的工程项目,PERT则无法给出(1
准确的反映[6-9]。
(2)PERT图忽视了项目图中各路径中的交互关系,它假设项目图中只存在一条关键路径。但在实际的项目中,影响项目完成的可能有多条关键路径。
对于这方面文献[10]和文献[11]提出了一些改进算法。
分布:如下例(见图1)所示,输入为X1,X2,…,Xn的相互独立的子工程,其完成时间具有不确定性,各子工程持续时间分别服从参数为λi的指数分布。
(2)根据相互关系建立便于计算的工程网络图,其技术细节详见2.2节。
(3)根据给定的概率分布对各个子工程进行一次抽样[14],得出每个子工程的持续时间的具体值。
(4)根据每个子工程的抽样结果及工程网络图使
(详见2.3节)得出总工程的完成时间R。用Dijkstra算法
(5)重复抽样和计算过程,并绘制出分布曲线。
图1蒙特卡洛模拟示意图
2.2基于PERT图建立活动网络
2
2.1
系统实现原理
蒙特卡洛模拟步骤[12-13]
2.2.1PERT图工程关系简介
PERT图中工程之间存在这4种关系:(1)FS(Finish-Start)后一个工程不能在前一个工程完成之前开始;
(2)SS(Start-Start)后一个工程不能在前一个工程开始之前开始;
)FF(Finish-Finish)后一个工程不能在前一个(3
工程完成之前完成。
(4)SF(Start-Finish)后一个工程不能在前一个工程开始之前完成。
将PERT图中每一个工程的开始点看成图中的一
N1、N2分别为前后节点,ARC12个节点,如图2所示:
为两节点之间的边长,N1s为N1的开始时间,N1d为经
N1f为N1的结束蒙特卡洛抽样后N1工程的持续时间,
Lag为N1与N2之间的间隔时间,其它类推。节点时间,
元素及关系图如图2所示。2.2.2网络图构建算法
按照PERT图中的工程关系进行广度优先搜索遍历PERT图,每当遍历到PERT图中的一个节点,若是第一次遍历到,则生成其网络图中的节点,并由其前驱节点与该节点生成开始时间N2s;若该网络节点先
本文主要实现风险管理的PERT图以及基于
PERT图的蒙特卡洛模拟:
(1)输入每项子工程的相互关系及持续时间概率
2012年第4期
方维:基于蒙特卡洛模拟项目风险管理方法研究
表1
工程编号
1234
工程市场调查资金筹备需求分析产品设计产品研制制定成本计划制定生产计划筹备设备筹备原材料安装设备调集人员准备开工投产
关//FS1FS1FS4FS3,5FS6FS2,7FS2,7FS8FS7FS9,10,11
系
35
产前分析表
最短工时(周)最晚工时(周)基本工时(周)
243681114111
612512163438331
3848122326221
图2节点元素及关系图
56789101112
前已生成,则将此次生成的N2s.new与N2s.old进行比
较,具体过程如下:
(1)FS:ARC12=N1d+LAG,N2s=N1s+N1d+
取N2s为最大值,调整所LAG,若N2s.new>N2s.old,
有以N2为入度的弧。
(2)SS:ARC12=LAG,N2s=N1s+LAG,同理,若N2s.new>N2s.old,取N2s为最大值调整所有以N2为入度的弧。
(3)FF:此时两工程之间不再存在有弧,因此依
N2s=N1s+N1d-据该关系调整N2开始时间即可:
同理,若N2s.new>N2s.old,取N2s为最大的那个N2d,
值调整所有以N2为入度的弧。
(4)SF:该情况基本不可能发生,暂不考虑。遍历完成后即可生成网络图,然后依据Dijkstra算法计算关键路径。
2.3关键路径及Dijkstra算法[15]
定理1设G为给定的确定性网络,设G中最大的
(权值最大的边),按照如下方法生成的工时为vMax
图G*为G生成的有向图:
(1)G*的边eij为G对应的工序(i,j);(2)G*的各个边的权定义为:v*(i,j)=(j-i)*vMax-v(i,j),则有向图G的从起点到终点的最短路径即为网络工程G的关键路线。
证明:详见参考文献[15]。进行该权值转化后,就可用Dijkstra最短路径算法来求得关键路径。
图3产前分析网络图
关键路径计算及结论
依据2.3节给出的Dijkstra算法进行关键路径的计算,得出关键路径长度,表示模拟一次完毕,然后重复进行蒙特卡洛模拟过程,进行1000次模拟,结果如图4所示,其中横坐标表示天数,纵坐标表示概率。
3.2.2
3
3.1
工程案例
问题的提出
表1为某产品前期分析表。
图4工程完成时间分布图
3.2模拟步骤
抽样取值及网络图生成
依次录入表中的数据,对应到各子工程的最短工时、最长工时、相互关系等。然后根据其分布进行模拟
则可生成2~6取值,例如工程1服从2~6的均匀分布,
间的任意值。
待赋值完毕后按照2.2.1中的算法进行网络图构
)。建及赋值(见图33.2.1
该结果表明在进行1000次模拟的情况下,总工程
在33.91天内完成的概率为51%。同时,拖动图4中上方滑块即可查看其它概率下工程可能完成的时间,比如有85%的概率工程将在36.49天内完成。
4结束语
现代工程项目实施面临着巨大的风险,以ERP项目为例,约有一半遭到失败[16]。为了对项目进度风险进行评估,可以采用风险定量分析等手段。本文给出
36计算机与现代化2012年第4期
了蒙特卡洛模拟的详细实现步骤,蒙特卡洛是一种数值计算方法,它可以给出问题的可能性结果,为了得出问题的最优解,必须进行大规模多次模拟。
由于项目风险要素异常复杂,在风险定量分析中很难对各风险做出非常精确的估算,如果没有足够多及足够准确的经验数据做为支持,误差就会逐级累积放大,风险定量分析的结果就会由于误差太大而失去实际价值。因此,在具体使用中还需要足够的经验数据的输入,这就要求风险管理人员必须具有一定的素质。在我国项目研究开发领域,目前还缺乏规范而有效的风险管理技术和措施,主要还是侧重于通过项目中期评估的方式来监控项目进度,粗略评估项目风险。因此,需要在项目管理者中真正地广泛建立起风险管理的观念,建立系统的进度风险、费用风险、质量风险管理一体化管理体系,并做好经验数据库的采集与积累。
参考文献:
[1]ProjectManagementInstitute.AGuidetotheProjectMan-agementBodyofKnowledge(PMBOKGuide)[S].
[2]JacobBums,JeffNoonan,LauraKichak,etal.NASArisk
assessmentandmanagementroadmap[C]//SystemsEngi-neeringCapstoneConference.Hampton,VA,2001:183-187.[3]BarneyBRoberts.Integratedriskassessment:Resultsand
lessons-learned[C]//ProceedingsofRiskManagementSym-posiumSponsoredbytheUSAF,SMCandtheAerospaceCorporation.1999.
[4]YoungHoon,LisaIngal.ExploringMonteCarlosimulation
[J].RiskManagement,applicationsforprojectmanagement
2007,9(1):44-57.
[5]FazarW.Programevaluationandreviewtechnique[J].The
AmericanStatistician,1959,13(2):646-669.
[6]LiQinghua.TheCollectionofChineseNetworkPlan[M].
807-812.Beijing:EarthquakePress,1993:
[7]LittlefieldTK,RandolphPH.Ananswertosasieni’s
questiononPERTtimes[J].ManagementScience,1987,33(10):1357-1359.
[8]MacCrimmonKR,RyavecCA.Ananalyticalstudyofthe
PERTassumptions[J].OperationsResearch,1964,12(1):16-37.
[9]LiGansheng,WangZhuofu,BaiHongkun.Networkplan-ningcomputersimulationandriskanalysisnanalyticalstudyofthePERTassumptions[J].JournalofHohaiUni-versity,2001,29(1):65-69.
[10]BajisDodin.DeterminingthekmostcriticalpathsinPERT
network[J].OperationsResearch,1984,32(4):859-877.[11]BajisDodin.Boundingtheprojectcompletiontimedistribu-tioninPERTnetwork[J].OperationsResearch,1985,33(4):862-881.
[12]WangZhuofu,ChenDengxing.Riskanalysisofwatercon-servancyandhydropowerconstructionschedule[J].Journal
1999,27(4):83-84.ofHohaiUniversity,
[13]JinDezhi,WangZhuofu.Constructionprojectschedulerisk
analysisandassessmentusingmonteCarlosimulationmethod[C]//2010IEEEInternationalConferenceonAd-vancedManagementScience(ICAMS).2010:597-601.[14]JamalFAI-Babar,KeithCCrandall.Systematicrisk
.Journalmanagementapproachforconstructionproject[J]
ofConstructionEngineeringandManagement,1990,116(3):533-546.
[15]ShuXingming.Seekingcriticalpaththroughtheshortest
pathmethodanditsimplementationofSAS[J].Journalof
27(1):264-269.GuangxiUniversity,2002,
[16]王燕鸣.制造业信息化项目风险管理[J].科技管理研究,
2003(1):12-15.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第16页)
andAssociatedInformationExchange-DataandCommuni-cationsSecurity-Part1:CommunicationNetworkandSys-temSecurity-IntroductiontoSecurityIssues[S].
[11]孙中伟,张荣刚.智能配电网通信系统访问控制研究[J].
电力系统保护与控制,2010,38(21):118-121.
[12]MicrosoftCorporation.MicrosoftSecurityDevelopmentLife-
cycle(SDL)ProcessGuidance-Version5.1[EB/OL].http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=9295,2011-10-10.
[13]OWASPOrganization.OWASPTop10-2010TheTenMost
CriticalWebApplicationSecurityRisks[EB/OL].https://www.owasp.org/index.php/Top_10#tab=Main,2010-10-10.[14]GB/T22080-202010,08/ISO/IEC27001:2005,信息技术
安全技术信息安全管理体系要求[S].
[4]国家电网公司.国家电网公司全面落实信息安全等级保
护制度信息安全保障能力显著提高[J].信息网络安全,2010(4):75-77.
[5]张海彬.黑龙江省电力信息系统等级保护技术安全设计
[J].电力信息化,2010(7):43-46.
[6]余勇,林为民.电力行业信息系统等级保护的研究及实
施[J].信息网络安全,2009(12):29-31.
[7]杨义先,李洋.智能电网中的信息安全技术[J].中兴通
信技术,2010,16(Z1):36-40.
[8]关志涛,颜立,何杰涛,等.面向智能电网的信息安全技术
展望[J].陕西电力,2010,38(3):5-8.
[9]杨漾,黄小庆,曹一家,等.变电站通信报文安全认证及实
时性仿真[J].电力系统自动化,2011,35(13):77-82.[10]IEC/TS62351-1:2007(E),PowerSystemsManagement
因篇幅问题不能全部显示,请点此查看更多更全内容