摘 要:針對IT項目進度基線定義質量普遍偏低的問題,提出了一種資源約束條件下基于蒙特卡洛模擬的進度風險量化評估方法。首先,考慮資源對進度的限制問題,提出資源約束條件下的活動歷時抽樣方法;其次,提出在在活動歷時隨機變化情況下,項目關鍵路徑動態識別方法,研究項目工期概率分布問題。最后,通過實例表明,資源約束條件下的蒙特卡洛模擬方法,能夠有效地評估IT項目中的進度風險,輔助項目決策。
關鍵詞:資源約束 蒙特卡洛模擬 IT項目進度 風險量化評估
1、引言
在多種管理方法、技術和手段對項目活動涉及的風險采取有效控制,以保證安全、可靠地實現總目標。IT項目進度問題是項目管理四大目標之一,進度的管理關系到整個項目的成敗[1]。然而,由于進度風險的不確定性和復雜性,人們對項目進度難以做出有效的分析和評估,以致常常做出錯誤的決策。因此,如何對IT項目進度風險進行合理、有效地評估,是項目管理專家們一直討論的熱門話題。
國內外專家對項目進度風險分析的現有研究,按成果主要有活動歷時的研究、經典PERT網絡的研究、關鍵路徑從概率方面的定義研究、蒙特卡洛(Monte Carlo)在風險分析中的應用研究等。目前,在項目管理實踐中,用得較為廣泛的是以經典PERT/CPM為核心的網絡計劃技術,但其在活動歷時估算和關鍵路徑的確定上的存在明顯缺陷,從而導致預測誤差,影響項目決策[2][6]。
蒙特卡洛方法作為一種模擬技術,在項目風險等復雜隨機問題的處理上有很大的優勢;同時,隨著計算機技術的發展,可以進行大量的抽樣,問題求解精度越來越高,具有了很高的可靠性,能很好的指導實踐[4][5]。本文定位在資源約束條件下研究基于蒙特卡洛的IT項目進度風險量化評估方法,以期在活動歷時隨機波動的情況下,更合理地分析項目工期變化規律,輔助項目決策。
2、相關研究基礎和概念
2.1蒙特卡洛方法原理
蒙特卡洛方法又稱隨機抽樣技巧或統計試驗方法,是一類以概率統計理論為基礎,通過隨機變量的統計分析、隨機模擬,求解數學、物理、工程技術問題近似解的方法[2][4]。蒙特卡洛方法能夠比較逼真地描述事物的特點和過程,解決一些傳統數值方法難以解決的問題,因而該方法的應用領域日趨廣泛。
蒙特卡洛方法主要是利用各種不同分布的隨機變量的抽樣序列模擬特定的問題,求出該問題解的估計值。有這樣一個故事,在一次戰爭中,一位將軍要測量一個湖的面積,包圍湖的空地的面積已知,但是無法通過敵人嚴密的防線。于是他令炮兵向湖面及周圍空地發射炮彈,同時他帶著幾個人用望遠鏡觀察彈著點。包圍湖面的空地的總面積為S,隨機發射的炮彈總數是M,而落入湖中的炮彈數是M1,則由統計關系
S/S1=M/M1
即可以計算出湖的面積S1。
這就是蒙特卡洛的基本思想,即:當所求問題的解與某個事件的數字特征有關時,可以通過某種試驗的方法得出該數字特征值,通過它求得實際問題的解。假設所要求解的變量X是隨機變量,數學期望E(x),那么近似確定X的方法是對x進行N次重復抽樣,產生相互獨立的x的序列x1,x2,…,xn,并計算其算術平均值:
根據柯爾莫哥羅夫大數定理有:
因此,當N充分大時,xN≈E(x)=x成立的概率為等于l,也就是說xN作為X的估計值。
使用蒙特卡洛方法解決問題的一般過程可以分為四個步驟:
1)對求解的問題建立概率統計模型,使所求的解恰好是該模型的概率分布或數學期望。對于本身就具有隨機性質的問題,如粒子運輸問題,主要是正確地描述和模擬這個概率過程。對于本來不具備隨機性質的確定性問題,比如計算定積分、解線性方程組等,就必須事先構造一個人為的概率過程,它的某些參數正好是所要求問題的解。
2)根據概率統計模型的特點和計算實踐的需要,盡量改進模型,以便減小方差和降低模擬費用,提高計算的效率。
3)建立對隨機變量的抽樣方法。有了明確的概率過程后,為了實現過程的數字模擬,必須實現從已知概率分布的隨機數的抽樣。例如為了得到E(x)的估計值xN,關鍵在于得到x的序列:x1,x2,…,xN,x的產生是由隨機變量x的分布f決定的。這種根據己知分布規律產生的隨機變量杏的具體數值x1,x2,…,xN,稱為分布f的一個子樣,xk為子樣的一個元素。
4)給出獲得所求解的統計估計值及其方差。
2.2 IT項目資源約束
在IT項目中,活動資源對計劃活動的歷時有影響,因為分配給計劃活動的資源,以及這些資源是否用于項目,將影響大多數活動歷時。為說明這個問題,首先明確幾個概念,即活動歷時、活動工時和資源單位[3][5]。
1)活動歷時:表示完成該任務所經歷的實際時間。
2)活動工時:表示資源執行任務的工作時間。
3)資源單位:是對資源每一單位任務持續時間內的工作時間的度量單位,通常用百分數表示。
他們之間的關系:活動工時=活動歷時×資源單位
在實際中,對于特定的任務,常常因為資源的使用是固定的,需要適當地調節活動時間來平衡。
2.3 風險量化評估
風險是指損失發生的不確定性(或稱可能性),是不利事件發生的概率及其后果的函數,即R=f(p,C),式中R為風險,P是不利事件發生的概率,C是不利事件發生所導致的后果。風險分析主要分為定性和定量兩種,以定性分析為主的評估方法是通過界定風險源,初步判明風險的嚴重程度,并對系統風險進行評估的方法。以定量分析為主的評估方法是在定性分析的邏輯基礎上,基于定性風險分析的數學處理,得出各個風險源的風險量化指標,再經過合成,得到所要評估的風險的大小或重要程度。目前,比較成熟的以定量分析為主的風險評估方法有:蒙特卡洛(Monte Carlo)模擬法、決策樹等[1]。
2.4 經典PERT網絡計算
經典PERT方法認為,每一活動歷時為隨機變量,不能給出確定的數值,但可以通過專家給出三種時間的估計:即最小值a,最可能值和最大值b。并假定各活動相互獨立,活動歷時服從b分布。各活動的歷時期望值Di和方差s2i可以用下列公式估算:
在確定了各活動歷時Di和方差s2i后,經典PERT經不確性問題轉化為確定性問題,并用CPM方法解決[9]。但經典PERT假定項目工期服從正態分布,同時只有一條關鍵路徑,忽略了其它路徑成為關鍵路徑的可能,從而導致了進度評估的精度不足。
3、資源約束條件下基于蒙特卡洛模擬的IT項目進度風險評估方法
隨著計算機的發展,蒙特卡洛模擬的應用越來越廣泛,現在可以很方便地應用它來處理項目風險評估等隨機問題。應用蒙特卡洛方法進行IT項目進度風險評價的主要思路是:對于項目中歷時為隨機型的活動,假定它服從一定的分布,然后再利用計算機產生符合該分布的隨機數來模擬應該活動的歷時,再運用CPM/PERT法找出項目的關鍵路線,并求出項目的模擬工期,經過大量模擬就可以統計其分布特征,從而分析項目的進度風險[2]。當然,本文是在資源約束條件下在對活動歷時進行抽樣。下面對進度風險評估中的幾個關鍵問題進行闡述:
3.1資源約束條件下的活動歷時抽樣
本文選取項目活動歷時為隨機變量,進行隨機數的抽取。首先,通過參考文獻和歷史數據分析其分布規律,常用的主要有均勻分布、三角分布、b分布等,本文采用三角分布。三角分布由三個參數來定義:最小值a,最可能值和最大值b。三角形分布常被作為其它分布的粗略估計,如正態分布,或在缺少數據時使用。其概率函數密度可由下式給出:
其分布函數為F(x),均值為(a+m+b)/3,方差為(a2+b2+m2-ab-am-bm)/18)
三角分布的三個參數可以基于專家三點評估法對每個活動歷時的估計得到,利用隨機數發生器就可以產生相應的隨機數。
同時,由于活動資源是有限的,活動歷時在按其分布隨機變化過程中,還必須受資源的約束。如2.2節所述:活動工時=活動歷時×資源單位,在資源單位一定的情況下,按其概率分布抽取出來的活動歷時如果不能滿足約束條件,仍將被過濾掉,不得不重新進行抽樣。如此往復循環,直到抽到足夠的數據進行模擬分析[5][10]。
3.2項目關鍵路徑動態識別和工期概率分布
在有資源約束條件的蒙特卡洛模擬過程中,每次對各活動歷時抽樣所得到的隨機值,如果滿足資源約束條件,將作為時間參數,再利用關鍵路徑法,求解項目模擬工期,并記錄關鍵路徑上的各個活動信息。如此,完成了一次循環。
連續多次抽樣后,項目關鍵路徑和工期隨著活動歷時的變化而不斷變化,我們可以從網絡圖很直觀地看到相應的變化。得到多組關鍵路徑和工期的數據后,對其進行統計分析,繪制項目工期概率分布圖。判斷每個模擬工期是由哪條關鍵路徑確定的,對各路徑成為關鍵路徑以及活動成為關鍵活動的概率分別進行統計,研究其變化規律。同時,可以利用靈敏度圖研究各活動歷時變化對項目總工期的影響,并據此給出合理的項目風險描述[11]。
基于此,我們可以得到項目進度風險中的宏觀和微觀信息,為項目決策提供了依據。
3.3資源約束條件下蒙特卡洛模擬流程
資源約束條件下的蒙特卡洛模擬整個流程總結如下:
1)選取活動歷時為隨機變量,假定其滿足三角分布;
2)在水晶球中建立電子表格模擬模型;
3)確定模擬次數N,以滿足精度要求;
4)抽取隨機數模擬活動歷時,并按資源約束條件進行過濾;
5)記錄工期、關鍵路徑以及關鍵活動信息。
6)按以上步驟連續N次模擬后,對隨機數、項目工期和關鍵路徑進行統計分析,繪制統計特征圖。
經以上步驟,可以得到項目的大量模擬數據,據此進行統計分析,分析項目風險,提供有用的信息輔助項目決策。
4、實例分析
4.1項目背景概況
國內某汽車企業為提高市場競爭力,加快了公司信息化的步伐,目前已具有建設計算機信息網絡的良好基礎環境,網絡覆蓋率及網絡傳輸不斷提高。但公司員工計算機整體水平不高,企業資源共享不夠,溝通仍然存在一定困難。為進一步消除“信息孤島”,提高公司自動化管理水平和核心競爭力,公司決策層決定在企業實施ERP。在資源有限的情況下,企業高層希望ERP實施在190天內完成,并想知道以90%的概率完成大概需要多少天;如果在1150個工時的限制條件下,情況又會如何。為對該期望工期進行評估,減少進度風險,給項目進度計劃編制提供科學依據,本例結合專家意見給出各活動歷時和資源數量估計,用蒙特卡洛方法對該企業ERP實施進度的實際發生情況進行模擬。為更好地繪制網絡圖,先分析了ERP實施的幾個主要階段和每個階段的工作以及應達成的目標,其工作內容和階段目標如表l所示:
4.2項目網絡進度計劃
根據ERP項目實施過程和各階段活動之間的邏輯關系,基于專家三點評估得到的活動歷時、活動資源單位如表2所示:
4.3模擬及輸出評價
先建立電子表格模型(如圖2所示,所顯示數據僅為模擬數據一組),其中:
1)N列為假設單元格,分別為對應活動的歷時,本文中均設為三角分布;
2)FG列為資源數量,在IT項目中主要是工時資源;
3)U列識別活動是否在關鍵路徑上,若為關鍵活動,顯示為l,否則顯示為0;經多次抽樣,可將活動成為關鍵活動的可能性輸出到V列;
4)S29為預測單元格,對應項目模擬工期,即關鍵路徑長度,根據它可以繪制出工期分布圖,從宏觀角度判定各工期下項目完成的可能性;
5)S30為項目總工時,對其加以限制將會對已經抽取到的不滿足資源約束條件的活動歷時隨機數進行剔除,避免影響判斷。
設置模擬次數為100,000次,設總工時上限為1150,對模擬得到的項目工期數據進行剔除后剩下40,901組數據,統計結果如表3所示:
可知最大模擬工期為210天,最小模擬工期為172天,模擬工期均值為194天,方差為16。在單位區段上,工期頻率分布如下圖:
圖3
由圖3分析,可得出結論,在資源約束條件下,項目在190天內完成的概率為20.457%,以90%的概率完成需要200天,由此可見,190天內完成項目的風險太大,200天基本能保證項目的完成,因此做決策時項目經理必須適當修改項目計劃或加強風險管理才能保證項目順利實施。但是如何修改計劃和進行風險管理,還需要知道哪些關鍵活動影響工期,才能采取針對性的措施。因此,需要進一步分析項目活動對工期的影響程度。
靈敏度圖(圖4)給出了各個假設單元格(即活動歷時)及該單元格與預測單元格(項目工期)的相關聯系數,關聯系數顯示了活動歷時與項目工期之間的依存關系的強度。
由上圖可知,活動W的歷時變化比其他的任何一個活動歷時都有相對較高的相互關聯系數,所以在活動w上的任何延遲都會推遲項目的工期。而統計數據也說明了活動w是最容易變化的,它的最可能時間與悲觀估計時間相差5天,所以超過最可能時間的較長延遲也會經常發生。由于相當高的相互關聯系數,縮減項目工期的最好方法是關注于引起活動W歷時變化的深層次因素。
在模擬過程中,我們可以看到關鍵路徑(藍色)隨活動歷時的變化而變化。在模擬運行結束時,單代號網絡圖所顯示的數據為各活動成為關鍵路徑上活動概率。結合靈敏圖可知活動w對項目工期的影響極大,在關鍵路徑上的概率幾乎為100%;活動u成為關鍵路徑上活動的概率為87%,與工期的相關系數為17.4%;同時我們可以看到活動b、c成為關鍵路徑上活動的可能性為0,活動f出現在關鍵路徑上的可能性僅為10%。
綜合以上分析,活動W、u等均以較高的概率出現在關鍵路徑上,同時由靈敏度圖可知兩個活動歷時和項目工期相互關聯系數較大,因此對于此類活動應該高度關注。
4.4本方法與其它方法的對比分析
4.4.1本方法與經典PERT/CPM方法的對比
由經典PERT/CPM算法(上文已有敘述),經運算得,項目工期期望值:E(T)=185;方差D(T)=12,滿足正態分布。
由表3知,資源約束條件下計算所得平均工期為194天,比PERT/CPM方法計算所得期望工期l85天較長,且分布范圍較寬,方差l6大于ERT/CPM方法所得工期方差l2也印證了在實際項目中工期會有較大波動。模擬結果確定了項目在190天內完成的概率為20.457%,即使提高模擬次數,變化也不大,因而,可以認為20.457%是規定時間內相對精確的項目完成概率。同時,可知本項目實際完成時間為193天,顯然本方法計算所得模擬工期更接近實際值。
此外,由上一節分析可知,活動f有10%的可能出現在關鍵路徑上,對工期仍然會有一定的影響,而在PERT/CPM方法中,活動f對工期的影響體現不出來,這是由于經典PERT/CPM方法忽略關鍵路徑隨活動歷時的變化而變化。
綜上所述,資源約束條件下的蒙特卡洛方法所得模擬工期比經典PERT/CPM方法更具有實用性,預測結果也更加可靠。
4.4.2本方法與無資源約束條件的蒙特卡洛方法對比分析
普通的蒙特卡洛模擬設定活動歷時為隨機變量,但無資源約束條件,經模擬分析,對活動歷時抽樣100,000次,得到工期頻率分布直方圖如圖所示:
可知,模擬工期分布范圍為[177,214],平均值為200;由表3可知,資源約束條件下蒙特卡洛計算所得模擬工期分布范圍為[172,210],平均值為194,該方法所得模擬工期方差為l6,小于無資源約束條件下模擬工期方差21。這是因為考慮資源約束條件后,各活動歷時隨機浮動的同時受到了資源的約束,所以其浮動變小了,對項目工期的浮動的貢獻有了一定的消減作用,充分體現了資源在項目中的重要地位。同時,本項目實際完成時間為193天,顯然資源約束條件下模擬工期平均值更接近實際項目工期。因此,從IT項目實際情況出發,考慮資源約束的模擬能更準確地預測項目工期,有更強的實用性。
5、結束語
針對IT項目進度風險評估的準確性問題,本文探索了在資源約束條件下對項目工期因活動歷時的隨機波動而帶來的變化進行研究,形成了一種資源約束條件下基于蒙特卡洛模擬的IT項目進度風險量化評估方法,該方法能夠為IT項目進度關鍵路徑的識別和基線定義提供一種有效實用的手段,輔助項目決策,提高風險管理質量。
參考文獻:
[1]張珞玲,李師賢.軟件項目風險管理方法比較和研究[J].計算機工程,2003,(03)
[2]鐘登華,劉奎建,楊曉剛.施工進度計劃網絡仿真的不確定性研究[J].系統工程理論與實踐,2005,(2)
[3]萬偉,蔡晨.在兩資源約束項目環境中的關鍵鏈管理[J].中國管理科學,2003-10,11(Special Issue):4-8
[4]王仁超,歐陽斌,王琳,褚春超.工程項目計劃“關鍵性”問題拓展研究[J].系統工程與電子技術,2004-7,26(7):914-923
[5]王祖和,亓霞.多資源均衡的權重優選法[J].管理工程學報,2002,16(3):91-93
[6]Ming Lu and S.M.About Risic Simplified CPM/PERT Simulation Model.J.Contr.Engrg.
And Mgmt.,ASCE 2000,126(3):219-226
[7]陳魁.應用概率統計[M].清華大學出版社,2000
[8]Wright,Sally,andArnold M.Information SystemAssurance for Enterprise Resource Planning Systems:Unique Risk Considerations[J].Journal of Information Systems,Spring,Vol.16.Issue l,2002 Supplement,pl5-99
[9]李平,顧新一.PERT網絡工程風險計算方法的研究[J].統計與決策,2004年第5期
[10]Samuel J.Mntel,Jack R.Meredith,Scott M.Sharer,Margaret M.Sutton.project ManagementinPractice.John Wiley&50115,Inc,2001
[11]唐愛國,王如龍.基于貝葉斯網絡的軟件項目風險評估模型[J].計算機工程,2008,(22)
本文作者:劉學剛
作者單位:中海油氣開發利用公司
您可以選擇一種方式贊助本站
支付寶轉賬贊助
微信轉賬贊助