鞏 軍 胡 濤 姚 路
項目管理者在進行工期估算時,由于考慮到項目執行過程中可能出現的諸多不確定性因素和潛在風險,通常會加入大量的安全時間以保證項目的按時完成.然而,“學生綜合癥”、“帕金森定律”和項目與任務間的復雜邏輯關系等因素會造成安全時間的浪費,導致項目工序間松弛、工作效率降低,甚至工期延誤.因此,以色列物理學家Goldratt 成功地將“制約法” (Theory of constraint,TOC)引申至項目管理領域,提出了取代關鍵路線的關鍵鏈項目管理(Critical chain project management,CCPM).在CCPM 中,緩沖機制是項目執行過程中不確定性與進度權衡的有力工具,共包含3 類緩沖:項目緩沖(Project buffer,PB)、匯入緩沖(Feeding buffer,FB)和資源緩沖(Resource buffer,RB),通過合理設置緩沖區可以有效降低項目進度風險,保證項目高效完成[1].
剪貼法(Cast and paste method,C&PM)和根方差法(Root square error method,RSEM)是關鍵鏈緩沖區設置的基本方法.然而,C&PM 方法會出現緩沖區隨項目中工序增多而線性放大的問題,RSEM 方法由于鏈路中各工序相互獨立的假設條件并不成立,會導致緩沖區偏小.后續學者針對以上問題提出了諸多改進方法,Tukel 等[2]通過研究項目中各工序的相互影響因素,將資源緊張度和網絡復雜度分別計入項目緩沖,徐小峰等[3]在此基礎上給出了資源緊張度、工期安全度和工序復雜度的緩沖區尺寸計算方法,劉書慶等[4]基于關鍵鏈技術構建了考慮EPC (Engineering procurement conctruction)項目實施進度影響因素的緩沖區設置模型,通過融合工序位置權重系數、作業時間風險彈性系數、綜合權重值有效解決了由于EPC 項目中各影響因素對工序的不同影響造成的緩沖區時間估計不準的問題,胡晨等[5]為消除任務不確定性和資源約束對工期的影響,將活動工期風險、資源影響系數融入到傳統根方差法對緩沖區的計算中,蔣紅妍等[6]提出的緩沖區設置方法考慮了資源約束對緩沖區的影響,還能夠反映出由于信息約束對活動間相關性帶來的變化,張俊光等[7-9]提出了基于熵權法和活動屬性的緩沖區優化方法,并對各類緩沖區設置方法進行了歸納總結.
上述緩沖區的改進與優化方法雖然有一定效果,但存在以下問題:1)人的行為因素對項目進度計劃會產生重要影響,而現有方法并未將其納入緩沖區的設置中,如何量化人對緩沖區的影響也鮮有研究;2)緩沖區設置的目的是消除由于多種不確定性風險因素造成風險事件而可能產生的進度風險,如何更合理、精確和全面地量化諸多不確定風險因素有待進一步研究.
鑒于此,本文提出一種基于信息熵的關鍵鏈緩沖區設置方法對根方差法進一步修正.創新之處主要有:1)基于信息熵基本原理提出了復雜熵、資源熵和人因熵的概念及其度量方法,通過分析信息在工序執行過程中的不確定性程度有效度量各類風險因素對工序造成的進度風險;2)給出了基于區間直覺梯形模糊數(Interval-valued intuitionistic trapezoidal fuzzy numbers,IVITFN)的人因熵度量方法與操作步驟,能夠更好地描述人的行為對項目進度影響的不確定性和猶豫性;3)重點考慮人的行為因素對項目進度的影響,提出了工序工期、項目緩沖和匯入緩沖的熵模型與修正模型,進一步提高工序工期與緩沖區設置精度,有效解決緩沖設置不合理帶來的系列問題.
熵起初是一個熱力學概念,最早由克勞修斯提出,隨后逐步引入到物理學、信息論、管理學等學科領域.1948 年,申農首先提出了信息熵的概念并用于分析系統結構有序度評價問題,信息熵的公式為

