蘇志雄,顧輝明,魏漢英
(南昌工程學(xué)院 工商管理學(xué)院,江西 南昌 330099)
在現(xiàn)代化生產(chǎn)和管理中,日益激烈的時(shí)間競爭已成為最顯著特征之一。時(shí)間早在上世紀(jì)80年代就被認(rèn)為是競爭優(yōu)勢來源[1],使得管理者越發(fā)重視時(shí)間在項(xiàng)目中的功能。機(jī)動時(shí)間是該競爭優(yōu)勢來源的具體化表現(xiàn),主要用于避免和緩和潛在的項(xiàng)目延期,保護(hù)項(xiàng)目的重要工序。某工序的機(jī)動時(shí)間不僅刻畫了該工序?qū)τ陧?xiàng)目的重要性,而且還反映了項(xiàng)目的結(jié)構(gòu)特性,為項(xiàng)目計(jì)劃與進(jìn)度提供指導(dǎo)依據(jù)。鑒于此,機(jī)動時(shí)間長期被視作項(xiàng)目優(yōu)化的重要參數(shù),多數(shù)項(xiàng)目管理方法,特別是項(xiàng)目調(diào)度,均以機(jī)動時(shí)間為基礎(chǔ)[2-3]。工序機(jī)動時(shí)間的概念和算法是在網(wǎng)絡(luò)計(jì)劃技術(shù)(以Critical Path Method為代表,簡稱CPM[4])出現(xiàn)后被逐步提出并完善,其經(jīng)典類型包括總時(shí)差,自由時(shí)差,安全時(shí)差,節(jié)點(diǎn)時(shí)差和干擾時(shí)差[2,5]。前三類時(shí)差主要界定單工序的活動范圍,而后兩類時(shí)差的實(shí)質(zhì)則是不同工序的機(jī)動時(shí)間的相互重疊和互斥,體現(xiàn)了工序間的相互影響情況,是項(xiàng)目調(diào)度復(fù)雜程度的重要決定因素[3]。其中,工序節(jié)點(diǎn)時(shí)差概念的提出源自Activity-on-Arrow網(wǎng)絡(luò),反映的是該網(wǎng)絡(luò)中前后相鄰工序的共用節(jié)點(diǎn)的時(shí)差,但是這一時(shí)差概念在Activity-on-Node網(wǎng)絡(luò)中卻體現(xiàn)的不夠直觀,為化解這一矛盾,工序節(jié)點(diǎn)時(shí)差也被稱為工序共用時(shí)差[2]。本文將使用這一概念名稱。
廣義優(yōu)先關(guān)系[6](generalized precedence relations,簡稱GPRs)及其理論是對網(wǎng)絡(luò)計(jì)劃技術(shù)的拓展,較全面涵蓋了現(xiàn)代工程項(xiàng)目中工序間的優(yōu)先關(guān)系,包括各類型最小和最大時(shí)距。隨著GPRs的提出,GPRs下的工序機(jī)動時(shí)間成為研究的必然。Elmaghraby[7]等提出目前通用的GPRs表示法,并較早提出GPRs下工序總時(shí)差,自由時(shí)差和安全時(shí)差的計(jì)算方法,適用于工序工期不變的情況。Valls和Lino[8],楊冰[9],Yakhchali和Ghodsypour[10]針對最小時(shí)距,而周夢和杜志達(dá)[11]針對最大時(shí)距,分別研究了工序時(shí)間參數(shù)的計(jì)算方法。在GPRs下工序機(jī)動時(shí)間研究過程中,一些學(xué)者發(fā)現(xiàn),當(dāng)工序的工期發(fā)生變動時(shí),現(xiàn)有時(shí)差會出現(xiàn)諸多奇異現(xiàn)象。Elmaghraby[7]等發(fā)現(xiàn)GPRs 下一些關(guān)鍵工序的工期延長/縮短,反而導(dǎo)致總工期縮短/延長,即關(guān)鍵工序與總工期逆相關(guān),還發(fā)現(xiàn)一些關(guān)鍵工序的工期變化不會影響總工期。與關(guān)鍵工序相對應(yīng),非關(guān)鍵工序很可能也具有類似的奇異現(xiàn)象。Qi[12]等發(fā)現(xiàn)一些工序隨著工期的延長,其總時(shí)差反而增加,即“總時(shí)差越用越多”。蘇志雄[13]等提出隱性時(shí)間參數(shù)的概念,一定程度上對奇異現(xiàn)象做出解釋。闞芝南[14]等發(fā)現(xiàn)在GPRs網(wǎng)絡(luò)中,工序間加入不同表現(xiàn)形式的同一時(shí)間約束,可能會產(chǎn)生不同的最大路長,可能導(dǎo)致奇異現(xiàn)象出現(xiàn)。受此啟發(fā),Su[15]等從GPRs網(wǎng)絡(luò)路長的角度分析了上述GPRs下工序總時(shí)差奇異現(xiàn)象的起因和機(jī)理。最近,Su[16]發(fā)現(xiàn)了GPRs下機(jī)動時(shí)間隱性消耗現(xiàn)象等新奇異現(xiàn)象。
現(xiàn)有文獻(xiàn)顯示,目前對GPRs下工序機(jī)動時(shí)間計(jì)算方法的研究主要針對工序總時(shí)差,自由時(shí)差和安全時(shí)差,在機(jī)動時(shí)間特性研究上尤以總時(shí)差為重點(diǎn)對象。然而,對于GPRs下另兩類經(jīng)典類型時(shí)差——工序共用時(shí)差和干擾時(shí)差,尚缺乏充分研究。對工序共用時(shí)差和干擾時(shí)差的研究在經(jīng)典CPM網(wǎng)絡(luò)中有一定的體現(xiàn),具有較明確的概念和計(jì)算方法[2]。Michael[17]等發(fā)現(xiàn)CPM箭線式網(wǎng)絡(luò)中的虛箭線對工序共用時(shí)差和干擾時(shí)差會產(chǎn)生較大影響,進(jìn)而研究了虛箭線最小化問題。Demeulemeester[3]等進(jìn)一步研究了CPM網(wǎng)絡(luò)中的虛箭線,提出了工序時(shí)間參數(shù)的修正方法,力求避免虛箭線對工序共用時(shí)差和干擾時(shí)差的影響。張立輝[18]等建立了工序共用時(shí)差與CPM網(wǎng)絡(luò)路長間的關(guān)系,進(jìn)而開發(fā)出工序共用時(shí)差對相關(guān)網(wǎng)絡(luò)優(yōu)化問題的新功能。針對工序共用時(shí)差和干擾時(shí)差所導(dǎo)致的工序間相互影響的規(guī)律,李星梅[19]等借助CPM網(wǎng)絡(luò)研究了這兩類時(shí)差的動態(tài)特征,揭示了單工序?qū)ζ渌ば虻挠绊懗潭群头秶LK志雄[20]等發(fā)現(xiàn)由于工序共用時(shí)差和干擾時(shí)差的存在,項(xiàng)目的總體機(jī)動時(shí)間并非定值,而是會隨著工序使用共用時(shí)差的不同而變化。GPRs網(wǎng)絡(luò)和CPM網(wǎng)絡(luò)差異很大,CPM網(wǎng)絡(luò)中的節(jié)點(diǎn)可表示工序共用時(shí)差,但GPRs網(wǎng)絡(luò)中的節(jié)點(diǎn)卻只能表示工序總時(shí)差[8],并且CPM網(wǎng)絡(luò)中工序干擾時(shí)差的計(jì)算方法也同樣不適用于GPRs網(wǎng)絡(luò)。Li[21]等進(jìn)一步分析了GPRs下工序間時(shí)距與工序工期的關(guān)系,兩者的動態(tài)變化交叉影響者工序機(jī)動時(shí)間的值和可用范圍。因此,需要新的思路和方法研究GPRs下的工序共用時(shí)差和干擾時(shí)差。
工序共用時(shí)差和干擾時(shí)差導(dǎo)致了項(xiàng)目中工序間的關(guān)系錯(cuò)綜復(fù)雜,對任何具有這兩類時(shí)差的工序的調(diào)整都可能改變其他大量工序的時(shí)間參數(shù),可謂“牽一發(fā)而動全身”,是項(xiàng)目調(diào)度優(yōu)化中最怕遇見且最難處理的情況之一。因此,要獲得更優(yōu)甚至最優(yōu)的項(xiàng)目調(diào)度結(jié)果,提高項(xiàng)目管理效率,從工序共用時(shí)差和干擾時(shí)差入手有可能成為新的研究視角和突破口。本文重點(diǎn)針對GPRs下的工序共用時(shí)差,借助GPRs網(wǎng)絡(luò)研究其概念、計(jì)算方法、以及特性,并應(yīng)用于帶有 GPRs的資源均衡中,主要包括:化簡該問題模型;對模型的難易區(qū)域進(jìn)行區(qū)分,使得在求解過程中具有針對性,進(jìn)而提出更有效混合算法的新思路。
GPRs包含的工序j和k之間時(shí)距類型如表1所示(sk和fk分別表示工序k的開始和結(jié)束時(shí)間)。
Elmaghraby[7]等提出的GPRs箭線式網(wǎng)絡(luò)是當(dāng)前國際通用的GPRs表示法,特征如下:
(1)網(wǎng)絡(luò)起點(diǎn)編號為(0),終點(diǎn)編號為(2n+1),n表示工序數(shù);
(2)工序k的圖示包含開始節(jié)點(diǎn)(2k-1),結(jié)束節(jié)點(diǎn)(2k),箭線(2k-1,2k),(長度d2k-1,2k=dk)和箭線(2k,2k-1),(長度d2k,2k-1=-dk),dk為該工序的工期;
(3)工序j到k的時(shí)距用箭線(h,i)或(i,h)表示,h=2j-1,2j,i=2k-1,2k,其中,箭線(h,i)表示最小時(shí)距,其長度dhi=δ,箭線(i,h)表示最大時(shí)距,其長度dih=-δ。
文獻(xiàn)[7]針對工序工期不變的情況,提出了工序k的總時(shí)差TFk,自由時(shí)差FFk和安全時(shí)差SFk:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
類似地,假設(shè)工序j和k之間存在其他類型優(yōu)先關(guān)系(如圖1(a)~(d)所示為工序間最小時(shí)距),同樣可以得出CFjk。若工序j和k之間存在多類型優(yōu)先關(guān)系,包括最小時(shí)距(從工序j指向工序k的箭線)和最大時(shí)距(從工序k指向工序j的箭線),則CFjk取決于這些箭線干擾時(shí)差中的最大者,即
(8)
前式為該情況的特例,因此式(8)是相鄰工序共用時(shí)差的總公式。
由于工序k可能有多個(gè)相鄰工序,且與各相鄰工序的共用時(shí)差不同,為便于分析,給出工序k的統(tǒng)一共用時(shí)差,以工序間的共用時(shí)差最大值為基礎(chǔ)。首先介紹緊前和緊后工序概念。GPRs網(wǎng)絡(luò)中,如果有表示優(yōu)先關(guān)系的箭線從工序j指向工序k,稱工序j是工序k的緊前工序,工序j是工序k的緊后工序。
(1)工序k的前共用時(shí)差,記為CFk,表示該工序與其緊前工序的共用時(shí)差,
(9)
(10)
(3)工序k的總共用時(shí)差,記為CFk,表示該工序與所有相鄰工序的共用時(shí)差,
(11)
圖1 各類型最小時(shí)距
根據(jù)式(4)~(7),GPRs網(wǎng)絡(luò)中,任意工序k的工期延長時(shí),可能會出現(xiàn)以下現(xiàn)象:
(12)
(13)
根據(jù)式(8)~(11)算出工序j和k的各類共用時(shí)差CFjk、*CFk和CFk。
GPRs網(wǎng)絡(luò)中工序k由箭線(2k-1,2k)和(2k,2k-1)組成,也可繪成圖2,為避免混淆,記工序k在圖2中為-k,其開始節(jié)點(diǎn)為(2k),結(jié)束節(jié)點(diǎn)為(2k-1)。根據(jù)隱性時(shí)差和偽時(shí)差理論,若-dk增大,即工序k工期縮短,則對應(yīng)工序-k可能出現(xiàn)隱性時(shí)差和偽時(shí)差,根據(jù)式(12)~(13):
(14)
(15)
*CFk=0
則稱其為“孤島工序”,在執(zhí)行過程中不會與任何工序相互影響。孤島工序的特點(diǎn)使其能夠降低管理(特別是調(diào)度等)方面的難度,若項(xiàng)目中的孤島工序越多,則該項(xiàng)目在處理調(diào)度等問題時(shí)難度可能越低。
圖2 反向視角的各類型最小時(shí)距
本文提出的GPRs下的新工序概念可為項(xiàng)目調(diào)度提供新思路和方法。結(jié)合節(jié)2.4可知,半島工序和孤島工序可為GPRs下工序?qū)?xiàng)目調(diào)度的復(fù)雜程度進(jìn)行分級。例如,孤島工序獨(dú)立于其他工序,調(diào)整時(shí)所需考慮的因素最少;干擾工序是導(dǎo)致項(xiàng)目調(diào)度中工序關(guān)系錯(cuò)綜復(fù)雜的主因,調(diào)整時(shí)所需考慮的因素最多。因此,根據(jù)工序類型的不同,可在項(xiàng)目中進(jìn)行復(fù)雜程度劃分,分別用具有對應(yīng)特征和功能的算法進(jìn)行處理,進(jìn)而以此為基礎(chǔ)進(jìn)行算法綜合,設(shè)計(jì)出新的混合算法,實(shí)現(xiàn)更好的求解效果。
minz
(16)
s.t.
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
上述模型中,式(19)~(26)表示工序間優(yōu)先關(guān)系。GPRs下工序間優(yōu)先關(guān)系數(shù)量遠(yuǎn)多于工序數(shù)量,若能鑒別刪減冗余優(yōu)先關(guān)系,可顯著減小模型約束條件,實(shí)現(xiàn)模型簡化。以圖3為例,該網(wǎng)絡(luò)所示項(xiàng)目的資源均衡問題。根據(jù)節(jié)2.1,計(jì)算工序共用時(shí)差,例如,根據(jù)式(8)計(jì)算工序2和8的共用時(shí)差CF2,8,
因此兩工序沒有共用時(shí)差,實(shí)際并無約束,可刪去箭線(4,15);依此類推,得圖4所示網(wǎng)絡(luò),與圖3相比,表示優(yōu)先關(guān)系的箭線數(shù)量由32減少到6,即模型中優(yōu)先關(guān)系約束條件減少81.25%。圖4顯示有較多半島和孤島工序,弱化了工序間相互影響,只有少數(shù)工序在資源均衡中會影響其他工序,降低了問題求解難度。
工序機(jī)動時(shí)間是項(xiàng)目管理的重要優(yōu)化參數(shù)。在基于CPM的項(xiàng)目中,工序機(jī)動時(shí)間包括總時(shí)差,自由時(shí)差,安全時(shí)差,共用時(shí)差和干擾時(shí)差。然而在帶有GPRs的項(xiàng)目中,現(xiàn)有工序機(jī)動時(shí)間卻只包括總時(shí)差,自由時(shí)差和安全時(shí)差。隨著現(xiàn)代工程項(xiàng)目的規(guī)模擴(kuò)大化和結(jié)構(gòu)復(fù)雜化,工序間遍布GPRs。工序共用時(shí)差和干擾時(shí)差能夠體現(xiàn)工序間相互影響的規(guī)律,若合理應(yīng)用有助于減小項(xiàng)目復(fù)雜結(jié)構(gòu)的影響,對于項(xiàng)目管理十分重要。本文重點(diǎn)研究GPRs下的工序共用時(shí)差。
GPRs的表示方法與經(jīng)典CPM網(wǎng)絡(luò)相比差異顯著,GPRs下的工序時(shí)差難以直接借助CPM方法計(jì)算。本文根據(jù)工序共用時(shí)差和干擾時(shí)差的含義,以GPRs箭線式網(wǎng)絡(luò)為工具,提出相應(yīng)的概念和計(jì)算公式。通過分析上述公式及GPRs網(wǎng)絡(luò)結(jié)構(gòu),發(fā)現(xiàn)具有獨(dú)特性質(zhì)的工序,并提出新的工序概念,如半島工序和孤島工序。這些工序的特性有助于GPRs下項(xiàng)目調(diào)度的更有效求解。本文研究了GPRs下的工序共用時(shí)差在資源均衡問題中的應(yīng)用。工序共用時(shí)差可以實(shí)現(xiàn)資源均衡問題的簡化,主要體現(xiàn)在能刪減冗余優(yōu)先關(guān)系,減小資源均衡模型的規(guī)模。