肖勇 管致乾
(上海電力大學(xué),上海 200082)
在項目實施過程中,工期延誤問題屢見不鮮,其主要原因在于對關(guān)鍵資源的管理缺乏足夠的重視[1-2]。關(guān)鍵鏈項目管理 (Critical Chain Project Management,CCPM) 方法能夠有效降低項目工期的不確定性影響,并縮短項目計劃工期[3-4]。與傳統(tǒng)的項目進(jìn)度管理方法相比,CCPM具有三個特點[5-6]:①通過考慮人的行為學(xué)假設(shè)消除非必要的安全時間,保證安全時間不會被濫用[7];②強(qiáng)調(diào)資源的可用性,能夠在兩個工序之間發(fā)生資源沖突時合理分配資源[8];③通過在項目流程中插入應(yīng)急緩沖區(qū),降低項目完工的超時風(fēng)險[9]。
不同的緩沖區(qū)(項目緩沖區(qū)、駁接緩沖區(qū)和資源緩沖區(qū))在關(guān)鍵控制點具有不同的作用。項目緩沖區(qū)位于項目網(wǎng)絡(luò)末端,用來保證項目完成時間免受單個任務(wù)工期變化的影響。駁接緩沖區(qū)位于交點上,用來保證非關(guān)鍵工序即使發(fā)生變化也不會影響關(guān)鍵鏈任務(wù)。非關(guān)鍵工序和關(guān)鍵工序之間的資源緩沖區(qū)[10]用來保護(hù)關(guān)鍵鏈免受資源不可用的影響。這些緩沖區(qū)作為警告信號,能夠確保及時完成關(guān)鍵鏈上的工序所需的資源是可用的[11]。
當(dāng)前,經(jīng)典的緩沖區(qū)計算方法是剪切粘貼法(Cut and Paste Method,C&PM)。該方法將預(yù)期活動工期的50%作為安全時間,再將安全時間之和的50%作為緩沖區(qū),具有操作簡單的優(yōu)勢。然而,非關(guān)鍵鏈會線性地影響緩沖區(qū)大小,導(dǎo)致在較長的非關(guān)鍵鏈中緩沖區(qū)相對較長且不實用。Newbold進(jìn)一步完善了C&PM方法,提出了根平方誤差法(RSEM)[12]。雖然該方法考慮了任務(wù)持續(xù)時間的已知變化,但可能導(dǎo)致工序多的關(guān)鍵鏈緩沖區(qū)不足[13]。在上述理論的基礎(chǔ)上,Tukel和Eksioglu開發(fā)了兩種方法:帶密度的適應(yīng)性程序(APD)和帶資源緊密度的適應(yīng)性程序(APRT)。前者根據(jù)進(jìn)入關(guān)鍵鏈的子網(wǎng)絡(luò)結(jié)構(gòu)估算緩沖區(qū)大小,后者考慮了通往緩沖區(qū)的鏈上工序所需資源的稀缺性[14]。
在上述方法中,緩沖區(qū)的大小是由大于1的系數(shù)縮放的緩沖區(qū)內(nèi)的路徑合并的標(biāo)準(zhǔn)偏差確定的[15]。De等[16]引入熵理論衡量調(diào)度網(wǎng)絡(luò)的復(fù)雜性,以此確定CCPM時間緩沖區(qū)大小。Zhang等[17]通過整合資源緊密度和網(wǎng)絡(luò)復(fù)雜性模型,提出估算緩沖區(qū)大小的單一框架。王肖文等[18]認(rèn)為,在實際操作中并非所有項目都存在帕金森定律中所描述的情況,不能對每個工序的安全時間進(jìn)行平均化,應(yīng)對每個工序的不確定性影響因素進(jìn)行分析,通過加入不同屬性因子,使緩沖區(qū)的設(shè)置更加科學(xué)合理[20]。同樣,張靜文等[19]結(jié)合時差定義和緩沖區(qū)設(shè)置原則,在設(shè)置項目緩沖區(qū)時考慮了不確定性因素對各個工序影響的不同,引入關(guān)鍵工序工期的影響因子。劉士新等[21]認(rèn)為,在設(shè)置緩沖區(qū)時,應(yīng)依據(jù)在指定資源分配方式下每個工作的自由時間分別設(shè)置緩沖區(qū)。周陽等[22]提出,在單資源約束下緩沖區(qū)的大小可采用排隊論確定,通過消除整個項目實施過程中的不確定性因素,使工期和成本得以平衡。王晶[23]認(rèn)為,關(guān)鍵鏈匯入緩沖區(qū)的取值具有區(qū)間性,采用自由時差法和總時差法確定匯入緩沖區(qū)的大小更符合緩沖區(qū)設(shè)置的本質(zhì);采用影響因子法確定項目緩沖區(qū)的大小更加符合實際。
雖然上述研究將不同的項目屬性納入緩沖區(qū)大小的考量,但沒有考慮項目進(jìn)度中資源獲取的隨機(jī)效應(yīng)。基于此,本文提出一種嵌入可靠性理論的緩沖區(qū)設(shè)置方法,以解決項目進(jìn)度管理中資源可用的隨機(jī)性問題。
本文在計算緩沖區(qū)大小時,進(jìn)行以下假設(shè):
(1)資源在有限的供應(yīng)條件下,項目進(jìn)度受到資源制約。
(2)分配給工序的資源可靠性值在工序執(zhí)行期間保持不變。
(3)同一類型的所有資源具有相同的可靠性值。
(4)資源在統(tǒng)計上是獨立的,即某一特定資源的可用性并不影響其他資源的可用性。
將工序i的資源結(jié)構(gòu)功能定義為一個模型,分配給工序i的每種資源的狀態(tài)用隨機(jī)變量Xij表示。如果資源可用,則Xij=1;否則,Xij=0。根據(jù)以下二元函數(shù)公式評估每種工序在所需資源方面的狀態(tài)(資源結(jié)構(gòu)功能),即
θ(Xi1,Xi2,…,XiN)=
(1)
考慮到每個工序的資源結(jié)構(gòu)函數(shù),計算工序i的基于資源的可靠性Ri。Ri被定義為完成工序i所需資源的可用概率。事實上,它是資源結(jié)構(gòu)函數(shù)等于1的概率。公式如下
Ri=Pr[θ(Xi1,Xi2,…,XiN)=1]
(2)
為了完成工序i,必須在整個工序期間擁有所有的資源。即當(dāng)且僅當(dāng)工序i的所需的n個資源在其執(zhí)行期間都可用時,工序i才能完成。資源結(jié)構(gòu)函數(shù)如下
(3)
若每個Xij=1,則θ(Xi1,Xi2,…,XiN)=1。或者說,任何一個資源的不可用性都會導(dǎo)致工序延時。因此,Ri可以用資源可靠性的乘積表示,公式如下
(4)
式中,Ri是工序i整體基于資源的可靠性;rij是工序i對分配給該工序的資源類型j的可靠性。
此外,式(4)成立的條件是假設(shè)只有一個單位的資源j是可用的,同時需要一個單位的這種資源來完成工序i。然而,在實踐中,對于某些工序而言,資源的可用量可能高于對該資源的需求量,因此,nij>kij。其中,nij和kij分別是分配給工序i的資源類型j的可用單位和所需單位的數(shù)量。在這種情況下,如果nij個資源中至少有kij個可用于執(zhí)行工序,那么工序i就可以進(jìn)行?;蛘撸绻栀Y源中的kij或更多的nij資源不可用,則工序i將被延遲。假設(shè)所有j類型的可用資源具有相同的可靠性rij,那么j類型的nij個資源中的kij的可靠性r(kij/nij)可以通過以下公式計算,即
(5)
對于一個需要分配N種不同類型資源的工序,式(5)可以擴(kuò)展為
(6)
需要注意的是,當(dāng)nij=kij=1時,式(6)可以簡化為式(4)。式(6)中表示的分配給項目工序的多種資源的總體可靠性的概念可以通過邏輯圖表示,即資源可靠性框圖(RBD[R]),如圖1所示。RBD是較為常用的可靠性圖表,RBD[R]對可靠性框圖(RBD)進(jìn)行了改進(jìn)和完善。
RBD顯示了一個系統(tǒng)中各組成部分之間的邏輯聯(lián)系,說明了系統(tǒng)的功能狀態(tài),給定了功能各組成部分的狀態(tài),能夠直觀地分析項目工序所需資源的總體可靠性,并考慮到每個單獨資源的可靠性[25]。RBD[R]中的矩形表示一個工序所需的資源,線條表示資源之間的關(guān)系。RBD[R]直觀地展示了如何將資源分配給一個工序,以便在其目標(biāo)結(jié)束日期內(nèi)完成該工序。
綜上所述,本文將項目工序的資源可靠性進(jìn)行量化,將數(shù)值設(shè)定為一個比例系數(shù)以調(diào)整時間緩沖區(qū)大小。換言之,緩沖區(qū)的大小是在一個關(guān)鍵鏈采用RSEM算法后所得到的數(shù)值上分配一個由各個工序可用資源的可靠性函數(shù)構(gòu)成的比例系數(shù)確定的。
(7)
對工序持續(xù)時間采用悲觀和樂觀估計。如果T是工序i的悲觀工期,則與90%的估計置信度有關(guān);如果T是工序i的樂觀工期,則與50%的置信度有關(guān)。考慮到Ri的工序資源的不可靠性,假設(shè)工序完成時間為對數(shù)正態(tài)分布,將有m個工序的駁接關(guān)鍵鏈的緩沖區(qū)大小定義為BSR,公式如下
(8)
通過用資源可靠性代替資源不可靠性,公式如下
(9)
由此可見,資源可靠性值是從一個常量中減去的,這意味著緩沖區(qū)的大小隨著資源可靠性的降低而增加。顯然,若Ri=1,則比例因子(2-Ri)對BSR沒有影響,故式(9)等同于根平方誤差法。
某項目關(guān)鍵鏈網(wǎng)絡(luò)圖如圖2所示,包含10項工序和8項資源。矩形方框表示工序,箭頭表示工序執(zhí)行順序。該網(wǎng)絡(luò)包含一個關(guān)鍵鏈(A→E→H→J)和兩個非關(guān)鍵鏈。非關(guān)鍵鏈B→C→D→F與關(guān)鍵鏈上的工序H接駁,非關(guān)鍵鏈G→I通過工序J與關(guān)鍵鏈接駁。在工序J和項目到期日之間的項目網(wǎng)絡(luò)末端增加一個項目緩沖區(qū)(PB)。為了確保非關(guān)鍵鏈B→C→D→F中的任何變化不會影響關(guān)鍵鏈上的工序H,在工序I和J之間增加緩沖區(qū)FB2。其中,非關(guān)鍵鏈G→I和關(guān)鍵鏈A→E→H→J在J工序處進(jìn)行接駁。
圖1 資源可靠性框圖(RBD[R])
圖2 某項目關(guān)鍵鏈網(wǎng)絡(luò)圖
對工序A和工序B的計算過程進(jìn)行分析。首先,完成這項工序所需的資源被映射成RBD。工序A和工序B的RBD被表示為其所需資源(4、6和1、2)的系統(tǒng),以及由該資源所有可用單元的平行組合構(gòu)成的每個資源的功能塊,如圖3所示。
首先,計算工序A和工序B網(wǎng)絡(luò)中每個工序的rij值。資源類型為4的可靠性是通過計算該資源的4個單位中至少有3個單位被分配給工序A的概率進(jìn)行估計,公式如下
同理,得到
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
同理,計算其他項目工序的整體資源可靠性,結(jié)果見表1。
表1 其他工序關(guān)鍵鏈相關(guān)數(shù)據(jù)
利用公式計算出對應(yīng)鏈的BSR值。關(guān)鍵鏈A→E→H→J的緩沖區(qū)計算公式如下
BSR(A→E→H→J)
=5.06
同理可得
BSR(B→C→D→F)=2.73
BSR(G→I)=2.5
最后,分別計算出對應(yīng)鏈的BSRSEM和BSC&PM,結(jié)果如下
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表示平方根誤差法得到的緩沖區(qū)大??;BSC&PM表示剪切粘貼方法得到的緩沖區(qū)大小。
綜上所述,采用C&PM方法計算得到的關(guān)鍵鏈A→E→H→J的緩沖區(qū)為9周,遠(yuǎn)遠(yuǎn)大于通過本文方法計算得到的緩沖區(qū)5.06周,誤差比例為77.8%。使用C&PM方法計算的非關(guān)鍵鏈G→I的緩沖區(qū)大小與本文方法相比,緩沖區(qū)誤差比例為20%。這是因為在C&PM方法中,緩沖區(qū)的大小與工序鏈的長度呈線性增長,時長較長的工序鏈產(chǎn)生了較大的緩沖區(qū)[26]。
本文提出的方法與RSEM方法相比會產(chǎn)生更大的緩沖區(qū)。這是因為資源可靠性在式(9)中的對應(yīng)比例系數(shù)大于1。在非關(guān)鍵鏈B→C→D→F中,工序的Ri值很高(0.949 5~0.991 7),導(dǎo)致兩種方法之間誤差較小,為3.1%。在關(guān)鍵鏈A→E→H→J中,工序E的RE值相對較低,導(dǎo)致本文方法計算得到的緩沖區(qū)(5.06周)大于RSEM方法計算的結(jié)果(4.583周),誤差為10.4%。同樣,非關(guān)鍵鏈G→I上的工序G的資源可靠性低,導(dǎo)致使用本文的計算方法的結(jié)果和RSEM方法計算的平均緩沖區(qū)大小誤差較大,為11.8%。
隨著項目規(guī)模越來越大、項目內(nèi)容越來越復(fù)雜,項目資源(物質(zhì)資源和人力資源)對項目進(jìn)度具有決定性影響?;诖耍疚脑谘芯宽椖抗ば蛸Y源可用性概率的基礎(chǔ)上,結(jié)合可靠性理論改進(jìn)了RSEM方法。該方法克服了C&PM和RSEM方法的不足,能夠降低資源可靠性對項目進(jìn)度的影響,更符合項目實際需求。通過案例驗證可知,本文提出的項目關(guān)鍵鏈緩沖區(qū)計算方法與C&PM和RSEM方法相比,能夠更好地解決基于C&PM方法緩沖區(qū)過大的問題。同時,彌補(bǔ)了項目屬性的缺失,使緩沖區(qū)計算結(jié)果更加可靠,解決了基于RSEM方法緩沖區(qū)過小的問題。