中国海洋大学学报自然科学版  2018, Vol. 48 Issue (S2): 165-170  DOI: 10.16441/j.cnki.hdxb.20180195

引用本文  

王国盛, 拾兵, 何昆, 等. 基于GA-BP神经网络的孤立波爬高预测[J]. 中国海洋大学学报(自然科学版), 2018, 48(S2): 165-170.
WANG Guo-Sheng, SHI Bing, HE Kun, et al. Prediction of Solitary Wave Run-up Based on GA-BP Neural Network[J]. Periodical of Ocean University of China, 2018, 48(S2): 165-170.

通讯作者

拾兵, E-mail: bingshius@163.com

作者简介

王国盛(1994-),男,硕士生。E-mail:wangguosheng78@163.com

文章历史

收稿日期:2018-03-15
修订日期:2018-06-20
基于GA-BP神经网络的孤立波爬高预测
王国盛 , 拾兵 , 何昆 , 刘帆 , 徐丽     
中国海洋大学工程学院,山东 青岛 266100
摘要:波浪爬高是海岸工程中重要的水动力学问题之一。孤立波爬高受到波高、水深及坡度等众多因素影响,是一个复杂的非线性系统,难以用数学方程准确表达各参数与波浪爬高间的关系。为解决此问题,本文基于GA-BP神经网络提出了一种孤立波爬高的预测方法。由于实验室实测数据较少且大多年代较早,用FLOW-3D建立二维数值波浪水槽,计算得到数学模型爬高数据。与实测资料及经验公式的对比验证表明,该数学模型能较准确再现孤立波沿斜坡爬高过程。数学模型数据与实验室实测数据随机排序得到55组训练样本,25组实验室实测数据随机排序作为测试样本。结果表明,基于GA-BP神经网络的孤立波爬高预测模型具有较高的精度和较好的适应性,可为孤立波爬高预测提供一种高精度、低成本的方法。
关键词孤立波爬高    GA-BP神经网络    数值预测    

海啸是海洋环境中最具破坏力的自然灾害之一,它所造成的损毁程度与其最大爬高有直接关系。孤立波的波形和传播特性与海啸波相似,加之其波形函数简单,易于数学分析,因此常以孤立波研究海啸波传播、变形、爬高[1]。所以,研究孤立波的最大爬坡高度对海岸及海洋工程有着重要的意义。

国内外学者已对孤立波的最大爬坡高度进行了较多研究,主要包括解析方法、数值模拟及试验观测方面的成果。在理论分析方面,Carrier & Greenspan[2]通过求解浅水方程解析解,得到了非破碎长波在斜缓坡上爬高的理论结果,但存在求解的边界条件有限、计算繁复等问题。Synolakis[3-4]利用非线性浅水方程求解孤立波爬坡的初值问题,并推导出了非破碎孤立波爬高计算公式。又根据1: 19.85的斜坡试验,得到了适用于该坡度的破碎孤立波最大爬坡高度经验公式。Li[5]基于能量守恒原理为估计破碎孤立波在斜坡上爬高提供了新方法。在试验研究方面,Saeki等[6]在水槽中进行了四种坡度的孤立波爬高试验,取得了理想的试验结果。Hsiao等[7]和张文忠等[1]分别在台湾成功大学和中交天津港湾工程研究院进行了物理模型试验,并结合前人的试验成果,利用最小二乘法得到了适用于多种坡度的经验公式。Brocchini & Peregrine[8]和Brocchini & Gentile[9]分析了孤立波在近岸的守恒特性并将多个孤立波叠加来模拟海啸波群的爬高。在数值模拟方面,基于Boussinesq模型,Sato[10]和Piatanesi&Tinti[11]分别模拟了1993年日本北海道南部海啸和1905年意大利南部海啸。近些年来,在处理剧变破碎波与建筑物相互作用和自由表面流动方面,SPH方法表现出了很大优势[12],如Gomez-Gsstrira & Dalrymple[13]和Gomez-Gsstrira et al[14]利用SPH方法发展了海啸波与建筑物相互作用的数值模拟。田文华等[15]应用SPH法建立孤立波在陡坡上的爬高模型,模拟了孤立波运动形态。

