風險評審技術
出自 MBA智库百科(https://wiki.mbalib.com/)
風險評審技術(Venture Evaluation Review Technique,簡稱VERT)
目錄 |
風險評審技術(Venture Evaluation Review Technique,簡稱VERT)是一種以管理系統為對象,以隨機網路模擬為手段的風險定量分析技術。在軟體項目研製過程中,管理部門經常要在外部環境不確定和信息不完備的條件下,對一些可能的方案做出決策,於是決策往往帶有一定的風險性,這種風險決策通常涉及到三個方面,即時間(或進度)、費用(投資和運行成本)和性能(技術參數或投資效益),這不僅包含著因不確定性和信息不足所造成的決策偏差,而且也包含著決策的錯誤。
VERT正是適應某些高度不確定性和風險性的決策問題而開發的一種網路模擬系統。在80年代初期,VERT首先在美國大型系統研製計劃和評估中得到應用。VERT在本質上仍屬於隨機網路模擬技術,按照工程項目和研製項目的實施過程,建立對應的隨機網路模型。根據每項活動或任務的性質,在網路節點上設置多種輸入和輸出邏輯功能,使網路模型能夠充分反映實際過程的邏輯關係和隨機約束。同時,VERT還在每項活動上提供多種賦值功能,建模人員可對每項活動賦給時間周期、費用和性能指標,並且能夠同時對這三項指標進行模擬運行。因此,VERT模擬可以給出在不同性能指標下,相應時間周期和費用的概率分佈、項目在技術上獲得成功或失敗的概率等等。這種將時間、費用、性能(簡稱T、C、P)聯繫起來進行綜合性模擬,為多目標決策提供了強有力的工具。
VERT技術是在PERT、GERT和Q-GERT的基礎上發展起來的。在70年代初期,美國人在GERT網路技術的基礎上發展了網路數學分析器MATHNET(Mathematical Network Analyzer),它可以把離散事件活動、活動時間和費用綜合起來構成一個概率特征進行計算和分析。隨後又開發了網路統計分析器STATNET(Statistical Network Analyzer)和網路求解分析器(Solving Network Analyzer)等網路技術。與此同時還對MATHNET進行了修改,重新命名為風險數據系統和費用分析法RISCA(Risk Information System Cost Analysis),同時也開發了全面風險評估和費用估算網路TRACENET(Total Risk Accessing Cost Analysis),從而進入了風險評估鄰域。然而這些系統尚不能評定與性能有關的風險度,特別是研究和開發中技術性能指標能否達到規定的風險度。到72年,由Gerald L.Moeller等研究開發VERT技術,才使風險度估計成為可能。此後,經過改進和擴充,形成現在的VERT,為實際應用打下了基礎。
VERT網路的建模要素是活動(弧)和節點,其模擬過程可以想象成一定的時間流、費用流和性能流通過各項活動,並受到節點邏輯的控制流向相應的活動中。每次模擬運行,就相當於這些流從源節點出發,經過相應的節點和活動,執行相應的事件,最後到達網路的終節點。由於網路中可以選用具有各種邏輯功能不同的節點,可能導致三種流只經過網路中的部分節點和弧,併到達某個終止節點。因此,必須對網路作多次重覆的模擬運行,才能使整個網路中所包含的各個節點和活動都有機會得到實現,得出相應的概率分佈,而每次模擬運行不過是對網路實現的一次抽樣。
VERT網路中活動和節點都有時間、費用和性能三種參數。每個活動上既可賦給弧本身所具有的三種參數,該項活動本身所需要的時間周期、消耗的費用及經過本活動所產生的性能參數。同時,每項活動上還具有累積的三種參數。根據活動在網路中的位置,從源節點開始,時間流、費用流和性能流經過一定的路徑,到達該活動時,所有途經活動上三項參數的累計總和。例如,在網路中某項活動完成時,在該活動上可以得到從軟體項目開始到此活動完成時刻的周期、累計費用和到此時已達到的性能值。
由於VERT網路中包含概率型和條件型兩種邏輯功能,因此在模擬運行時有些活動能成功地實現(以概率為1得到實現),而有些活動則不能成功地實現,這表示前一段過程的失敗。例如進行某項設計工作,如果經過設計、試製、試驗等各個階段,其結果不能達到設計性能要求,這時,在完成試驗活動以後,時間和費用的累計值卻被置零,表示該項設計試製工作的失敗。
按照活動在VERT網路中所取的作用,可大致分為四類。
(1)普通弧(活動)
這類弧是VERT網路中的直接組成部分,普通弧上都帶有時間、費用和性能的參數值。它們的參數值一般是以概率分佈的形式表示。
(2)自由弧(活動)
自由活動不在VERT網路中直接表示出來,但是網路中的其它活動可以引用它們的參數,自由弧上所賦的時間、費用和性能值可以通過一定的數學關係式進行調用。
(3)傳送弧(活動)
傳送活動是VERT網路的組成部分,它僅作為各種參數通道,對於某些節點之間的關係具有時間上的和先後次序的約束。傳送弧上不賦時間、費用和性能參數值,或可理解為三項參數值均等於零,因而被傳送的參數流不發生增值。
(4)排放弧(活動)
對於某些被取消的節點,如果已有活動引入該節點,則在VERT網路中可能出現流量的堵塞現象。在這種情況下,可在該節點的輸出端設置一個排放活動,使流量通過這個活動傳出系統。
在模擬運行中,各類活動都可以處於不同的狀態。當該活動能成功地實現時,則參數流通過本活動輸出至下一節點,這種狀態稱為成功完成狀態。如果某項活動處於非成功完成狀態,則該活動的時間和費用值仍通過本弧輸出至下一節點,但沒有性能值輸出。如果某項活動處於被取消狀態,則活動不能被執行,因而也沒有參數流通過,不消耗任何時間和費用,更不會產生任何性能。
VERT網路中的節點表示前接活動的結束和後接活動的開始,節點被稱為總過程中的一個裡程碑。VERT節點具有豐富的邏輯功能,從而可以在模擬運行中決定要啟動哪些輸出弧或是否要啟動本節點等。根據節點的邏輯功能,VERT節點可分為兩大類,即組合節點和單個節點。組合節點由輸入邏輯和輸出邏輯組成,而單個節點只包含一種單個邏輯。下麵分別對上述二種節點進行說明。
(1)輸入邏輯
1)初始邏輯(INIT)。用作網路流的始點,具有初始邏輯的組合節點稱為初始節點,它只設輸出活動弧,而沒有輸入弧。在同一個網路中可以設置多個初始節點,但各個初始節點上由使用者賦予的T、C、P值必須一致,一般都賦為零。
2)“與”邏輯(AND)
這種輸入邏輯規定只當該節點的所有輸入弧都成功完成之後,匯合的輸入網流才能通過節點,並按輸出邏輯確定的方式傳送到輸出弧,則此節點處於成功完成狀態。當有一個或一個以上的輸入弧處於不成功完成狀態或被取消狀態,則此節點也處於被取消狀態,流入節點的網流從“排放弧”流出,該節點的輸出弧均處於被取消狀態。當節點處於成功完成狀態,節點上的時間按所有引入弧上的最大時間確定,費用值是該節點所有前導弧上的費用累計值,性能也分別是所有前導弧上的綜合性能的總和。當節點處於被取消狀態,節點的時間和費用值按成功節點所述辦法確定,節點的性能值約定取成零。
3)“部分與”邏輯(PAND)
根據節點輸入弧的狀態,“部分與”邏輯可對此節點進行以下處理。如果至少有一個輸入弧處於成功完成狀態,此節點即處於成功完成狀態。如果所有輸入活動處於被取消狀態,則此節點也處於被取消狀態,且其輸出活動也全部被取消。如果輸入活動中雖然沒有成功完成狀態的弧,但卻存在非成功完成狀態的弧,或非成功完成和被取消狀態的活動並存,則應啟動排放活動,流量通過該活動輸出。這時,節點處於成功完成狀態。節點上的時間、費用和性能值的計算方法和帶AND輸入邏輯的節點完全一致。
4)“或”邏輯(OR)
“或”邏輯要求有一個且僅有一個輸入弧成功完成時,就將輸入流轉移到輸出弧上去,並按輸出邏輯輸出,節點處於成功完成狀態。然而這個邏輯不需要等待,即不需等待所有輸入弧到來或被取消,只要有一條輸入弧成功完成,網流便立即通過節點,被送至輸出弧以便繼續加工。當該節點所有輸入弧沒有成功完成時,網流將從排放弧流出,節點處於被取消狀態。帶有OR邏輯節點的時間和性能值,取作首先成功完成的輸入弧的累計時間值和累計性能值,而費用值取該節點所有前導弧的費用累計值。當節點處於被取消狀態,節點的時間和費用按前面辦法計算,其性能取為零。
(2)輸出邏輯
1)全部邏輯(ALL)
如果節點已被啟動,參數流就可以通過,並且ALL邏輯無條件地將此節點的所有輸出弧啟動。
2)蒙特卡洛邏輯(MC)
此輸出邏輯要求對各輸出弧的啟動賦以一定的概率值,在一次模擬運行中只有一個輸出活動按所賦概率值被隨機啟動,而其餘輸出活動均被取消。此節點各輸出活動的啟動概率之和應等於1。當作多次模擬運行時,各輸出活動與被啟動的次數與所賦啟動概率值相對應。
3)濾波1邏輯(FILTER1)
這種輸出邏輯按使用者在輸出弧上的時間、費用或性能作為約束條件,能夠激發一條或者一組輸出弧的加工,這些約束條件是由本節點上的時間、費用、性能的上、下界構成的。如果節點的參數落在某輸出弧上設定的參數界限內,此弧將被激發或加工,否則,此弧在剩下的迭代階段中將被取消。節點的輸出弧,除一條必須無約束的排放弧外,其餘的都應該有約束條件,僅當所有的約束弧都不被加工時,這條排放弧才被啟動。FILTER1附設有“扣除”功能,就是在檢查輸出弧的約束條件之前,臨時修改節點的時間、費用和性能值。修改的方法是從節點的時間、費用和性能值扣除前面某個已加工節點的相應參數值,在約束檢查完後再將節點的時間、費用和性能值還原。
4)濾波2邏輯(FILTER2)
本節點輸出活動所提出的約束條件是已成功完成的輸入弧的數量,在模擬運行中,到達本節點的成功完成輸入弧的數量若符合上述約束條件規定的上下限,此輸出弧即被啟動,否則輸出弧不被啟動。各個輸出弧上可以規定不同的約束條件。但是,FILTER2只能和PAND輸入邏輯聯合在一起使用,不能和別的輸入邏輯一起組合使用。
5)濾波3邏輯(FILTER3)
本節點輸出弧上的約束條件可以規定為本弧的所有前導弧中必須成功地完成的弧的數量,或非成功完成的弧的數量,或被取消弧的數量。這些弧並不一定是本節點的輸入弧。這些弧的數量可以根據建模需要由模擬建模人員規定。本節點的各個輸出弧可以規定不同的約束條件。
6)終止邏輯(TERM)
終止邏輯只能同AND輸入邏輯或PAND輸入邏輯組成終止節點,它是整個網路的終點,沒有輸出弧。它對輸入弧的要求是所有的輸入弧必須都成功完成,而不應出現非成功完成狀態的輸入弧。
在組合節點的一條輸出弧被激發、加工之後,此弧的累計時間、費用和性能參數值等於其輸入端點的時間、費用和性能值與本弧自身的時間、費用和性能值之和。
單個節點是為特定用途而設立的網路邏輯。這種節點的輸入和輸出邏輯是組合聯成一體的,每個節點設有N條輸出弧,其中每條都有一條輸入弧與之對應(配對),使得網流能夠從給定的輸入弧直接轉入一條指定的輸出弧。此外,單個邏輯節點還需要設立一條無匹配的輸出弧,此弧僅當節點邏輯阻止了所有輸出弧的激發時才被啟用,是作為備用的“排放弧”。
在比較和優先邏輯中,設有弧加工條件,即“要求加工的輸出弧的數目”,此條件在網路中以置於節點名稱後面並冠有“+”或“-”號的數位表示,例如COMPARE+3或COMPARE-3。符號“+”代表“必需”條件,而符號“-”則代表“期望”條件。“必需”條件意味著所設條件必須完全符合,否則將啟動“排放弧”。如COMPARE+3代表成功地加工三條輸出弧這一要求是必需的,此時為阻止排放弧的激發,應至少存在三條輸入弧成功地得到加工。當加工過程按照“期望”條件進行時,僅在一條成功得到加工的輸入弧也沒有的情形下,排放弧才被激發。在“期望”條件的情形,依賴於成功得到加工的輸入弧的數目,最終被加工的輸出弧可能是所要求的全體、其中一部分或是其中一個。對於以下情形,排放弧可以取消:所有輸入弧的成功完成概率都等於1.0,並按“期望”條件進行加工或按“必需”條件加工但只要求加工一條輸出弧。在輸出弧的數目超過要求加工的輸出弧數目的情形下,如下比較和優先邏輯將用於選擇最佳的輸出弧集合。
1)比較邏輯(COMPARE)
當模擬運行到此比較邏輯節點時,系統對該節點各個輸入弧的時間、費用和性能進行加權綜合運算,根據計算的結果選出規定數量的輸入弧,然後將流量從這些輸入弧轉移到對應的輸出弧中去。這個邏輯根據輸入時間、費用和性能參數選擇最佳輸出弧集合。使用正的權(0.0~1.0)時,最佳輸出集合按照加權組合參數值。使用負的權(-1.0~0.0)時,則效果相反。在同一應用中,不能同時使用正權和負權。當時間是唯一的決策依據時,節點時間值取為最佳輸入弧集合中花費時間最多那條弧的累計時間值。節點費用值取為所有被加工的輸入弧的累計時間之和,而節點性能值取為所有被成功地加工的輸入弧的累計效益的平均值。
2)優先邏輯(PREFERED)
用戶可在優先邏輯節點上對各輸入弧規定不同的優先等級,併在模擬運行到本節點時自動選出指定數量的優先順序較高的輸入弧,然後將參數流由這些輸入弧轉移到對應的輸出弧去。這個邏輯賦予第一偶對輸入和輸出弧相對於第二偶對輸入和輸出弧的優先地位,以及第二偶對相對於第三偶對的優先地位,等等。所以,此邏輯選擇最佳輸出弧的原則是“優先”。對於優先邏輯節點,在“期望”加工條件下,能夠阻止“1號”輸出弧被激發的唯一因素,是它所對應的是輸入弧沒有成功完成。這個邏輯節點上C值、P值的計算辦法同比較邏輯節點一樣。節點上時間值取作輸入弧集合中消耗時間最多那條弧的累計時間值。
以上兩種單個邏輯節點,都可以通過兩種方式來選擇輸入活動的數量。一種是“要求”方式,如果由於某些輸入活動被取消等原因而導致選不出足夠數量所要求的輸入活動,則所有輸出活動均被取消。另一種是“希望”方式,在選不出足夠數量的輸入活動時,允許將已成功完成的入選輸入活動上的參數流轉送到對應的輸出活動中去。對於以上兩種節點,輸出弧的累計C參數值和累計的P參數值,分別等於本弧自身C參數值+關聯輸入弧的累計C參數值和本弧自身的P參數值+關聯輸入弧的累計P參數值。在按“必需”條件加工的情形下,被加工輸出弧的累計T參數值,取為節點的時間和本弧自身T參數值之和。對於按“期望”條件加工的情形,輸出弧的累計T參數值,取為相應的輸入弧的累計時間值和本弧自身T參數值之和。註意,上述T參數值計算規則有如下例外情形:
在使用COMPARE邏輯時,利用C參數值、P參數值的權;
在使用PREFERRED邏輯時,想在處置完初始侯選對象後,進一步按優先表加工輸入弧。
對於上述情況,某些輸出弧的激發需要等待輸入弧的加工。排放弧的累計T參數值和累計的C參數值,分別等於輸入端點T值+本弧自身的T參數值和輸入端點C+值本弧自身C參數值。排放弧的累計P參數值則等於本弧自身P參數值。
3)排隊邏輯(QUEUE)
本節點提供一個隊列條件,各輸入活動傳來的參數流,按先進先出的排隊規則在隊列中等待服務。本節點可安排規定數量並行服務台進行服務,並將參數流按排隊順序傳送到對應的輸出活動中去。
如同比較邏輯和優先邏輯節點一樣,這個邏輯節點有N條輸入弧和與之配對的N條輸出弧,還有一條無配偶的輸出弧,即排放弧,此弧僅當所被激發的輸入弧都失敗時始被啟動。排隊邏輯的主要作用,是通過排隊的方法,將網流從輸入弧傳送給它的配偶輸出弧。當網流從激發輸入弧到達節點時,它們按照到達的先後次序排隊,等待“侍者”的加工,“侍者”的數目在網路圖中以跟在節點名稱後面的數位表示(例如QUEUE2)。本邏輯假定輸出弧攜帶有“侍者”給予的在加工配偶輸入弧時所消耗的時間、所花費的代價和得到的效益。一給定輸出弧的累計T參數值取作以下數值之和:配偶輸入弧的累計時間;網流排隊等待時間;侍者加工此網流所花費的時間。
輸出弧的累計C參數值和累計的P參數值,可按同一方法計算,但排隊等待不增加費用和效益。這種節點上的T值,取為所有輸出弧的累計費用之和,除以激發輸出弧的數目,因而是平均效益值。因為排放弧僅在失敗情形下使用,所以,其上生成的自身的T,C,P參數值與加工內部網流的侍者是無關的(已知,對於其它輸出弧,這的確是有關的)。也許,此弧應當視為一個節點,通過它將進入一個新的網路。下述計算排放弧上累計T,C,P參數值的公式反映了這一看法。
累計T值=所有激發輸入弧的最大時間值+本弧上生成的自身的T參數值,
累計C值=所有激發輸入弧的累計C值之和+本弧上生成的自身的C參數值,
累計P值=本弧上生成的自身的P參數值
比較邏輯、優先邏輯和排隊邏輯的輸入活動和輸出活動之間都有一一對應的關係。
4)選序邏輯
選序邏輯節點預先對該節點的輸出活動按照其時間、費用、性能參數作加權綜合計算,據此將輸入活動按高低等級排列。然後,將各輸入活動上的參數流送到對應等級的輸出活動中去。
和前面三種組合邏輯節點一樣,有N條輸入弧和N條輸出弧一一對應。另外還有一條排放弧,此備用輸出弧僅當所有輸入弧都失敗時才被啟動。這個邏輯的作用,是通過由T,C,P的權所確定的分類,將網流從輸入弧傳送到輸出弧。如果T的權為1.0而C,P的權為0.0,此時從輸入弧首先到達節點的網流,將從“1號”輸出弧輸出,第二到達的網流從“2號”輸出弧輸出,等等。當C的權1.0而T,P的權為0.0時,那樣從最小的C值輸入弧傳來的網流將從“1號”輸出弧輸出,等等。在P的權等於1.0而T,C的權為0.0的情形下,從具有最大P只的輸入弧傳來的網流從“1號”輸出弧輸出,…。當在節點上指定的是一組混合的T,C,P權值(例如,T的權=0.4,C的權=0.3和P的權=0.3)時,從具有最大加權組合參數值的輸入弧傳至節點的網流,將從“1號”輸出弧輸出,有次大加權組合參數值輸入弧送來的網流從“2號”輸出弧輸出,等等。當指定負權時,作用恰恰相反。在同一應用中,不能同時使用正權和負權。
風險評審技術的基本工作程式如下:
1.分析決策對象,明確決策過程,去頂決策點,提出時間、費用和性能的參數值及風險概率要求。
2.構造網路圖,並將其轉化為風險評審技術邏輯網路,用以表明決策點和活動。
3.搜集各活動必需的時間、費用和性能數據,並可通過各種統計分佈,如正態分佈或β,γ,泊松分佈等來部分地或全部模擬各種活動的時間、費用、性能值。
4.電腦模擬運算。模擬的迭代次數根據對置信水平的要求而定。一般需進行500-1000次。
5.分析模擬結果。同時還可以在修正原始數據條件後,再重新運行併進行風險靈敏度分析。
VERT網路模型是通過帶有時間、費用和性能等變數值的弧和節點,按照它們的相互關係連接起來的網狀圖,是一種隨機網路,因此它屬於數學模型。
一個數學模型是一個真實系統的抽象,一般說來,它可能而且應該比現實本身更簡單,更清晰,更概括。然而,數學模型並不是真實系統。它與真實系統的關係如圖1所示。
好的數學模型必須能夠反映出真實系統中所要研究方面的主要性質和特征。這取決於簡化或抽象的合理性和科學性,取決於真實系統所能提供的各種信息的準確性和充分性。當然,也取決於進行這種簡化和抽象的人素質和經驗。因此,一般說來,數學模型的建立不可避免地要包括檢驗與修正模型的過程。
對真實決策系統,構造符合實際的隨機網路模型,是應用隨機網路評審方法進行風險決策分析的關鍵步驟。其中最重要的一環是繪製網路圖,即構造網路模型。
構造網路模型的方法,它依賴於所決策問題(系統)的性質、大小及複雜程度,也隨著不同決策者的習慣、經驗和素質而不同。VERT建模方法與PERT方法類似。
構造網路模型的過程大體可分為以下幾個步驟。第一步,確定決策的環境。這一步就是在調查研究的基礎上,確定被分析系統的問題、決策目標、變數和約束條件以及可接受的風險水平。第二步,按工作進程與風險分析需要畫出流程圖。在調查研究的基礎上,畫出整個系統各個設計階段的流程和各個設計階段子流程。第三步,繪製VERT網路圖。在第二步流程圖的基礎上,應用VERT的弧和節點功能,把流程圖改造成VERT隨機網路圖。第四步,確定弧和節點的數據。確定弧上的時間、費用及性能參數和節點上參數及邏輯等,併在模擬運行中加以檢驗和修正,不斷去偽存真,構造出反映真實系統的隨機網路模型。
VERT隨機網路模型是一個圖論模型,稱為圖G,記節點集合為N,弧集合為A,則有: G={N,A};這裡N={N1,N2,N3………Nn},Ni表示第i個節點,n為節點總數;A={Aij|i,j=1,2,3……n,i
VERT網路中有兩種流。一種流是自身攜帶的網流;一種是網路流到此處的累計網流。對於弧,一種是由自身的時間(Tij)、費用(Cij)和性能(Pij)組成的網流;另一種則是由弧的累計時間、累計費用和累計性能組成的網流。對於節點,由於它本身不消耗時間、費用和性能,所以它沒有自身網流,只有累計時間(NTi)、費用(NCi)和性能(NPi)組成的網流。弧和節點的累計網流都是網路模型的未知量,是模擬過程中要確定的模型基本解。有了它,就可對節點和弧的機動時間、關鍵線路等進行分析。
網流形成原則要受節點、弧的狀態和邏輯限制。弧有成功、不成功和取消三種狀態,節點也有成功、不成功和取消三種狀態。節點邏輯比較複雜,它與弧的狀態密切相關,不同邏輯差別較大。例如,對AND邏輯,先根據輸入弧的狀態確定節點的狀態,然後確定成功節點的時間、費用和性能值,用數學表達式表示如下:
其中OPT表示對有相同開始節點和結束節點的弧求最優。
對於弧累計時間、費用和性能值,需根據弧的狀態,用它的開始節點的時間、費用和性能的累計值加上弧自身的時間、費用和性能。