式中,H為信息熵,K為常數,Pi為系統處于某種狀態的概率,且Pi∈[0,1].
信息熵的基本原理主要體現為[10]:
原理1.信息熵是表征系統狀態的函數,能夠反映出系統的復雜程度、無序程度或混亂程度,也是系統不確定性的度量.
原理2.熵值大小標志著系統發展的階段和層次,如果一個系統任其自由發展,其熵值必然逐漸增加,混亂程度一定不斷上升,最終處于非常復雜、無序的狀態.
原理3.影響系統熵值的主要因素有:系統規模、系統復雜性和系統的確定程度.相同條件下,系統規模與熵值成正比;系統元素間關系越多、越復雜,熵值越大;有用信息量越少,熵值越大.
對于項目中的工序而言,在執行過程中存在諸多不確定性風險因素可能會對其造成潛在影響而產生進度風險,最終使得整個項目難以按時完成.熵是對系統不確定性的一種度量,而工序是一個廣義系統,信息熵可以定量化描述其靜態與動態特征,反映工序的無序程度、復雜程度或偏離某項指標的離散來,可以通過分析信息在工序執行過程中的不確定性程度度量各類風險因素對工序造成的進度風險.
緩沖機制是關鍵鏈研究的一個核心問題.基于對信息熵基本原理的分析,為了克服人的不良行為因素對工序工期產生的影響,一方面需要合理壓縮工序的持續時間;另一方面,可以運用信息熵度量工期壓縮后產生的諸多不確定性因素,并依此設置緩沖區,從而有效化解進度風險.
現有項目工期與計劃對項目網絡的綜合復雜度、多資源約束情況特別是人的行為因素考慮不足,從而導致項目及其工序難以按期完成.因此,將緩沖區主要影響因素分為3 類:1)網絡復雜度;2)資源約束情況;3)人的行為因素.
網絡復雜度分為綜合復雜度 (C)[11]和工序復雜度 (Ci),C是指項目網絡計劃中各工序緊前與緊后關系的綜合復雜程度,Ci為項目網絡計劃中工序i的復雜度[7].根據原理3,系統規模與復雜性均可用信息熵度量,且與熵值成正比,系統規模越大,元素間關系越多、越復雜,熵值越大.因此,C和Ci可分別用綜合復雜熵 (Hf)和工序復雜熵度量.由于工序的工期受緊前工序的影響很大,緊前工序越多,工期越容易拖延,鏈路中工序總數越少,工序拖延對工期的影響越大.綜合復雜熵和工序復雜熵統稱為復雜熵,復雜熵越大,該項目或工序工期受不確定因素的影響越大,引起工期拖延的可能性也越大.根據復雜度與信息熵的公式,C,Hf,Ci,可分別通過式(1)~(4)得到

式(1)中,N表示項目網絡計劃中或鏈路上的網絡節點數,A表示對應的工序數,Kj表示節點j的緊前工序數,Sj表示節點j的緊后工序數;式(3)中,Li表示工序i的緊前工序數,Lt表示工序i所在鏈路的工序總數.
資源約束情況主要由資源緊張度確定.資源緊張度表征了項目或工序在執行過程中對資源的綜合使用強度和負荷,當資源的使用量接近資源供給上限時,工序工期拖延可能性加大.資源緊張度[5]分為項目資源緊張度 (α)和工序資源緊張度 (αi). 在本文中,資源緊張度特指αi. 根據原理3,系統的確定程度可用信息熵度量,與熵值成反比,系統的有用信息量越少,不確定性越大,熵值越大.因此,αi可用資源熵度量.資源熵越大,表明該工序資源使用量或需求量越多,工期受資源約束的影響越大.特別地,對資源p的工序緊張度表示為.根據緊張度與信息熵的公式,各類資源緊張度和資源熵可由式(5)~ (7)計算.

