工程實務

 

Monte Carlo for Primavera 在預測

總工期的應用

 

營管部

副   理

廖國禎

 

摘 要

    鑒於國內相關風險分析應用軟體不普遍,且利用Monte Carlo(蒙地卡羅)風險分析軟體應用在營建工程實務上的文獻付之闕如,加上國內使用風險分析軟體在工程應用的時機尚未榛成熟,因此除了學界在營建工程之總工期預測(考慮天候因素之排程模擬)有探討外,工程單位鮮少有人介紹有關計畫之風險分析的探討。營造業之各計畫本身就充滿各種風險,其對整個專案計畫的進度與預算(成本)控管產生莫大的影響,風險分析在專案管理之應用日顯重要。專案計畫之風險分析評估該計畫在預定工期與總工程費內是否能完成的潛在風險,並找出各項風險的「總體效應(Composite Effect),依據風險分析之結果,可作為決策者的參考。Monte Carlo for primavera 軟體功能可在工期、後續作業設定概率及條件分配、成本、資源等方面作風險分析,惟囿於篇幅,本文僅針對計畫之不確定工期作風險分析的介紹,俾供本司同仁分享,並藉以拋磚引玉,促使界/學界有興趣者共同參與研討。

一、前言

    鑒於國內公共工程規模日益龐大,政府財源籌措不易下有朝向統包與BOT興建的趨勢,且大部分都採用軟體來控管時程/成本,雖然工程延誤及預算頻頻增加常為人所詬病且時程/成本控管成效不彰,但使用時程/成本控管套裝軟體已日益普及,這代表各單位各層級都有時程/成本控管的共識,這是可喜的現象,但工程界同仁仍須共同努力。以往工程單位(包括業主、監造單位及施工單位)很少利用風險分析軟體來評估整個計畫預定完成工期與金額,其成功的概率為何?因囿於國內相關風險分析應用軟體不普遍,且利用Monte Carlo(蒙地卡羅)風險分析軟體應用在營建工程實務上的文獻付之闕如,加上國內使用風險分析軟體在工程應用的時機尚未榛成熟,因此,除了學界在營建工程之總工期預測(考慮天候因素之排程模擬)有探討外,工程單位鮮少有人介紹有關計畫風險分析之探討。

    營造業之各計畫本身就充滿各種風險,其不確定性因素,如相關法律條例之變更、土地及路權之取得、人力、機具、材料之取得、設計瑕疵、變更設計、現場情況與原設計之差異、天候變化、材料瑕疵、勞資糾紛、工地安全、通貨膨脹、營造廠商能力、工作之延誤、合約延遲、工程款付款之延遲、施工品質、賠償與停工、財務危機、實際工作數量與預估數量之差異等,均對整個專案計畫的進度與預算(成本)產生莫大的影響,故風險分析在專案管理之應用日顯重要。專案計畫之風險分析評估該計畫在預定工期與總工程費內是否能完成的潛在風險,並找出各項風險的「總體效應(Composite Effect),依據風險分析之結果,可作為決策者的參考。

      幾年前,筆者曾涉及Monte Carlo for primavera 風險分析軟體之相關資訊,惟該軟體為DOS版,在使用者介面並不具親和力,且當時無暇撰寫學習心得,乃將它束之高閣;目前Monte Carlo for primavera 軟體(v.3.0) 已順應潮流,改用Window版當介面,且近年來工程界對時程/成本控管軟體(P3Open PlanMS Project、等)之使用已有進一步的認識,此時應是介紹有關風險分析軟體的最佳時機,讓工程界同仁有新的概念與認知。Monte Carlo for primavera 軟體功能可在工期、後續作業設定概率及條件分配、成本、資源等方面作風險分析,惟囿於篇幅,本文僅針對計畫之不確定工期作風險分析的介紹,俾供本司同仁分享,並藉以拋磚引玉,促使業界/學界有興趣者共同參與研討。

二、Monte Carlo for primavera 軟體之簡介

          2.1軟硬體設備

n 建議採用 PC Pentium III 586 以上。

n Ram 64 Mb以上(建議128Mb以上)

n P3 for Window 2.0(請注意目前P3 for Window 3.0不支援Monte Carlo for Primavera 3.0)

n Monte Carlo for Primavera 3.0

n ReportSmith 2.50

2.2 基本術語與認知

2.2.1基本術語

n 樂觀值(0ptimistic Value)

    即處在最佳狀況下(包括人、機、料及其他因素)估計各作業項目所需之工期,樂觀值之預設分類碼為OPTD

n 最可能值(Most Likely Value)

    即處在一般狀況下(包括人、機、料、及其他因素)估計各作業項目所需之工期,最可能值之預設分類碼為MOST

