倪秉良
規(guī)模較大、功能較復(fù)雜的建筑工程項目在施工上具有很高的復(fù)雜度。為保證項目的施工質(zhì)量,避免因施工計劃錯誤而延誤工程進度,在施工前要制定合理的建筑施工計劃。近年來,國內(nèi)外研究人員在建筑施工計劃優(yōu)化方面進行了大量的研究,目前已發(fā)展至智能計算階段。因此,應(yīng)當(dāng)基于人工智能算法對建筑施工計劃優(yōu)化做進一步探究。
某高校擬新建一個研究實驗基地,該項目總面積約為4500 m2,包括多個不同功能的試驗區(qū)域。各個試驗區(qū)域?qū)庹铡囟?、濕度等要素的需求存在一定差異,因此該項目施工?fù)雜度和難度較高,包含的工序類型和數(shù)量較為繁多,對于各個科目的要求也較多,導(dǎo)致整體施工流程較為繁瑣,難以通過常規(guī)的方法進行施工計劃優(yōu)化[1]。為此,施工單位決定應(yīng)用人工智能算法,優(yōu)化該項目的建筑施工計劃,以提升建筑施工的效率、質(zhì)量和安全性等多方面的指標(biāo)。
為保證施工計劃中各個步驟均能夠合理的進行,施工單位決定采用網(wǎng)絡(luò)計劃圖工具編制施工計劃。本次使用雙代號網(wǎng)絡(luò)圖初步描述該項目的施工安排[2]。通過分析以往類似項目的施工經(jīng)驗以及相關(guān)文獻資料,明確本項目施工中有關(guān)工序的優(yōu)先級排布,編制施工作業(yè)的初步網(wǎng)絡(luò)計劃。
在得到初步網(wǎng)絡(luò)計劃后,進一步調(diào)整時間參數(shù)。每個節(jié)點均表示其對應(yīng)工序的“開始事件”或“結(jié)束事件”,每類事件均具有一個最早發(fā)生時間(Earliest Time,ET)和最晚發(fā)生時間(Lastest Time,LT)。研究人員基于以往經(jīng)驗、專家知識和類似項目的歷史數(shù)據(jù),導(dǎo)入項目管理軟件進行初步計算,最終確定該項目工期理論上的最小完成時間為158 d[3]。甲方要求該項目在200 d 內(nèi)完工,因此計劃工期可在158 ~200 d 內(nèi)進行合理調(diào)整。
此次建筑施工項目因其自身特性需兼顧的要求較多,不僅需要在甲方要求的時間內(nèi)完成,而且需要將消耗的材料和資金成本控制在相對較低的水平,屬于典型的多目標(biāo)規(guī)劃問題,常規(guī)的多項式算法難以取得最優(yōu)解[4]。
根據(jù)本項目特點,研究人員確定用粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)進行求解,主要優(yōu)化目標(biāo)是工期最小、費用最低和資源均衡。首先,研究人員結(jié)合實際情況分析本次項目施工中的資源約束。參考圖1 中的雙代號工程網(wǎng)絡(luò),將其命名為G= (V,E)。其次,集合V中的所有元素均為時間節(jié)點,用以標(biāo)記每個工序啟動和完成所對應(yīng)的時刻;E則用于描述邊集合,表示需要消耗一定施工時間的某個工序環(huán)節(jié)。由此應(yīng)用式(1)~式(6)建立數(shù)學(xué)模型。
圖1 粒子編碼結(jié)果(來源:作者自繪)
式中:Tp為項目施工計劃消耗時間,即優(yōu)化目標(biāo)1;Si為事件Vi的發(fā)生時刻,i∈N*,N*為正整數(shù)集合;N為施工環(huán)節(jié)開始、結(jié)束時刻的節(jié)點總數(shù)[5]。
式中:Sj為事件j的發(fā)生時刻;Di-j為工序i→j的估算施工時間。
式中:Tr為項目施工允許的最長時間,本次為200 d。
式中,Rt k為第k類資源在工期第t天可提供的總量,k∈N*;K為項目施工使用的材料和設(shè)備種類數(shù)。
式(1)~式(3)均為優(yōu)化目標(biāo)表達式,分別表示工期最小化后的消耗時間、最小化的項目費用以及最小化的資源使用方差。
式(4)~式(6)作為約束條件,主要進行3 個方面的約束:
1)確保各個環(huán)節(jié)按照優(yōu)先級從高到低的順序進行,避免混亂;
2)確保了項目施工時間不超過200 d;
3)資源方面的約束[6]。模型中涉及的具體相關(guān)變量數(shù)據(jù),通過專家經(jīng)驗法分析歷史數(shù)據(jù)獲得。
根據(jù)上文所描述的多目標(biāo)施工計劃優(yōu)化問題,應(yīng)當(dāng)采用人工智能算法進行有效解決[7]。為此,研究人員應(yīng)用粒子群優(yōu)化PSO 算法進行求解,主要可通過如下步驟實現(xiàn):
1)在PSO 算法中對粒子進行編碼。結(jié)合本次研究的施工計劃優(yōu)化問題,采用矩陣編碼形式作為編碼方案。其中,矩陣的行數(shù)為本工程項目中的工序數(shù)量,列數(shù)與項目的要求工期天數(shù)相同。在該矩陣下元素僅有兩類,以“1”表示存在施工行為,“0”表示不存在施工行為。本次施工的粒子編碼結(jié)果如圖1 所示。
2)基于粒子編碼結(jié)果,研究人員進一步對運算符進行重載,以實現(xiàn)粒子位置的更新要求。重載環(huán)節(jié)主要分為3 個步驟:第1,減法運算。隨機選取粒子的某兩個位置的編碼,定義二者之差仍然為矩陣,找出被減數(shù)與減數(shù)之間的“差別”,確保粒子在后續(xù)的迭代計算中調(diào)整自身運行方向。第2,乘法運算。當(dāng)隨機變量減法運算完成后,應(yīng)用乘法運算對運算結(jié)果重新進行定位(該定位結(jié)果屬于隨機變量),以避免粒子后續(xù)運行方向出現(xiàn)錯誤[8]。第3,加法運算。作用于速度和乘法運算之積與原始位置與更新后的速度之間,主要作用是加速粒子的后續(xù)迭代進程,同時避免粒子因落入局部最優(yōu)解而無法繼續(xù)運算。針對本次施工的實際需要,將施工消耗時間、施工成本和資源均衡分配所需要的算法粒子比例分配為4 : 3 : 3。
在粒子位置、速度編碼和相應(yīng)操作方法均已明確后,為進一步提升粒子群算法的效率和準(zhǔn)確度,研究人員從以下4 個方面對算法的其他相關(guān)參數(shù)進行設(shè)計:
1)針對PSO 算法中的種群大小即“粒子數(shù)量”,綜合考慮算法的搜索范圍和搜索能力兩方面的要求,設(shè)定該算法中的種群大小為30。
2)選取權(quán)重系數(shù)、學(xué)習(xí)因子兩方面參數(shù)。前者決定當(dāng)前一代的算法迭代更新速度,后者則作為影響下一代迭代速度的判斷依據(jù)[9]。結(jié)合建筑項目施工管理的一般經(jīng)驗,將以上兩方面參數(shù)均設(shè)置為1,這表示權(quán)重系數(shù)和學(xué)習(xí)因子對下一代速度的影響是等效的,不存在差異。
3)確定算法的停止準(zhǔn)則條件。在綜合考慮算法運行效率和準(zhǔn)確性的基礎(chǔ)上,確定本次PSO 算法在進行500次迭代計算后停止,此時算法輸出當(dāng)前已獲取的全部帕累托最優(yōu)解。
4)對各個目標(biāo)進行粒子分配。
結(jié)合本次項目施工的實際需要,參考施工計劃優(yōu)化相關(guān)文獻后,確定本次PSO算法主要分為以下幾個步驟。首先,確定輸入量與輸出量。其中,輸入量為描述項目的雙代號網(wǎng)絡(luò)計劃圖G=(V,E),輸出量則為遍歷過程中找到的全部帕累托最優(yōu)解。其次,由PSO 算法自動生成30 個粒子,并對各個粒子進行隨機編碼和隨機初始化[10]。再次,設(shè)置迭代輪次序數(shù)t的數(shù)值為1,并按照2.3 章節(jié)中描述的運算符重載規(guī)則進行迭代更新,每進行一次迭代更新,t值增加1。最后,當(dāng)t值到達設(shè)定的迭代次數(shù)上限500 次后停止運行,輸出遍歷過程中找到的全部的帕累托最優(yōu)解。具體流程圖如圖2 所示。為實現(xiàn)上述算法流程,本次以C++語言按照流程編寫對應(yīng)代碼,將其安裝于計算機設(shè)備,實現(xiàn)PSO 算法的有效運行。
圖2 本次PSO 算法的主要運行流程(來源:作者自繪)
在上述PSO 算法全部設(shè)計完成后,研究人員在計算機上運行PSO 算法,系統(tǒng)自動得到備選的11 個優(yōu)化方案,具體可從表1 中的數(shù)據(jù)變化趨勢來看,工期和項目費用之間存在較為突出的負(fù)相關(guān)性,縮短工期對成本的增加有較為顯著的影響。同時,資源均衡度指標(biāo)與項目工期之間也存在較為明顯的負(fù)相關(guān),表明追求工期比較容易造成資源使用不均衡的問題[11]。
表1 基于PSO 算法求得的施工計劃優(yōu)選方案
針對上述特點,結(jié)合項目甲方和施工方的實際需求做進一步分析,兼顧甲方對項目施工時間和乙方對項目成本方面的要求,最終篩選出“工期平均―費用平均”的施工方案。
根據(jù)優(yōu)化后的施工計劃,施工單位有序進行各環(huán)節(jié)施工作業(yè)。在保證施工質(zhì)量符合預(yù)期的前提下,整個項目在174.5 d 內(nèi)完成,消耗成本為452.082 萬元,兼顧了施工工期與施工成本開支兩方面的目標(biāo)。同時,施工消耗時間與成本兩項指標(biāo)也與PSO 算法運行得到的理論預(yù)測值較為接近,進一步證明了本次人工智能算法在施工計劃優(yōu)化方面的有效性。
整體來看,本次研究以人工智能算法中的粒子群優(yōu)化算法為主要工具,針對某試驗基地建設(shè)項目施工計劃優(yōu)化方法展開研究,通過該算法的流程得出優(yōu)化后的可行施工方案,實踐也證明了該次基于人工智能算法優(yōu)化建筑工程項目施工計劃的有效性和準(zhǔn)確性。本次研究難免存在不足之處,在今后的研究中,仍需在已有粒子群算法的基礎(chǔ)上進一步尋求改進方法,以消除可能存在的問題,如計算空間浪費、陷入“局部最優(yōu)”等,有效提高研究工作的效率和精準(zhǔn)度。