- 相關(guān)推薦
資源多約束進(jìn)度網(wǎng)絡(luò )的風(fēng)險評估
摘要:在項目管理中由于項目龐大、持續周期長(cháng)、影響因素繁多,不可避免地會(huì )面對潛在的風(fēng)險。本文對項目潛在的風(fēng)險進(jìn)行評估,讓項目的管理者對項目有一個(gè)長(cháng)遠的認識,防范風(fēng)險于未然。本文應用資源多約束下項目進(jìn)度調度(resource-constrained project scheduling problem,RCPSP)問(wèn)題模型,對進(jìn)度風(fēng)險評估系統進(jìn)行了需求分析和模塊劃分,設計了系統的框架層次、數據庫、資源多約束下的蒙式仿真算法,給出了依據仿真結果計算進(jìn)度風(fēng)險和成本風(fēng)險的統計思路。
關(guān)鍵詞:進(jìn)度風(fēng)險評估;成本風(fēng)險;資源多約束;蒙式仿真
引言
項目管理是通過(guò)項目經(jīng)理和項目組織的努力,運用系統理論和方法對項目及其資源進(jìn)行計劃、組織、協(xié)調、控制,旨在實(shí)現項目特定目標的管理方法體系。項目管理的對象是項目,即一系列的臨時(shí)任務(wù),它的目的是通過(guò)運用科學(xué)的項目管理技術(shù),更好地實(shí)現項目目標。項目管理的職能與其它管理的職能是完全一致的,即是對組織的資源進(jìn)行計劃、組織、指揮、控制。資源是指項目所在的組織中可得到的、為項目所需要的那些資源,包括人員、資金、技術(shù)、設備等,在項目的管理中,時(shí)間是一種特殊的資源。項目管理的任務(wù)是對項目及其資源的計劃、組織、協(xié)調、控制。
任何項目的策劃和執行都包含大量不同的活動(dòng)及各種人力、物力資源。資源是項目執行過(guò)程中不可缺少的重要組成部分,而這些資源的有效的可用量往往是有限的。有的資源是可循環(huán)利用的,而有些則是一次性的。如何以最佳方式安排執行項目中的各個(gè)活動(dòng),以使其順利完成,就構成了資源受限下項目進(jìn)度調度問(wèn)題的基本概念。
資源約束下項目調度問(wèn)題(resource-constrained project scheduling problem,RCPSP)是一類(lèi)應用范圍十分廣泛的組合優(yōu)化問(wèn)題,它研究在資源稀缺的情況下滿(mǎn)足資源的約束,合理安排任務(wù)的開(kāi)始時(shí)間和結束時(shí)間,從而在資源最優(yōu)利用的同時(shí)實(shí)現既定目標的最優(yōu)化。它被證明是一種強NP難題。資源約束下項目調度問(wèn)題模型豐富,根據資源類(lèi)型和項目結構的不同可以分為眾多種類(lèi),許多組合優(yōu)化問(wèn)題是RCPSP的特殊情形。例如作業(yè)車(chē)間(job shop)調度,流水車(chē)間(flow shop)調度等。此外RCPSP廣泛存在于建筑工程,軟件開(kāi)發(fā),飛機和輪船制造等單件或小批量生產(chǎn)方式的企業(yè)中。因此研究RCPSP具有重要的理論和現實(shí)意義,可以廣泛應用于實(shí)際。
近年來(lái),RCPSP得到了許多擴充。鑒于應用背景和目標函數的不同,RCPSP可擴展為時(shí)間/費用權衡問(wèn)題(TCTP),資源水平問(wèn)題(RLP)和凈現值(NPV)問(wèn)題等。進(jìn)一步考慮不確定因素,又產(chǎn)生了隨機調度問(wèn)題。作為項目調度的有效工具,甘特圖、關(guān)鍵路徑法和計劃評審技術(shù)已廣泛應用于各種項目調度問(wèn)題。在算法方面,尤其是求解算法(包括智能算法)得到了廣泛而深入的討論,同時(shí)得到了許多成功應用。
一、系統需求分析與設計
本文在功能方面,針對管理者的日常需求,將資源多約束下進(jìn)度風(fēng)險評估系統功能分為:項目管理,資源管理,項目網(wǎng)絡(luò )圖(任務(wù)屬性設置),項目仿真,項目仿真版本管理等項功能。
項目管理:對項目的任務(wù)節點(diǎn)信息和節點(diǎn)之間的約束關(guān)系等進(jìn)行記錄和管理,并可以對項目進(jìn)行資源分配。
資源管理:對資源的屬性和數量等進(jìn)行記錄和管理。
項目網(wǎng)絡(luò )圖:展示項目各個(gè)任務(wù)節點(diǎn)之間的約束關(guān)系,形成網(wǎng)絡(luò )圖?梢詫γ總(gè)非概要任務(wù)節點(diǎn)進(jìn)行任務(wù)屬性的設置和資源需求的設置,為仿真進(jìn)行準備。
項目仿真:對設置好任務(wù)節點(diǎn)屬性的項目進(jìn)行帶資源約束的仿真或不帶資源約束的仿真。
項目仿真版本管理:管理所有項目仿真好的版本.可以選擇某個(gè)版本進(jìn)行查看,也可以刪除某個(gè)版本。
因此,本系統包括項目管理模塊、項目網(wǎng)絡(luò )圖模塊、仿真版本和新仿真模塊、仿真結果模塊、資源管理模塊。
項目管理模塊:提供了必要的項目管理及資源分配功能。用戶(hù)可以對項目進(jìn)行管理,例如,通過(guò)讀人XML配置文件添加項目、修改項目描述、查看項目XML文件等功能。用戶(hù)也可以將已經(jīng)存在的資源分配給某一個(gè)具體項目,以便為有資源約束的仿真做準備。
項目網(wǎng)絡(luò )圖模塊:展示項目的任務(wù)節點(diǎn)信息和它們的相互關(guān)系,以網(wǎng)絡(luò )圖的形式表示出來(lái)。用戶(hù)可以通過(guò)點(diǎn)擊某個(gè)具體節點(diǎn)設置它的屬性(統計學(xué)分布、期望、方差等)和需求資源的情況,為帶資源的仿真和不帶資源的仿真做進(jìn)一步準備。
仿真版本和新仿真模塊:管理和顯示已經(jīng)存在的仿真版本和新建一個(gè)版本開(kāi)始仿真。用戶(hù)可以選擇一個(gè)已經(jīng)存在的仿真版本進(jìn)行查看或者刪除,也可以新建某個(gè)項目的一個(gè)版本,進(jìn)行一定次數的帶資源的仿真或不帶資源的仿真。
仿真結果模塊:展示某個(gè)版本的仿真結果,以圖表的方式展現如關(guān)鍵路徑、平均工期、任務(wù)關(guān)鍵路徑概率、總工期區間分布、進(jìn)度風(fēng)險、成本風(fēng)險、進(jìn)度成本聯(lián)合風(fēng)險等信息。用戶(hù)可以通過(guò)瀏覽這些圖表形式的仿真結果,直觀(guān)地了解系統對于項目的風(fēng)險評估信息,方便地做出最有利的決策。
資源管理模塊:管理和顯示資源的相關(guān)信息,用戶(hù)可以創(chuàng )建、修改、刪除某個(gè)資源。也可以設置資源的相關(guān)屬性(名稱(chēng)、數量、是非為消耗性資源等)。
二、大數據多約束進(jìn)度風(fēng)險評估算法
本算法的核心類(lèi)似銀行家算法,運用到了拓撲排序和隊列的相關(guān)知識,其思路是:枚舉出所有可能的全拓撲資源分配序列(按優(yōu)先級剔除部分),然后對其逐一進(jìn)行模擬比較,算出最優(yōu)分配序列。在分配資源和計算節點(diǎn)工期的過(guò)程中,按照銀行家算法的思想,節點(diǎn)在申請資源的時(shí)候直接申明所需的最大資源,而且項目盡量滿(mǎn)足節點(diǎn)的申明,除非超過(guò)擁有資源的最大數量。這樣使得至少有一個(gè)節點(diǎn)是出于就緒狀態(tài)的,避免死鎖。
具體步驟:
A.輸入項目基本信息和結構(輸入項目XML)。
B.輸入項目資源信息
C.輸入項目每個(gè)節點(diǎn)的統計學(xué)屬性、優(yōu)先級關(guān)系和資源需求。
D.按照優(yōu)先級計算項目節點(diǎn)的全拓撲排序資源分配序列。
E.按順序選擇一個(gè)資源分配序列進(jìn)行模擬。
F.將所有人度為零的節點(diǎn)加入等待隊列。
G.按順序給等待隊列節點(diǎn)分配資源,如果節點(diǎn)資源滿(mǎn)足則把它改為加入就緒隊列并將其所有后繼節點(diǎn)人度減一。
H.如果就緒隊列不為空,則計算節點(diǎn)工期,按最小工期的節點(diǎn)推進(jìn)項目。否則說(shuō)明沒(méi)有就緒節點(diǎn),本資源分配序列無(wú)法完成,返回E。
I.計算在等待隊列的節點(diǎn)的等待資源時(shí)間。
J.計算完成節點(diǎn)的成本。
K.回收完成節點(diǎn)的資源,將其剔除就緒隊列。
L.如果所有節點(diǎn)都已經(jīng)完成則本資源分配序列結束,計算總工期。否則返回F。
M.如果所有資源分配序列都已經(jīng)模擬過(guò)則算法結束,否則返回E。
N.輸出任務(wù)等待的時(shí)間和等待的資源。
0.輸出項目總工期和總成本。
算法流程圖如圖2所示。
設Sequence_List為資源分配序列數組,Sequence為資源分配序列,Wait List為等待隊列,Ready_List為就緒隊列,Task_List為節點(diǎn)列表。算法的偽代碼可以表示為:
Foreach Sequence in Sequence_List
Foreach task in Task_ List
If (task.InDegree=0)then
Wait_List.Add(task) For i=l to Sequence.length do
Forj=l to Wait_List.count do
If(Wait_List.count[j].id!=Sequence[i])
Continue
If(allocateResource(Wait_List.count[j])=OK)
Ready_List.Add(task)
For k=l to task.succeed.lengh do
task.succeed[k]-
Wait_List.Remove(task)
If(Ready_List!=null)
minValue←Findmin(Ready_List)
Duration+=minValue;
Foreach task in Wait_List
Task.waittime+=minValue
For i=l to Ready_List.count do
If(Ready_List[i].Value<=minValue)
Mo ney+= getMo ney(Ready_List [i])
recycleRe source (Ready_List[i])
Ready_List[i].Remove(task)
Else
Ready_List[i].Value-=minValue
Else
Finish()
本系統的資源約束仿真算法還運用到了關(guān)鍵路徑算法,它為資源約束仿真算法的子過(guò)程。其算法步驟如下:
A. 拓撲排序,將所有人度為零的點(diǎn)壓人堆棧
B. 計算棧頂節點(diǎn)最早開(kāi)始工期Ve并將其所有后繼節點(diǎn)人度減一
C. 彈出堆棧。
D. 如果堆棧不為空則返回B。
E. 如果還有節點(diǎn)未完成則返回A
F. 逆拓撲排序,將所有出度為零的點(diǎn)壓人堆棧
G. 計算棧頂節點(diǎn)最遲開(kāi)始工期Vl并將其所有前驅節點(diǎn)出度減
H 如果Vl=Ve,將節點(diǎn)標記為關(guān)鍵路徑上的節點(diǎn)。
I. 彈出堆棧。
J. 如果堆棧不為空則返回G。
K. 如果還有節點(diǎn)未完成則返回F
L 算法結束
算法的流程圖如圖3所示。
三、系統仿真及驗證
蒙式仿真(Monte Carlo)方法是通過(guò)大量的計算機模擬來(lái)檢驗系統的動(dòng)態(tài)特性并歸納出統計結果的一種隨機分析方法,也稱(chēng)為統計模擬法或隨機采樣技術(shù)。它包括偽隨機數的產(chǎn)生,蒙式仿真設計以及結果解釋等內容,其作用在于用數學(xué)方法模擬真實(shí)物理環(huán)境,并驗證系統的可靠性與可行性。它不僅適用于處理隨機型問(wèn)題,如存儲系統、排隊系統、質(zhì)量檢驗問(wèn)題、社會(huì )救急系統問(wèn)題、生態(tài)競爭問(wèn)題和傳染病蔓延問(wèn)題等;也可處理確定型問(wèn)題,如計算多重積分、解積分方程及微分方程、解整數規劃(特別是非線(xiàn)形整數規劃)等。
蒙式仿真解決問(wèn)題的基本思想是:首先建立與描述該問(wèn)題相似的概率模型,然后對模型進(jìn)行隨機模擬或統計抽樣,在利用所得到的結果求出特征的統計估計值作為原問(wèn)題的近似解,并對解的精度做出某些估計。蒙式仿真方法的主要理論依據是大數定理,其主要手段為隨機變量的抽樣分析。
本系統運用了蒙式仿真的基本思想,也就是說(shuō)按照一定的數學(xué)分布用多次模擬取隨機數的辦法去估計實(shí)際的值,模擬的次數越多則越貼合實(shí)際。由統計結果可以很容易地獲得項目進(jìn)度和成本的區間分布(進(jìn)度包括了工期和等待資源的時(shí)間,成本包括了直接成本和間接成本),從而知道項目進(jìn)度和成本大于某個(gè)閾值的概率是多少,也就是發(fā)生風(fēng)險的概率是多少。如進(jìn)度風(fēng)險圖4,成本風(fēng)險圖5,進(jìn)度成本聯(lián)合風(fēng)險圖6。
進(jìn)度風(fēng)險的統計思路:假設仿真次數為N,N次仿真結果中最大工期為Dmax,最小工期為Dmin。則依次取基準點(diǎn)Sn=(Dmax-Dmin)/lO*n+Dmin,即將區間十等分。后統計工期大于基準點(diǎn)Sn的結果數量Nn則進(jìn)度風(fēng)險概率Pn=Nn/N。(n=l,2,3…10)
成本風(fēng)險的統計思路:同理,假設仿真次數為N,N次仿真結果中最大成本為Cmax,最小成本為Cmin。則依次取基準點(diǎn)Sn=(Cmax-Cmin)/lO*n+Cmin,即將區間十等分。后統計成本大于基準點(diǎn)Sn的結果數量Nn則成本風(fēng)險概率Pn=Nn/N。(n=l,2,3…10)
進(jìn)度成本聯(lián)合風(fēng)險是將進(jìn)度風(fēng)險和成本風(fēng)險兩個(gè)二維圖統計結果結合,進(jìn)而生成的三維散點(diǎn)圖統計結果。散點(diǎn)的坐標可以表示為(Sx,Sy,P)。Sx對應工期X軸上的某個(gè)點(diǎn),Sy對應成本Y軸上的某個(gè)點(diǎn),P為風(fēng)險概率。則散點(diǎn)所表示的意義是工期大于Sx,成本大于Sy的聯(lián)合風(fēng)險概率為P。
四、結論
本文對項目潛在的風(fēng)險進(jìn)行評估,讓項目的管理者對項目有一個(gè)長(cháng)遠的認識,防范風(fēng)險于未然。本文應用資源多約束下項目進(jìn)度調度(resource-constrained project scheduling problem,RCPSP)問(wèn)題模型,對進(jìn)度風(fēng)險評估系統進(jìn)行了需求分析和模塊劃分,設計了系統的框架層次、數據庫、資源多約束下的蒙式仿真算法,給出了依據仿真結果計算進(jìn)度風(fēng)險和成本風(fēng)險的統計思路。
【資源多約束進(jìn)度網(wǎng)絡(luò )的風(fēng)險評估】相關(guān)文章:
論析網(wǎng)絡(luò )應用流分析與風(fēng)險評估系統03-26
相似云下的網(wǎng)絡(luò )安全風(fēng)險評估論文11-27
基于粗集的神經(jīng)網(wǎng)絡(luò )的項目風(fēng)險評估02-27
基于粗集神經(jīng)網(wǎng)絡(luò )的項目風(fēng)險評估03-28
基于粗集的神經(jīng)網(wǎng)絡(luò )的項目風(fēng)險的評估03-29
研討壽險公司的風(fēng)險評估03-26
我國壽險公司風(fēng)險評估研究11-25