謝亞楠 周森鑫
摘 要:隨著城鎮化建設的快速推進,園林工程項目的規模以及復雜程度也在日益增長,然而傳統計算工程項目關鍵路線的方法由于自身的局限性,很難在規模大的項目中找出最優路線。因此,在工程網絡圖的基礎上,提出基于DQN(Deep Q Network)的工程進度管理方法,通過構建神經網絡,將大量的歷史數據輸入進去,讓計算機來計算關鍵線路,進而預測施工周期,并以某公園為例進行實驗仿真分析。實驗表明此算法在應對規模較大的項目時,計算關鍵線路更加準確,效率也更高,可以幫助施工單位快速找到最優策略,有效減少由于不確定性因素造成的工期延誤以及資金的損失。
關鍵詞:深度強化學習;DQN;園林工程進度管理;工程網絡圖
中圖分類號:TU986.3? 文獻標識碼:A? 文章編號:1673-260X(2022)02-0032-05
1 引言
自黨的十八大以來,生態環境理念越來越被重視,而園林工程項目在生態環境建設中起著至關重要的作用。現代園林工程項目具有規模大、復雜度高、周期長、工期緊等特點[1],所以在實施過程中環境、技術以及資源等一些不確定因素都會影響整個工程的進度管理。進度管理是制約園林工程項目質量的關鍵因素之一,沒有合理的項目進度管理,各項目之間就會很難協調運作,從而影響整個工程進度。然而傳統進度管理的方法由于自身局限性,很難做出精準預測,因此探索智能化的園林工程進度管理方法十分必要。
目前,常用的進度管理方法主要包括甘特圖法、關鍵路徑法和關鍵鏈法等[2]。然而在這些方法中,甘特圖雖然比較直觀,易于理解,但是在面對復雜的項目時,不能夠很好地體現項目之間的邏輯關系[3],適用于相對簡單的項目;關鍵路徑法通過分析項目之間的邏輯關系和結構得出網絡計劃圖,然后再推斷出不同工序的持續時間和時間參數,利用數學和運籌學的方法確定工程項目的關鍵路線[4],這種方法雖然也能準確計算關鍵線路,但是面對規模大且復雜的項目時,計算就需要耗費大量的時間,進而影響整個進度管理,而且該方法對于資源受限產生的資源沖突也無法有效解決[5];相對于關鍵路徑法,關鍵鏈法做了許多改進,它將資源約束考慮到實際運用中,用有限的資源對項目進度管理進行規劃[6],并采用集中項目管理的緩沖時間來保證項目的運行,有效改善了項目的進度管理,同時也提升了公司的績效水平。但是一旦項目規模大時,關鍵鏈法在前期確定關鍵路線時就會顯得效率低下,因此探索智能化的園林工程進度管理方法對于日后的項目進度管理尤為重要。
實際上,智能化的項目進度管理方法早在多年前就被有些學者所研究。Kim等開發了基于Agent技術的智能土方系統,實現了對土方建設工程進度的有效管理[7];丁烈云等以精準制造理論和多層次階段進度計劃為基本原理,從智能進度計劃概念入手,分析了智能管理系統的必要性和重要性[8]。早期的研究一般都是基于理論概念的,近兩年也有學者對智能化的進度管理方法進行探索,顏功達等建立了基于多智能體的進度風險評估模型并進行實驗分析,得出應優先合理采取措施控制重要工序中的風險因素,為復雜工程項目提供了很好地參考價值[9];吳曼茜以地鐵站為例,研究了地鐵站建設進度以及投資智能預測和控制系統,大大提升了地鐵站建設的進度管理,同時對投資成本控制也做出了很好的規劃[10]。
綜上所述,當園林工程施工項目較多且復雜時,傳統的甘特圖法、關鍵路徑法以及關鍵鏈法在計算關鍵路線時由于自身理論的局限性,不僅需要大量的人工計算而且容易受到不確定性因素的影響,從而導致工期延誤。因此,本文基于前人研究的基礎提出DQN的工程進度管理模型,并以某公園為例進行實驗仿真分析,通過構造神經網絡,將施工項目抽象化,讓計算機去計算該項目的關鍵路線,進而預測施工周期,實驗表明此算法對于精準計算關鍵路線有較好的效果,可以幫助施工單位更快更準確地預測工期,進而按時完工。
2 基于DQN的園林工程進度管理方法
2.1 DQN算法
經典的強化學習是表格型方法,在處理高維數據特征時,容易發生維數災難問題,受深度學習啟發,將二者結合形成了深度強化學習,而DQN算法在深度強化學習中使用尤為廣泛。DQN算法是一種經典的基于值函數的深度強化學習算法[11,12],它將卷積神經網絡CNN與Q-Learning算法相結合,利用CNN對圖像的強大表征能力,將視頻幀數據視為強化學習中的狀態輸入網絡,然后由網絡輸出離散的動作值函數,Agent再根據動作值函數選擇對應的動作。DQN算法之所以能夠較好的將深度學習與強化學習相結合是因為它引入了3個核心技術,分別是目標函數、目標網絡和經驗回放機制。其訓練過程如圖1所示:
(1)目標函數:使用卷積神經網絡結合全鏈接作為動作值函數的逼近器,實現端到端的效果,輸入為圖像畫面,輸出為有限的動作值函數。
(2)目標網絡:為了使DQN算法性能更加穩定,使用兩個包含CNN的網絡模型進行學習。一是網絡模型Q(s,a,w)代替預測Q網絡,用于評估當前狀態-動作對應的值;二是使用網絡模型Q(s,a,w’)代替目標Q網絡,用于計算目標值。這樣就可以得到雙網絡架構下的DQN損失函數L(w):
式中,w表示損失函數中的網絡參數,E表示數學期望,r+γQ(s′,a′,w′)表示Q網絡優化的目標值,其中w′表示目標網絡的參數。深度Q網絡是基于梯度規則更新網絡參數,(1)式損失函數對權重求偏導即可得到:
式中?表示梯度計算。雙網絡的結構和初始參數都是一樣的,即w0=w0′。每經過數輪迭代后都有w′=w。所以DQN算法引入目標網絡,在一段時間內目標Q值保持不變,降低了訓練時損失值震蕩和發散的可能性,充分保證了訓練時間,提高了算法的穩定性。
(3)經驗回放機制:DQN算法引入經驗回放機制,將每個時刻Agent與環境交互得到的經驗遷移樣本存儲到經驗池中[13],在執行步數之后,從經驗池中隨機取出批量大小的樣本作為離散數據輸入到神經網絡,然后再采取小批量隨機半梯度下降法(MBSGD)更新網絡參數。
所以文章根據DQN算法的特性以及園林工程進度管理數據的特征,使用DQN算法計算關鍵路線進而預測施工周期,并進行仿真模擬實驗分析,得到的關鍵路線與關鍵鏈法的一致且預測的工期周期與真實值很接近。同時也證明了此算法在園林工程進度管理中的可行性與可靠性。
2.2 深度Q網絡的Q值更新方法
DQN網絡模型的關鍵設計點要在Q值更新,本文根據項目的特點,為了使網絡更加穩定,設計了兩個相同結構但參數不同的神經網絡,分別對Q實際值和估計值更新來實現價值函數的收斂。其更新過程如圖2所示。
與此同時,DQN算法使用一個記憶庫來學習之前的經歷[14],每次更新時,都會隨機抽取之前的經歷進行學習,而針對本項目,目標網絡用兩個相同結構但參數不同的網絡進行更新使得效率更高也更加穩定。在神經網絡訓練時可能會出現不穩定或者是訓練困難,針對此問題,DQN采用目標網絡和經驗回放池來改進,使用的損失函數為:
公式(3)中采用了相同的估計值、現實值和權重,因為使用同一網絡來計算目標值和預測值容易產生很大的差別,所以本文采用目標網絡來計算目標值,使用的損失函數具體為:
DQN采用了兩個結構相同但參數不同的神經網絡,預測Q估計值的神經網絡使用的是最新的參數,而預測Q實際值同樣采用神經網路最新參數[15],這樣可以使訓練過程更加穩定。
2.3 狀態和動作的選擇
狀態的設定對實驗的影響至關重要,根據項目的特點,本文將施工的事件抽象為狀態,文中選取的數據共有21個事件,也就是有21個狀態,狀態空間為設為S,si表示第i個狀態(i=1,2,3,…,21)。狀態之間的轉移表示為動作,A表示動作空間,ai表示第i個動作(i=1,2,3,…,21),動作與狀態一樣,也有21個。
在強化學習中,Agent通過與環境不斷進行交互來獲得獎勵[16],如何在和環境交互時找到一個最優策略但又不至于在試錯過程中丟失太多獎勵,就需要一個好的方法來平衡。探索是Agent進行不斷的試錯來搜集更多的信息,擴大記憶庫,短期內不會帶來很大的獎勵,看重的是長期回報。而利用則是根據當前記憶庫做出當前狀態下的最佳選擇,獲得即刻的獎勵,注重的是短期回報,但是這樣會導致長期利益受損。所以本文結合ε-greedy(0<ε<1)進行選擇,其中,ε=0.9,即90%的情況下可以作出最佳選擇,10%情況下隨機選擇。通過這樣的設置,不僅能夠保證短期利益同時也能保證長期利益。
2.4 獎賞函數的設置
強化學習的最終目標就是使獲得的獎勵最大,在本實驗中,將上一個事件到達下一個事件所用的時間設為獎勵值,G為獎賞值函數,R表示Agent由當前狀態S到下一個狀態S 執行動作a后所獲得的立即獎賞[17],有了立即獎賞,我們就可以得到項目中由上一個事件到達下一個事件獲得的獎勵值,記為關鍵路徑。獎賞函數的計算公式如下:
式中表示總的回報等于下一個狀態的折扣獎賞加上立即獎賞,其中λ是折扣因子,此公式也說明,項目中由上一個事件到下一個事件獲得的獎勵值越大,最優路徑被選擇的概率也就越大。
3 實驗與分析
3.1 實驗案例介紹
某市一個公園需要進行維修,該工程要求完成時間緊,涉及事件繁多,各項工作交叉緊密,技術要求高等特點,各部門都高度重視,要求施工人員快速找到關鍵路徑進行完工,根據歷史數據及以往工程進展情況,進行了數據搜集與整理,如表1所示。
由表1可以看出該項目共有21個事件,根據各個工作之間的邏輯關系可以得到項目活動網絡圖[18],如圖3所示,如果使用傳統的關鍵鏈法找出關鍵路線需要人工進行大量的計算,不僅要耗費大量的人力物力,而且還有可能出現錯誤,所以本文使用深度強化學習中的DQN算法進行訓練找出關鍵路線,進而來預測施工周期。
3.2 實驗過程
由表1可以看出該項目共有21個事件,由各個事件之間的邏輯關系可以得到各項工作之間轉移所獲得的獎勵,構成獎勵矩陣。本實驗使用Tensorflow平臺進行實現,利用python語言進行編程,運用DQN算法進行訓練,首先將事件抽象為狀態,事件之間的轉移抽象為動作同時輸入到神經網絡中,然后使用卷積神經網絡對其進行處理,兩層卷積核的數目分別是21和42,卷積核大小為3*3。在訓練過程中,設置Q學習的折扣因子λ=1,迭代次數N=1000,經驗池大小D=1000,每次提取的樣本數batch=50,設置神經網絡的學習率α=1。有了這些參數的設置,把數據輸入到神經網絡以后,由神經網絡進行判斷,最后輸出動作價值,得到的Q獎勵矩陣如下:
3.3實驗結果
根據DQN算法的訓練結果,我們可以得到每一個工作向另一個工作移動的價值,如圖4所示。
由實驗結果可以得知,當Q矩陣收斂后,智能體Agent就可以學習到該工程管理進度的關鍵路線。由此可知當狀態為1時,最優的轉移方式是2,對應的價值為52,到狀態2時,可轉移的狀態有3和4,對應的價值分別為50和49,選擇價值較大的為50,即轉移方式為3,以此類推可以得到當狀態為20時,選擇21,對應的價值為3,所以最優路徑為1→2→3→4→6→8→10→11→12→13→14→15→17→19→20→21,即A→B→C→E→H→J→L→M→O→Q→S→U→W→X,從而可以得到施工周期為55天。
以上實驗結果表明了DQN算法在園林工程進度管理中確定關鍵路線與施工周期時的準確性與可行性,相比較傳統的進度管理方法,DQN算法減少了計算量,縮短了計算最優路徑的時間,進一步說明DQN算法用于探索智能園林工程進度管理的可行性與合理性。
4 結語
傳統的工程進度管理方法在面對工程項目規模大時很難計算出關鍵路線,本文針對此問題進行研究,提出基于DQN園林進度管理模型探索智能化的進度管理方法并以某公園為例進行仿真實驗分析,實驗表明此算法對于計算項目的最優路線效率更高,準確率也更高,進一步說明此算法對于探索智能化的園林工程進度管理方法的可行性與合理性。人工智能的快速發展使得各行各業都在探尋智能化的管理方法,而園林工程項目作為城市建設的重要一環也要跟上時代的腳步,尋找智能化的管理方法對其來說有著重要的意義。文章將深度強化學習方法應用到園林工程進度管理中,并且通過仿真實驗分析證實了此方法的有效性,從而讓相關部門在項目施工時可以不再依賴人工去計算關鍵路線,有效減少了人力成本,節省了大量資源,同時也為一些學者提供了一定的研究思路。
參考文獻:
〔1〕趙德剛.關鍵鏈法在工程多項目進度管理中的應用[J].項目管理技術,2008(S1):223-226.
〔2〕葉舸文.基于掙值技術的民航通信臺站機電工程項目成本—進度管理研究[D].上海:東華大學,2018.
〔3〕Ruoyu Jin, Tong Yang, Poorang Piroozfar, Byung-Gyoo Kang, Dariusz Wanatowski, Craig Matthew Hancock, Llewellyn Tang. Project-based pedagogy in interdisciplinary building design adopting BIM[J]. Engineering, Construction and Architectural Management, 2018,25(10):16-20.
〔4〕劉燁.關鍵鏈法在工程項目進度管理中的應用[J].石化技術,2017,24(04):233-239.
〔5〕Xie Fang, Li Haitao, Xu Zhe. Multi-mode resource-constrained project scheduling with uncertain activity cost[J]. Expert Systems With Applications, 2021,168.
〔6〕Mahdavi Amirhosein, Shirazi Babak, Rezaeian Javad. Toward a scalable type-2 fuzzy model for resource-constrained project scheduling problem[J]. Applied Soft Computing Journal, 2021,100.
〔7〕Seiichiro Nakao, Dong-Hyun Kim, Keigo Obata, Sinji Inazawa, Masatoshi Majima, Keiji Koyama,Yoshie Tani. Electroless pure nickel plating process with continuous electrolytic regeneration system[J]. Surface & Coatings Technology, 2003,169.
〔8〕丁烈云,祁神軍,陳峰.大型復雜工程智能進度計劃管理系統設計與實現[J].施工技術,2006,30(12):121-123.
〔9〕顏功達,董鵬,文昊林.基于多智能體的復雜工程項目進度風險評估仿真建模[J].計算機科學,2019, 46(S1):523-526.
〔10〕吳曼茜.地鐵車站建設進度及投資智能預測與控制方法研究[D].石家莊:石家莊鐵道大學,2020.
〔11〕楊冉.利用深度強化學習實現智能網絡流量控制[D].北京:北京郵電大學,2019.
〔12〕余晨.基于智能SDN的傳輸優化和流量分配機制研究[D].杭州:浙江大學,2018.
〔13〕孫浩,陳春林,劉瓊,趙佳寶.基于深度強化學習的交通信號控制方法[J].計算機科學,2020,47(02):169-174.
〔14〕李艷慶.基于遺傳算法和深度強化學習的多無人機協同區域監視的航路規劃[D].西安:西安電子科技大學,2018.
〔15〕李季.基于深度強化學習的移動邊緣計算中的計算卸載與資源分配算法研究與實現[D].北京:北京郵電大學,2019.
〔16〕徐涌.基于多Agent系統的主題爬行蟲協作與實現方法研究[D].成都:西華大學,2012.
〔17〕李兆榮.數據挖掘中關于動作知識提取方法的研究[D].揚州:揚州大學,2018.
〔18〕陳俊波.考慮施工設備租賃的項目調度問題研究[D].武漢:華中科技大學,2009.
收稿日期:2021-10-10
基金項目:國家社科基金一般項目(15BGL035);安徽財經大學研究生科研創新基金項目(ACYC2020366)
3571501908233