林晶晶,周國(guó)華
(西南交通大學(xué)a.公共管理學(xué)院,b.經(jīng)濟(jì)管理學(xué)院,成都 610031)
關(guān)鍵鏈項(xiàng)目管理方法是將約束理論成功應(yīng)用于項(xiàng)目管理領(lǐng)域而產(chǎn)生的一種全新的項(xiàng)目計(jì)劃調(diào)度方法[1]。約束理論是Goldratt于20世紀(jì)70年代末期基于OPT系統(tǒng)發(fā)展起來(lái)的。該理論認(rèn)為系統(tǒng)的制約因素決定系統(tǒng)的有效產(chǎn)出。因此,將管理重點(diǎn)放在系統(tǒng)的制約因素上,通過(guò)改進(jìn)制約因素達(dá)到最大的有效產(chǎn)出。以TOC為理論基礎(chǔ)所提出的關(guān)鍵鏈方法自產(chǎn)生之初便引發(fā)了企業(yè)界和學(xué)術(shù)界的廣泛關(guān)注,被認(rèn)為是21世紀(jì)項(xiàng)目管理領(lǐng)域的一個(gè)重大突破,并成為項(xiàng)目管理領(lǐng)域的研究熱點(diǎn)問(wèn)題[2,3]。
目前關(guān)于關(guān)鍵鏈項(xiàng)目管理的研究大都基于單項(xiàng)目環(huán)境,對(duì)關(guān)鍵鏈方法進(jìn)行理論基礎(chǔ)的分析和探討[1-3],在此基礎(chǔ)上對(duì)關(guān)鍵鏈的識(shí)別和緩沖區(qū)的設(shè)置展開(kāi)研究[4,5]。相關(guān)文獻(xiàn)的研究表明,采用CCPM能有效地降低項(xiàng)目受不確定性因素影響的程度和改善項(xiàng)目計(jì)劃,并已在進(jìn)度、成本、范圍和績(jī)效管理等方面獲得了成功應(yīng)用[4]。
近年來(lái),關(guān)鍵鏈方法運(yùn)用于多項(xiàng)目管理的研究較少,大都從定性的角度開(kāi)展了研究[5~9]。在定量方面,目前的研究主要集中于瓶頸資源約束下多項(xiàng)目工序的排序[10,11]。本文基于現(xiàn)有研究成果,探討單瓶頸資源約束下關(guān)鍵鏈在多項(xiàng)目中應(yīng)用的理論基礎(chǔ),考慮不同項(xiàng)目的重要性及項(xiàng)目完工提前或滯后的獎(jiǎng)懲,研究滿足系統(tǒng)總收益最大化目標(biāo)的瓶頸資源分配計(jì)劃;并將粒子群算法引入到關(guān)鍵鏈多項(xiàng)目管理的優(yōu)化問(wèn)題中,以期提供一個(gè)新的解決思路。
關(guān)鍵鏈方法是將約束理論成功應(yīng)用于項(xiàng)目管理領(lǐng)域而產(chǎn)生的一種全新的項(xiàng)目計(jì)劃調(diào)度方法。約束理論(Theory of Constraints,TOC)是Goldratt于20世紀(jì)70年代末期基于OPT系統(tǒng)發(fā)展起來(lái)的,認(rèn)為系統(tǒng)的制約因素決定系統(tǒng)的有效產(chǎn)出。因此,將管理重點(diǎn)放在系統(tǒng)的制約因素上,通過(guò)改進(jìn)制約因素達(dá)到最大的有效產(chǎn)出。
作為T(mén)OC在項(xiàng)目管理中直接應(yīng)用產(chǎn)生的關(guān)鍵鏈方法與關(guān)鍵路徑方法不同的是,強(qiáng)調(diào)制約項(xiàng)目周期的是關(guān)鍵鏈而非關(guān)鍵路徑,關(guān)鍵鏈?zhǔn)羌瓤紤]工作間的依賴關(guān)系又考慮資源間依賴關(guān)系的最長(zhǎng)的工作序列。Goldratt認(rèn)為由于項(xiàng)目存在的不確定性和墨菲定律,在估計(jì)項(xiàng)目持續(xù)時(shí)間時(shí),通常會(huì)在每個(gè)工序上都加入安全時(shí)間。但實(shí)際上,由于學(xué)生綜合癥及帕金森定律、多任務(wù)以及工作間的依存關(guān)系等多種因素的存在,工序上加入的安全時(shí)間常常被浪費(fèi),導(dǎo)致項(xiàng)目工期拖延。因此,基于工序工期呈正態(tài)分布的假設(shè),Goldratt提出以50%可能完成的時(shí)間作為工序工期的估計(jì),并以此建立工作網(wǎng)絡(luò)圖;同時(shí)考慮工序間緊前關(guān)系約束和工序間的資源約束來(lái)確定關(guān)鍵鏈,如果存在多條關(guān)鍵鏈就任意選擇一條。然后通過(guò)項(xiàng)目緩沖、輸送緩沖和資源緩沖機(jī)制來(lái)消除項(xiàng)目中不確定因素對(duì)項(xiàng)目計(jì)劃執(zhí)行的影響,保證在確定環(huán)境下編制的項(xiàng)目計(jì)劃在動(dòng)態(tài)環(huán)境下的順利執(zhí)行和關(guān)鍵鏈所需資源能夠及時(shí)獲取。
關(guān)鍵鏈多項(xiàng)目進(jìn)度管理方法不僅能夠很好減弱項(xiàng)目間的關(guān)聯(lián)效應(yīng)和不確定因素的影響,消除項(xiàng)目成員的不良工作行為,縮短項(xiàng)目的工期,而且能夠較有效地解決項(xiàng)目間的資源沖突,改善多項(xiàng)目的執(zhí)行環(huán)境[9]。由于TOC方法在單項(xiàng)目與多項(xiàng)目環(huán)境下的應(yīng)用各有側(cè)重點(diǎn)[7],因此也決定了關(guān)鍵鏈在單項(xiàng)目與多項(xiàng)目中應(yīng)用的不同。(見(jiàn)表1)
表1 TOC在單項(xiàng)目與多項(xiàng)目應(yīng)用時(shí)的不同[7]
從表1可以看出,關(guān)鍵鏈方法在單項(xiàng)目和多項(xiàng)目領(lǐng)域的應(yīng)用有側(cè)重點(diǎn)。Goldratt認(rèn)為,在多項(xiàng)目環(huán)境中,關(guān)鍵的是要關(guān)鍵鏈用TOC的角度來(lái)解決這個(gè)問(wèn)題[1],核心方法是采用系統(tǒng)的思考,識(shí)別系統(tǒng)發(fā)展的瓶頸,在各個(gè)項(xiàng)目之間協(xié)調(diào)好資源,盡量減小資源的瓶頸。Goldratt博士提出的關(guān)鍵鏈多項(xiàng)目管理的步驟如下。
步驟1:設(shè)定各個(gè)項(xiàng)目的優(yōu)先權(quán);
步驟2:按關(guān)鍵鏈方法計(jì)劃和調(diào)度每個(gè)項(xiàng)目;
步驟3:交錯(cuò)各個(gè)項(xiàng)目,避免資源沖突;
步驟4:設(shè)定各項(xiàng)目緩沖及每個(gè)項(xiàng)目的輸送緩沖;
步驟5:對(duì)緩沖區(qū)進(jìn)行有效管理。
雖然提出了以上5個(gè)步驟,但是Goldratt對(duì)這些驟如何具體實(shí)施并沒(méi)有涉及?,F(xiàn)有關(guān)于關(guān)鍵鏈多項(xiàng)目管理的文獻(xiàn)也大都基于以上5個(gè)步驟進(jìn)行討論。
關(guān)鍵鏈方法在多項(xiàng)目中應(yīng)用的文獻(xiàn)還相對(duì)較少,對(duì)于瓶頸資源的識(shí)別與分配,對(duì)于瓶頸緩沖的性質(zhì)與設(shè)置方法還未有統(tǒng)一的、成熟的方法。本論文主要通過(guò)對(duì)以上問(wèn)題進(jìn)行分析,著重對(duì)存在較大爭(zhēng)議的步驟3——交錯(cuò)各個(gè)項(xiàng)目,避免資源沖突進(jìn)行研究,建立單瓶頸資源約束下的關(guān)鍵鏈多項(xiàng)目調(diào)度模型。
在一個(gè)多項(xiàng)目環(huán)境中,存在N個(gè)相互獨(dú)立的并行項(xiàng)目,每個(gè)項(xiàng)目用Qi表示(i=1,2,3…N)。由于有一種瓶頸資源出現(xiàn)多任務(wù)情況,每個(gè)項(xiàng)目中僅有一個(gè)任務(wù)使用,且這些任務(wù)發(fā)生在關(guān)鍵鏈上,排除林晶晶(2008)考慮的特殊情況。由于發(fā)生瓶頸資源的爭(zhēng)奪,因此瓶頸資源在多任務(wù)中使用的先后順序直接影響著不同項(xiàng)目的完工時(shí)間。考慮合同交付期的法定效力,瓶頸資源先分配的任務(wù)所在項(xiàng)目能夠盡快完工,若有提前,將按合同條款給予相應(yīng)的獎(jiǎng)勵(lì),后分配到瓶頸資源的任務(wù)所在項(xiàng)目可能發(fā)生延誤,也將按合同條款進(jìn)行處罰。筆者認(rèn)為,系統(tǒng)中的重要項(xiàng)目,在發(fā)生拖延時(shí),除了造成直接的經(jīng)濟(jì)成本上的損失,還會(huì)對(duì)組織的聲譽(yù)、戰(zhàn)略等造成其他無(wú)形的損失。同理,重要項(xiàng)目若能提前完工,除了按照合同規(guī)定獲取一定的獎(jiǎng)勵(lì),還會(huì)帶來(lái)額外的收益。所以在建模時(shí)考慮利用重要性級(jí)數(shù)k對(duì)成本損失與獎(jiǎng)勵(lì)進(jìn)行加權(quán),將隱性的損失和獎(jiǎng)勵(lì)量化。
為確定本文分析的背景,需要進(jìn)行如下假設(shè):
(1)基于約束理論的關(guān)鍵鏈方法在應(yīng)用到多項(xiàng)目系統(tǒng)時(shí),要求制約系統(tǒng)績(jī)效的瓶頸資源在使用過(guò)程中不間斷,以保證資源利用率的最大化。
(2)不考慮項(xiàng)目對(duì)其他非瓶頸資源的共享,并假設(shè)其他非瓶頸資源的供應(yīng)量是充分的。
(3)瓶頸資源為可更新的有限離散資源。
(4)不考慮瓶頸資源從一個(gè)項(xiàng)目到另一個(gè)項(xiàng)目的準(zhǔn)備時(shí)間;所有資源在工序中的使用一旦開(kāi)始就不能中斷,必須等到工序結(jié)束后才能轉(zhuǎn)入其他工序。
(5)瓶頸資源不能通過(guò)外部租借或購(gòu)買等方式獲取。
此外,模型中出現(xiàn)各符號(hào)的具體指代如下:
Δi為項(xiàng)目i因?yàn)槠款i資源約束造成的延誤時(shí)間;
index為瓶頸資源在不同項(xiàng)目中的使用順序的序列;
Pi為前一個(gè)使用瓶頸資源的項(xiàng)目編號(hào),其中,Pi=index(j-1),j=2,3,…N;
R為瓶頸資源在每個(gè)階段的可用量;
r為每個(gè)瓶頸資源;
Δci為項(xiàng)目Qi每拖延一天的成本損失;
Δei為項(xiàng)目Qi每提前一天完工,所能得到的獎(jiǎng)勵(lì);
ki為項(xiàng)目Qi的重要性級(jí)數(shù),ki越大項(xiàng)目越重要;
Tsi為項(xiàng)目Qi的合同交付期;
Tai為項(xiàng)目Qi的實(shí)際完工期;
ti為項(xiàng)目Qi中使用瓶頸資源工序的作業(yè)時(shí)間。
基于以上假設(shè)和本研究的中心思想,可以建立如下瓶頸資源分配模型
本文所探討的目標(biāo)函數(shù)是多項(xiàng)目系統(tǒng)總收益的最大化,見(jiàn)式(1),不僅考慮項(xiàng)目實(shí)際完成時(shí)間與合同交付期的差異造成的獎(jiǎng)懲,還考慮不同項(xiàng)目的重要性。為了保證關(guān)鍵鏈多項(xiàng)目管理思想所提出的瓶頸資源使用的連續(xù)性,要求后一個(gè)使用瓶頸資源的工序的開(kāi)始時(shí)間等于前一個(gè)使用瓶頸資源工序的完成時(shí)間,見(jiàn)約束條件(2)。index(j)表示資源分配順序方案中,第j個(gè)分配到瓶頸資源的項(xiàng)目編號(hào),第1個(gè)分配到瓶頸資源的項(xiàng)目可以按時(shí)完工,不會(huì)因資源短缺造成工期延誤,因此有約束條件(3)。約束條件(4)說(shuō)明了瓶頸資源的總量限制。
粒子群優(yōu)化(PSO)算法由于其簡(jiǎn)單性與有效性,在它被提出后不久,就引起了許多研究者的廣泛關(guān)注,并得到了迅速發(fā)展。該算法源于對(duì)鳥(niǎo)群覓食等社會(huì)行為的模擬研究。作者最初的設(shè)想是通過(guò)仿真簡(jiǎn)單的社會(huì)系統(tǒng),研究并解釋復(fù)雜的社會(huì)行為,后來(lái)卻發(fā)現(xiàn)從中可以提煉出一種解決復(fù)雜問(wèn)題的有效優(yōu)化算法。
PSO算法利用Np個(gè)粒子(個(gè)體)組成的粒子群在N維問(wèn)題空間中以迭代的方式搜索最優(yōu)解。粒子在問(wèn)題空間中飛行,具有位置與速度兩個(gè)特征,其中粒子位置對(duì)應(yīng)問(wèn)題的潛在解。粒子i具有記憶功能,可以記錄下自己在飛行過(guò)程中曾經(jīng)歷過(guò)的最優(yōu)位置(稱為個(gè)體最優(yōu)位置pi)及所有粒子曾經(jīng)歷過(guò)的最好位置(稱為全體最優(yōu)位置pg)。每次迭代中,粒子i第j維的速度vij與位置xij按下面的表達(dá)式更新
其中,t為迭代次數(shù);i=1,……,Np;j=1,…… N;w為慣性權(quán),c1和c2為加速系數(shù),r1j和r2j為在[0,1]內(nèi)均勻分布的隨機(jī)數(shù)。式(5)等號(hào)右邊由3部分組成,第1部分為“慣性”部分,表示粒子保持先前的速度;第2部分是粒子跟蹤自己歷史最優(yōu)值的權(quán)重系數(shù),表示粒子自身的認(rèn)識(shí),所以c1又稱為認(rèn)知系數(shù);第3部分是粒子跟蹤群體最優(yōu)值的權(quán)重系數(shù),表示粒子對(duì)整個(gè)群體知識(shí)的認(rèn)識(shí),體現(xiàn)粒子間的信息共享與相互合作。所以c2又稱為社會(huì)系數(shù)。
在PSO算法,粒子速度vi的最大值一般被限制為Vmax。如果粒子第j維的速度絕對(duì)值|vij|>Vmax,j,則該維速度值被限制為Vmax,j,同時(shí)保持速度方向不變。粒子位置的第j維xij也被限制在相應(yīng)的搜索范圍[Xmin,j,Xmax,j]。如果粒子在運(yùn)動(dòng)過(guò)程中,其位置超出了邊界,則要進(jìn)行相應(yīng)的邊界處理[16]。
標(biāo)準(zhǔn)PSO算法步驟如下:
(1)令t=0,初始化種群中粒子的位置xi(0)與速度vi(0),設(shè)定最大速度Vmax與位置邊界Xmax,Xmin。初始的粒子個(gè)體最優(yōu)位置pi=xi(0)。
(2)計(jì)算每個(gè)粒子的適應(yīng)值f(xi(t))。
(3)更新每個(gè)粒子的個(gè)體最優(yōu)位置pi:如果f(xi(t))<f(pi),則pi=xi(t)。
(4)更新全體最優(yōu)位置pg:對(duì)于所有的i=1,…,Np,如果f(pi)< f(pg),則pg=pi,g=i。
(5)根據(jù)式(1)更新每個(gè)粒子的速度。若粒子速度越界,進(jìn)行越界處理。
(6)根據(jù)式(2)更新每個(gè)粒子的位置。若粒子位置越界,進(jìn)行越界處理。
(7)t=t+1,如滿足結(jié)束條件,算法結(jié)束;否則,轉(zhuǎn)(2)。
判斷終止條件是設(shè)置適應(yīng)值到達(dá)一定的數(shù)值或者循環(huán)一定的次數(shù)。
3.2.1 確定模型的變量
在上述多項(xiàng)目系統(tǒng)總收益最大化目標(biāo)模型中,要優(yōu)化的變量為瓶頸資源在各項(xiàng)目中的分配順序。例如有4個(gè)項(xiàng)目,瓶頸資源在這4個(gè)項(xiàng)目中分配順序有24種組合。這些組合稱為變量。每種組合x(chóng)→稱為一個(gè)個(gè)體/粒子。
3.2.2 確定目標(biāo)函數(shù)
調(diào)度模型的目標(biāo)值是最大化項(xiàng)目收益的權(quán)重和,它是衡量瓶頸資源調(diào)度方案優(yōu)良情況的標(biāo)準(zhǔn)。在粒子群算法中,粒子的一個(gè)位置表示問(wèn)題的一個(gè)解,即資源的一個(gè)可行調(diào)度方案,每個(gè)粒子性能的優(yōu)劣程度取決于待優(yōu)化問(wèn)題目標(biāo)函數(shù)確定的適應(yīng)值,本文的適應(yīng)度函數(shù)即目標(biāo)函數(shù)為
3.2.3 進(jìn)化方程設(shè)計(jì)
PSO中并沒(méi)有許多需要調(diào)節(jié)的參數(shù),從現(xiàn)有研究來(lái)看,這些參數(shù)的經(jīng)驗(yàn)設(shè)置為
粒子群:一般取20~40;
學(xué)習(xí)因子:c1和c2通常等于2,不過(guò)也有其他的取值,但是一般c1=c2,并且范圍為[0,4];
中止條件:設(shè)定一定的迭代次數(shù)。
3.2.4 收斂條件
收斂性是粒子群算法的一個(gè)重要問(wèn)題,它可以說(shuō)明這種算法找到的可行解是否最優(yōu)或者當(dāng)前找到的解是否滿足精度要求。
3.2.5 把實(shí)數(shù)解轉(zhuǎn)化為整數(shù)解
粒子群算法所求出的解是實(shí)數(shù)形式的,由于本文所討論問(wèn)題的特殊性,所要優(yōu)化的變量是整數(shù),而且是一種排序方式,因此在迭代過(guò)程中產(chǎn)生的解可能不合法,就要將不合法的實(shí)數(shù)解轉(zhuǎn)化為整數(shù)解,并把整數(shù)列轉(zhuǎn)化為排序的形式,每個(gè)值必須而且只能出現(xiàn)一次,步驟如下:
(1)將算法得到組合中的每個(gè)數(shù)向上取整,比如組合[1,3.4,3.5,2]向上取整后變?yōu)閇1,4,4,2];
(2)找出重復(fù)的數(shù)字。從向上取整后的組合可以看出,組合中有兩個(gè)4,為重復(fù)的數(shù)字;
(3)保留不重復(fù)的數(shù)字,對(duì)于重復(fù)的數(shù)字保留一個(gè),其他的進(jìn)行替換,將組合中應(yīng)該出現(xiàn)而未出現(xiàn)的數(shù)字替換重復(fù)的數(shù)字。如向上取整后的組合中,保留1和2,有兩個(gè)4而未出現(xiàn)3,應(yīng)該用數(shù)字3來(lái)替換其中的一個(gè)4,替換后的結(jié)果為[1,3,4,2]或[1,4,3,2]。
假設(shè)有8個(gè)并行項(xiàng)目共享一個(gè)單位的瓶頸資源,項(xiàng)目的參數(shù)見(jiàn)表2
表2 項(xiàng)目參數(shù)
我們采用粒子群算法來(lái)解決總收益最大化問(wèn)題,所采用的粒子群算法參數(shù)如下:最大迭代代數(shù)為100,初始粒子群規(guī)模為30,慣性權(quán)w=0.55,加速系數(shù)c1=c2=2,用Matlab編程語(yǔ)言實(shí)現(xiàn),在硬件環(huán)境:CPU:N270 160GHz、內(nèi)存:1.99GB等和軟件環(huán)境WindowsXP系統(tǒng)下運(yùn)行程序。得到的瓶頸資源分配順序滿意解為[2,4,8,1,3,7,5,6],對(duì)應(yīng)的總收益E=153。
由于粒子群算法的隨機(jī)性(r1j和r2j為在[0,1]內(nèi)均勻分布的隨機(jī)數(shù)),每次運(yùn)行程序所得到的解可能不同,為了檢驗(yàn)粒子群算法的收斂性,我們運(yùn)行程序20次,得到一條平均結(jié)果的收斂曲線,見(jiàn)圖1。
從圖1可以看出,在迭代將近40次的時(shí)候已經(jīng)接近滿意解,之后的迭代則為精細(xì)搜索,得到的解越來(lái)越靠近滿意解,這也說(shuō)明了粒子群算法在解決多項(xiàng)目瓶頸資源分配問(wèn)題時(shí)的有效性。
圖1 粒子群算法運(yùn)行20次得到的收斂圖
本文詳細(xì)分析了Goldratt提出的關(guān)鍵鏈多項(xiàng)目管理5步驟應(yīng)用法,從定量的角度,在多項(xiàng)目環(huán)境中對(duì)關(guān)鍵鏈瓶頸資源約束下考慮多項(xiàng)目總收益最大化目標(biāo)建立了數(shù)學(xué)模型,引入粒子群算法解決瓶頸資源在多項(xiàng)目中的分配順序問(wèn)題。粒子群算法作為新近出現(xiàn)的一種仿生優(yōu)化算法,具有隨機(jī)搜索的優(yōu)點(diǎn),且不容易落入局部最優(yōu)解,并保證了算法的快速性。本文簡(jiǎn)要地描述粒子群算法的基本概念并給出粒子群算法在關(guān)鍵鏈多項(xiàng)目進(jìn)度優(yōu)化模型中的應(yīng)用流程,通過(guò)算例證明了粒子群算法在解決該問(wèn)題的可行性、實(shí)用性和有效性,為關(guān)鍵鏈多項(xiàng)目進(jìn)度優(yōu)化問(wèn)題提供了一種新的思路和方法。
需要指出的是,本文解決了單模式下關(guān)鍵鏈多項(xiàng)目管理中瓶頸資源的分配問(wèn)題,對(duì)于多模式的情況需要進(jìn)行進(jìn)一步的討論研究。
[1]Coldratt E M.Critical Chain[M].New York:the North River Press,1997.
[2]Steyn H.Project Management Applications of the Theory of the Con?straints Beyond Critical Chain Scheduling[J].International Journal of Project Management,2002,20(1).
[3]Rabbani M.a,S.M.T.Fatemi Ghomi b,*,F.Jolai a,N.S.Lahiji a.A New Heuristic for Resource-constrained Project Scheduling in Sto?chastic Networks Using Critical Chain Concept[J].European Journal of Operational Research,2007,176.
[4]Herroelen WS,Leus R,Demeulemeester EL.Critical Chain Project Scheduling:do not Over Simplify[J].Project Manage Journal,2002,33(4).
[5]Cohen I.,A Mandelbaum,Et al.Multi-Project Scheduling and Con?trol:A Process-based Comparative Study of the Critical Chain Meth?odology and Some Alternatives[J].Project Management Journal,2004,35(2).
[6]Leach,L.P.Critical Chain Project Management Improves Project Per?formance[J].Project Management Journal,1999,30(2).
[7]Lechler,Thomas G.Boaz Ronen,Edward A.Stohr.Critical Chain:A New Project Management Paradigm or Old wine in New Bottles?[J].Engineering Management Journal,2005,17(4).
[8]楊雪松,胡昊.基于關(guān)鍵鏈方法的多項(xiàng)目管理[J].工業(yè)工程與管理,2005,(2).
[9]郭慶軍,賽云秀.關(guān)鍵鏈多項(xiàng)目進(jìn)度管理分析[J].西安工業(yè)大學(xué)學(xué)報(bào),2007,27(6).
[10]馬國(guó)豐,屠梅曾,史占中.基于TOC的項(xiàng)目管理技術(shù)模型[J].系統(tǒng)工程理論方法應(yīng)用,2005,14(1).
[11]馬國(guó)豐,尤建新.關(guān)鍵鏈項(xiàng)目群進(jìn)度管理的定量分析[J].系統(tǒng)工程理論與實(shí)踐,2007,27(9).