本文基于GA-BP神经网络,旨在对孤立波爬高进行预测,研究结果表明,本模型具有较高的精度和较好的适应性。

1 数值模型的建立与验证

由于实验室实测数据较少且大多年代较早,通过FLOW-3D计算软件,基于N-S方程和k-ε湍流模型,采用VOF方法建立二维数值波浪水槽,对孤立波爬高进行数值模拟。

对孤立波作用下的水动力模型进行验证,验证试验为文献[1]所进行的孤立波爬高试验。试验所用水槽长×宽×高为68 m×1 m×1.6 m,以静水位与斜坡交界处作为原点,在x=-1~2 m的范围内前后间距25 cm布置波高仪,x=2~9 m的范围内前后间距50 cm布置波高仪,另外在起坡线之前5 m处设置一个波高仪以测量入射波高。验证工况水深d=58.7 cm,H/d=0.155时的试验布置图如图 12所示。

图 1 试验布置侧视图 Fig. 1 The profile of experimental layout

图 2 试验布置俯视图 Fig. 2 The vertical view of experimental setup

建立如图 3所示计算模型,岸滩为定床,不因波浪的影响而改变。各观测点的设置与文献[1]中给出的具有代表性的部分波高仪位置相同。将孤立波波峰到达斜坡坡脚的时刻设为初始时刻。试验结果与模拟结果在各波高仪处的无量纲化波面时程曲线如图 4所示。

图 3 数值模型计算示意图 Fig. 3 Schematic diagram of numerical calculation

图 4 不同位置处波高仪波面时程曲线 Fig. 4 The time history curves of wave gauges in different locations

图 4可知,数值模拟结果与试验结果基本吻合,当孤立波到达起坡线后,由于地形的改变, 水深逐渐变浅,峰面逐渐抬高,波速变小,波陡越来越大直至破碎。破碎后的水体前端呈阶梯状,在x=0 m之后的位置,波峰前端几乎呈直立状,这与海啸传播到岸滩时的“水墙”相似[1]。由此可见,建立的数值模型模拟孤立波与岸滩相互作用的水动力参数是可行的。由表 1可知,模拟结果与使用文献[1]中经验公式计算结果的相对误差绝对值比较小,进一步说明了建立的数值模型能较准确再现孤立波沿斜坡爬高过程。

表 1 数值模拟结果 Table 1 Results of numerical simulation
2 基于GA-BP神经网络的孤立波爬高预测模型

误差反向传播算法(Error Back-Propagation)简称BP算法,是目前应用最广泛的神经网络模型之一。由于BP神经网络存在收敛速度慢和易于陷入局部最优的缺陷,引入遗传算法(Genetic Algorithm, GA)对网络的权值和阈值加以优化[16]

2.1 算法流程

本文在Matlab环境中借助遗传算法工具箱实现GA-BP神经网络算法,流程如图 5所示,具体步骤如下:

图 5 GA-BP算法流程图 Fig. 5 The flow diagram of GA-BP algorithm

(1) 根据权值和阈值矩阵大小、精度等要素确定个体编码长度并进行编码,生成初始种群。

(2) 对二进制编码的种群进行解码并在BP神经网络进行训练。

(3) 利用上一步所有个体得到的BP模型预测样本的输出结果,对比均方误差的大小,计算得到适应度。

(4) 根据上一步所得的适应度,进行选择、交叉、变异的操作来繁衍下一代种群。

(5) 检查是否找到最优个体或达到预设的最大代数,若满足条件则保存最优个体并解码保存权值和阈值矩阵,相反则跳转至步骤(2)。

2.2 模型建立

建立GA-BP耦合模型,首先需确定影响孤立波爬高的主要因素和选取足够多且有效的数据,其次需确定模型中的相关参数[17]

2.2.1 孤立波爬高影响因素