人的行為因素對項目進度的影響主要源于學生綜合癥和帕金森定律[1],表現為工期拖延習慣養成(習慣于工期末尾完成工作)、冗余時間設置過大(工期中包含了過多的安全時間)、預算執行心態不良(由于擔心提前完成會導致下次工期減少,工作完成后并不匯報)等,這些因素對工序工期的綜合影響程度表示為ξi.根據原理2 和原理3,人的行為因素增加了工序執行中的不確定性程度和進度延遲風險.因此,ξi可用人因熵度量.人因熵越大,表明該工序實施過程中受人的不良行為與習慣影響越大,工期拖延的可能性越大.根據信息熵的公式,可通過式(8)得到

項目執行過程中可能會出現諸多不確定性因素和潛在事件,由這些因素引發的可能導致項目拖延的事件稱為風險事件.風險事件特別是對于由人的行為因素產生的風險事件由于具有很強的不確定性,故難以對其作出明確的預測和評價.
保加利亞學者Atanassov[12]提出的直覺梯形模糊數是對直覺模糊集的拓展與完善,由于同時考慮了隸屬度、非隸屬度和猶豫度信息,能夠更好地描述評價對象的不確定性和猶豫性,避免評價信息的丟失,也可以表達不同物理量綱的決策信息,具有很好的信息集結質量與效率.區間直覺梯形模糊數是直覺梯形模糊數的特殊形式,其最可能值、隸屬度、非隸屬度均為區間形式,專家在評價與判斷風險事件的不確定性時使用區間形式更為合理.因此,筆者運用區間直覺梯形模糊數的性質與特點量化人的行為因素對工序的影響,從而實現對人因熵的度量.
定義 1[13].設為實數集合上一個直覺模糊數,其隸屬函數為

非隸屬函數為


綜合文獻[14-15],改進區間直覺模糊數的加性運算法則如下.
定義 3.設,i=1,2為兩個區間直覺梯形模糊數,其加性運算法則為

為便于對IVITFN 信息進行集成,綜合文獻[16-18]提出的直覺語言加權平均算子(Intuitionistic linguistic weighted averaging,ILWA)、不確定性語言加權算子(Uncertained linguistic weighted averaging,ULWA)和誘導有序加權平均算子(Induced ordered weighted averaging,IOWA),定義區間直覺梯形模糊數加權平均算子(Interval intuitionistic trapezoidal fuzzy number weighted averaging,IITWA)如下.

假設項目管理者擬對某項目執行過程中由于人的行為產生的不確定性進行評價.記X={X1,X2,···,Xm} 表示由m道工序組成的某項目(m≥2);邀請了x個專家e={e1,e2,···,ex}(x≥2),其中,ek表示第k個專家,q={q1,q2,···,qx}T為專家權重向量,qk表示第k個專家的權重;U={u1,u2,···,un} 為待評價工序的屬性集,表示由n個人因熵影響因素構成的集合,屬性的權重集為ω={ω1,ω2,···,ωn}.專家k給出的工序Xi在屬性uj下的評估值可用直覺梯形模糊數表示為

度量人因熵的關鍵是計算人的各種行為因素對工序i進度的綜合影響程度ξi. 這里,利用 TOPSIS (Technique for order preference by similarity to an ideal solution)[10]法中貼進度的概念計算ξi,具體步驟如下.

由于工序屬性集為人因熵影響因素,屬于風險性指標,則有

步驟2.由式(10)和專家權重向量q={q1,q2,···,qx}T集結所有專家的, 得到專家群的模糊判斷矩陣

由于在步驟1 中已將模糊判斷矩陣規范化,因此,正理想解表示人的各種行為因素對工序i進度產生的影響最小的情況,負理想解表示人的各種行為因素對工序i進度產生的影響最大的情況.
步驟4.根據式(13)和式(14)[19]計算相對貼近度矩陣C=(cij)m×n.

