肖勇 管致乾
(上海電力大學,上海 200082)
在項目實施過程中,工期延誤問題屢見不鮮,其主要原因在于對關鍵資源的管理缺乏足夠的重視[1-2]。關鍵鏈項目管理 (Critical Chain Project Management,CCPM) 方法能夠有效降低項目工期的不確定性影響,并縮短項目計劃工期[3-4]。與傳統的項目進度管理方法相比,CCPM具有三個特點[5-6]:①通過考慮人的行為學假設消除非必要的安全時間,保證安全時間不會被濫用[7];②強調資源的可用性,能夠在兩個工序之間發生資源沖突時合理分配資源[8];③通過在項目流程中插入應急緩沖區,降低項目完工的超時風險[9]。
不同的緩沖區(項目緩沖區、駁接緩沖區和資源緩沖區)在關鍵控制點具有不同的作用。項目緩沖區位于項目網絡末端,用來保證項目完成時間免受單個任務工期變化的影響。駁接緩沖區位于交點上,用來保證非關鍵工序即使發生變化也不會影響關鍵鏈任務。非關鍵工序和關鍵工序之間的資源緩沖區[10]用來保護關鍵鏈免受資源不可用的影響。這些緩沖區作為警告信號,能夠確保及時完成關鍵鏈上的工序所需的資源是可用的[11]。
當前,經典的緩沖區計算方法是剪切粘貼法(Cut and Paste Method,C&PM)。該方法將預期活動工期的50%作為安全時間,再將安全時間之和的50%作為緩沖區,具有操作簡單的優勢。然而,非關鍵鏈會線性地影響緩沖區大小,導致在較長的非關鍵鏈中緩沖區相對較長且不實用。Newbold進一步完善了C&PM方法,提出了根平方誤差法(RSEM)[12]。雖然該方法考慮了任務持續時間的已知變化,但可能導致工序多的關鍵鏈緩沖區不足[13]。在上述理論的基礎上,Tukel和Eksioglu開發了兩種方法:帶密度的適應性程序(APD)和帶資源緊密度的適應性程序(APRT)。前者根據進入關鍵鏈的子網絡結構估算緩沖區大小,后者考慮了通往緩沖區的鏈上工序所需資源的稀缺性[14]。
在上述方法中,緩沖區的大小是由大于1的系數縮放的緩沖區內的路徑合并的標準偏差確定的[15]。De等[16]引入熵理論衡量調度網絡的復雜性,以此確定CCPM時間緩沖區大小。Zhang等[17]通過整合資源緊密度和網絡復雜性模型,提出估算緩沖區大小的單一框架。王肖文等[18]認為,在實際操作中并非所有項目都存在帕金森定律中所描述的情況,不能對每個工序的安全時間進行平均化,應對每個工序的不確定性影響因素進行分析,通過加入不同屬性因子,使緩沖區的設置更加科學合理[20]。同樣,張靜文等[19]結合時差定義和緩沖區設置原則,在設置項目緩沖區時考慮了不確定性因素對各個工序影響的不同,引入關鍵工序工期的影響因子。劉士新等[21]認為,在設置緩沖區時,應依據在指定資源分配方式下每個工作的自由時間分別設置緩沖區。周陽等[22]提出,在單資源約束下緩沖區的大小可采用排隊論確定,通過消除整個項目實施過程中的不確定性因素,使工期和成本得以平衡。王晶[23]認為,關鍵鏈匯入緩沖區的取值具有區間性,采用自由時差法和總時差法確定匯入緩沖區的大小更符合緩沖區設置的本質;采用影響因子法確定項目緩沖區的大小更加符合實際。
雖然上述研究將不同的項目屬性納入緩沖區大小的考量,但沒有考慮項目進度中資源獲取的隨機效應?;诖耍疚奶岢鲆环N嵌入可靠性理論的緩沖區設置方法,以解決項目進度管理中資源可用的隨機性問題。
本文在計算緩沖區大小時,進行以下假設:
(1)資源在有限的供應條件下,項目進度受到資源制約。
(2)分配給工序的資源可靠性值在工序執行期間保持不變。
(3)同一類型的所有資源具有相同的可靠性值。
(4)資源在統計上是獨立的,即某一特定資源的可用性并不影響其他資源的可用性。
將工序i的資源結構功能定義為一個模型,分配給工序i的每種資源的狀態用隨機變量Xij表示。如果資源可用,則Xij=1;否則,Xij=0。根據以下二元函數公式評估每種工序在所需資源方面的狀態(資源結構功能),即
θ(Xi1,Xi2,…,XiN)=