n 悲觀值(Pessimistic Value)

    即處在最不佳狀況下(包括人、機、料、及其他因素)估計各作業項目所需之工期,悲觀值之預設分類碼為PESS

n 概率分配 (probability Branch)

    一作業項目之後續作業,其所分配之概率,在P3Monte Carlo for Primavera概率分配之預設碼為BRCH

n 條件分配(Conditional Branch)

    一作業項目之後續作業,其所分配的條件 (如偶發事件),在P3Monte Carlo for Primavera條件分配之預設碼為CNDL)

n 風險分析

     Monte Carlo經由模擬技術,可將不同的輸入值(該值代表所有可能發生的不確定情況),經多次計算,以納入不確定因素所造成的影響,其所作的分析稱之為風險分析。

n Monte Carlo模擬分析

    由概率分配曲線(probability distribution)中,利用Monte Carlo產生的虛擬亂數(Random number)取樣,經多次的重覆計算所作的分析稱之為Monte Carlo模擬分析。

n Latin Hypercube模擬分析

     Latin Hypercube取樣乃利用較小的重覆計算次數來正確地產生輸入分配曲線值,Latin Hypercube方法是將輸入的概率曲線,在縱座標軸上由0~100%分割成10個相等區間,採樣時每一個樣品是由每一區間之亂數(Random)所產生,直至每一區間均取樣完成為止,然而每一區間的順序是由亂數所產生,且重覆的執行,直至有區間的亂數均已完成為止,經多次的重覆計算所作的分析稱之為Latin Hypercube模擬分析。

n 亂數(Random Number)

    即利用Monte Carlo所計算出的虛擬亂數(Pseudo-random number)值稱之為亂數。

n 初始設定值(initial value)

   為使模擬分析能順利進行,使用者必須開始設定一數值,該值稱為初始設定值(initial value)或稱為根值(root value), 該值最大可設定至8位數的奇數,經測試結果,其輸入之最小值為10001(23456789為預設初始值)。使用者亦可輸入偶數值,但Monte Carlo 會利用所輸入偶數值之下一個奇數值,當作初始設定值。Monte Carlo由相同的初始設定值,會產生相同的亂數順序,而得相同的結果。為避免結果產生偏差,建議設定根值時為78位數的奇數值。在指定的模擬模式中,利用相同的亂數值可得相同或相似的結果。當使用者每一次模擬時,選擇不同的根值與重覆計算的次數,則會產生不同的結果。

n 開始浮時(Start Float)

    在Monte Carlo中計算,倘若使用者需要以浮時代表作業項目最遲開始與最早開始之差異時,則選取的浮時稱為開始浮時(Start Float)

n 完成浮時(Finish Float)

    在Monte Carlo中,倘若使用者需要以浮時代表作業項目最遲完成與最早完成之差異天數時,則選取的浮時稱為完成浮時(Finish Float)

n 要徑浮時(Critical Float)

    在Monte Carlo中,倘若使用者需要取得開始浮時或完成浮時(Finish Float)之較小值時,則選取的浮時稱要徑浮時(Critical Float)

2.2.2認知

  n 在使用Monte Carlo for Primavera 前,使用者需先熟悉P3 for Windows1.0以上或 SureTrak Project Manager for Windows 1.0以上。

  n 先以P3軟體建置專案計畫各作業項目之相關資料(如作業代碼、作業名稱、作業分類碼、原工期、邏輯關係等),再計算總工期。

  nP3係以要徑法(CPM)計算工期,其各作業項目之所需工期均為單一數值,故所計算出之總工期亦為單一數值,而Monte Carlo for primavera 之風險分析,其各作業項目估計所需工期有三種數值,即樂觀值(0ptimistic Value)、最可能值(Most Likely Value)及悲觀值(Pessimistic Value)Monte Carlo經過上百次(愈多愈準確)之重覆計算,可得該專案計畫在原總工期或在某時間點完成之機率有多少。

2.3 如何建置概率及條件分配資料

2.3.1如何建置概率分配資料

     Monte Carlo在重要的決定點(結點即node)上可模擬不同的處理方式,在結點上可能有兩種後續事件(events),其中一個事件發生的機會比另一個事件大,因此對後續事件可建立概率分配(probabilistic branch)

  l 例如某作業D1995(審查/核准概要設計圖)其後續作業D1996(重作初步設計)之概率分配為20%,另一後續作業D1220(繼續進行設計)之概率分配為80%,使用者必須在D1995BRCH分類碼設定碼值為NODE,而在D1996BRCH分類碼設定碼值為20; D1220BRCH分類碼設定碼值為80, 後續作業D1996D1220BRCH碼值總合應為100%(80+20=100),如圖一所示。

  l 例如某一施工單位經理正建立一個時程計畫,以便開始監督工地開挖時發現有害物質。假如開挖時有害物質被發現,在開挖完成前需要做土壤改良處理。若忽略處理時可能導致時程過份樂觀,但若全面處理一些不必要的處理,可能導致時程太過保守,而有增加工期及成本的風險。對上述情況概率要如何分配,以圖二做說明。

