基于改进萤火虫算法优化BP神经网络的水电站厂房振动预测

2018-01-23 10:31宋志强苏晨辉刘云贺
振动与冲击 2017年24期
关键词:步长适应度萤火虫

宋志强, 耿 聃, 苏晨辉, 刘云贺

(西安理工大学 水利水电学院,西安 710048)

机组振动诱发厂房振动的问题十分复杂,各类振源相互耦合加之厂房结构的弹性支承作用导致机组和厂房结构振动体系具有非线性、耦联性和随机性[1]。因此通过监测机组振动响应预测复杂振源引起的厂房结构振动响应一直是十分困难的课题[2-4]。但随着我国水电站机组和厂房结构尺寸的巨型化发展,机组厂房振动特性及振动状态监测和振动响应预测分析又显得十分必要。

本文针对标准BP神经网络预测响应时存在的收敛慢、泛化能力差、网络预测精度不高等缺陷,提出了通过萤火虫算法优化BP神经网络初始权值和阈值以提高网络预测性能和精度的厂房结构振动响应预测模型。对基本萤火虫算法予以改进,引入动态随机局部搜索加快收敛速度,对最优解进行变异操作防止陷入局部最优,在最优解附近动态调整步长,解决最优解附近震荡问题。结合水电站厂房振动响应预测实例,表明建立的基于改进萤火虫算法优化BP神经网络的水电站厂房振动预测模型预测精度有效改善,可以满足工程要求。

1 萤火虫算法及其改进

1.1 萤火虫算法

萤火虫优化算法(Firefly Algorithm, FA)是一种新型基于群体搜索的随机优化算法[5]。利用发光萤火虫模拟搜索空间中的点,荧光素值大小代表个体位置(即优化解)的优劣,个体在一定感知范围(即决策域)内向优秀个体移动,通过重复、选择、移动,最终实现在搜索空间内的寻优。FA算法过程主要包括初始化萤火虫、荧光素更新、移动概率更新、位置和决策域更新等阶段。该算法不需要遗传算法中的大量初始种群和复杂的交叉和变异操作,无需二进制编码,算法结构简单。相比粒子群算法,萤火虫算法无需设置个体移动速度,无需进行多次计算取概率平均值。龙文等[6-11]利用萤火虫优化算法解决结构优化设计问题,Pal等[12]通过研究比较,证明了萤火虫算法在求解精度和稳定性方面均超过如遗传算法、粒子群算法等其他优化算法。但将该算法用于优化神经网络的研究目前还比较少,Nandy等[13]尝试利用该算法优化了神经网络初始权值,通过仿真实验证明了其可行性。

基本萤火虫算法具体步骤如下:

步骤1 在求解空间内随机分布的N只萤火虫,每只萤火虫个体i(i=1,2,…,N)由其所在位置xi(t)和该处的荧光素值li(t)定义。该位置对应的目标函数为f(xi(t))。

步骤2 每个萤火虫个体在其感知域范围内寻找荧光素值比自己大的所有个体及其邻域集合,在t时刻,萤火虫i的个体邻域集合Ni(t)为

(1)

(2)

式中:rij为萤火虫i和萤火虫j之间的距离;D为决策变量的维数。

步骤3 在邻域集合内,萤火虫个体i被更亮的萤火虫j吸引而发生位置移动,萤火虫的吸引度

(3)

式中:β0∈[0, 1]为rij=0时的吸引度;γ∈[0, 1]为荧光吸收系数。

萤火虫i被吸引而移动后新的位置为

(4)

步骤4 发光强度最亮的萤火虫随机飞行

(5)

步骤5 萤火虫所在新位置的荧光素值为

li(t+1)=(1-ρ)li(t)+γf(xi(t))

(6)

式中,ρ∈[0, 1]为荧光素挥发系数。

(7)

1.2 动态随机局部搜索

针对FA算与其他优化算法共有的局部搜索能力差的缺陷,本文引入动态随机局部搜索技术[14]对其进行性能改善:(1) 在当前最优个体为xcurrent=xbest时,产生随机向量dx,满足,-αk≤dx≤αk,αk为搜素步长上限;(2) 计算新的适应度fnew=f(x+dx),如果新的适应度值更优,则xbest=xcurrent+dx,未满足当前搜索步长迭代上限时,返回(1),如果新的适应度值不如原值,则个体不移动;(3) 计算新的适应度fnew=f(x-dx),如果新的适应度值更优,则xbest=xcurrent-dx,未满足当前搜索步长迭代上限时,返回(1),如果新的适应度值不如原值,则个体不移动;(4)k=k+1,αk+1=0.5αk,返回到(1)直至达到局部搜索最大迭代次数。