孤立波爬高公式可总结为:$ \frac{R}{d} = \varphi \left( {\beta , \frac{H}{d}} \right) $,即对于孤立波而言,其爬高R主要受波高H、水深d、以及岸滩坡度β的影响。

2.2.2 数据来源与数据预处理

本文选用80组数据作为样本,其中55组训练数据由22组数值模拟爬高数据与33组实验室实测数据随机排序得到,用于构建网络模型;25组测试数据均来自实验室实测数据,用于测试模型的预测能力。实验室实测数据选自文献[4, 7, 18]。

由于各维数据之间具有不同的物理意义和量纲,数据数量级也可能差别较大,容易导致输出饱和,预测误差较大。将数据进行归一化处理,所有数据转化为(0, 1)之间的数,可以使所有输入分量在网络中处于相同的地位,得到更好的预测结果。本文归一化处理数据采用下式:

$ {I_N} = \left( {\frac{I}{{{I_{\min }} + {I_{\max }}}}} \right)。$ (1)
表 2 实验室实测数据和条件 Table 2 The real measured data and conditions

由于网络中数据经过归一化处理,所以网络输出值不是直接的最后结果,而是经过反归一化处理后得到的,即:

$ I = {I_N} \times \left( {{I_{\min }} + {I_{max }}} \right)。$ (2)

式中:IN为归一化处理后的数据;I为原始值;IminImax分别代表某一个参量的最小值和最大值。

2.2.3 参数设置

BP神经网络部分,输入层神经元为3个,输出层神经元为1个,设置1个隐含层,隐含层神经元数为5个,训练方法采用LM算法,训练次数为1 000,训练目标为0.01,学习速率为0.1,隐含层的激活函数采用tan-sigmoid函数,输出层采用log-sigmoid函数;遗传算法部分,初始种群数量为55个,个体编码方式为二进制编码,代沟为0.95,交叉概率为0.7,变异概率为0.01,最大遗传代数设置为50代,选择算子为随机遍历抽样,交叉方式为单点交叉,变异采用随机方法选出变异位置,由于采用二进制编码,若某个基因位点原来为0,变异之后为1,原来为1则变异之后为0,简单可靠[19]

3 结果与分析

由进化过程图 6可知,误差随着遗传代数的增加而不断减少,建立的模型收敛性较好。至第50代后,误差变化不大,综合考虑模型计算经济性及结果准确性,选择最大遗传代数为50代。

图 6 进化过程图 Fig. 6 The diagram of evolutionary process

选用平均相对误差MRE和相关系数R作为模型评价的标准,计算公式如下:

$ MRE = \frac{1}{n}\sum\limits_{i = 1}^n {\left[ {\frac{{\left| {A\left( i \right) - P\left( i \right)} \right.}}{{A\left( i \right)}}} \right]} 。$ (3)
$ R = \left[ {\frac{{\sum\nolimits_{i = 1}^n {\left( {A\left( i \right) - \overline {A\left( i \right)} } \right)\left( {P\left( i \right) - \overline {P\left( i \right)} } \right)} }}{{\sqrt {\sum\nolimits_{i = 1}^n {{{\left( {A\left( i \right) - \overline {A\left( i \right)} } \right)}^2}} } \sqrt {{{\sum\nolimits_{i = 1}^n {\left( {P\left( i \right) - \overline {P\left( i \right)} } \right)} }^2}} }}} \right]。$ (4)

式中:n为测试样本个数;A(i)为样本的实际值;P(i)为样本的预测值;$ {\overline {A\left( i \right)} } $为样本实际值的平均值;$ {\overline {P\left( i \right)} } $为样本预测值的平均值。

图 78可知,对于GA-BP网络,无论是训练样本还是测试样本,对比值都均匀落在45°对比线附近,且绝大多数落在±20%误差线内。其中训练样本实测值及数值计算值与拟合值的相关系数R=0.975,平均相对误差MRE=8.17%;测试样本实测值与预测值的相关系数R=0.995,平均相对误差MRE=4.23%,说明了模型有较高的精度。建立模型所用的实测数据中,孤立波在斜坡上的破碎情况不同且水深、波高、斜坡坡度变化范围非常广,说明了模型有较好的适应性。