2.3.2如何建置條件分配資料

  n 在結點上依情況可建立條件分配(conditional branch)Monte Carlo對條件分配之預設分類碼為CNDL

  l 例如當到達決定點時,倘若某一特定的作業已經開始或已完成,則後續作業之偶發事件,如圖三所示。

  l 例如D2995作業項目之後續作業為D2996B D2220D2999D2995之條件作業,因此在D2995之條件分類碼(預設值為CNDL)中設定D2999, 若在D2999 CNDL欄位中設定FINISH,則當D2999完成後,D2220才可開始,D2220CNDL欄位中設定為較優先Preferred(簡寫為P)D2996BCNDL欄位中設定為替代(Alternative,簡寫為A)後續作業,如圖四圖五所示。

三、執行風險分析

3.1 風險分析之執行步驟

    風險管理包括風險確認(Risk Identification)、風險分析(Risk Analysis)與風險處理(Risk Response)三步驟。許多計畫在風險分析進行到量化分析之前,計畫主管人員就已由分析中獲得足夠的管理資訊,但仍有少數計畫可能需要做最後正式量化的風險分析。執行專案計畫的風險分析所需的軟體大多數採用適用大型計畫的套裝軟體,例如風險分析軟體(Monte Carlo for Primavera),其分析主要分為三步驟:

3.1.1第一步驟,建置基本資料

    分析計畫資料,以確定風險因素,並就各作業項目所需工期(Duration)設定樂觀值(0ptimistic Value)、最可能值(Most Likely Value)及悲觀值(Pessimistic Value),並選擇各種機率分配(Probability Distribution),分析者亦可自行定義各作業項目之機率分配。

3.1.2.第二步驟,設定機率/條件分配及初始值/重覆計算次數等資料,並進行計算。

    容許分析者設定不同後續作業或前置作業發生之分配機率(Probabilistic Branch)、設定後續作業或前置作業之條件分配(Conditional Branch),建立各種可能的計畫分析模擬方式(Model),以傳統的「蒙地卡羅模擬方法」(Monte Carlo Simulation Method),變數採隨機取樣產生的虛擬亂數進行取樣及模擬分析,並計算各項風險之總體效應。

3.1.2第三步驟,繪製各種圖表,供決策者參考。

     根據風險總體效應之資料,繪製各種圖表,例如計畫可能時程線條圖要徑作業報表及各項作業總浮時表(Total Flow Report),以顯示作業項目可能之最大浮時及最小浮時、計畫成本與時程分析圖(Cost/Time Envelope Graph),以顯示可能成本範圍及計算最高/最低/期望成本)、計畫完工日期機率曲線圖(Date Probability Graph)等,以作為決策者之參考。根據風險分析之總體效應,決策者可以考量如何降低作業之施工時間與成本,進行決策分析及後續風險處理,處理方式包括保留風險、降低風險、轉移風險及規避風險等,在問題發生前預作處理,以期降低損失。

四、Monte Carlo for Primavera 操作範例

    為幫助使用者了解在Monte Carlo 軟體中如何建置資料及操作並產生所需之報表,在範例1中將以各種不同設定值 (如初始值、重覆計算次數)所計算出的資料加以列表分析,以作為範例2執行總工期風險分析時可直接引用設定值,省掉再思索選用適當的設定值的困擾,茲以下列2個範例作說明:

4.1範例:

    為興建一座新的化工廠計畫建立綱要進度,該計畫之各主要作業項目之所需工期皆具不確定性。

4.1.1說明:

        (1)該計畫團隊經討論後,決定初步設計、環境衝擊報告草案及準備發包文件等三項作業應即刻同時開始進行,如圖六所示 ,當該三項作業全部完成後,該團隊同意發包,惟不同意發包之日期。其中有些成員認為準備發包文件的工期50天太長,但亦有人認為50天太短。依據P3採用單一工期估計,初步設計之工期為35天,環境衝擊報告草案之工期為45天,準備發包文件之工期為50天,經傳統的CPM計算,其準備發包文件顯然為要徑作業,且該三項作業之總工期應為50天。

        (2)利用Monte Carlo for Primavera 來計算不確定工期時,可將各成員對各作業項目所需不同工期之意見一併考慮與分析,如圖七所示。

        (3)P3工具列中直接選取Monte Carlo, 則出現Monte Carlo for Primavera 模擬分析之畫面,如圖八所示。