為滿足信息熵的計算需要和貼進度[0,1]的約束,由式(14)得到cij.
步驟5.根據式(15)和工序的屬性的權重集ω={ω1,ω2,···,ωn} 計算各工序i的總貼近度Ci.

步驟6.計算ξi.由于工序i總貼近度Ci的物理意義是人的各種行為因素對工序i進度的綜合影響程度.因此,ξi=Ci.
步驟7.根據式(8)計算工序i的人因熵.
RSEM 方法將估計工期減半作為最終的工序工期易造成工序工期的相對緊縮.因此,本文對工序初始工期和安全時間的估計采用文獻[5]的方法,由專家確定各工序的最樂觀時間、最可能時間和最悲觀時間,采用活動工期分布估計的方法,根據三角概率分布,工序的最可能完成時間di和安全完成時間Si分別選取置信度為50% 和95% 的工序工期,并進行仿真計算.安全時間σi的計算式為

式中,di同時為工序的初始工期.
由于人的行為因素會對項目進度產生較大影響,造成安全時間浪費、項目工序間松弛、工作效率降低,甚至工期延誤.因此,需要將人的行為因素合理融入到項目執行過程中:一方面,專家根據工程實踐經驗,通過人因熵合理壓縮各工序的初始工期減少工期中過多的安全時間或者由于人的不良習慣和心態造成的工期延長;另一方面,由于人的習慣和心態不可能很快轉變,壓縮工序的初始工期會帶來延遲風險,需要通過適當增加項目緩沖以降低由于人的習慣和心態不可能很快適應工期調整帶來的進度風險,也有利于解決RSEM 方法由于鏈路中各工序相互獨立的假設條件不成立帶來的緩沖區偏小問題.
根據人因熵的涵義,由式(17)得到工序的修正工期.

根據第1.2 節中緩沖區影響因素和基于信息熵的度量方法,以根方差法為基礎,構建初始緩沖區模型如下.
初始項目緩沖大小由式(18)計算.

式中,PB為初始項目緩沖,Hf為項目的綜合復雜熵、Hz和分別為關鍵鏈上工序i資源熵和人因熵,σi為工序i的安全時間.
初始匯入緩沖大小由式(19)計算.

式中,FBL為第L條非關鍵鏈的初始匯入緩沖,分別為非關鍵鏈L上工序j的復雜熵、資源熵和人因熵,σj為工序j的安全時間.
初始緩沖區模型確定后,如果非關鍵鏈匯入緩沖過大可能造成關鍵鏈的調整變化或斷裂,引起新的資源沖突等一系列問題[1].如圖1 所示,工序B-C 所在鏈路為關鍵鏈,根據關鍵鏈思想,應在工序A后插入匯入緩沖FB.當FB>FFA時,A-FB-C所在鏈路成為最長路徑,FFA為工序A 的自由時差.為避免類似情況出現,需要對初始緩沖區模型進行修正,具體步驟如下.
步驟1.由式(20)和式(21)[5-6]修正初始匯入緩沖,得到修正后的匯入緩沖.

式(20)中,FFp表示第L條非關鍵鏈上最后一道工序p的自由時差,取FBL與FFp的較小者可以有效避免由于FBL>FFp造成關鍵鏈調整的情況出現;式(21)中,Ap為第L條非關鍵鏈上最后工序p考慮邏輯和資源約束關系的所有緊后工序j的集合,為工序j的最早開始時間,EFp為p的最早結束時間.
步驟2.由式(22)計算第L條非關鍵鏈的冗余緩沖.

步驟3.由式(23)修正初始項目緩沖,得到修正后的項目緩沖PBX.

式中,∑LΔtL為各條非關鍵鏈上冗余緩沖之和,將冗余緩沖匯入最項目緩沖可以有效降低因修正匯入緩沖給整個關鍵鏈帶來的進度風險.
步驟4.由式(24)計算項目計劃總工期.

