李經春
(中廣核工程有限公司,廣東 深圳 518000)
核電項目投資大、建設周期長,涉及的供應鏈和參建方眾多,建設過程中易受國內外各種因素的影響,不確定性較大,可能會出現建設工期不可控、投資收益不高甚至無法收回投資的情況。項目財務模型分析的一個重要輸入條件是項目可能的總工期,在項目建設過程中,總工期的變化會影響資金分布以及項目策略的制定。因此,對項目總工期及其變化趨勢的合理評估和研判,對投資人以及其他參建方來說都是至關重要且長期持續的工作。本文旨在提供一種使用概率論的方法對核電項目進度分析和管理的思路。
蒙特卡洛方法是由馮諾伊曼等科學家在20世紀40年代提出的一種以概率和統計學為基礎的、使用隨機數解決很多計算問題的方法。將所求解的問題與一定的概率模型建立聯系,使用計算機進行大量模擬,獲得所求解問題的統計學特征,分析得到實際問題的概率解。
蒙特卡洛模擬可充分考慮項目活動涉及的工期、成本、資源和邏輯關系等方面的不確定性,一次模擬由多次迭代組成,每次迭代都代表一個可能的結果;重復大量模擬后,可得到各項活動的工期概率分布和項目總工期的概率分布。對模擬結果進行進一步分析,可以確定具體活動落在關鍵路徑上的概率,不同總工期情況下的概率以及在期望的置信水平下項目總工期及其最大風險因素。
Crystal Ball是一個嵌于Microsoft Excel的蒙特卡洛模擬工具,提供了多種可供選擇的不同的概率分布模型。借助蒙特卡洛模擬工具進行模擬分析的主要步驟如下:
(1)在Excel中建立核電項目進度分析模型。
(2)定義進度分析模型的輸入和輸出。
(3)設置模擬次數進行模擬運行。
(4)對模擬結果的統計學特征進行分析得到問題的解。
影響實際問題的因素多種多樣,不可能全部羅列出來,蒙特卡洛模擬是通過研究樣本的統計學特征來反映總體樣本的特性,每一次模擬相當于一次隨機抽樣,通過設置合適的樣本數量來研究總體特征。假設樣本容量達到一定程度時,則有
(1)
在顯著性檢驗中,右邊檢驗的拒絕域公式見式(2)
(2)
式中,zα為標準正態分布的分位點,其中α表示顯著水平。
對式(2)進行變形可以得到樣本容量n的計算公式見式(3)
(3)
核電項目涉及面廣、作業活動多,進度邏輯關系較為復雜,常常存在多條不同的主次關鍵路徑,在建設過程中關鍵路徑也經常發生變化。但是,從核電項目進度計劃編制的角度分析,一般會將核島反應堆廠房的建安調試等與主回路相關的活動作為主關鍵路徑進行編制,該關鍵路徑的工期基本決定了項目最短工期,也是對核電項目總工期進行分析和研究的基礎。
某核電項目反應堆廠房關鍵路徑網絡圖如圖1所示,分析該核電項目在72個月的工期內完成的概率,對總工期影響較大的活動以及對項目總工期進行優化。
圖1 某核電項目反應堆廠房關鍵路徑網絡圖
各項活動的邏輯關系確定之后就需要確定其可能的工期,采用“專家判斷”和“類比估算”等工期估算方法對各項活動的持續時間進行估算,可以得出各項活動在不同條件下的最樂觀工期(To)和最悲觀工期(Tp)。
在進度計劃的活動之間分別存在“完成到開始(FS)”“完成到完成(FF)”“開始到開始(SS)”和“開始到完成(SF)”4種進度邏輯關系。根據每項活動與其緊前或后續活動之間的進度邏輯關系、提前量和滯后量以及估算工期可以計算出項目關鍵路徑的最早完成時間,即項目的總工期。據此建立該項目進度分析模型,見表1。
表1 某核電項目進度分析模型
(續)
首先,根據估算得到的最樂觀工期和最悲觀工期,使用Crystal ball工具對蒙特卡洛模擬的假設單元格(F列)進行定義,作為蒙特卡洛模擬的數據輸入,選擇貝塔分布作為其分布函數,并為貝塔分布選擇合適的形態參數;然后,把通過進度邏輯關系計算得到的項目可能最早結束的單元格定義為預測單元格(H26),也就是進行蒙卡特洛模擬的輸出數據。至此,就建立了各項活動的參考工期、輸入單元格與模擬輸出單元格之間的進度聯系。每次模擬時,輸入單元格都會根據其參考數據和選定的概率分布進行一次隨機取值,并通過進度計算得到一個總工期的隨機模擬值,重復多次模擬之后就可以得到總工期的概率分布和統計學特征,對其進一步分析可以得到實際問題的概率解。
因此,設置本次模擬的次數為60 000次,大于估算的樣本容量,滿足假設要求;在Crystal Ball中進行設置并模擬運行,得到模擬結果如圖2所示。
圖2 某核電項目總工期預測概率分布圖
從圖2可以看出,在本次模擬中該項目在72個月內完成的概率僅為2.23%,幾乎不可能按期完工,項目可能的總工期范圍寬,不確定性較大。
模擬得到的主要統計特征見表2。
表2 某核電項目工期的主要統計特征
敏感性分析是從定量分析的角度研究有關因素發生變化對某一個或某一組關鍵指標影響程度的不確定性分析方法。通過敏感性分析可以識別輸入變量對系統輸出結果的影響程度,從而識別關鍵影響因素。在進度計劃中,項目工期的不確定性是由各項活動的不確定性及其相互之間的進度邏輯關系綜合作用的結果,對項目工期進行敏感性分析可以識別出各項活動的不確定性對總工期的不確定性的影響程度。通過Crystal Ball對該核電項目的敏感性進行分析,結果如圖3所示。
圖3 某核電項目工期的敏感性分析結果
從敏感性分析結果中可以看出,對項目總工期不確定性貢獻較大的幾項活動為:內部結構施工、裝料準備、熱試準備、啟動試驗、環吊調試及可用等。因此,需要提前關注這些活動,做好風險預案,項目實施過程中重點關注相關活動的進度控制、風險控制,以降低項目總工期的不確定性風險。
通過敏感性分析識別出對項目總工期不確定性影響較大的活動后,針對這些活動制訂優化方案、風險預案,采取加強進度控制等措施,可以實現減小相關活動工期、降低作業風險的效果,但同時也會伴隨資源投入的增加,需要綜合考慮相關投入和收益,進行具體量化的分析之后才能決定最終方案。對不同的方案進行趨勢分析,可以對比在不同方案、不同可能性的條件下項目總工期變化的量化指標,有助于選擇最合適的項目方案。
通過對項目總工期不確定性敏感度較高的活動制定優化措施,改變其模擬輸入條件,可以得到不同的優化方案,各優化方案下項目總工期的概率分布對比情況以及不同概率下總工期的變化趨勢如圖4和圖5所示。
圖4 不同優化方案對總工期的影響對比
圖5 不同方案項目總工期變化趨勢
通過優化,項目在72個月內完成的概率從原方案(H26)的2.23%變成方案一(I26)的11.0%和方案二(J26)的65.3%,配合各方案資源投入的情況選擇合適的總工期方案。另外,項目總工期的其他統計學特征也發生了相應變化,對比情況見表3。
表3 不同方案下項目總工期的統計特征對比
對于核電項目這種總持續時間長、各項活動工期不確定性較大的復雜項目,運用蒙特卡洛模擬可以直觀地將項目工期的不確定性用概率的形式表現出來,為項目財務分析和項目決策提供量化輸入。蒙特卡洛模擬時每項活動的概率分布不局限于貝塔分布,而可以根據情況選擇一些常見的其他分布,如三角分布、PERT-貝塔分布、一致分布等,既可以是連續分布,也可以是離散分布,可以大幅提高模擬的靈活性和適應性;通過敏感性分析和趨勢分析可以定位關鍵活動,對比不同方案對總工期的影響的量化結果,幫助項目決策者制定更加合理的決策。