(1)
考慮到每個工序的資源結構函數,計算工序i的基于資源的可靠性Ri。Ri被定義為完成工序i所需資源的可用概率。事實上,它是資源結構函數等于1的概率。公式如下
Ri=Pr[θ(Xi1,Xi2,…,XiN)=1]
(2)
為了完成工序i,必須在整個工序期間擁有所有的資源。即當且僅當工序i的所需的n個資源在其執行期間都可用時,工序i才能完成。資源結構函數如下
(3)
若每個Xij=1,則θ(Xi1,Xi2,…,XiN)=1。或者說,任何一個資源的不可用性都會導致工序延時。因此,Ri可以用資源可靠性的乘積表示,公式如下
(4)
式中,Ri是工序i整體基于資源的可靠性;rij是工序i對分配給該工序的資源類型j的可靠性。
此外,式(4)成立的條件是假設只有一個單位的資源j是可用的,同時需要一個單位的這種資源來完成工序i。然而,在實踐中,對于某些工序而言,資源的可用量可能高于對該資源的需求量,因此,nij>kij。其中,nij和kij分別是分配給工序i的資源類型j的可用單位和所需單位的數量。在這種情況下,如果nij個資源中至少有kij個可用于執行工序,那么工序i就可以進行。或者,如果所需資源中的kij或更多的nij資源不可用,則工序i將被延遲。假設所有j類型的可用資源具有相同的可靠性rij,那么j類型的nij個資源中的kij的可靠性r(kij/nij)可以通過以下公式計算,即
(5)
對于一個需要分配N種不同類型資源的工序,式(5)可以擴展為
(6)
需要注意的是,當nij=kij=1時,式(6)可以簡化為式(4)。式(6)中表示的分配給項目工序的多種資源的總體可靠性的概念可以通過邏輯圖表示,即資源可靠性框圖(RBD[R]),如圖1所示。RBD是較為常用的可靠性圖表,RBD[R]對可靠性框圖(RBD)進行了改進和完善。
RBD顯示了一個系統中各組成部分之間的邏輯聯系,說明了系統的功能狀態,給定了功能各組成部分的狀態,能夠直觀地分析項目工序所需資源的總體可靠性,并考慮到每個單獨資源的可靠性[25]。RBD[R]中的矩形表示一個工序所需的資源,線條表示資源之間的關系。RBD[R]直觀地展示了如何將資源分配給一個工序,以便在其目標結束日期內完成該工序。
綜上所述,本文將項目工序的資源可靠性進行量化,將數值設定為一個比例系數以調整時間緩沖區大小。換言之,緩沖區的大小是在一個關鍵鏈采用RSEM算法后所得到的數值上分配一個由各個工序可用資源的可靠性函數構成的比例系數確定的。

(7)
對工序持續時間采用悲觀和樂觀估計。如果T是工序i的悲觀工期,則與90%的估計置信度有關;如果T是工序i的樂觀工期,則與50%的置信度有關??紤]到Ri的工序資源的不可靠性,假設工序完成時間為對數正態分布,將有m個工序的駁接關鍵鏈的緩沖區大小定義為BSR,公式如下
(8)
通過用資源可靠性代替資源不可靠性,公式如下
(9)
由此可見,資源可靠性值是從一個常量中減去的,這意味著緩沖區的大小隨著資源可靠性的降低而增加。顯然,若Ri=1,則比例因子(2-Ri)對BSR沒有影響,故式(9)等同于根平方誤差法。
某項目關鍵鏈網絡圖如圖2所示,包含10項工序和8項資源。矩形方框表示工序,箭頭表示工序執行順序。該網絡包含一個關鍵鏈(A→E→H→J)和兩個非關鍵鏈。非關鍵鏈B→C→D→F與關鍵鏈上的工序H接駁,非關鍵鏈G→I通過工序J與關鍵鏈接駁。在工序J和項目到期日之間的項目網絡末端增加一個項目緩沖區(PB)。為了確保非關鍵鏈B→C→D→F中的任何變化不會影響關鍵鏈上的工序H,在工序I和J之間增加緩沖區FB2。其中,非關鍵鏈G→I和關鍵鏈A→E→H→J在J工序處進行接駁。

