倪秉良
規模較大、功能較復雜的建筑工程項目在施工上具有很高的復雜度。為保證項目的施工質量,避免因施工計劃錯誤而延誤工程進度,在施工前要制定合理的建筑施工計劃。近年來,國內外研究人員在建筑施工計劃優化方面進行了大量的研究,目前已發展至智能計算階段。因此,應當基于人工智能算法對建筑施工計劃優化做進一步探究。
某高校擬新建一個研究實驗基地,該項目總面積約為4500 m2,包括多個不同功能的試驗區域。各個試驗區域對光照、溫度、濕度等要素的需求存在一定差異,因此該項目施工復雜度和難度較高,包含的工序類型和數量較為繁多,對于各個科目的要求也較多,導致整體施工流程較為繁瑣,難以通過常規的方法進行施工計劃優化[1]。為此,施工單位決定應用人工智能算法,優化該項目的建筑施工計劃,以提升建筑施工的效率、質量和安全性等多方面的指標。
為保證施工計劃中各個步驟均能夠合理的進行,施工單位決定采用網絡計劃圖工具編制施工計劃。本次使用雙代號網絡圖初步描述該項目的施工安排[2]。通過分析以往類似項目的施工經驗以及相關文獻資料,明確本項目施工中有關工序的優先級排布,編制施工作業的初步網絡計劃。
在得到初步網絡計劃后,進一步調整時間參數。每個節點均表示其對應工序的“開始事件”或“結束事件”,每類事件均具有一個最早發生時間(Earliest Time,ET)和最晚發生時間(Lastest Time,LT)。研究人員基于以往經驗、專家知識和類似項目的歷史數據,導入項目管理軟件進行初步計算,最終確定該項目工期理論上的最小完成時間為158 d[3]。甲方要求該項目在200 d 內完工,因此計劃工期可在158 ~200 d 內進行合理調整。
此次建筑施工項目因其自身特性需兼顧的要求較多,不僅需要在甲方要求的時間內完成,而且需要將消耗的材料和資金成本控制在相對較低的水平,屬于典型的多目標規劃問題,常規的多項式算法難以取得最優解[4]。
根據本項目特點,研究人員確定用粒子群優化算法(Particle Swarm Optimization,PSO)進行求解,主要優化目標是工期最小、費用最低和資源均衡。首先,研究人員結合實際情況分析本次項目施工中的資源約束。參考圖1 中的雙代號工程網絡,將其命名為G= (V,E)。其次,集合V中的所有元素均為時間節點,用以標記每個工序啟動和完成所對應的時刻;E則用于描述邊集合,表示需要消耗一定施工時間的某個工序環節。由此應用式(1)~式(6)建立數學模型。

圖1 粒子編碼結果(來源:作者自繪)
式中:Tp為項目施工計劃消耗時間,即優化目標1;Si為事件Vi的發生時刻,i∈N*,N*為正整數集合;N為施工環節開始、結束時刻的節點總數[5]。