图 7 GA-BP训练样本的拟合结果 Fig. 7 The fitting results of training sample through GA-BP

图 8 GA-BP测试样本的预测结果 Fig. 8 The predictions of testing sample through GA-BP

图 89对比可知,引入遗传算法后的BP神经网络优于普通BP神经网络。优化后的平均相对误差小于优化前,相关系数大于优化前,预测结果更加准确。

图 9 BP测试样本的预测结果 Fig. 9 The predictions of testing sample through BP
4 讨论

GA-BP算法是将BP网络与GA算法耦合在一起的算法模型,使得神经网络和遗传算法两种算法实现优势互补。我国部分海域属于潜在海啸的危险地区,利用本模型可辅助评估沿海建筑物的海啸风险,确保核电站、学校等重要建筑物不受海啸的影响,同时可为防浪建筑物顶部高程设计提供参考。

该模型仅适用于单一坡度的孤立波爬高预测,实际岸滩的地形往往比较复杂。如利用丰富的实测数据,可直接建立更高效率、更高精度的孤立波爬高预测模型。值得说明的是,孤立波爬高还与流体粘滞性、底面摩擦系数、底面透水率等因素有关[20],在输入因子的选择方面还存在需要改进之处;同时可以利用本模型采用不同组合的输入因子对每一个变量进行敏感性分析,来衡量其对爬高值的定量影响程度。

