基金项目:国家自然科学基金(41472266)
第一作者:郝建斌(1975-),女,博士,教授,主要研究方向为岩土体稳定及安全性评价. E-mail: haojb@chd.edu.cn 通信作者:王 芬(1994-),女,硕士,主要研究方向为可靠性分析. E-mail:617047534@qq.com
(1.长安大学 地质工程与测绘学院,陕西 西安 710054; 2.西安市热力集团有限责任公司,陕西 西安 710016)
(1.School of Geology Engineering and Geomatics, Chang'an University, Xi'an 710054, China; 2.Xi'an District Heating Group, Xi'an 710016, China)
slope reliability; modified artificial bee colony algorithm(MABC algorithm); Support Vector Machine Regression(SVR); Monte Carlo method
DOI: 10.15986/j.1006-7930.2020.02.002
针对原始人工蜂群算法收敛较慢、易陷入局部最优的缺点,提出一种新的改进人工蜂群算法,并利用支持向量机建立了边坡安全系数预测模型(MABC-SVR).在此基础上,结合蒙特卡罗法对典型边坡算例(ACADS)进行边坡可靠性分析,计算该边坡的可靠性指标与失效概率,计算结果与已有结果基本接近,且整个建模和模拟运行过程用时不到26 s,与单纯使用蒙特卡罗法相比,用时大大缩短,可见该可靠性分析方法是科学可行的.
Aiming at the disadvantage that the original artificial bee colony algorithm converges slowly and easily falls into local optimum, a new modified artificial bee colony algorithm(MABC)is proposed, and a slope safety factor prediction model(MABC-SVR)was established by combining the support vector machine.On this basis, a typical slope example(ACADS)is analyzed by Monte Carlo method to calculate the reliability index and failure probability of the slope.The calculation results are basically close to the existing results, and the whole modeling and simulation operation process is less than 26 s.Compared to just using the Monte Carlo method, the time is greatly shortened. It can be seen that the analytical method is scientific and feasible.
边坡是一个复杂的动态系统,失稳破坏因素众多,且这些因素与边坡安全系数之间并非简单的线性关系,故对其可靠性做出准确评价较为困难.于是,研究人员便将机器学习理论中的支持向量机模型引入边坡可靠性研究,进行边坡稳定性预测、可靠度计算等.如何婷婷等[1]利用支持向量机拟合边坡的功能函数,提出了基于支持向量机的边坡可靠度分析新算法.但支持向量机模型参数在很大程度上影响预测结果的精确度,因此,研究者们提出用遗传算法[2]、蚁群算法[3]、人工蜂群算法[4]、粒子群算法[5]等对支持向量机进行参数优化.其中人工蜂群算法的特点是每次迭代都进行全局和局部搜索,增加了找到最优解的概率,使其在边坡稳定性分析应用方面得到快速推广.但原始人工蜂群算法收敛速度较慢,且易陷入局部最优,因此,许多学者设法对该算法进行改进.ZHU Guopu等[6]、王冰[7]对人工蜂群算法进行了改进,使算法性能得到较大提升.KANG Fei等[8]将粒子群算法与人工蜂群算法相结合,对支持向量机模型进行了全局优化,并将模型用于边坡系统可靠性分析,得到了理想的计算结果.
以上方法均从不同角度对人工蜂群算法进行了改进,预测结果也较为理想.本文主要针对原始人工蜂群算法收敛速度较慢、易陷入局部最优的缺点,将其进行新的改进,对蜜源更新公式进行优化,提升迭代寻优过程的效率; 运用这种新改进的人工蜂群算法(Modified ABC,MABC)优化支持向量机参数,建立预测模型,再结合蒙特卡罗法对典型边坡ACADS进行可靠性分析,验证该模型的可行性.
边坡可靠性分析是在极限平衡理论的基础上,通过构造状态方程[9]来实现的.状态方程用来描述边坡随机变量与安全系数的映射关系,而可靠度是指在规定条件和期限内,通过状态方程得到的安全系数值大于某一特定值的概率.
一般情况下,将坡体的重度、粘聚力、内摩擦角等土体参数,边坡坡度,边坡高度等几何形态,以及孔隙水压力作为影响边坡稳定性的随机变量[10],用向量形式可表示为X=(X1,X2,X3,…,Xn)T,由此构造函数模型,即
Z=g(X)=g(X1,X2,X3,…,Xn)
=F(X1,X2,X3,…,Xn)-1(1)
式中:X为边坡的基本随机变量; 函数g(X)用来反映边坡的稳定状态,称为边坡的功能函数; F(X)为边坡的安全系数函数.
在边坡工程中,通常以安全极限状态作为衡量边坡状态是否稳定的依据[11],因此,边坡的极限状态方程可表示为:
Z=g(X1,X2,X3,…,Xn)=0(2)
将影响边坡稳定的因素(R(抗滑力)和S(下滑力))看作两个相互独立的基本变量,二维状态下的极限状态曲线则如图1所示,状态函数可定义为Z=R-S.安全域中的概率为可靠度pS,失效域中的概率为失效概率pf.
Z的概率密度曲线如图2所示,失效概率为阴影部分的面积.图中,原点到均值μZ的距离用标准差σZ来表示,即μZ=βσZ.可以看出,β越大,图中阴影部分面积越小,则失效概率pf越小; 反之,β越小,pf越大.因此,β可作为衡量边坡可靠性的指标,即可靠指标.支持向量机(SVM)是一种基于统计学习理论的小样本创造性机器学习方法,结构风险最小化是其主要原则,有较强的泛化性能,是解决分类、回归问题的重要方法.对于非线性边坡,支持向量回归机(SVR)是将原始数据x映射到高维特征空间得到φ(x),进而将其转化为线性问题进行求解.
若存在样本训练集{(xi,yi)|i=1,2,3,…,n},其中:xi为D维输入向量,yi为输出目标,n为点的个数,则输入和输出之间的非线性关系可表示为
f(x)=wTφ(x)+b*(3)
式中:f(x)为预测值; w为权值向量; φ(x)为输入变量x在高维特征空间的映射; b*为偏置或负阈值.
函数回归的目的是使预测值f(xi)与实际值yi之间的误差尽可能小,这里引入不敏感损失函数ε,作为度量预测值与实际值的误差大小,表示如下:
L(xi,yi,ε)=|yi-f(xi)|ε
=max{0,|yi-f(xi)-ε|}(4)
当差值小于ε时,误差将不计入损失函数.
SVR的主要学习任务是找出合适的w和b*,使风险函数最小化.根据Vapnic-Chervonenkis理论[15],该问题可转化为二次规划问题.在边坡的非线性问题中,引入松弛变量ξi≥0,ξi*≥0(i=1,2,3,…,n),以此度量一个数据点与理想条件的偏离程度,则考虑不敏感损失函数ε的二次规划问题可描述为:
minR(w,ξi,ξ*i)=1/2‖w‖2+C∑Pp=1(ξi+ξ*i)(5)
Subject to{yi-wφ(xi)-b*≤ε+ξi
wφ(xi)+b*-yi≤ε+ξ*i
ξi≥0,ξ*i≥0(6)
式中: C为惩罚因子,控制对大于拟合误差ε的惩罚程度.
在二次规划中的约束最优问题中,通常采用Lagrange系数法将上述问题转化为其对偶问题进行解决,并引入内积核函数K(xi·x)=φ(xi)·φ(x),最终得到非线性回归函数f(x),即
f(x)=∑ni=1(αi-αi*)K(xi·x)+b*(7)
式中:0≤αi,α*i≤C,(i=1,2,3,…,n),为拉格朗日乘子; x为待测样本; xi为训练样本.
建立支持向量机模型时,采用目前常用的径向基核函数(RBF),即
K(x,xi)=exp(-g‖x-xi‖2)(8)
式中,g为核函数参数.
在支持向量机回归模型中,惩罚因子C和核函数参数g是对支持向量机预测影响较大的参数,为了避免人工选取参数的不准确性和低效率性,本文选用人工蜂群算法寻求最优参数.
人工蜂群算法是模仿蜜蜂行为的一种集群智能优化算法,包括四个主要元素:蜜源,引领蜂,跟随蜂和侦查蜂,其中,侦查蜂找到蜜源后变成引领蜂,跟随蜂接收到引领蜂传递的蜜源信息后选择适当蜜源去采蜜[16],蜜源的位置相当于优化问题中的可能解,而蜜源包含的蜜量则代表对应解的适应度,则搜寻含蜜量最多的蜜源活动可以转变为寻找最优解的过程[17].在该算法中,设定种群数量NP,蜜源数量FP=NP/2,蜜源维数量D=2,其具体流程如图3所示.
蜂群算法实现过程中,满足如下公式:xij=xjmin+rand(0,1)(xjmax-xjmin)(9)
vij=xij+θ(xij-xkj)(10)
式中:i∈{1,2,…,FN},表示蜜源个数; j是[1,D]中的一个随机整数,表示引领蜂随机地选择一维进行搜索; xjmax为搜索空间上限; xjmin为搜索空间下限; k∈{1,2,…,FN},k≠i,表示在FN个蜜源随机选择不同于i的蜜源; θ为[-1,1]之间的随机数,决定扰动幅度.
跟随蜂选择蜜源i的概率为
pi=(fiti)/(∑FNi=1fiti)(11)
fiti={1/(1+fi) fi≥0
1+abs(fi)fi<0(12)
式中,fiti为蜜源i的适应度,fi为蜜源i对应的解的函数值.
尽管原始蜂群算法搜索精度较高且鲁棒性较强,但易陷入局部最优,且蜜源更新需要在所有蜜源周围找更高质量的解xbest,j,该过程较为繁琐且用时较长.本文先将蜜源的适应度进行排序,找出适应度最高的蜜源,然后在其周围进行更优解的搜索,蜜源更新公式在式(10)的基础上变为
vij=xbest,j+θ(xij-xkj)(13)
笔者已对改进人工蜂群算法(MABC)的性能进行了测试[18],测试结果表明,该算法全局性更好,在处理单峰函数时具备跳出局部最优解的能力,在处理多峰函数时能在迭代次数较少的情况下搜索到全局最小值,避免了蜜源搜索的随机性,能够使目标值以最快的速度逼近最小值.
用向量x=(x1,x2,…,xn)表示影响边坡稳定性的随机变量(影响边坡稳定性的因素),用向量y=(y1,y2,…,yn)表示边坡的安全系数.随机变量确定后,为消除各维不同数量间的差别,对不同量纲和数量级的变量进行归一化,将原样本数据均转化至[-1,1]之间,映射如下:
y=2(x-xmin)/(xmax-xmin)-1(14)
式中,x,y∈Rn,xmin=min(x),xmax=max(x).
对输入输出数据进行归一化映射,并选择径向基核函数(RBF)作为模型的核函数,然后用改进的人工蜂群算法搜索最优参数C、g,最后用该参数建立边坡安全系数预测模型(SVR模型).
由于部分边坡功能函数是无法显式表达的,用前文所建立的边坡安全系数预测模型拟合边坡实际功能函数,再结合蒙特卡罗法进行边坡可靠性分析,可以避免直接采用可靠性分析方法造成的繁琐计算过程,并能得到精度较高的结果.利用MABC-SVR模型对边坡进行可靠性分析的流程如图4所示:
选取文献[19]中的典型边坡(ACADS),该边坡为土质边坡,包括三层不同的地层,其土体参数见表1,各参数均服从正态分布.对该边坡进行稳定性分析时,采用简化Bishop法对安全系数进行求解,求得安全系数F=1.403,最危险滑面如图5所示.通过表1确定该边坡的随机变量个数D=4,即C2,φ2,C3,φ3选用拉丁超立方抽样构造训练样本,数量以N=15D=60为宜,选用均匀设计法构造20个测试样本,见表2.
样本构造完成后,建立功能函数映射模型,过程中将MABC-SVR模型运行20次,当精度满足要求时,则可得到模型参数C和g的最优值,进而得到样本点的预测值、回归系数(r2)和最大相对误差,运行结果如图6所示.为了更直观地展示预测结果,将预测值与实际值进行对比,拟合情况见图7. 由图7可看出,样本点均匀紧密分布在Fs(实际)=Fs(预测)直线的两侧,回归效果较为理想,说明所建立的SVR模型能很好地拟合样本点,且预测精度高、误差较小.经过105次蒙特卡罗模拟后,则可得到ACADS边坡算例的可靠指标β、失效概率pf以及变异系数COVpf,将本文的计算结果与其他可靠性分析方法的结果进行对比,结果如表3所示.
表3中,前2种方法直接使用蒙特卡罗抽样法.为提高计算效率,后几种方法分别将蒙特卡罗法与高斯过程回归(GPR)[8]、径向基函数(RBF)[21]、带ν参数的支持向量机(ν-SVM)[22]、粒子群算法(PSO)[23]结合,计算结果均具有较高的精度.本文将蒙特卡罗法与优化的支持向量机(MABC-SVR)结合,计算所得失稳概率与其他方法计算结果接近,计算精度较高,且整个建模和模拟运行过程用时不到26s,与单纯的使用蒙特卡罗法相比,用时大大缩短,可见该可靠性分析方法是科学可行的.
(1)将笔者提出的新的改进人工蜂群(MABC)算法与支持向量机相结合,建立了边坡安全系数预测模型(MABC-SVR),该模型克服了原始人工蜂群算法收敛速度慢、易陷入局部最优等缺点.
(2)利用MABC-SVR的边坡安全系数预测模型,结合蒙特卡罗法对典型边坡(ACADS)进行了边坡可靠性分析,所获得的可靠指标和失效概率与其他可靠度分析方法获得的结果较为一致.
(3)与其他边坡可靠性计算方法相比,本文所提出的MABC-SVR计算方法不仅能较为准确地进行边坡可靠性分析,且避免了大量繁琐的演算过程,很大程度上提高了计算效率,并得到了精度较高的结果.