APP下载

基于Matlab和BP神经网络的爆破振动预测系统*

2017-12-21施建俊李庆亚

爆炸与冲击 2017年6期
关键词:控件峰值界面

施建俊,李庆亚,张 琪,卫 星,王 辉

基于Matlab和BP神经网络的爆破振动预测系统*

施建俊,李庆亚,张 琪,卫 星,王 辉

(北京科技大学土木与资源工程学院,北京100083)

爆破振动预测是一个复杂的非线性问题,可应用非线性功能强大的BP神经网络技术来解决,但由于其数值计算量大、可操作性不强等特点,在实际工程中应用困难。为了解决该问题,本文中将Matlab程序的强大计算能力与VB的友好界面相结合,利用ActiveX自动化技术和BP神经网络算法,开发得到爆破振速峰值预测系统。该预测系统可根据各工程实际情况选取影响爆破振动的主要因素作为输入参数,以预测爆破振速峰值。通过在北京市昌平线暗挖区间隧道工程中的应用表明:该预测系统在实际工程中使用方便,操作简单,预测精度高,人机交互界面友好。

VB;Matlab;BP神经网络模型;爆破振动;预测系统

爆破振速峰值的预测,对工程安全及后续开挖方案的完善有着重要的理论和现实意义。爆破振动速度与很多因素有关,如爆源距、最大单段药量、高程等,而实际工程中常用的萨道夫斯基经验公式考虑因素较少,预测结果误差较大。人工神经网络是近几十年发展起来的一门涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科,具有极强的非线性动态处理能力以及自适应、自组织和实时学习的特点,越来越多的被用于爆破振动速度预测。吕淑然[1]通过建立一个BP神经网络实现了对爆破振速的预测,并与常用的线性回归方法进行了比较,表明了神经网络预测模型具有较高的精确性。结合现有的研究成果[2-3]可以看出,BP神经网络已经成功地应用于爆破振动速度的预测。但利用BP神经网络解决问题,一定会包含大量数值计算,比如矩阵计算,最小二乘法计算等[4-5]。基于此,大部分学者都会选择Matlab来进行计算,虽然该软件具有强大的数值计算能力,但其图形用户界面的编写能力比较差。而VB虽然在数值计算方面比较一般,但程序设计较为简便、快捷,同时具有易学易用以及界面可视化等优点,是目前使用最广泛的可视化编程工具之一。

为了充分发挥Matlab的强大计算能力与VB良好的图形用户界面开发功能,本文中通过ActiveX自动化接口技术将Matlab与VB结合起来,并综合考虑影响爆破振动的多种因素,开发了基于Matlab和神经网络的爆破振速峰值预测系统,并将该系统应用于北京市地铁昌平线隧道爆破开挖工程的爆破振速峰值预测中,取得了较好的效果。

1 VB与Matlab接口实现及可视化BP神经网络模型

要实现Matlab和VB的综合应用,两个软件之间的接口与神经网络模型的构建是关键问题。本系统将采用ActiveX自动化技术来实现两者之间的混合编程,利用函数命令在VB中调用Matlab实现可视化神经网络模型。

1.1 ActiveX自动化技术

ActiveX自动化技术是微软公司基于COM(组建对象模型)体系结构开发的一项技术,它是一种与语言无关的、从应用程序外部操作ActiveX组件的方法的方式,使应用程序提供的功能更加丰富。Ac-tiveX部件是VB工具箱的扩充部分,是一些遵循ActiveX规范编写的可执行代码。在程序中加入相应部件后,可以成为开发和运行的一部分,并为应用程序提供新的功能[6]。

Matlab也是支持ActiveX自动化技术的软件,能够被VB所控制。利用这一特性,可以方便地在本系统中调用Matlab,包括执行Matlab命令,向Matlab输入数据,获取计算结果等,这样可以利用VB编写出友好的用户界面,又能获得Matlab的各种工具箱来进行运算、设计等。

1.2 可视化BP神经网络模型的实现

想要实现一个可视化的神经网络模型,首先选择合适的神经网络算法、网络的输入层、输出层、隐含层的数目和训练函数等,编写符合系统要求的BP神经网络文件,以M文件的形式保存起来;然后在VB中新建一个窗体,按照实现的要求来创建控件;最后在VB中调用Matlab软件来实现可视化BP神经网络模型。

2 预测系统的开发

应用ActiveX自动化技术,把VB作为前端开发工具完成人机交互界面的设计,利用Matlab作为后台服务器进行较为复杂的数学计算,在VB集成开发环境中创建用户界面,来实现对爆破振速峰值的预测。

2.1 参数样本输入模块

系统中的参数样本是指影响爆破振动速度的主要因素。综合考虑影响爆破振动速度中各因素的代表性和现场采集数据的可行性,并结合我国近年来大部分爆破工程的具体情况,本系统选取了以下5个参数作为主要因素:爆心距、高程差、总药量、炮眼深度、单段最大药量[7-9],并将这些因素作为可视化BP神经网络模型的输入层。

通过VB中的ListView控件调用前期已经录入Excel中的样本数据,并显示在用户界面,方便对数据的查看,同时在VB中也可以调用Excel对样本数据进行修改。

2.2 参数样本训练模块

参数样本训练是对加载数据样本进行学习训练,掌握该类样本的特征,并将这些特征储存在网络间的连接权中,是下一步进行振速预测的前提。

该模块界面设计中主要包括3个标签控件、3个文本框控件、1个图形控件以及4个命令按钮控件,3个文本框控件分别对应系统学习训练的训练因子、学习速率、学习步数[10],图形控件用于显示训练样本与实测值的对比曲线。

