姜封国, 周玉明, 于 正, 梁 爽, 韩雪松
(黑龙江科技大学 建筑工程学院, 哈尔滨 150022)
我国对结构系统可靠性研究开展较晚,但是,随着社会经济的发展和人们对美好生活的向往日益增长,建筑结构的安全可靠成为人们关注的焦点,因此工程结构的设计必须基于结构安全性与可靠性[1]。目前,常用的传统结构系统失效模式可靠度分析方法有一次二阶矩法、响应面法以及Monte Carlo法。
通过对三种传统的结构系统可靠性分析方法对比分析,总结出各种方法的优缺点及适用范围如下。
传统一次二阶矩法[2]求解结构可靠性的优点主要是:计算简单方便、需要的参数少,一般就只需已知结构荷载和容许应力均值及变异系数,就可求解结构的可靠性指标。但是该方法存在的很多缺点:局限性大、适用范围小且计算结果误差较大,它限制结构的安全余量表达式必须线性很强,并且对随机变量的选取必须要服从正态分布,这就导致该方法应用的局限性大,并且与实际结构变量情况有偏差导致最终的计算结果的精度不够;响应面法[3-4]求解结构可靠度比一次二阶矩法的限制条件少,响应面法可以求解具有非线性功能函数的结构,应用范围更广。但是通过其计算原理可知,它是利用带参数的显示函数去模拟结构的隐式功能函数,再通过大量方程组解出未知参数,因此避免不了和结构的真实功能函数存在误差且计算量较大。总之,响应面法虽然在应用范围上比传统一次二阶矩法大,但是对复杂结构功能函数模拟的精度依然不够,且计算的工作量也变大;Monte Carlo法是目前结构可靠度计算方法中较精确的方法,许多可靠性计算方法的研究都以Monte Carlo法的计算结果进行对比分析,而且Monte Carlo法的理论基础是概率中的大数定理,因此其应用范围几乎没有限制,它可以计算安全余量表达式非线性很强的结构可靠性指标,并且其随机变量可以是各种不同分布[5-6]。该方法存在唯一的缺点就是计算工作量大,需要通过实验或模拟得到大量的样本,因此,限制了Monte Carlo法的实际应用。
通过对多种结构可靠性计算方法的对比剖析,得到目前精度高且应用范围广的可靠度计算方法是Monte Carlo法,但需要一种降低其计算工作量的手段来解除它的实际应用限制。因此,笔者提出一种利用神经网络模型预测的方法来降低Monte Carlo法计算结构可靠性指标的工作量,为实际工程结构系统可靠性分析提供一种更加高效精确的方法。
Monte Carlo法可用于结构系统安全余量表达式非线性较强的情况,并且可以综合多个失效模式计算整个结构系统的可靠性[7]。
Monte Carlo法的理论基础是概率学中的大数定理,因此Monte Carlo法也被称为概率模拟法或统计实验法,该方法的计算精度与随机变量的抽样方法有关,抽样方法分为一般抽样方法和重要抽样方法[8],文中主要运用基本的一般抽样方法。
设X1,X2,…,Xn是由抽样方法得到的n个随机变量,其概率密度函数分别为fX1(x1),fX2(x2),…,fXn(xn),结构的功能函数表示为
G=gX(X1,X2,…Xn)。
(1)
计算结构的失效概率为
E{I[gX(X1,X2,…,Xn)]},
(2)
式中,E{I[gX(X1,X2,…,Xn)]}——示性函数的期望值。
(3)
式中,Nf——N次模拟中结构失效的次数。
Pf的求解精度与模拟次数N息息相关,模拟次数越大得到的失效概率越精确,但是模拟的工作量会增加,因此,实际问题需要给出结构失效概率的模拟精度,从而确定模拟次数N。结构失效概率的模拟精度用变异系数δPf表示,估算需要的模拟次数N可表示为
(4)
其中Pf虽是待求量,但实际工程一般会给出其大小量级,一般为Pf=10-3~10-5。这样要达到δPf=0.1的精度所需要模拟次数为N=105~107。
目前,实际应用中大部分的神经网络系统都是基于误差反向传播算法(Error back propagation training,BP),BP神经网络作为最常用的算法模型,具有较强的自适应能力和容错能力、明确的学习机制和完备的理论基础[9]。
BP神经网络是一种利用BP算法进行训练的多层前馈神经网络,它的网络结构主要包括输入层、隐含层和输出层;它的学习过程主要包括向前传播信息、向后反馈误差、记忆训练和学习收敛四个过程[10]。第一过程:变量信号从输入层进入,经过隐含层处理后传递给输出层。如果输出层未得到期望输出则进行第二过程:计算不满足精度要求的实际输出值与期望输出值间的误差,再将误差向后反馈并分配给各层单元,各层单元通过误差信号调整层间的连接权值。第三过程:网络进行多次正向传播与反向反馈的相互调节与记忆训练。第四过程:通过网络训练不断调整权值与阈值,使实际输出不断逼近期望输出,最终达到学习训练的精度,即网络收敛。
BP神经网络具有以下主要功能[11]:(1)强大的非线性映射功能,BP神经网络可以通过训练样本学习完成由维输入得到维输出的非线性映射;(2)很好的容错性,BP神经网络允许输入样本有较大误差,甚至有个别错误;(3)较强的泛化能力,训练好的BP网络模型对陌生的数据也能输出正确的结果。
基于BP神经网络的优良特性和强大功能,文中采用BP神经网络模型进行结构可靠性分析。
2.2.1 网络模型的建立
建立三层BP神经网络模型,其结构组成及信息传递过程如图1所示。
图1 典型三层BP神经网络模型Fig. 1 Typical three-layer BP neural network model
BP神经网络是对生物神经元的简化模拟,因此,图1中每层结构都包含多个神经元,图示的整个网络结构由以下5个部分组成[12]。
(1)输入层:输入变量x1,x2,…,xn为输入层的n个神经元,用输入向量X表示为
X=[x1,x2,…,xn]T。
(5)
(2)网络权值与阈值:ωij表示输入层变量i与隐含层变量j之间的连接权值,ωjk表示隐含层变量j与输出层变量k之间的连接权值,连接权值的作用就是连接网络各层间的神经元,保证变量信息传递;θj表示隐含层变量j的阈值,θk表示输出层变量k的阈值;网络模型就是通过反复调节权值与阈值来使网络达到最佳性能。
(3)转换函数:输入层与隐含层以及隐含层与输出层之间的传递关系用转换函数表示,转换函数一般采取双弯曲函数,函数表达式为
(6)
式中,-∞ (4)隐含层:由式(6)得隐含层变量输出值为 (7) (5)输出层:由式(7)得输出层变量输出值为 (8) 式中,l——隐含层的神经元个数。 对于三层BP神经网络模型的建立,还需要确定输入层、输出层及隐含层的神经元个数。 输入、输出层神经元个数由输入变量和输出变量的个数确定,通常情况下,输入变量与输出变量是一一对应的,因此,确定输入变量的个数便可确定输入、输出层神经元的个数。由于本章是利用神经网络模型分析结构可靠性,因此,输入变量数目由结构的设计变量数目确定。 对于隐含层的神经元个数,本节采用试凑法确定,确定试凑法的初始值为 (9) 式中:n、m——输入、输出层神经元个数; α——10以内的正整数。 隐含层神经元个数影响着整个神经网络模型的分析精度与效率,因此,对每个试凑值确定的模型进行误差分析,通过误差对比最终确定网络模型中隐含层神经元数目。 2.2.2 样本的产生 网络模型建立完成后,供给模型训练的样本是决定网络模型精度的关键,样本的产生步骤如下。 步骤1样本数的确定。样本数与网络模型结构各层的神经元数的关系为 (10) 步骤2在开区间(0,1)上产生p个均匀分布的随机数。 步骤3根据输入变量X的范围与特征,将步骤2中的随机数乘以相应的系数,得到p组输入变量X的随机数。 步骤4根据输入变量X的随机数,采用实验或有限元模拟等方法求出对应的输出变量Y。 通过以上步骤产生的样本供给建立的网络模型进行学习训练,最终得到训练好的神经网络预测模型。 本节将利用上节建立的神经网络预测模型对结构系统在随机设计变量情况下的动力响应进行预测,将预测得出的响应值收集并记录,并输出为MATLAB数据文件,再根据结构系统对动力响应的限制条件,运用Monte Carlo法分析结构系统的可靠性。该方案总结为以下步骤。 (1)产生基于结构系统的网络训练样本。根据实际工程结构算例中设计参数及变量范围,运用前节产生样本的方法,得到网络模型的输入变量和对应的输出变量,将输入与输出变量收集并整理,并转换为样本数据文件,即得到实际结构系统的神经网络训练样本。 (2)BP神经网络预测模型的建立及模型参数确定。采用典型三层BP神经网络结构,首先,利用MATLAB软件的工具箱建立三层神经网络模型,再由(1)中的样本得到神经网络结构输入、输出层神经元的个数,并通过试凑法确定隐含层神经元个数,根据不同隐含层神经元个数的模型计算误差选择最优模型,最后,用确定好的神经网络预测模型预测结构系统不同变量的响应值。 (3)利用神经网络模型的预测结果,采用Monte Carlo法进行结构系统可靠性分析。在系统结构某种极限状态下产生大量随机变量,将随机变量转换为结构的设计变量,并通过网络模型预测出对应的结构动力响应值,根据结构系统对响应值的限值来判断系统结构是否失效,并统计失效的次数,再利用Monte Carlo法进行概率分析,得到该状态结构系统的可靠性指标。 对该方案的步骤进一步划分,将样本的产生、网络训练和网络预测进行细化,得到基于神经网络预测模型的结构系统可靠性分析流程图,如图2所示。 图2 基于神经网络预测模型的结构系统可靠性分析流程Fig. 2 Flow chart of structural system reliability analysis based on neural network prediction model 表1 单元截面与随机变量特征Table 1 Element section and random variable characteristics 图3 十五层平面框架计算简图Fig. 3 Calculation diagram of 15th floor plane frame 该结构按正常使用极限状态设计,根据设计规范要求给出结构的最大允许水平位移[u]=H/550=85 mm(H为结构总高度)。请求在该状态下结构的顶层水平位移u>85 mm的概率,即结构系统的失效概率Pf。 按图2的流程对该算例进行分析解答。 (1)利用ABAQUS软件进行有限元分析计算,得到100个供神经网络模型训练的样本数据。结构有限元分析的部分计算结构如图4所示,部分样本数据如表2所示。 表2 气态水迁移试验方案Table 2 Vaporous water migration test protocol 图4 十五层平面框架位移计算云图Fig. 4 Cloud diagram of displacement calculation of 15th floor plane frame (2)利用MATLAB软件建立三层神经网络模型,对样本数据进行网络训练,用式(9)计算得到网络隐含层神经元数的初始值,试凑法确定隐含层神经元数目n,通过模型误差对比分析得到该结构系统的最优网络预测模型。部分模型误差分析如图5所示。 图5a~c分别表示网络模型在训练、验证和测验过程中的误差分布情况,通过对不同隐含层神经元个数下的模型误差对比观察可得,当隐含层神经元数目为10时,网络模型的训练、验证和测试误差更趋向于零误差线,其中,90%以上的样本数据误差在0.3以内,满足模型精度要求,将其作为试凑法得到的最优网络模型。 该网络模型对训练、验证和测试的拟合相关系数R分别为0.999 3、0.998 6和0.994 8,均非常接近于1,说明该预测模型精度较高且满足要求。 (3)根据Monte Carlo法的原理及精度要求,利用训练好的最优预测模型产生10 000组新样本进行结构系统可靠性分析。最后,通过MATLAB软件计算出10 000次结构顶层位移预测值大于85 mm的次数S、失效概率Pf及可靠性指标β。 运用神经网络模型改进Monte Carlo法对十五层框架结构进行可靠性分析,计算出该结构系统的失效概率Pf=0.74%,结构系统的可靠性指标β=2.437 2;由文献[13]可得该算例用Monte Carlo法直接对结构模拟10 000次的结果为:Pf=0.77%,β=2.425 1;文中采用的方法与Monte Carlo法直接模拟得到的失效概率只相差0.03%,结果十分接近且满足精度要求,但该方法只进行了100次结构模拟计算,工作量减少为直接模拟的1%,体现出了基于神经网络模型Monte Carlo法计算结构系统可靠性的优越性。 (1)基于神经网络模型改进Monte Carlo法对十五层框架结构进行可靠性分析,计算出该结构系统的失效概率Pf为0.74%,结构系统的可靠性指标β为2.437 2。 (2)文中方法与Monte Carlo法直接计算的结果失效概率降低了0.03%,但该方法的计算工作量减少为直接模拟的1%,该方法的计算结果满足精度要求,且计算效率大幅提升。3 结构系统可靠性分析
3.1 分析方法
3.2 分析算例
4 结 论