1.3 多样性变异策略

变异算子可避免算法陷入局部最优,保持个体多样性[15]。假设某个体为x=(x1,x2,…,N)一概率1/n随机从个体x中选择一个元素xk(k=1,2,…,n),然后在[li,ui]内产生1个实数替代个体x中的元素xk,从而产生一个新的个体

(8)

1.3 动态步长更新

(1)在个体邻域为空时,强迫萤火虫个体为按式(9)移动,若更新后的位置更优,则保留更新位置,否则,位置不更新

(9)

(2) 个体邻域非空时,随着迭代次数的增加,按式(10)计算个体与邻域集合内的其他个体平均距离,若平均距离小于固定移动步长,则引入步长更新机制,按式(11)缩小步长,否则不更新步长

(10)

si(t)=si(t-1)×n

(11)

式中,n(0

2 改进的IFA优化算法函数测试

选取的函数为

(1)Sphere函数

(12)

函数定义域为:-100≤xi≤100,在(0,0,…,0)处取得全局最小值为0。

(2)Griewank函数

统计学软件采用SPSS19.0版,组间计量数据采用(±s)表示,计量资料行t检验,计数资料行X2检验,P<0.05为差异有统计学意义。

(13)

函数定义域为:-600≤xi≤600,在(0,0,…,0)处取得全局最小值为0。

(3)Rosenbrock函数

(14)

函数定义域为:-30≤xi≤30,在(1,1,…,1)处取得全局最小值为0。

(4)Schaffer函数

(15)

函数定义域为:-2.048≤xi≤2.048,在(0,0,…,0)处取得全局最小值为0。

这四个函数中Sphere和Rosenbrock为单峰函数,Griewank为多峰函数。Rosenbrock函数为非线性非凸多模态函数,当维数为2时,等值线大致呈抛物线形,全域最小值位于香蕉型山谷中,因此又称为山谷函数或香蕉函数,虽然山谷容易找到,但谷内函数值变化小,对于各种优化算法要找到全局极小点也不是容易的。

对函数应用上述改进的萤火虫算法进行优化寻找函数极值,结果如表1 所示。从结果可以看出,在维数较小时,改进萤火虫算法的优越性体现不明显;当函数维数增大时,标准萤火虫算法容易陷入局部最优,收敛速度慢的缺点开始显现,改进的萤火虫算法在函数维数增大时,仍然保持有较好的稳定性和收敛速度。

表1 函数优化测试结果

3 基于IFA优化的BP神经网络

神经网络结构通常为三层拓扑映射结构:包含输入层、隐含层和输出层。输入、输出层节点数由训练样本的输入、输出维数确定。隐含层的节点数根据经验公式选定。

各层之间的传递函数为Sigmiod函数,隐含层第j个节点的输出

(16)

式中:wij为输入层第i个节点到隐含层第j个节点的连接权值;θj为隐含层第j个节点的阈值;pi为隐含层第i个输入。将隐含层输出hj进一步向后传递,相应得到输出层第k个节点的输出

(17)

L=N×H+H+H×O+O

(18)

训练时,神经网络的训练精度由误差RMSE来衡量

(19)

萤火虫神经网络训练过程中,萤火虫每一个个体代表一个神经网络,神经网络的性能用训练误差来表示,萤火虫个体的适应度值可以直接取为该个体代表的网络训练迭代终止时的误差值。即

f(xi)=m×RMSExi

(20)

式中,m为系数。

算法流程如图1所示,具体步骤如下:

步骤1 算法参数设置、计算编码长度、萤火虫种群初始化;

步骤2 输入训练样本,计算个体适应度值,根据神经网络训练误差计算适应度;

步骤3 依据个体适应度即(荧光素值)大小,个体进行移动,种群更新;

步骤4 动态随机局部搜索,变异策略及动态步长更新;

步骤5 训练误差达到收敛值或迭代次数达到最大,结束,否则返回步骤5;

步骤6 训练结束,得到适应度值最大个体,将测试样本输入,进行厂房振动响应预测。

在萤火虫神经网络训练中,为了防止随着个体随机移动,种群分布范围扩张导致,个体之间距离增加,吸引力下降,种群寻优转变为完全随机运动的现象,设置吸引力下限βmin

(21)

式中,βmin代表个体相互吸引移动的最小程度,不受个体距离影响。随机参数α刻画了个体移动中的随机成分的大小。

图1 改进萤火虫算法优化BP网格的厂房振动预测模型流程图Fig.1 The flow chart of powerhouse vibration prediction model base on IFABP

4 仿真实例分析

以某实际水轮发电机组和水电站厂房原型观测数据,以水电站机组振动数据为样本,通过神经网络训练,建立机组振动数据和厂房振动数据之间的非线性关系。选取机组负荷变化情况下的机组及厂房振动原型观测数据,测点布置如图2,观测数据如表2所示。

把所有的样本数据进行归一化处理,并将其分为测试部分和训练部分,训练数据用来进行网络的训练,测试数据用来检验网络的仿真预测效果及误差分析。随机选取工况5数据为测试数据,其余工况作为训练数据。

改进萤火虫算法神经网络,采用三层结构,输入层节点数根据输入特征维数为10,输出维数为4,隐含层节点数根据经验公式确定

H=log2Q

(22)

式中,Q为训练样本数,Q=7,近似取H为3。

(注:☆号代表竖向加速度传感器; …代表水平加速度传感器)图2 水电站机组厂房耦联振动测点分布Fig. 2 Layout of measuring point

表2 实测机组厂房结构振动加速度数据

对于IFABP神经网络,有10个输入参数参数,4个输出参数,即输入层节点和输出层节点数为10和4,隐含层节点数为3,则根据式(18),可以得到总共需要优化的权值和阈值总数为 10×3+3+3×4+4=49,即为萤火虫算法的个体编码长度。

在IFABP网络中:种群规模N=50;荧光素初始值取l0=5;邻域变化率为φ=0.08;邻域阈值nt=5,荧光素吸收系数γ=0.6;荧光素挥发系数ρ=0.4;萤火虫感知范围rs=5;初始步长s=0.05;最大进化次数150;动态随机局部搜索步长初值α0=0.2;变异概率为λ=0.1,最小吸引度β0=0.15。神经网络训练中进化参数学习率为0.1,训练目标为1E-005。

萤火虫算法优化过程中最优个体适应度值变化如图3,从图中可见,在萤火虫算法在种群为50的情况下,经过约80代进化和移动,收敛于最佳适应度值。采用改进的萤火虫算法在进化到约40代时,收敛到最佳适应度值0.085,算法趋于稳定,可见对于萤火虫算法的改进是非常必要的。通过算法改进不但可以加快找到BP网络的最优权值和阈值,而且获得的权值和阈值的质量也是远好于基本算法的。

厂房结构定子基础和下机架基础的振动加速度预测值如表3和图4所示,可见改进的萤火虫算法优化BP网络的预测性能相比基本算法优化及无算法优化的BP网络预测得到了明显的改善。水电站厂房振动控制标准对于机墩结构的振动加速度要求是竖向和水平振动加速度均须小于1 m/s2,基于改进萤火虫算法优化BP网络的机墩预测振动加速度相对于实测值的最大相对误差不超过5%,而实测最大值不超过0.3 m/s2,也就是最大误差绝对值不超过0.015 m/s2,仅为振动控制标准值的1.5%,因此预测误差完全可以满足工程精度要求。

表3 厂房振动预测结果

图3 萤火虫算法的进化过程Fig.3 Evolutionary process of the FA

图4 厂房振动预测结果 Fig.4 Vibration prediction results of the powerhouse

5 结 论

在基本萤火虫算法基础上,引入动态随机局部搜索加快收敛速度,对最优解进行变异操作防止陷入局部最优,在最优解附近采取动态步长更新措施,提高计算精度,解决最优解附近震荡问题。结果表明建立的基于改进萤火虫算法优化BP神经网络的水电站厂房振动预测模型预测精度有效改善,为水电站厂房结构振动响应预测提供新的思路和途径。

[ 1 ] 马震岳,董毓新. 水电站机组及厂房振动的研究与治理[M]. 北京: 中国水利水电出版社, 2004.

[ 2 ] 马震岳,孙万泉,陈维江. 基于遗传算法的地下发电厂房动态识别[J]. 大连理工大学学报, 2004, 44(2): 292-296.

MA Zhenyue, SUN Wanquan, CHEN Weijiang. Dynamic identification for underground power house based on genetic algorithm [J]. Journal of Dalian University of Technology, 2004, 44(2): 292-296.

[ 3 ] 练继建, 张辉东, 王海军. 水电站厂房结构振动响应的神经网络预测[J]. 水利学报, 2007, 38(3): 361-364.

LIAN Jijian, ZHANG Huidong, WANG Haijun. Prediction of vibration response of powerhouse structures by means of artificial neural network method [J]. Journal of Hydraulic Engineering, 2007, 38(3): 361-364.

[ 4 ] 徐国宾,韩文文,王海军. 基于SSPSO优化GRNN的水电站厂房结构振动响应预测[J]. 振动与冲击, 2015, 34(4): 104-109.

XU Guobin, HAN Wenwen, WANG Haijun. Vibration response prediction of a powerhouse structure based on SSPSO-GRNN [J]. Journal of Vibration and Shock, 2015, 34(4): 104-109.

[ 5 ] YANG X. Firefly algorithms for multimodal optimization [C]∥Proceeding of the International Conference on Stochastic Algorithms: Foundations and Applications. Beilin: Springer-Verlag, 2009: 169-178.

[ 6 ] 龙文,蔡绍洪,焦建军,等. 求解约束优化问题的萤火虫算法及其工程应用[J]. 中南大学学报(自然科学版), 2015, 46(4): 1260-1266.

LONG Wen, CAI Shaohong, JIAO Jianjun, et al. Firefly algorithm for solving constrained optimization problems and engineering applications [J]. Journal of Central South University(Natural Science), 2015,46(6): 1260-1266.

[ 7 ] 陈洁钰,姚佩阳,王勃,等. 基于结构熵和IGSO-BP算法的动态威胁评估[J]. 系统工程与电子技术,2015,37(5): 1076-1083.

CHEN Jieyu, YAO Peiyang, WANG Bo, et al. Dynamic threat assessment based on structure entropy and IGSO-BP algorithm [J]. System Engineering and Electronics, 2015, 37(5): 1076-1083.

[ 8 ] FISTER I, JR F, YANG X S. A comprehensive review of firefly algorithm [J]. Swarm and Evolutionary Computation, 2013, 13(1): 34-46.

[ 9 ] YANG X, HOSSEINI S, GANDOMI A. Firefly algorithm for solving non-convex economic dispatch problems with value loading effect[J]. Applied Soft Computing, 2012,12(3): 1180-1186.

[10] KUMBHARANS S, PANDEY M. Solving traveling salesman problem using firefly algorithm[J]. International Journal for Research in Science & Advanced Technologies,2013, 2(2): 53-57.

[11] 曾冰,李明富,张翼,等. 基于萤火虫算法的装配序列规划研究[J]. 机械工程学报,2013, 49(11): 177-184.

ZENG Bing, LI Mingfu, ZHANG Yi, et al. Research on assembly sequence planning based on firefly algorithm [J]. Journal of Mechanical Engineering, 2013, 49(11): 177-184.

[12] PAL S, RAI C, SINGH A. Comparative study of firefly algorithm and partical swarm optimization for noisy non-linear optimization problems [J]. International Journal of Intelligent Systems and Applications, 2012, 4(10): 50-57.

[13] NANDY S, SARKA P P, DAS A. Analysis of nature-inspired firefly algorithm based back-propagation neural network training [J]. International Journal of Computer Applications, 2012, 43(22): 8-16.

[14] HAMZACEBI C. Improving genetic algorithms’ performance by local search for continuous function optimization[J]. Applied Mathematics and Computation, 2008, 196(1): 309-317.

[15] WANG Y, CAI Z, ZHOU Y, et al. Constrained optimization based on hybrid evolutionary algorithm and adaptive constraint-handing technique [J]. Structural Multisiscipline Optinization, 2009, 37(4): 395-413.

[16] WANAS N, AUDA G, KAMEL M S, et al.On the optimal number of hidden nodes in a neural network [C]∥Proceeding of 1998 IEEE Canada Conference on Electrical and Computer Engineering. Toronto: IEEE, 2002: 918-921.

猜你喜欢
步长适应度萤火虫
中心差商公式变步长算法的计算终止条件
改进的自适应复制、交叉和突变遗传算法
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于随机森林回归的智能手机用步长估计模型
萤火虫
一种基于改进适应度的多机器人协作策略
萤火虫
基于动态步长的无人机三维实时航迹规划
抱抱就不哭了
夏天的萤火虫