圖1 資源可靠性框圖(RBD[R])

圖2 某項目關鍵鏈網絡圖
對工序A和工序B的計算過程進行分析。首先,完成這項工序所需的資源被映射成RBD。工序A和工序B的RBD被表示為其所需資源(4、6和1、2)的系統,以及由該資源所有可用單元的平行組合構成的每個資源的功能塊,如圖3所示。
首先,計算工序A和工序B網絡中每個工序的rij值。資源類型為4的可靠性是通過計算該資源的4個單位中至少有3個單位被分配給工序A的概率進行估計,公式如下
同理,得到
rA6=0.902 5
rB1=0.995 3
rB2=0.996 4

圖3 工序A和工序B的RBD
其次,估計工序J的整體資源可靠性,即2、4、5、8類資源都可用的概率。計算公式如下
RA=0.999 9×0.902 5=0.902 4
RB=0.995 328×0.996 4=0.991 7
同理,計算其他項目工序的整體資源可靠性,結果見表1。

表1 其他工序關鍵鏈相關數據
利用公式計算出對應鏈的BSR值。關鍵鏈A→E→H→J的緩沖區計算公式如下
BSR(A→E→H→J)
=5.06
同理可得
BSR(B→C→D→F)=2.73
BSR(G→I)=2.5
最后,分別計算出對應鏈的BSRSEM和BSC&PM,結果如下
BSRSEM(A→E→H→J)=4.583、BSRSEM(B→C→D→F)=2.646、BSRSEM(G→I)=2.236
BSC&PM(A→E→H→J)=9、BSC&PM(B→C→D→F)=5、BSC&PM(G→I)=3
式中,BSRSEM表示平方根誤差法得到的緩沖區大小;BSC&PM表示剪切粘貼方法得到的緩沖區大小。
綜上所述,采用C&PM方法計算得到的關鍵鏈A→E→H→J的緩沖區為9周,遠遠大于通過本文方法計算得到的緩沖區5.06周,誤差比例為77.8%。使用C&PM方法計算的非關鍵鏈G→I的緩沖區大小與本文方法相比,緩沖區誤差比例為20%。這是因為在C&PM方法中,緩沖區的大小與工序鏈的長度呈線性增長,時長較長的工序鏈產生了較大的緩沖區[26]。
本文提出的方法與RSEM方法相比會產生更大的緩沖區。這是因為資源可靠性在式(9)中的對應比例系數大于1。在非關鍵鏈B→C→D→F中,工序的Ri值很高(0.949 5~0.991 7),導致兩種方法之間誤差較小,為3.1%。在關鍵鏈A→E→H→J中,工序E的RE值相對較低,導致本文方法計算得到的緩沖區(5.06周)大于RSEM方法計算的結果(4.583周),誤差為10.4%。同樣,非關鍵鏈G→I上的工序G的資源可靠性低,導致使用本文的計算方法的結果和RSEM方法計算的平均緩沖區大小誤差較大,為11.8%。
隨著項目規模越來越大、項目內容越來越復雜,項目資源(物質資源和人力資源)對項目進度具有決定性影響?;诖?,本文在研究項目工序資源可用性概率的基礎上,結合可靠性理論改進了RSEM方法。該方法克服了C&PM和RSEM方法的不足,能夠降低資源可靠性對項目進度的影響,更符合項目實際需求。通過案例驗證可知,本文提出的項目關鍵鏈緩沖區計算方法與C&PM和RSEM方法相比,能夠更好地解決基于C&PM方法緩沖區過大的問題。同時,彌補了項目屬性的缺失,使緩沖區計算結果更加可靠,解決了基于RSEM方法緩沖區過小的問題。