施建俊,李慶亞,張 琪,衛(wèi) 星,王 輝
基于Matlab和BP神經(jīng)網(wǎng)絡(luò)的爆破振動(dòng)預(yù)測(cè)系統(tǒng)*
施建俊,李慶亞,張 琪,衛(wèi) 星,王 輝
(北京科技大學(xué)土木與資源工程學(xué)院,北京100083)
爆破振動(dòng)預(yù)測(cè)是一個(gè)復(fù)雜的非線性問(wèn)題,可應(yīng)用非線性功能強(qiáng)大的BP神經(jīng)網(wǎng)絡(luò)技術(shù)來(lái)解決,但由于其數(shù)值計(jì)算量大、可操作性不強(qiáng)等特點(diǎn),在實(shí)際工程中應(yīng)用困難。為了解決該問(wèn)題,本文中將Matlab程序的強(qiáng)大計(jì)算能力與VB的友好界面相結(jié)合,利用ActiveX自動(dòng)化技術(shù)和BP神經(jīng)網(wǎng)絡(luò)算法,開(kāi)發(fā)得到爆破振速峰值預(yù)測(cè)系統(tǒng)。該預(yù)測(cè)系統(tǒng)可根據(jù)各工程實(shí)際情況選取影響爆破振動(dòng)的主要因素作為輸入?yún)?shù),以預(yù)測(cè)爆破振速峰值。通過(guò)在北京市昌平線暗挖區(qū)間隧道工程中的應(yīng)用表明:該預(yù)測(cè)系統(tǒng)在實(shí)際工程中使用方便,操作簡(jiǎn)單,預(yù)測(cè)精度高,人機(jī)交互界面友好。
VB;Matlab;BP神經(jīng)網(wǎng)絡(luò)模型;爆破振動(dòng);預(yù)測(cè)系統(tǒng)
爆破振速峰值的預(yù)測(cè),對(duì)工程安全及后續(xù)開(kāi)挖方案的完善有著重要的理論和現(xiàn)實(shí)意義。爆破振動(dòng)速度與很多因素有關(guān),如爆源距、最大單段藥量、高程等,而實(shí)際工程中常用的薩道夫斯基經(jīng)驗(yàn)公式考慮因素較少,預(yù)測(cè)結(jié)果誤差較大。人工神經(jīng)網(wǎng)絡(luò)是近幾十年發(fā)展起來(lái)的一門涉及神經(jīng)科學(xué)、思維科學(xué)、人工智能、計(jì)算機(jī)科學(xué)等多個(gè)領(lǐng)域的交叉學(xué)科,具有極強(qiáng)的非線性動(dòng)態(tài)處理能力以及自適應(yīng)、自組織和實(shí)時(shí)學(xué)習(xí)的特點(diǎn),越來(lái)越多的被用于爆破振動(dòng)速度預(yù)測(cè)。呂淑然[1]通過(guò)建立一個(gè)BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)爆破振速的預(yù)測(cè),并與常用的線性回歸方法進(jìn)行了比較,表明了神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型具有較高的精確性。結(jié)合現(xiàn)有的研究成果[2-3]可以看出,BP神經(jīng)網(wǎng)絡(luò)已經(jīng)成功地應(yīng)用于爆破振動(dòng)速度的預(yù)測(cè)。但利用BP神經(jīng)網(wǎng)絡(luò)解決問(wèn)題,一定會(huì)包含大量數(shù)值計(jì)算,比如矩陣計(jì)算,最小二乘法計(jì)算等[4-5]?;诖?,大部分學(xué)者都會(huì)選擇Matlab來(lái)進(jìn)行計(jì)算,雖然該軟件具有強(qiáng)大的數(shù)值計(jì)算能力,但其圖形用戶界面的編寫能力比較差。而VB雖然在數(shù)值計(jì)算方面比較一般,但程序設(shè)計(jì)較為簡(jiǎn)便、快捷,同時(shí)具有易學(xué)易用以及界面可視化等優(yōu)點(diǎn),是目前使用最廣泛的可視化編程工具之一。
為了充分發(fā)揮Matlab的強(qiáng)大計(jì)算能力與VB良好的圖形用戶界面開(kāi)發(fā)功能,本文中通過(guò)ActiveX自動(dòng)化接口技術(shù)將Matlab與VB結(jié)合起來(lái),并綜合考慮影響爆破振動(dòng)的多種因素,開(kāi)發(fā)了基于Matlab和神經(jīng)網(wǎng)絡(luò)的爆破振速峰值預(yù)測(cè)系統(tǒng),并將該系統(tǒng)應(yīng)用于北京市地鐵昌平線隧道爆破開(kāi)挖工程的爆破振速峰值預(yù)測(cè)中,取得了較好的效果。
要實(shí)現(xiàn)Matlab和VB的綜合應(yīng)用,兩個(gè)軟件之間的接口與神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建是關(guān)鍵問(wèn)題。本系統(tǒng)將采用ActiveX自動(dòng)化技術(shù)來(lái)實(shí)現(xiàn)兩者之間的混合編程,利用函數(shù)命令在VB中調(diào)用Matlab實(shí)現(xiàn)可視化神經(jīng)網(wǎng)絡(luò)模型。
ActiveX自動(dòng)化技術(shù)是微軟公司基于COM(組建對(duì)象模型)體系結(jié)構(gòu)開(kāi)發(fā)的一項(xiàng)技術(shù),它是一種與語(yǔ)言無(wú)關(guān)的、從應(yīng)用程序外部操作ActiveX組件的方法的方式,使應(yīng)用程序提供的功能更加豐富。Ac-tiveX部件是VB工具箱的擴(kuò)充部分,是一些遵循ActiveX規(guī)范編寫的可執(zhí)行代碼。在程序中加入相應(yīng)部件后,可以成為開(kāi)發(fā)和運(yùn)行的一部分,并為應(yīng)用程序提供新的功能[6]。
Matlab也是支持ActiveX自動(dòng)化技術(shù)的軟件,能夠被VB所控制。利用這一特性,可以方便地在本系統(tǒng)中調(diào)用Matlab,包括執(zhí)行Matlab命令,向Matlab輸入數(shù)據(jù),獲取計(jì)算結(jié)果等,這樣可以利用VB編寫出友好的用戶界面,又能獲得Matlab的各種工具箱來(lái)進(jìn)行運(yùn)算、設(shè)計(jì)等。
想要實(shí)現(xiàn)一個(gè)可視化的神經(jīng)網(wǎng)絡(luò)模型,首先選擇合適的神經(jīng)網(wǎng)絡(luò)算法、網(wǎng)絡(luò)的輸入層、輸出層、隱含層的數(shù)目和訓(xùn)練函數(shù)等,編寫符合系統(tǒng)要求的BP神經(jīng)網(wǎng)絡(luò)文件,以M文件的形式保存起來(lái);然后在VB中新建一個(gè)窗體,按照實(shí)現(xiàn)的要求來(lái)創(chuàng)建控件;最后在VB中調(diào)用Matlab軟件來(lái)實(shí)現(xiàn)可視化BP神經(jīng)網(wǎng)絡(luò)模型。
應(yīng)用ActiveX自動(dòng)化技術(shù),把VB作為前端開(kāi)發(fā)工具完成人機(jī)交互界面的設(shè)計(jì),利用Matlab作為后臺(tái)服務(wù)器進(jìn)行較為復(fù)雜的數(shù)學(xué)計(jì)算,在VB集成開(kāi)發(fā)環(huán)境中創(chuàng)建用戶界面,來(lái)實(shí)現(xiàn)對(duì)爆破振速峰值的預(yù)測(cè)。
系統(tǒng)中的參數(shù)樣本是指影響爆破振動(dòng)速度的主要因素。綜合考慮影響爆破振動(dòng)速度中各因素的代表性和現(xiàn)場(chǎng)采集數(shù)據(jù)的可行性,并結(jié)合我國(guó)近年來(lái)大部分爆破工程的具體情況,本系統(tǒng)選取了以下5個(gè)參數(shù)作為主要因素:爆心距、高程差、總藥量、炮眼深度、單段最大藥量[7-9],并將這些因素作為可視化BP神經(jīng)網(wǎng)絡(luò)模型的輸入層。
通過(guò)VB中的ListView控件調(diào)用前期已經(jīng)錄入Excel中的樣本數(shù)據(jù),并顯示在用戶界面,方便對(duì)數(shù)據(jù)的查看,同時(shí)在VB中也可以調(diào)用Excel對(duì)樣本數(shù)據(jù)進(jìn)行修改。
參數(shù)樣本訓(xùn)練是對(duì)加載數(shù)據(jù)樣本進(jìn)行學(xué)習(xí)訓(xùn)練,掌握該類樣本的特征,并將這些特征儲(chǔ)存在網(wǎng)絡(luò)間的連接權(quán)中,是下一步進(jìn)行振速預(yù)測(cè)的前提。
該模塊界面設(shè)計(jì)中主要包括3個(gè)標(biāo)簽控件、3個(gè)文本框控件、1個(gè)圖形控件以及4個(gè)命令按鈕控件,3個(gè)文本框控件分別對(duì)應(yīng)系統(tǒng)學(xué)習(xí)訓(xùn)練的訓(xùn)練因子、學(xué)習(xí)速率、學(xué)習(xí)步數(shù)[10],圖形控件用于顯示訓(xùn)練樣本與實(shí)測(cè)值的對(duì)比曲線。
載入?yún)?shù)樣本數(shù)據(jù)后,輸入本次訓(xùn)練的學(xué)習(xí)速率、動(dòng)量因子、訓(xùn)練步數(shù),點(diǎn)擊“樣本訓(xùn)練”按鈕對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),并將計(jì)算訓(xùn)練的結(jié)果傳遞到人機(jī)交互界面,點(diǎn)擊“訓(xùn)練樣本與實(shí)測(cè)值對(duì)比”按鈕可以得到訓(xùn)練樣本與實(shí)測(cè)值對(duì)比曲線,以便觀察訓(xùn)練樣本與實(shí)測(cè)值的吻合程度,如圖1所示。
振速峰值的預(yù)測(cè)是在參數(shù)樣本訓(xùn)練學(xué)習(xí)的基礎(chǔ)上,輸入預(yù)測(cè)參數(shù),進(jìn)行預(yù)測(cè)。該部分主要包括6個(gè)命令控件、1個(gè)ListView控件、1個(gè)文本控件以及1個(gè)圖形控件,ListView控件主要是顯示預(yù)測(cè)后得到的振速峰值。輸入預(yù)測(cè)參數(shù)后,進(jìn)行預(yù)測(cè)計(jì)算,會(huì)得出預(yù)測(cè)值的散點(diǎn)圖及相應(yīng)的振速峰值,并將得到的振速峰值保存在excel表格中,方便記錄、保存;同時(shí)也可以得到預(yù)測(cè)值與實(shí)測(cè)值的對(duì)比曲線以及預(yù)測(cè)平均誤差,如圖2所示。
圖1 樣本訓(xùn)練界面Fig.1Sample training interface
圖2 預(yù)測(cè)界面Fig.2Prediction interface
通過(guò)系統(tǒng)預(yù)測(cè)計(jì)算,可以方便快速地得到振速峰值,判斷其是否符合國(guó)家《爆破安全規(guī)程》的規(guī)定,如不滿足則可調(diào)整學(xué)習(xí)速率、訓(xùn)練步數(shù)等,重新進(jìn)行預(yù)測(cè)計(jì)算,直到達(dá)到《爆破安全規(guī)程》的規(guī)定,這樣可以最大程度地提高爆破振速峰值預(yù)測(cè)的精度。
圖3所示的暗挖區(qū)間隧道位于北京市昌平區(qū)十三陵鎮(zhèn)西山口村西南,屬于地鐵昌平線05段,起訖里程為右K0+159.6(=RDK0+000.0)~右 K0+196.3,RDK0+000.0~RDK0+980.0,右線長(zhǎng)1 016.7m,其中RDK0+800.0~RDK0+980.0為明挖段,其余為暗挖段,暗挖區(qū)間下穿京包高速。
在隧道爆破施工時(shí),選擇爆破質(zhì)點(diǎn)上方的高速公路路基為測(cè)試場(chǎng)地,沿坡面垂直布置測(cè)點(diǎn),并利用TC-4850爆破測(cè)振儀進(jìn)行爆破振動(dòng)現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)測(cè),共采集28組數(shù)據(jù),測(cè)試結(jié)果如表1所示。
圖3 暗挖區(qū)間隧道平面示意圖Fig.3Schematic of underground cut tunnel
預(yù)測(cè)系統(tǒng)使用前20組數(shù)據(jù)作為訓(xùn)練集,后8組數(shù)據(jù)作為檢驗(yàn)集,并將后8組爆破振動(dòng)實(shí)測(cè)數(shù)據(jù)與系統(tǒng)預(yù)測(cè)數(shù)據(jù)進(jìn)行對(duì)比(見(jiàn)表2),其中系統(tǒng)學(xué)習(xí)訓(xùn)練的訓(xùn)練因子為0.9、學(xué)習(xí)速率為0.05、學(xué)習(xí)步數(shù)為10 000,訓(xùn)練界面及預(yù)測(cè)界面見(jiàn)圖4~5。
同時(shí),對(duì)前20組數(shù)據(jù)進(jìn)行回歸分析得到對(duì)應(yīng)的薩道夫斯基公式,應(yīng)用該公式對(duì)后8組數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果見(jiàn)表2。從2種方法的預(yù)測(cè)結(jié)果可以看出:(1)薩氏公式由于沒(méi)有考慮高程因素對(duì)爆破振動(dòng)的影響,其預(yù)測(cè)結(jié)果與實(shí)測(cè)值偏差較大,平均誤差達(dá)到了26.15%,表明薩道夫斯基公式不適用于預(yù)測(cè)地形起伏條件下的爆破振速;(2)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法由于考慮了高程對(duì)爆破振速的影響,預(yù)測(cè)結(jié)果更接近實(shí)測(cè)值,平均誤差僅為10.27%,其預(yù)測(cè)精度優(yōu)于傳統(tǒng)的薩氏公式;(3)本文中研究開(kāi)發(fā)的爆破振動(dòng)預(yù)測(cè)系統(tǒng)實(shí)現(xiàn)了輕松、便捷、精確預(yù)測(cè)爆破振動(dòng)的目的,在昌平隧道爆破工程中得到了很好的應(yīng)用,具有較高的應(yīng)用價(jià)值和現(xiàn)實(shí)意義。
表1 現(xiàn)場(chǎng)實(shí)測(cè)數(shù)據(jù)Table 1Measured data
圖4 訓(xùn)練界面圖Fig.4Training interface
圖5 預(yù)測(cè)界面Fig.5Prediction interface
表2 實(shí)測(cè)振動(dòng)速度與預(yù)測(cè)振動(dòng)速度對(duì)比Table 2Measured and predicted results of vibrational velocity
(1)利用VB編寫主界面,通過(guò)Active自動(dòng)化技術(shù)調(diào)用Matlab程序開(kāi)發(fā)的爆破振動(dòng)預(yù)測(cè)系統(tǒng)考慮了影響爆破振動(dòng)的多種因素,而不僅僅局限于爆心距和藥量,預(yù)測(cè)結(jié)果更加精確。
(2)爆破振動(dòng)預(yù)測(cè)系統(tǒng)通過(guò)將Matlab強(qiáng)大的數(shù)值計(jì)算功能與VB界面開(kāi)發(fā)簡(jiǎn)便直觀的優(yōu)勢(shì)結(jié)合起來(lái),相互取長(zhǎng)補(bǔ)短,實(shí)現(xiàn)了計(jì)算機(jī)參數(shù)的交互輸入和預(yù)測(cè)結(jié)果的輸出。
(3)北京市地鐵昌平線隧道爆破工程的應(yīng)用表明,本系統(tǒng)在工程中操作簡(jiǎn)單,人機(jī)交互界面友好,較容易被現(xiàn)場(chǎng)技術(shù)人員接受。所以,將爆破振動(dòng)預(yù)測(cè)系統(tǒng)應(yīng)用于實(shí)際爆破工程中是可行的。
[1] 呂淑然.爆破震動(dòng)強(qiáng)度預(yù)測(cè)的神經(jīng)網(wǎng)絡(luò)模型研究[J].金屬礦山,2009(6):40-43.LüShuran.Study on the neural network model for forecasting the blasting vibration intensity[J].Metal Mine,2009(6):40-43.
[2] 張藝峰,姚道平,謝志招.基于BP神經(jīng)網(wǎng)絡(luò)的爆破振動(dòng)峰值及主頻預(yù)測(cè)[J].工程地球物理學(xué)報(bào),2008,5(2):222-225.Zhang Yifeng,Yao Daoping,Xie Zhizhao.The prediction of blasting vibration peak vlue & main frequency by BP neural network[J].Chinese Journal of Engineering Geophysics,2008,5(2):222-225.
[3] 李存國(guó),李俊國(guó).馬蘭莊鐵礦生產(chǎn)爆破地震效應(yīng)神經(jīng)網(wǎng)絡(luò)模型[J].中國(guó)鉬業(yè),2005,29(5):20-24.Li Cunguo,Li Junguo.A neural network model of producing blasting vibration effects in the Malanzhuang Lronmine[J].China Molybdenum Industry,2005,29(5):20-24.
[4] 周品.Matlab神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2013.
[5] 張立明.人工神經(jīng)網(wǎng)絡(luò)的模型及應(yīng)用[M].上海復(fù)旦大學(xué)出版社,1993.
[6] 李永松,艾凱,尹健民.基于VB與 Matlab的BP神經(jīng)網(wǎng)絡(luò)在地應(yīng)力場(chǎng)分析中的應(yīng)用[J].長(zhǎng)江科學(xué)院院報(bào),2009,26(6):24-27.Li Yongsong,Ai Kai,Yin Jianmin.Application of BP network based on VB and Matlab in analysis of in-situstress field[J].Journal of Yangtze River Scientific Research Institute,2009,26(6):24-27.
[7] 譚文輝,璩世杰,毛市龍,等.邊坡爆破振動(dòng)高程效應(yīng)分析[J].巖土工程學(xué)報(bào),2010,32(4):619-623.Tan Wenhui,Qu Shijie,Mao Shilong,et al.Altitude effect of blasting vibration in slopes[J].Chinese Journal of Geotechnical Engineering,2010,32(4):619-623.
[8] 粟闖,劉敦文,向海波,等.基于BP神經(jīng)網(wǎng)絡(luò)不同輸入變量的爆破振速預(yù)測(cè)[J].工業(yè)安全與環(huán)保,2012,38(2):52-56.Su Chuang,Liu Dunwen,Xiang Haibo,et al.Prediction of blasting vibration by BP neural network based on differ-ent input variables[J].Industrial Safety and Environmental Protection,2012,38(2):52-56.
[9] 趙華兵,龍?jiān)?,劉好全,?城市隧道爆破振動(dòng)速度峰值預(yù)測(cè)神經(jīng)網(wǎng)絡(luò)法應(yīng)用[J].工程爆破,2014,20(5):23-27.Zhao Huabing,Long Yuan,Liu Haoquan,et al.Application of neural network to prediction of peak amplitude of blasting vibration velocity of urban tunnel[J].Engineering Blasting,2014,20(5):23-27.
[10] 謝濤,何怡剛,姚建剛,等.VB調(diào)用 Matlab的模擬電路故障診斷神經(jīng)網(wǎng)絡(luò)方法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(10):213-215.Xie Tao,He Yigang,Yao Jiangang,et al.Method of analogous circuit fault diagnosis neural network based on VB transfers Matlab[J].Computer Engineering and Applications,2010,46(10):213-215.
Forecast system for blasting vibration velocity peak based on Matlab and BP neural network
Shi Jianjun,Li Qingya,Zhang Qi,Wei Xing,Wang Hui
(School of Civil and Resource Engineering,University of Science and Technology Beijing,Beijing100083,China)
In this work we combined the powerful computing capabilities of Matlab programs combined with VB friendly interface and developed the forecast system for blasting vibrational velocity peak using ActiveX automation technologies and BP neural network algorithm.The forecast system can select as an input parameter various factors affecting an engineering project’s blasting vibration.The actual application of the system in the construction of the underground cut tunnel in the Beijing-Changping Line shows that this system is simple and convenient to use in practical engineering,accepted for its high precision of prediction,good application effect and friendly human-computer interaction interface.
VB;Matlab;BP neural network model;blasting vibration;forecast system
O389 國(guó)標(biāo)學(xué)科代碼:13035
A
10.11883/1001-1455(2017)06-1087-06
2016-03-30;
2016-09-03
國(guó)家自然科學(xué)基金項(xiàng)目(51208036);
中央高校基本科研業(yè)務(wù)費(fèi)專項(xiàng)基金項(xiàng)目(FRF-TP-15-041A3)
施建?。?976— ),女,博士,副教授,keyan@ces.ustb.edu.cn。
(責(zé)任編輯 曾月蓉)