某項目由19 道工序構成,各工序可能需要3 種資源 (p1,p2,p3),資源限量為(8,7,3),項目中各工序具體信息和項目網絡計劃分別如表1 和圖2 所示.

圖2 項目網絡計劃圖Fig.2 Chart of program network plan

表1 項目中各工序基本信息Table 1 Information of process in the program
項目執行過程中由于存在資源沖突,根據文獻[1]中的啟發式算法,得到項目的關鍵鏈及其緩沖如圖3 所示.圖3 中,A-C-E-G-H-I-K-L-N-M-QP-S 為關鍵鏈,FB1~FB5為匯入緩沖,PB為項目緩沖.下面,需要計算FB1~FB5和PB.

圖3 項目關鍵鏈及緩沖設置示意圖Fig.3 Sketch of critical chain and buffer setting
由式(1)~(4),計算項目的綜合復雜度 (C)、非關鍵鏈上的工序復雜度 (Ci)及其對應的復雜熵,得到

復雜熵如表2 第7 列所示.

表2 緩沖區參數計算Table 2 Value of buffer parameters
各工序的資源熵待關鍵鏈及各工序工期確認后由式(5)~(7)計算.
為計算各工序的人因熵,項目管理者邀請3 位專家e={e1,e2,e3} 對工序執行過程進行評價,q={0.3,0.4,0.3}T為專家權重向量,qk表示第k個專家的權重.記X={X1,X2,···,X10} 表示該項目由10 道工序組成,經過與專家的討論,將工期拖延習慣養成、冗余時間設置過大、預算執行心態不良作為待評價工序的屬性集,記為U={u1,u2,u3},屬性的權重集為ω={ω1,ω2,ω3}.

由式(11)進行規范化處理,根據式(10)和專家權重q={0.3,0.4,0.3}T得到集結后規范化的專家群模糊決策矩陣為

根據式(13)和式(14)計算相對貼近度矩陣得
C={0.5005,1.0000,0.8263}
根據式(15)計算工序A 的總貼近度即各風險因素對工序A 的綜合影響程度.
ξA=CA=0.8309
由式(8)計算工序A 的人因熵為

同理,得到其他工序的人因熵,見表2 第9 列.
根據第3.1 節對工序初始工期和安全時間的計算方法,通過三角分布的逆函數法對各工序的進度計劃進行蒙特卡洛仿真,抽取1 000 次仿真結果得到各工序的時間參數,見表2 第4 ~6 列.其中,工序初始工期di=T50%.
由式(5)~(7)計算各工序的資源熵,見表2 第8 列.
由式(18)和式(19)計算初始項目緩沖PB、初始匯入緩沖FB1和FB2,見表2 第11 列和第12 列.本例中只有工序B 存在FBJ>FFJ=3.46 d的情況,由式(20)~(22),得=3.46 d,Δt=0.52 d;由式(23),得PBX=8.02 d,見表2 第13 列和第14 列.
由式(24),計算項目計劃總工期為110.50 d.
為驗證本文方法的實用性,選取關鍵路線法、根方差法、APRT 法[2]、胡晨等[5]、蔣紅妍等[6]、張俊光等[7]提出的方法與本文方法進行比較,分別計算匯入緩沖、項目緩沖和計劃總工期;通過Cryttal Ball 工具,對項目執行情況進行1 000 次模擬,統計項目緩沖消耗和項目完工情況,如表3 和表4 所示.