式中:Sj為事件j的發生時刻;Di-j為工序i→j的估算施工時間。
式中:Tr為項目施工允許的最長時間,本次為200 d。
式中,Rt k為第k類資源在工期第t天可提供的總量,k∈N*;K為項目施工使用的材料和設備種類數。
式(1)~式(3)均為優化目標表達式,分別表示工期最小化后的消耗時間、最小化的項目費用以及最小化的資源使用方差。
式(4)~式(6)作為約束條件,主要進行3 個方面的約束:
1)確保各個環節按照優先級從高到低的順序進行,避免混亂;
2)確保了項目施工時間不超過200 d;
3)資源方面的約束[6]。模型中涉及的具體相關變量數據,通過專家經驗法分析歷史數據獲得。
根據上文所描述的多目標施工計劃優化問題,應當采用人工智能算法進行有效解決[7]。為此,研究人員應用粒子群優化PSO 算法進行求解,主要可通過如下步驟實現:
1)在PSO 算法中對粒子進行編碼。結合本次研究的施工計劃優化問題,采用矩陣編碼形式作為編碼方案。其中,矩陣的行數為本工程項目中的工序數量,列數與項目的要求工期天數相同。在該矩陣下元素僅有兩類,以“1”表示存在施工行為,“0”表示不存在施工行為。本次施工的粒子編碼結果如圖1 所示。
2)基于粒子編碼結果,研究人員進一步對運算符進行重載,以實現粒子位置的更新要求。重載環節主要分為3 個步驟:第1,減法運算。隨機選取粒子的某兩個位置的編碼,定義二者之差仍然為矩陣,找出被減數與減數之間的“差別”,確保粒子在后續的迭代計算中調整自身運行方向。第2,乘法運算。當隨機變量減法運算完成后,應用乘法運算對運算結果重新進行定位(該定位結果屬于隨機變量),以避免粒子后續運行方向出現錯誤[8]。第3,加法運算。作用于速度和乘法運算之積與原始位置與更新后的速度之間,主要作用是加速粒子的后續迭代進程,同時避免粒子因落入局部最優解而無法繼續運算。針對本次施工的實際需要,將施工消耗時間、施工成本和資源均衡分配所需要的算法粒子比例分配為4 : 3 : 3。
在粒子位置、速度編碼和相應操作方法均已明確后,為進一步提升粒子群算法的效率和準確度,研究人員從以下4 個方面對算法的其他相關參數進行設計:
1)針對PSO 算法中的種群大小即“粒子數量”,綜合考慮算法的搜索范圍和搜索能力兩方面的要求,設定該算法中的種群大小為30。
2)選取權重系數、學習因子兩方面參數。前者決定當前一代的算法迭代更新速度,后者則作為影響下一代迭代速度的判斷依據[9]。結合建筑項目施工管理的一般經驗,將以上兩方面參數均設置為1,這表示權重系數和學習因子對下一代速度的影響是等效的,不存在差異。
3)確定算法的停止準則條件。在綜合考慮算法運行效率和準確性的基礎上,確定本次PSO 算法在進行500次迭代計算后停止,此時算法輸出當前已獲取的全部帕累托最優解。
4)對各個目標進行粒子分配。
結合本次項目施工的實際需要,參考施工計劃優化相關文獻后,確定本次PSO算法主要分為以下幾個步驟。首先,確定輸入量與輸出量。其中,輸入量為描述項目的雙代號網絡計劃圖G=(V,E),輸出量則為遍歷過程中找到的全部帕累托最優解。其次,由PSO 算法自動生成30 個粒子,并對各個粒子進行隨機編碼和隨機初始化[10]。再次,設置迭代輪次序數t的數值為1,并按照2.3 章節中描述的運算符重載規則進行迭代更新,每進行一次迭代更新,t值增加1。最后,當t值到達設定的迭代次數上限500 次后停止運行,輸出遍歷過程中找到的全部的帕累托最優解。具體流程圖如圖2 所示。為實現上述算法流程,本次以C++語言按照流程編寫對應代碼,將其安裝于計算機設備,實現PSO 算法的有效運行。

圖2 本次PSO 算法的主要運行流程(來源:作者自繪)
在上述PSO 算法全部設計完成后,研究人員在計算機上運行PSO 算法,系統自動得到備選的11 個優化方案,具體可從表1 中的數據變化趨勢來看,工期和項目費用之間存在較為突出的負相關性,縮短工期對成本的增加有較為顯著的影響。同時,資源均衡度指標與項目工期之間也存在較為明顯的負相關,表明追求工期比較容易造成資源使用不均衡的問題[11]。

表1 基于PSO 算法求得的施工計劃優選方案
針對上述特點,結合項目甲方和施工方的實際需求做進一步分析,兼顧甲方對項目施工時間和乙方對項目成本方面的要求,最終篩選出“工期平均―費用平均”的施工方案。
根據優化后的施工計劃,施工單位有序進行各環節施工作業。在保證施工質量符合預期的前提下,整個項目在174.5 d 內完成,消耗成本為452.082 萬元,兼顧了施工工期與施工成本開支兩方面的目標。同時,施工消耗時間與成本兩項指標也與PSO 算法運行得到的理論預測值較為接近,進一步證明了本次人工智能算法在施工計劃優化方面的有效性。
整體來看,本次研究以人工智能算法中的粒子群優化算法為主要工具,針對某試驗基地建設項目施工計劃優化方法展開研究,通過該算法的流程得出優化后的可行施工方案,實踐也證明了該次基于人工智能算法優化建筑工程項目施工計劃的有效性和準確性。本次研究難免存在不足之處,在今后的研究中,仍需在已有粒子群算法的基礎上進一步尋求改進方法,以消除可能存在的問題,如計算空間浪費、陷入“局部最優”等,有效提高研究工作的效率和精準度。