4.1.2 模擬分析比較表

        (1)Monte Carlo 模擬分析作比較表

      在Monte Carlo 模擬分析模式下,設定不同的初設值、重覆計算次數及總浮時計算方式,經計算結果彙整成比較表,如1所示。

        (2)Latin Hypercube 模擬分析作比較表, 1所示。

    在Latin Hypercube模擬分析模式下,設定不同的初設值、重覆計算次數及總浮時計算方式,經計算結果彙整成比較表,如2所示。

        (3)經由表1及表2之判斷得知下列結果:

  lMonte Carlo 模擬分析模式下,初設值可採用23456789(預設值),重覆計算次數可採用500次進行模擬分析即可得合理的數值(與取開始浮時或完成浮時無關)

  lLatin Hypercube 模擬分析模式下,初設值可採用23456789(預設值),重覆計算次數可採用150次進行模擬分析即可得合理的數值(與取開始浮時或完成浮時無關)

4.2範例2

    某單跨徑雙向橋樑新建工程,依據 P3 Monte Carlo for Primavera 風險分析軟體,僅針對工期(時程)所計算的結果作比較,以幫助讀者了解Monte Carlo for Primavera 在預測總工期的應用。

4.2.1說明:

        (1)本範例橋樑新建工程之開工日期為26/03/2001,施工網圖作業項目共計21項,經P3時程計算結果,有11個作業項目為要徑作業,完工日期為15/12/2001其作業時間比例網圖,如圖九所示。

        (2)引用範例1所得的結果,在Monte Carlo 模擬分析模式下,初設值可採用23456789(預設值),重覆計算次數採用500次進行模擬分析(設定完成浮時)

        (3)Report/Critical path Report畫面中選取3Path,經Monte Carlo模擬分析結果,要徑僅有一條主要要徑(Major Path), 要徑上的11個作業項目與P3所計算出的相同,但所需完成日期概率百分比則不同。

        (4) 模擬分析完成後,在Monte Carlo功能列Graphics/Date ProbabilityDuration Probability中繪製日期概率圖或工期概率圖,如圖十所示,其結果如下:

  l 最遲()日期(08/02/2002319)完成概率百分比為100%

  l 期望日期(01/01/2002282)完成概率百分比約50%

  l 最早()日期(05/12/2002255)完成概率百分比為0%

  l 目標日期(15/12/2001265)完成概率百分比約3%

        (5)Monte Carlo功能列Report/Custom Report/Schedule Risk中繪製時程風險報表,如3所示,對表3中之部分作業項目結果作說明:

  l A00010作業(管線遷移)目標完成日期為09/05/2001, 期望完成日期為18/05/2001,超過目標完成日期之概率為87%,目標完成日期與期望完成日期之差異(Variance)-9天。

  l BG300W作業(南下線橫隔樑、橋面版及進橋版施築)目標完成日期為15/11/2001, 期望完成日期為02/12/2001,超過目標完成日期之概率為95%,目標完成日期與期望完成日期之差異(Variance)-17天。

五、結語

  l 建議使用者在使用Monte Carlo For Primavera 作風險分析時,首先應確認P3所建立之網狀圖是業經核准的可行方案,否則就失去作風險分析的意義。

  l 近年來由於電腦模擬及統計技術日趨成熟,國內有些學術單位研究利用氣象局歷年之天候統計資料,將其應用在工程排程模擬中並利用蒙地卡羅模擬考慮非天候因素的各種風險,以計算出較準確的工程總工期。建議以相同之案例並利用Monte Carlo For Primavera套裝軟體所模擬的計算結果作一比較,以評估兩者結果之差異是否在合理範圍內。

  l 由所模擬的範例1中得知,在相同的條件下,以不同的設定值(如重覆計算次數、初始值)進行Monte Carlo For Primavera模擬分析時,經由實際計算結果,建議在Monte Carlo 模擬分析模式下,初設值可採用23456789(預設值),重覆計算次數可採用500次進行模擬分析即可得合理的數值(與取開始浮時或完成浮時無關);Latin Hypercube 模擬分析模式下,初設值可採用23456789(預設值),重覆計算次數可採用150次進行模擬分析即可得合理的數值(與取開始浮時或完成浮時無關)

  l 如何訂定各作業所需工期(時間)之樂觀、最可能及悲觀數時間是不容易的,建議資淺的工程師應請教有施工經驗的資深工程師,以訂出較合理的數值。

  l Monte Carlo For Primavera在工程風險分析上之應用,在國內尚屬萌芽階段,本文筆者僅針對計畫之不確定工期作有關總工期風險分析的介紹,希望下次有機會再討論成本之風險分析。                                        

 < < < < < < < < < < < < < < < < < 回目錄< < < < < < < < < < < < < < < < < < <