表3 不同方法緩沖區消耗對比Table 3 Comparison of buffer consumption by different methods
比較7 種方法,分析結果如下:
1)方法7 與方法1 比較.由于方法1 制定關鍵路徑的前提是資源充足無約束,當出現并行工序且資源有限時部分并行工序可能調整為串行實施,按照原定計劃無法完工.因此,其項目完工率僅為15.14%,遠低于方法7.
2)方法7 與方法3 比較.從項目平均完工率分析,方法3 最高,方法7 較方法3 低3.78%,但方法3 的計劃總工期比方法7 多出了14.08 d,延長12.7%.可見,項目完工率并未隨總工期的延長而成比例提升;同時,方法3 的緩沖區消耗比例為26.98%,說明緩沖區設置過大,浪費嚴重.
3)方法7 與方法2 和方法4~6 比較.
a)從工期角度分析,方法7 的計劃總工期110.50 d是最短的,這是由于項目管理者在進行工期估算時考慮到人的行為因素對項目執行過程帶來諸多影響,通常會加入大量的安全時間.人因熵可以實現對這些影響的精準測度,并將人的行為因素融入到項目執行過程中,通過修正估算工期,可以合理壓縮各工序工期中過多的安全時間,從而減少計劃總工期.不僅如此,由表4 可知,方法7 的項目平均完工率為95.20%,高于方法2 和方法4,與方法5 和方法6 比較接近,充分說明通過人因熵修正估算工期的方法是有效的,并未造成工序工期的緊張而使項目的平均完工率降低.

表4 不同方法完工情況對比Table 4 Completion comparison of different methods
b)從匯入緩沖與匯入緩沖平均消耗率、項目緩沖與項目緩沖平均消耗率分析,方法2 和方法4~7 基本呈現出緩沖大小逐漸增加、緩沖平均消耗率逐漸降低的規律.方法7 中,各項匯入緩沖最大,由于匯入緩沖不會影響項目工期,故匯入緩沖起到了更好的保護作用;項目緩沖方法7 最大,平均消耗率為57.03%,處在33% ~ 67%的理想比例,而方法2 和方法4~6 的項目工期平均消耗率均超出67%,說明緩沖區設置相對較大,存在不同程度的浪費,且項目緩沖對工期的保護效果不好.
方法7 計算得到的項目緩沖略大于其他方法.這是由于估算工期壓縮后,由于人的行為與心態調整需要一定時間,必然會對項目執行帶來一定的進度風險;同時,人的行為因素產生的風險事件也很有可能引發項目拖延.因此,確定項目緩沖時融入復雜熵、資源熵特別是人因熵的計算吸收了非關鍵鏈上的部分剩余緩沖,通過合理增加項目緩沖,有效降低了項目進度風險.
綜合分析,依據仿真結果,本文提出的方法要優于其他方法,在項目緩沖消耗和項目完工情況之間可以取得較好的平衡.
項目執行過程中可能出現的諸多不確定性因素和潛在風險是關鍵鏈緩沖區設置不合理的主要原因,本文基于信息熵理論提出了一種關鍵鏈緩沖區設置方法,通過研究信息在工序實施過程中的不確定性程度度量各類風險因素對工序造成的影響.首先,分析了緩沖區的主要影響因素,并依此提出了復雜熵、資源熵和人因熵的概念、涵義及其度量方法,重點給出了基于區間直覺梯形模糊數的人因熵度量步驟,由于區間直覺梯形模糊數同時考慮了隸屬度、非隸屬度和猶豫度信息,能夠更好地描述人的行為對項目進度影響的不確定性和猶豫性,避免評價信息的丟失,提高信息集結質量與效率;其次,構建了基于人因熵的工序工期模型,將人的行為因素合理融入到項目執行過程中,通過合理壓縮各工序的初始工期減少工期中過多的安全時間或者由于人的不良習慣和心態造成的工期延長;最后,給出了項目緩沖和匯入緩沖的熵模型與修正模型,該模型以根方差法為基礎,融入復雜熵、資源熵和人因熵的計算,能夠更為合理與全面地量化風險因素對項目進度的影響,提高緩沖區設置精度,有效解決由于匯入緩沖過大可能造成的系列問題,并通過算例驗證了模型的實用性.下一步將重點研究多項目并行條件下多資源約束的關鍵鏈緩沖區設置問題.