豐景春,施嘉鋒,豐 慧,張 可
(1.河海大學商學院,江蘇南京 211106;2.河海大學項目管理研究所,江蘇南京 211106;3.江蘇省世界水谷與水生態(tài)文明協(xié)同創(chuàng)新中心,江蘇南京 211106;4.河海大學國際河流研究中心,江蘇南京 211106)
近年來,伴隨著“一帶一路”倡議、京津冀協(xié)同發(fā)展等重大方略的實行,我國穩(wěn)步邁入經(jīng)濟發(fā)展新常態(tài),我國承建的各種大中型工程項目也不再僅限于國內(nèi),同時也在走出國門,這意味著我國承擔大中型建設(shè)工程項目的企業(yè)會面臨更多的機遇與挑戰(zhàn),提高大中型工程建設(shè)項目的質(zhì)量和效率,對建設(shè)工程項目管理進行優(yōu)化,是亟待解決的問題。
建設(shè)工程項目管理優(yōu)化的對象側(cè)重于工期、費用和資源三大方面,這三大方面之間存在聯(lián)系性,實現(xiàn)工程建設(shè)項目工期縮短(進度優(yōu)化)、費用減少(成本優(yōu)化)、資源均衡(資源優(yōu)化)一直都是工程項目管理過程中的重要目標,在相關(guān)研究中,各專家學者的研究主要集中于實現(xiàn)單項目目標優(yōu)化,例如,閆文周等[1]研究了關(guān)鍵鏈的期望工期、分布規(guī)律以及指定工期下的完工概率,以完工概率最小的關(guān)鍵鏈作為重點管控對象,從而實現(xiàn)工程項目工期優(yōu)化;楊波等[2]利用決策網(wǎng)絡計劃技術(shù)在規(guī)定工期下對工程項目的費用進行優(yōu)化;Pinha 等[3]認為糟糕的資源管理往往是工程項目超支以及工期延誤的主要原因,因此提出了一種短期資源分配與管理的軟件工具,以解決資源約束項目的資源調(diào)配問題。對于工程項目管理過程中資源均衡類問題,常用的衡量指標為資源均衡方差、絕對偏差等,如何立華等[4]提出了一個創(chuàng)新性指標——資源波動成本,可用以度量并最小化資源波動對施工生產(chǎn)力和成本造成的影響。也有研究把工程項目的質(zhì)量納入優(yōu)化目標,一般來說,工程項目的質(zhì)量難以量化,而高興夫等[5]假定了工程項目活動時間與質(zhì)量之間的線性關(guān)系,將活動的質(zhì)量進行量化處理,構(gòu)建了工期、費用、質(zhì)量綜合優(yōu)化的數(shù)學模型。
以上研究多建立在工程建設(shè)單項目的基礎(chǔ)上,而如今,絕大多數(shù)的工程項目不是孤立存在的,多是在項目群的環(huán)境下執(zhí)行[6]。項目群是一系列旨在實現(xiàn)組織整體戰(zhàn)略目標,且為適應于組織內(nèi)外部環(huán)境變化而有機聯(lián)結(jié)的各合同項目的集群。工程項目群相較于單一項目來說更為龐大,內(nèi)部涉及更多的利益主體,工作關(guān)系錯綜復雜,對業(yè)主進度控制、費用控制等各方面的管理水平提出了更高的要求,因此,為保證項目群整體工作及時而又高效完工,以項目群的工期、費用、資源或質(zhì)量為研究對象進行項目實施前和實施過程中的合理優(yōu)化是十分必要的。
目前,工程項目群管理方面的研究提出了許多有價值的模型,例如,鑒于項目群內(nèi)包含多個利益主體,豐景春等[7]引入了子網(wǎng)絡的概念,將同一個承包商所承擔的項目構(gòu)成一個子網(wǎng)絡,構(gòu)建了項目群工期提前獎勵模型,而汪玉亭等[8]研究了因承包人原因?qū)е碌淖泳W(wǎng)絡之間和子網(wǎng)絡內(nèi)項目工期延誤對項目群所帶來的影響,構(gòu)建了基于子網(wǎng)絡的項目群工期延誤懲罰模型,獎勵模型與懲罰模型對于項目群費用優(yōu)化具有重要意義;豐景春等[9]建立了甲供資源約束條件下項目群實施前和實施過程中的工期-費用優(yōu)化模型,分別用于優(yōu)化初始網(wǎng)絡計劃以及優(yōu)化后網(wǎng)絡計劃的動態(tài)調(diào)整,可以實現(xiàn)既定工期目標并控制業(yè)主支出費用;另外,項目群也需要調(diào)用資源以實現(xiàn)目標,豐景春等[10]考慮項目群內(nèi)部合同項目之間的邏輯關(guān)系,利用資源在項目群內(nèi)部合同項目之間的轉(zhuǎn)移,構(gòu)建資源約束條件下項目群工期優(yōu)化模型。
工程建設(shè)單項目、多項目或者項目群中,各目標優(yōu)化模型的求解一般多采用傳統(tǒng)的關(guān)鍵路徑法或關(guān)鍵鏈法,而如今,伴隨著人工智能技術(shù)的發(fā)展,各種人工智能算法在眾多領(lǐng)域得到了普及與應用,因而也出現(xiàn)了運用智能算法求解建設(shè)工程項目中不同目標優(yōu)化問題的研究,例如,Chaharsooghi 等[11]構(gòu)建了以項目現(xiàn)金流現(xiàn)值最大化為目標的數(shù)學優(yōu)化模型,并使用遺傳算法進行求解,該方法對項目現(xiàn)金流量的管理和項目控制有重要作用;張厚先等[12]利用粒子群算法求解了大型網(wǎng)絡計劃的工期固定資源均衡以及資源有限工期最短的優(yōu)化問題;胡華選等[13]構(gòu)造了一種改進的蟻群算法應用于工程項目的工期-費用優(yōu)化問題,取得了有效的結(jié)果。以上的研究多為針對工程建設(shè)的單目標優(yōu)化,也有學者進行了多個目標優(yōu)化的研究,如Vijayan 等[14]利用多目標優(yōu)化蟻群算法,實現(xiàn)了工程項目的時間、成本和風險3 個參數(shù)之間的協(xié)調(diào)優(yōu)化;杜學美等[15]將質(zhì)量和安全指標均進行了量化處理,連同工期和成本指標建立了多目標優(yōu)化模型,并應用粒子群優(yōu)化算法對模型進行求解,為求解多目標優(yōu)化問題提供了指標處理以及算法求解的思路;邱惠[16]考慮到項目群資源共享,通過對工程項目群工期、成本、管理資源分析,提出基于粒子群算法的項目群網(wǎng)絡計劃優(yōu)化模型,最后仿真驗證優(yōu)化效果;王益鋒等[6]建立了項目群約束資源分配模型,引入了粒子群算法并給出算法在模型中的應用流程,對目標模型進行求解,實現(xiàn)了項目群整體進度的優(yōu)化。
綜上,現(xiàn)有研究成果對于求解工程項目群工期、費用或資源優(yōu)化都具有重要的參考價值,與此同時,利用智能算法進行算例求解可以提高結(jié)果的精準性,是求解優(yōu)化問題的可靠選擇;但是現(xiàn)有研究主要是針對單項目而展開的,較少涉及項目群,同時現(xiàn)有研究成果鮮有利用智能算法求解項目群優(yōu)化問題。為此,本文基于遺傳算法基本原理構(gòu)建了工程項目群工期-費用優(yōu)化模型,以工程項目群費用最小作為主要優(yōu)化目標,利用遺傳算法對模型進行求解,并引入案例驗證該模型及所使用算法的可行性。
工程項目群(以下簡稱“項目群”)由多個相互關(guān)聯(lián)的、擁有共同戰(zhàn)略目標的項目與活動組成,通過對組成項目群的項目和活動進行整體管理,能夠獲得比對各項目單獨管理更大的效益。工期、費用和資源作為項目群管理下易量化的指標,常被業(yè)主重點關(guān)注并列為管理導向目標之列。項目群工期、費用和資源之間雖各自獨立,但也協(xié)調(diào)統(tǒng)一,若只對其中某一項進行優(yōu)化而忽略其他因素,很大可能會得到一個損害其他管理目標的結(jié)果,三者互為制約作為優(yōu)化目標達成的規(guī)制條件,且優(yōu)化內(nèi)容存在交叉重疊,因此,進行工程項目群優(yōu)化時,工期、費用和資源彼此間的約束不容忽視。一般來說,項目群的整體費用包括各合同項目在執(zhí)行過程中衍生的直接費用和間接費用兩大項。在一定的工期范圍內(nèi),項目群的直接費用隨工期延長而降低,而間接費用不降反增,因此,兩部分費用疊加之后得到的總費用存在一個最小值,即為業(yè)主所需支付費用的最小值,此時也會對應一個在此情形下的最小工期,所以在項目群費用優(yōu)化過程中,不僅關(guān)注了費用目標的達成,同時還能實現(xiàn)工期目標的優(yōu)化。
基于以上分析,本文構(gòu)建的工期-費用優(yōu)化模型以費用低作為首要目標構(gòu)建目標函數(shù),工期短作為次要目標可通過約束法被轉(zhuǎn)化為模型中約束條件的一部分。其中,將項目群總體的費用劃分為直接費用、工期壓縮帶來的趕工費用、項目群時間變化帶來的獎懲以及間接費用;工期為關(guān)鍵線路上各項工作時間之和。使用約束法將次要目標轉(zhuǎn)變?yōu)榧s束條件之后,可以將多目標優(yōu)化問題轉(zhuǎn)變?yōu)閱文繕藘?yōu)化問題,從而方便對模型進行求解。
對構(gòu)建項目群的工期-費用優(yōu)化模型涉及的一些參數(shù)或條件進行如下假設(shè):
(1)項目群一共包含了N個合同項目,每個合同項目均包含n項工作。其中,關(guān)鍵路徑上有q項工作,q項關(guān)鍵工作的集合為KR。各項工作間遵循嚴格的邏輯關(guān)系,優(yōu)化不改變項目之間的邏輯關(guān)系。
(2)項目群內(nèi)各項工作的工期不存在延誤。在工程實踐中,項目群內(nèi)各個工作的工期可能提前也可能延誤,為簡化研究,假設(shè)項目群中各項工作不存在延誤;無論是關(guān)鍵線路還是非關(guān)鍵線路上的工作,均在其工期可變動的范圍內(nèi)進行壓縮。
(3)優(yōu)化前項目群只有一條關(guān)鍵線路,優(yōu)化后原關(guān)鍵線路仍為關(guān)鍵線路。
(4)項目群的工程質(zhì)量在進行工期和費用優(yōu)化的過程中不受影響。
3.2.1 費用優(yōu)化目標
項目群的費用優(yōu)化需要調(diào)整工期來實現(xiàn),費用一般由直接費和間接費兩部分組成,其中直接費用會隨工期的延長而減少,間接費則會隨工期的延長而增加;考慮到工作趕工,因此引入趕工費率以及獎勵與懲罰系數(shù)以充分表達項目群總費用(C)。項目群總費用包括正常情況下的直接費用、時間壓縮時增加的直接費、項目群工期優(yōu)化帶來的獎勵以及間接費用。因此構(gòu)建以下目標函數(shù):
3.2.2 工期約束條件
項目群的工期即為關(guān)鍵路徑的長度,因此工期優(yōu)化目標函數(shù)如下:
鑒于進行首要目標費用優(yōu)化的同時工期也能得到優(yōu)化,因此,通過約束法將各項工作的時間參數(shù)進行表示,作為費用優(yōu)化過程中需要考慮的時間層面的約束條件。關(guān)鍵路徑上的工作時間長短決定了最終工期的長短。對于關(guān)鍵路徑上的工作,其實際用時應當較優(yōu)化前更短,但需要控制在極限壓縮范圍內(nèi),即:
保持關(guān)鍵線路不變動,因此各條非關(guān)鍵路徑上的工作持續(xù)時間之和不能超過關(guān)鍵路徑的工期長度。
3.2.3 優(yōu)化模型
基于以上目標函數(shù)與約束條件的構(gòu)建與分析,得到如下工期-費用優(yōu)化模型:
遺傳算法(genetic algorithm,GA)是受生物學進化學說和遺傳學理論的啟發(fā)而發(fā)展起來的,是一類模擬自然生物進化過程與機制求解問題的自組織與自適應的人工智能技術(shù),是一種借鑒生物界自然選擇和自然遺傳機制的隨機的搜索算法。遺傳算法在求解優(yōu)化類問題,尤其是一些不能直接求解的復雜優(yōu)化問題時能較好地解決問題。本文構(gòu)建的模型以工作持續(xù)時間為變量,多個工作持續(xù)的時間與遺傳算法中染色體上各個基因位編碼可以相對應,優(yōu)化過程中種群染色體的適應度函數(shù)可以利用模型的目標函數(shù)表示,因此使用遺傳算法來求解項目群的工期-費用優(yōu)化問題。
(1)編碼。利用遺傳算法解決項目群工期-費用優(yōu)化首先需要對問題進行編碼,即將實際問題轉(zhuǎn)化為一個利用遺傳算法參數(shù)來表示的問題[17]。現(xiàn)從以下兩方面說明編碼時尤為重要的細節(jié):一是被編碼變量。將工作的持續(xù)時間作為被編碼變量有利于項目群工期與費用的相關(guān)計算,每個基因位可與工作的編號相對應,即一個基因值對應一個工作的持續(xù)時間,工作的優(yōu)先次序能體現(xiàn)出邏輯關(guān)系,因此本文選擇工作持續(xù)時間作為編碼變量且基因位與工作的編號相對應。二是基因值形式。由于二進制編碼過長,不利于編輯和整理同時給解碼工作造成困難,因此本文采用實數(shù)編碼改進的遺傳算法,以實數(shù)表示基因,直接使用問題的變量進行編碼且不用轉(zhuǎn)換進制,可節(jié)省整個算法迭代運行的時間。此外,由于實數(shù)可表示的范圍大且精度高,對于結(jié)果更為有益。
(2)產(chǎn)生初始種群。根據(jù)編碼機制,初始化原始種群,隨機生成一定數(shù)目的個體,然后從中挑選出較好的個體加入到初始種群中。此過程是個不斷迭代的過程,直到初始種群規(guī)模達到預期值。設(shè)定初始種群規(guī)模為100。
(3)適應度計算。遺傳算法中,通過適應度函數(shù)值來衡量某一個體的適應度高低,適應度越高其繁殖機會越大;反之則越小。對于本文研究的項目群工期-費用優(yōu)化問題,目標函數(shù)是求最小值,與遺傳算法中適應度的原理剛好相反,為了保證遺傳算法中對各個個體適應度的比較排序,從而確定選擇概率,必須將目標函數(shù)轉(zhuǎn)化為求最大值形式且函數(shù)值為非負的適應度函數(shù),因此引入一足夠大的常數(shù)c,使用該常數(shù)減去原目標函數(shù),通過這樣的構(gòu)造方法即可轉(zhuǎn)化為一個新的目標函數(shù)的最大化問題。
(4)選擇。選擇是指以一定概率從種群中選取若干個體的操作,是基于每個個體的適應度,按一定規(guī)則從某一代群體中選擇出一些優(yōu)良的個體遺傳到下一代群體中的過程。本文采用輪盤賭選擇算子,為有效應對“早熟收斂”問題,需要采用精英策略,即將當前群體中適應度最高的個體結(jié)構(gòu)完整地復制到下一代群體中,優(yōu)秀個體得到保留的同時也不會破壞種群的多樣性。
(5)交叉。交叉也就是基因的重組,通過交換染色體上的基因完成。常用的交叉方法有單點交叉、多點交叉、均勻交叉等,本文采用均勻交叉,即對父代個體的部分染色體上的基因進行替換重組。設(shè)定交叉率pc為0.7。
(6)變異。變異指染色體上發(fā)生基因突變。變異算子是基因根據(jù)算子在取值范圍內(nèi)隨機取值,然后替換該基因的原值個體。本文參考王云[18]研究中的變異算子(見表1),具體過程如下:在一條染色體中隨機選擇一個基因位置,如表1 中的基因值11,根據(jù)基因值大小范圍隨機選取一個值(不出現(xiàn)負值),即表1 中選擇數(shù)值0.2,用選擇的基因值加上這個值得到11.2,同時在染色體的對稱位置選擇基因并減去該值得到7.8,經(jīng)調(diào)整后完成變異的全過程。設(shè)定變異率pm為0.01。
(7)終止條件。迭代次數(shù)的多少影響著運算以及收斂的速度,以最大迭代次數(shù)為終止條件,輸出最終結(jié)果。設(shè)定終止迭代次數(shù)為500 次。
表1 變異算子
某Z 大型工程項目群包含有3 個合同項目,各合同項目內(nèi)均有8 項工作,為了有效地實現(xiàn)Z 項目群進度的有效控制,業(yè)主繪制了網(wǎng)絡計劃,各項工作的持續(xù)時間如圖1 所示,其中粗實線表示該工作位于關(guān)鍵路徑上,即關(guān)鍵路徑為A1—C1—F1—B2—F2—B3—F3—G3。由圖1 可知,優(yōu)化前Z 項目群的總工期為60 個月。
圖1 Z 項目群網(wǎng)絡計劃分布
應業(yè)主的要求,現(xiàn)需要將項目群的工期進行壓縮,從而使項目群提前建成投產(chǎn),且由業(yè)主支付各項工作的趕工費用;同時,業(yè)主要求項目群提前完工時最終的總費用能控制在較小值。為簡化計算,本文不考慮緊前工作提前完工、緊后工作提前開工產(chǎn)生的索賠費用,因此以Z 項目群最終提前完工時業(yè)主的獎勵方式代替工作間的索賠費用,暫不考慮具體獎勵費用的分配問題。各項工作的計劃工期、最大可壓縮月數(shù)、工程直接費用、趕工費率如表2所示,各項參數(shù)由項目經(jīng)理、項目管理領(lǐng)域?qū)<覍W者、專業(yè)技術(shù)人員根據(jù)Z 項目群特點共同綜合決定。獎勵系數(shù)β取值為60 萬元/月,間接費用系數(shù)γ取值為90 萬元/月。
表2 Z 項目群各工作相關(guān)參數(shù)
表2 (續(xù))
在Z 項目群的背景條件下,運用遺傳算法對其進行工期-費用優(yōu)化,以得到全局最優(yōu)的項目群總費用,同時得到優(yōu)化后對應費用的工期。本文運用Python 3.7.4 版本,通過運用遺傳算法原理對Z 項目群工期-費用優(yōu)化模型進行程序編寫,運行得到如圖2 所示結(jié)果。其中,橫坐標代表的是子代數(shù)量,縱坐標為項目群在相應的算法迭代次數(shù)下的總費用。經(jīng)過500 次的算法迭代,項目群總費用的最優(yōu)值趨于全局最優(yōu)值,即Z 項目群最優(yōu)化費用為48 800 萬元。在程序運行結(jié)束的界面,可以得到500 次迭代均為有效進化,且在第40 代時得到最優(yōu)的一代。算法耗時0.927 秒,求解效率與精度較高。
圖2 基于遺傳算法的Z 項目群工期-費用優(yōu)化結(jié)果
對于模型的決策變量,即項目群內(nèi)各項工作的持續(xù)時間,在算法迭代完成輸出最優(yōu)費用的同時,也輸出項目群內(nèi)各項工作的持續(xù)時間,得到的結(jié)果如表3 所示。通過與各項工作原來持續(xù)時間的比對,在優(yōu)化過程中,合同項目1 各項工作的持續(xù)時間保持不變,而合同項目2 和3 中部分關(guān)鍵及非關(guān)鍵工作的持續(xù)時間發(fā)生了變化。通過計算,得到Z 項目群最終總工期為55 個月,比原計劃工期縮短了5 個月,項目群工期縮短了8.33%。
表3 Z 項目群各項工作持續(xù)時間 單位:月
(1)案例分析表明,Z項目群工期縮短了5個月,與此對應的項目群最終總費用為48 800 萬元。若采用傳統(tǒng)工期優(yōu)化方法進行優(yōu)化,則項目群總費用為54 394 萬元,要比采用本研究提出的方法得到的最優(yōu)費用要高出11.46%;同時,對應的項目群工期可以壓縮14.5 個月,將原計劃項目群工期壓縮的幅度達到24.17%,這樣大的工期壓縮幅度對于原本就極為復雜的大型工程項目群管理工作帶來更大困難,同時,需要耗費更多的人力、物力、財力,其操作性也較差,不符合實際情況。因此,在綜合考慮工期、費用的情況下,采用本研究提出的方法求得的結(jié)果更符合大型復雜工程項目群的實際情況。
(2)根據(jù)變量最終取值情況,工期-費用優(yōu)化的對象既包括關(guān)鍵工作,也包括部分非關(guān)鍵工作,據(jù)此得到費用最優(yōu)條件下各項工作的工期。
本文所建立的工程項目群工期-費用優(yōu)化模型具有如下優(yōu)勢:
(1)是基于業(yè)主視角的項目群工期-費用優(yōu)化模型。一方面,考慮了項目群中各項工作持續(xù)時間的變動給直接費與間接費帶來的影響;另一方面,假定項目群內(nèi)不存在工作延誤的情況,考慮項目群提前竣工給承包商帶來的獎勵費用。在理想狀態(tài)下,業(yè)主希望實現(xiàn)工期短、費用低,但在實際情況下,業(yè)主一味追求縮短工期往往會以降低工程質(zhì)量為代價,因此,項目群工期-費用優(yōu)化模型將費用優(yōu)化作為首要目標,通過項目群總費用與工作持續(xù)時間之間的優(yōu)化,使得項目群最終工期優(yōu)于計劃工期。
(2)模型構(gòu)建在變量選擇時充分運用遺傳算法的原理,因此求解更加準確具體。項目群費用優(yōu)化時全面考慮到了項目群中的所有工作,包括關(guān)鍵工作和非關(guān)鍵工作,由于可以人為設(shè)定輸出結(jié)果的精確度,因此在編碼操作過程中采用實數(shù)編碼的方式,可以使變量的結(jié)果更加精確,操作也更為簡便。
(1)鑒于大型工程項目群是一個復雜的系統(tǒng),如果只對項目群中的單合同項目或項目群的局部進行優(yōu)化,則項目群難以實現(xiàn)利益最大化,為此,需要從全局視角對項目群工期-費用進行優(yōu)化。本文以合同項目中的每項工作工期作為變量,以總費用作為優(yōu)化目標,構(gòu)建了工程項目群工期-費用優(yōu)化模型,運用實數(shù)編碼以及精英保留策略的遺傳算法,對項目群工期-費用優(yōu)化模型進行求解,得到了項目群的最優(yōu)總費用以及相對應條件下項目群中所有工作的工期。
(2)根據(jù)遺傳算法的基本原理,通過對案例進行編程計算,求解得到各項工作的持續(xù)時間,在實現(xiàn)項目群總費用最優(yōu)的同時,案例項目群的工期也比原先計劃工期縮短了5 個月。案例求解表明,運用智能算法求解這一問題更加高效,得到的結(jié)果也更為精確。
本文構(gòu)建的工程項目群工期-費用優(yōu)化模型沒有考慮資金的時間價值,而對于大型工程項目群,其工期一般歷時較長,考慮資金的時間價值將更加符合工程實際;此外,項目群質(zhì)量以及資源等方面也是項目群優(yōu)化問題中需要考慮的重要指標,結(jié)合智能算法求解這系列問題還有待進一步研究。