改进的土石坝GACO-BP渗流监控模型研究
2020-08-17张海龙
张海龙
(新疆维吾尔自治区乌鲁瓦提水利枢纽管理局,新疆 和田 848000)
0 引言
土石坝的渗流状态是影响其整体安全和运行的重要因素之一,对土石坝的渗流状态进行监控并利用监测资料建立合适的模型对其进行预测分析具有重大意义[1~2]。目前,统计模型、确定性模型和混合模型在这一领域应用较多[3]。然而,这几种传统模型的精准度并不稳定,也经常出现回归错误,且当大坝遇到环境变化恶劣的情况时,传统模型的预测效果更为不佳。人工神经网络适应性强,可以用来预测非线性数据,因此被运用到监控模型中。然而BP神经网络训练过程冗长,局部极值困扰大,因此诸多学者对其进行改进[4~6],并提出相应的改进算法。本文引入遗传算法改进传统蚁群算法(ACO),在此基础上建立GACO-BP的土石坝渗流压力预测模型。以某土石坝实测资料为例,对传统神经网络模型和改进模型的预测能力进行定量对比和分析。
1GACO-BP神经网络算法
1.1 遗传蚁群算法
蚁群算法(ACO)是由 Macro Dorigot等人[7~8]提出,起初用于解决TSP问题。TSP问题表示为:蚂蚁从A地前往B地,一定要经过且只能经过一次A、B间给定的n个地点,最后从B回到A,找出一条最短闭合线路。用dij表示两地之间的距离;τij(t)表示t时刻两地之间信息素的浓度。
然而,蚁群算法在求解最优路径时花费的时间长,速度慢。而遗传算法[9]在求解大规模的最优路径时速度快,范围广,较有优势。遗传算法可弥补蚁群算法的这一缺点,故将其引入,优化蚁群算法。
遗传蚁群混合算法的基本思想是在算法的前期采用遗传算法,利用遗传算法快速随机、全局收敛性来形成蚁群算法中的初始信息素分布情况,然后进行蚁群算法操作。这样就克服了蚁群算法由于初期信息素匮乏而导致的收敛速度慢的缺点。
实现遗传蚁群混合算法的主要步骤如下:
步骤1:确定遗传算法中的编码方式、适应度函数、种群大小,以及选择、交叉、变异的方法与概率;确定蚁群算法中的蚂蚁数量、算法迭代次数、信息素启发式因子a的大小、期望值启发式因子的大小、信息素残留系数ρ的大小等;
步骤2:用遗传算法迭代出N个较优解;
步骤3:将遗传算法中得到的种群信息转化为蚁群算法中所需的信息素矩阵;
步骤4:用蚁群算法继续求解,得到新的可行解。
遗传蚁群算法具体实现流程图见图1。
图1 遗传蚁群算法流程图
1.2 改进的遗传蚁群算法
遗传算法与蚁群算法的混合主要包括两个关键策略:一是如何确定遗传算法停止执行进入蚁群算法的最佳时刻;二是如何将遗传算法迭代得到的信息转换为蚁群算法中得初始信息素的浓度矩阵。本文针对这两点各提出一种解决方法,实现对传统蚁群算法的改进。
1.2.1 最佳时刻的确定
通过试验研究发现,两种算法的关系见图2。
图2 遗传算法与蚁群算法速度-时间曲线
由图可知,GA算法在起步阶段(t0~ta阶段)的收敛速度明显高于蚁群算法,但是随着时间的推移,速度减慢,效率降低。而蚁群算法却恰恰相反,起步时候收敛速度非常缓慢,随着时间推移,速度迅速提高。在ta时刻之前和之后GA算法和蚁群算法分别表现出了很好的收敛效果,因此a点可以看作是两种算法融合的最佳点。
对于最佳时刻a的确定,传统的遗传蚁群混合算法主要是给遗传算法部分设置一个固定的迭代次数(例如20次),等待遗传算法迭代完成规定次数以后才会进入蚁群算法,这种融合方法在应用实验中取得了良好的效果,但是,这种融合方式存在盲目性,未充分考虑两种算法的搜索特性。如果迭代次数设置不当,会造成过早(如时刻)或过晚(如时刻)地结束遗传算法,导致两种算法融合失败。
考虑到GA算法在运行到一定时间后(b点以后),适应度变化缓慢,收敛速度快速降低,本文提出对遗传算法的收敛速度曲线进行分析,通过寻找曲线的拐点而动态确定算法融合的最佳时机,以实现遗传算法和蚁群算法的动态融合,体现了融合的灵活性。
在混合算法中,由遗传算法转换到蚁群算法的条件,即拐点的确定,可以简为以下几点:
(1)建立遗传算法收敛速度的评价函数;
(2)设F(n)为第n代种群最优适应度函数,令:
式中:Q为常量。
(3)当连续k次出现v(n+1)-v(n)小于设定的阈值的情况,说明遗传算法的收敛效率已经变得低下,此时可以转入蚁群算法。
1.2.2 信息转换
在遗传蚁群混合算法中,蚁群算法的信息素初始分布矩阵是由遗传算法迭代得到的优化种群经过转换所得的。因此,将遗传算法产生的最优解转化为蚁群算法的初始信息素,也是算法融合的一个关键之处。
由于蚁群算法采用最大最小蚁群系统(MMAS,Max-Min Ant System),将蚁群算法的初始信息素矩阵设置为 τS=τC+τG,其中τC为常数,其取值根据具体问题给定,相当于MMAS系统中的 τmin,τG为信息素分布。
本文提出一种由GA算法得到信息素浓度分布矩阵的方法,具体计算步骤如下:
(1)由遗传算法迭代求解问题;
(2)将遗传算法终止时的种群按照适应度值由大到小排序,选择前n/2个适应度最高的染色体(其中n为城市的数目)组成矩阵T1。矩阵中每一行是一个染色体,每一个染色体代表一个问题解的路径,而矩阵中的每个元素又都代表了一个城市。同时,为了避免蚁群算法陷入局部最优或停滞,将再随机生成n/2个染色体组成矩阵T2,最后将T1和T2组合为新的n×n阶的矩阵T。
(3)计算矩阵T中两个城市连接路径e(i,j)出现的次数kij,将kij/2n作为蚁群算法中初始信息素矩阵中 τ(i,j)和 τ(j,i)的值。若两城市没有建立连接路径关系则对应的信息素矩阵中的值设为0。
1.3 GACO-BP神经网络
BP神经网络的基本原理和训练方法及过程已有诸多学者叙述过[10],这里不再具体阐述。
本文拟用遗传蚁群算法优化BP神经网络权值和阈值的更新,并通过建立的GACO-BP神经网络模型对土石坝的渗流压力进行预测。
2 基于GACO-BP的大坝渗流监控模型
2.1 模型的建立
根据吴中如院士提出的理论,本文建立如下的渗流压力监控预测模型:
式中:h为渗流压力水位;Ht为当天水位;Rt为当天雨量;fH、fR、fθ分别为水位因子、降水因子和时间因子;表示观测日前的第i日到第j日的平均水位;为观测日前第i日到第j日的平均雨量;θ为观测日至始测日的累加日数除以 100;a0、ak、b0、bk、c0、c1为回归系数。
对隐含层节点数的确定,至今没有一个科学的理论能指导我们确定系统的运行性能最优对应的隐含层节点数,仅有实验表明:如果隐含层节点数设置较少,BP网络系统的收敛速度会相对较慢,甚至无法收敛;但是,隐含层节点数设置过多又会使BP网络在结构上过于繁杂,导致计算量过大,学习时间过长。为了提高网络系统的性能,可以根据式(3)来确定隐含层节点数。
式中:W为中间层节点数;x和y分别为输入层和输出层节点数;z为任意数,z∈(0,10)。
在三层结构中,输出层传递函数选择线性函数“purelin”,而隐含层的传递函数选择“tan-sigmoid”。本文建立3层“13×10×1”的网络结构模式,隐含层节点数为10。
2.2 预测流程
基于GACO-BP模型的土石坝渗流压力预测流程见图3。
图3 基于GACO-BP神经网络模型的土石坝渗流压力预测流程
3 工程实例
3.1 工程概况
某水库位于江苏省金坛市茅山东麓薛埠河上游丘陵地区,水库设计洪水位28.57 m,校核洪水位29.59 m,正常蓄水位27.0 m,死水位16.70 m。水库大坝为均质土坝,主要为粉质粘土及粘土,坝顶高程31.26 m,最大坝高约17.0 m。该水库的大坝安全监测系统建于2006年,主要进行环境、渗流和变形监测。
3.2 算法初始化
遗传算法中,设计变量采用实数编码,目标函数取为:
个体适应度函数取为:
定义各参数初值:种群个体数量取为200,最大进化代数取为300,采用轮盘赌选择法进行选择操作,交叉概率取为0.5,变异概率取为0.25,其余参数根据经验取相应合适值。
蚁群算法中,定义各参数初值:最大循环次数Mmax=300,蚂蚁数量取为50,信息素启发式因子α=1,期望值启发式因子β=5,信息素残留系数ρ=0.7,其余参数根据经验取相应合适值。
经过对比尝试本文将学习次数定为5000,速率定为0.02,学习目标定为0.002。
3.3 样本选取与训练
为了对所构建的GACO-BP预警模型的可行性和有效性进行验证,在该土石坝的所有测点中选取两个代表测点(命名为第一测点和第二测点)的数据进行仿真计算,以该土石坝2011年9月10日~2013年9月10日的监测资料作为训练样本,以2013年9月11日~2013年10月10日的监测资料作为预测样本。
为了使输入数据更加适合神经网络的训练,提高学习速度,在开始仿真计算前,先要对学习样本进行预处理。采用极差正规化方法,对样本输入值及输出值进行归一化处理,见式(6)。
式中:为归一化后的值;Xm为原始数据;Xmax、Xmin分别代表被处理样本中的最大值和最小值。
给定精度0.001,利用MATLAB对GACO-BP神经网络渗流压力预测模型和标准BP神经网络模型进行多次仿真试验,对比两者的最优训练速度见表1。
表1 GACO-BP与标准BP神经网络模型训练速度对比
从表1可以看出,GACO-BP对观测数据进行内部训练仅5次就完成,训练时长只需1 min,而标准BP却需要4982次才能完成训练,相应的时长也达到104 min,由此可以发现GACO-BP神经网络预测模型的训练速度比标准BP快很多。
3.4 预测结果分析
为了更清晰地了解GACO-BP神经网络模型的预测效果,采用相同结构和参数设定的标准BP神经网络模型通过MATLAB对相同的数据样本进行训练并进行仿真预测,对比两种模型的预测效果。两测点的预测过程线分别见图4和图5。
图4 第一测点两种模型预测结果对比
图5 第二测点两种模型预测结果对比
从图4和图5中可以明显看出标准BP模型的预测结果相对偏离实际值,而改进的GACO-BP模型对于测压管水位的预测结果基本与实际吻合,直观地说明了GACO-BP模型拟合的效果更好,并且更加稳定。
以第一测点为例,对两种模型的预测结果和预测精度进行定量的对比,具体情况见表2。
表2 第一测点两种模型预测结果对比
从表2中可以看出经过改进的GACO-BP神经网络模型对土石坝测压管水位预测的平均绝对误差和平均相对误差都比标准BP神经网络模型小3倍左右,说明经过改进的模型预测精度明显提高,对标准BP神经网络模型的改进是成功的。
综合来看,经过改进的GACO-BP神经网络模型对该土石坝测压管水位的预测精度高,稳定性强,满足要求,说明该模型是可以运用到土石坝的预测领域的。
4 结语
1)蚁群算法有强鲁棒性、易于与其他算法结合以及优良的分布式计算机制等优点。将其应用于BP神经网络预测得到的结果拟合精度较高,为以后的进一步研究奠定了基础。
2)通过算例对比标准BP神经网络预测模型,直观地发现经过改进的GACO-BP神经网络预测模型具有更高的精度和训练效率,实例应用中的结果验证了GACO-BP在土石坝渗流压力预测中的实用性。