载入参数样本数据后,输入本次训练的学习速率、动量因子、训练步数,点击“样本训练”按钮对数据进行训练学习,并将计算训练的结果传递到人机交互界面,点击“训练样本与实测值对比”按钮可以得到训练样本与实测值对比曲线,以便观察训练样本与实测值的吻合程度,如图1所示。

2.3 振速峰值预测模块

振速峰值的预测是在参数样本训练学习的基础上,输入预测参数,进行预测。该部分主要包括6个命令控件、1个ListView控件、1个文本控件以及1个图形控件,ListView控件主要是显示预测后得到的振速峰值。输入预测参数后,进行预测计算,会得出预测值的散点图及相应的振速峰值,并将得到的振速峰值保存在excel表格中,方便记录、保存;同时也可以得到预测值与实测值的对比曲线以及预测平均误差,如图2所示。

图1 样本训练界面Fig.1Sample training interface

图2 预测界面Fig.2Prediction interface

通过系统预测计算,可以方便快速地得到振速峰值,判断其是否符合国家《爆破安全规程》的规定,如不满足则可调整学习速率、训练步数等,重新进行预测计算,直到达到《爆破安全规程》的规定,这样可以最大程度地提高爆破振速峰值预测的精度。

3 工程实例

3.1 工程背景及监测数据

图3所示的暗挖区间隧道位于北京市昌平区十三陵镇西山口村西南,属于地铁昌平线05段,起讫里程为右K0+159.6(=RDK0+000.0)~右 K0+196.3,RDK0+000.0~RDK0+980.0,右线长1 016.7m,其中RDK0+800.0~RDK0+980.0为明挖段,其余为暗挖段,暗挖区间下穿京包高速。

在隧道爆破施工时,选择爆破质点上方的高速公路路基为测试场地,沿坡面垂直布置测点,并利用TC-4850爆破测振仪进行爆破振动现场实时监测,共采集28组数据,测试结果如表1所示。

图3 暗挖区间隧道平面示意图Fig.3Schematic of underground cut tunnel

3.2 地铁昌平线暗挖区间隧道爆破振速峰值预测

预测系统使用前20组数据作为训练集,后8组数据作为检验集,并将后8组爆破振动实测数据与系统预测数据进行对比(见表2),其中系统学习训练的训练因子为0.9、学习速率为0.05、学习步数为10 000,训练界面及预测界面见图4~5。

同时,对前20组数据进行回归分析得到对应的萨道夫斯基公式,应用该公式对后8组数据进行预测,预测结果见表2。从2种方法的预测结果可以看出:(1)萨氏公式由于没有考虑高程因素对爆破振动的影响,其预测结果与实测值偏差较大,平均误差达到了26.15%,表明萨道夫斯基公式不适用于预测地形起伏条件下的爆破振速;(2)神经网络预测方法由于考虑了高程对爆破振速的影响,预测结果更接近实测值,平均误差仅为10.27%,其预测精度优于传统的萨氏公式;(3)本文中研究开发的爆破振动预测系统实现了轻松、便捷、精确预测爆破振动的目的,在昌平隧道爆破工程中得到了很好的应用,具有较高的应用价值和现实意义。

表1 现场实测数据Table 1Measured data

图4 训练界面图Fig.4Training interface

图5 预测界面Fig.5Prediction interface

表2 实测振动速度与预测振动速度对比Table 2Measured and predicted results of vibrational velocity

4 结 论

(1)利用VB编写主界面,通过Active自动化技术调用Matlab程序开发的爆破振动预测系统考虑了影响爆破振动的多种因素,而不仅仅局限于爆心距和药量,预测结果更加精确。

(2)爆破振动预测系统通过将Matlab强大的数值计算功能与VB界面开发简便直观的优势结合起来,相互取长补短,实现了计算机参数的交互输入和预测结果的输出。

(3)北京市地铁昌平线隧道爆破工程的应用表明,本系统在工程中操作简单,人机交互界面友好,较容易被现场技术人员接受。所以,将爆破振动预测系统应用于实际爆破工程中是可行的。

[1] 吕淑然.爆破震动强度预测的神经网络模型研究[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].工程地球物理学报,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] 李存国,李俊国.马兰庄铁矿生产爆破地震效应神经网络模型[J].中国钼业,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神经网络设计与应用[M].北京:清华大学出版社,2013.

[5] 张立明.人工神经网络的模型及应用[M].上海复旦大学出版社,1993.

[6] 李永松,艾凯,尹健民.基于VB与 Matlab的BP神经网络在地应力场分析中的应用[J].长江科学院院报,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] 谭文辉,璩世杰,毛市龙,等.边坡爆破振动高程效应分析[J].岩土工程学报,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].工业安全与环保,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] 赵华兵,龙源,刘好全,等.城市隧道爆破振动速度峰值预测神经网络法应用[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调用 Matlab的模拟电路故障诊断神经网络方法[J].计算机工程与应用,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 国标学科代码:13035

A

10.11883/1001-1455(2017)06-1087-06

2016-03-30;

2016-09-03

国家自然科学基金项目(51208036);

中央高校基本科研业务费专项基金项目(FRF-TP-15-041A3)

施建俊(1976— ),女,博士,副教授,keyan@ces.ustb.edu.cn。

(责任编辑 曾月蓉)

猜你喜欢

控件峰值界面
“四单”联动打造适龄儿童队前教育峰值体验
结合模拟退火和多分配策略的密度峰值聚类算法
320排CT低剂量容积体部灌注成像强化峰值时间对孤立性周围肺病变诊断价值
微重力下两相控温型储液器内气液界面仿真分析
基于.net的用户定义验证控件的应用分析
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究
扁平化设计在手机界面中的发展趋势
关于.net控件数组的探讨
基于嵌入式MINIGUI控件子类化技术的深入研究与应用