参考文献
[1]
张文忠, 吕迎雪, 刘鑫, 等. 海啸波沿缓坡爬高试验研究[J]. 中国港湾建设, 2016, 36(1): 42-47.
ZHANG Wen-zhong, LV Ying-xue, LIU Xin, et al. Experimental study of tsunami run-up on the mild slope[J]. China Harbour Engineering, 2016, 36(1): 42-47. (0)
[2]
Carrier G F, Greenspan H P. Water waves of finite amplitude on a sloping beach[J]. Journal of Fluid Mechanics, 1958, 4(1): 97-109. (0)
[3]
Synolakis C E. The Run-Up of Long Waves[D]. Pasadena: California Institute of Technology, 1986. (0)
[4]
Synolakis C E. The run-up of solitary waves[J]. Journal of Fluid Mechanics, 1987, 185(1): 523-545. (0)
[5]
Li Y. Energy balance model for breaking solitary wave runup[J]. Journal of Waterway Port Coastal & Ocean Engineering, 2003, 129(2): 47-59. (0)
[6]
Saeki, Hanayasu S, Ozaki A, et al. The shoaling and run-up height of the solitary wave[J]. Coastal Engineering in Japan, 1971, 14: 25-42. DOI:10.1080/05785634.1971.11924124 (0)
[7]
Hsiao S C, Hsu T W, Lin T C, et al. On the evolution and run-up of breaking solitary waves on a mild sloping beach[J]. Coastal Engineering, 2008, 55(12): 975-988. DOI:10.1016/j.coastaleng.2008.03.002 (0)
[8]
Brocchini M, Peregrine D H. Internal flow properties of the swash zone and averaging[J]. Journal of Fluid Mechanics, 1996, 317(317): 241-273. (0)
[9]
Brocchini M, Gentile R. Modelling the run-up of significant wave groups[J]. Continental Shelf Research, 2001, 21(15): 1533-1550. DOI:10.1016/S0278-4343(01)00015-2 (0)
[10]
Sato S. Numerical simulation of 1993 southwest hokkaido earthquake tsunami around Okushiri Island[J]. Journal of Waterway Port Coastal & Ocean Engineering, 1996, 122(5): 209-215. (0)
[11]
Piatanesi A, Tinti S. Numerical modelling of the September 8, 1905 Calabrian (southern Italy) tsunami[J]. Geophysical Journal International, 2002, 150(1): 271-284. DOI:10.1046/j.1365-246X.2002.01700.x (0)
[12]
赵曦.海啸波生成、传播与爬高的数值模拟[D].上海: 上海交通大学, 2011.
ZHAO Xi. Numerical Simulation of Generation, Propagation and Runup of Tsunamis[D]. Shanghai: Shanghai Jiaotong University, 2011. (0)
[13]
Gomez-Gesteira M. Using 3D SPH method for wave impact on a Tall Structure[J]. J Waterway Port Coastal & Ocean Eng, 2004, 130(130): 63-69. (0)
[14]
Gómez-Gesteira M, Cerqueiro D, Crespo C, et al. Green water overtopping analyzed with a SPH model[J]. Ocean Engineering, 2005, 32(2): 223-238. DOI:10.1016/j.oceaneng.2004.08.003 (0)
[15]
田文华, 董胜, 纪巧玲. 陡坡上孤立波爬高的数值模拟[J]. 中国海洋大学学报(自然科学版), 2012, 42(10): 111-115.
TIAN Wen-hua, DENG Sheng, JI Qiao-ling. Numerical simulation of solitary wave run-up on steep slope[J]. Periodical of Ocean University of China(Natural Science), 2012, 42(10): 111-115. (0)
[16]
于小龙, 潘伟然, 张国荣, 等. GA-BP神经网络在罗源湾口波浪模拟研究中的应用[J]. 台湾海峡, 2012, 31(2): 166-172.
YU Xiao-long, PAN Wei-ran, ZHANG Guo-rong, et al. Simulation of sea wave in the Luoyuan Bay mouth by means of GA-BP neural network[J]. Journal of Oceanography in Taiwan Strait, 2012, 31(2): 166-172. (0)
[17]
王登婷, 费建华. 应用人工神经网络计算孤立波爬高[J]. 海洋通报, 2003, 22(1): 63-69.
WANG Deng-ting, FEI Jian-hua. Using artificial neural network to calculate solitary run-up[J]. Marine Science Bulletin, 2003, 22(1): 63-69. DOI:10.3969/j.issn.1001-6392.2003.01.010 (0)
[18]
Li Y, Raichlen F. Non-breaking and breaking solitary wave run-up[J]. Journal of Fluid Mechanics, 2002, 456(456): 295-318. (0)
[19]
杨友文.高温合金表面陶瓷涂层压片预置激光熔覆制备工艺试验研究[D].南京: 南京航空航天大学, 2013.
YANG You-wen. Experimental Research on Laser Cladding Ceramic Coatings by Squash Presenting on Superalloy Surface[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2013. (0)
[20]
Teng M H, Feng K, Liao T I. Experimental study on long wave run-up on plane beaches[J]. Textile Research Journal, 2000, 57(2): 105-109. (0)
Prediction of Solitary Wave Run-up Based on GA-BP Neural Network
WANG Guo-Sheng, SHI Bing, HE Kun, LIU Fan, XU Li     
College of Engineering, Ocean University of China, Qingdao 266100, China
Abstract: Wave run-up is one of the important hydrodynamics problem in coastal engineering. The wave height, water depth, slope and many other outside factors affect solitary wave run-up. The nonlinear system is so complex that it is difficulty to express the relation between each parameter and wave run-up accurately. In order to solve the problem, a prediction method based on GA-BP neural network was proposed in this work. This paper introduce genetic algorithm to optimize BP neural network. Because the measured data are less, unevenly distributed and earlier, the numerical wave channel has been developed based on FLOW-3D. Then some data from mathematical model are obtained. The good agreement indicates that it can reproduce the process of solitary wave run-up accurately. The mathematical model data and real measured data are taken and mixed together to obtain fifty-five groups of training samples, the real measured data are taken and mixed together to obtain twenty-five groups of testing samples. The results indicate that prediction model of solitary wave run-up based on GA-BP neural network has higher accuracy and better performance, providing a low coast and high efficient method for predicting solitary wave run-up.
Key words: run-up of solitary wave    GA-BP neural network    numerical prediction