Double mutation genetic algorithm and its application to the critical slip surface search
-
摘要:
针对传统的优化算法难以在具有变量多、约束条件复杂、局部极值点多的边坡临界滑动面搜索中取得较好效果的问题,提出双重变异遗传算法(DMGA)。一方面,该算法通过探测变异操作提升算法的局部寻优能力,通过直接变异操作提升算法的全局寻优能力,两者的结合使算法能够在搜索的广度与深度上达到较好的平衡;另一方面,算法采用考虑个体适应度值与进化代数的自适应交叉概率及自适应变异概率,使算法在进化的早期能够增加种群的多样性,在进化的后期能够保护较优的个体不受破坏。将该算法与简化Bishop法相结合,对澳大利亚计算机应用协会(ACADS)提供的考核题及一个海堤边坡工程实例进行分析,计算结果表明:(1)对于均质边坡和非均质边坡,该方法均能准确搜索到边坡的临界滑动面及相应的安全系数;(2)与仅进行直接变异或探测变异的遗传算法相比,双重变异遗传算法具有更强的全局搜索能力及更好的鲁棒性,具有广阔的应用前景。
Abstract:Considering the fact that the optimization function of the critical slip surface search problem has many variables, complex constraints and many local extremum points, it is difficult for the traditional optimization method to achieve better search results. Therefore, a genetic algorithm based on double mutation strategy is proposed to search the critical slip surface of slope. On one hand, the algorithm improves the local optimization ability of the algorithm by detecting mutation operation and the global optimization ability of the algorithm by direct mutation operation. The combination of detection mutation operation and direct mutation operation enables the algorithm to achieve a good balance between the breadth and depth of the search. On the other hand, the algorithm adopts adaptive crossover probability and adaptive mutation probability considering individual fitness value and evolution times, so that the algorithm can increase the diversity of population in the early stage of evolution. The algorithm can protect the better individuals from destruction in the later stage of evolution. The algorithm is combined with the simplified Bishop method to calculate the examination questions provided by ACADS and a seawall slope problem. The results show that (1) for both homogeneous and heterogeneous slopes, this method can accurately search the critical slip surface of the slope and calculate the corresponding safety factor. (2) Compared with genetic algorithms that only carry out direct mutation or detect mutation, the double mutation genetic algorithm has stronger global search ability and better robustness, and has a broad application prospect.
-
Key words:
- genetic algorithm /
- slope stability /
- simplified Bishop method /
- critical slip surface
-
在公路工程、建筑工程、矿山工程、水利工程等领域中,常会遇到大量的边坡稳定性问题。确定边坡临界滑动面对边坡稳定性分析及坍岸宽度预测等研究具有重要意义[1]。
边坡临界滑动面的搜索,本质上是一个优化问题,其具有变量多、约束条件复杂、局部极值点多、非凸性等特点,使得传统的优化算法(如模式搜索法)在搜索临界滑动面时,常常陷入局部极值点,给边坡的稳定性分析带来许多困难。
遗传算法(genetic algorithm,GA)由 Holland教授于 20世纪 70 年代提出,是一种模拟达尔文遗传选择和自然淘汰的生物进化过程的搜索寻优算法,具有思想简单、易于编程实现、算法健壮等优点,同时还具有隐含并行性和全局搜索等显著特性[2]。因此,一些学者将遗传算法运用到边坡临界滑动面搜索研究中,取得了一定成效[3-8]。如,贺子光等[3]将单纯形法和回溯机制引入GEP中,提出了混合GEP方法搜索边坡的临界滑动面;梁冠亭等[4]采用自适应遗传优化算法搜索采用抗滑桩支护边坡的临界滑动面;朱剑锋等[5]提出自适应禁忌变异遗传算法搜索土钉墙临界滑动面。但是目前的标准遗传算法及其改进算法仍在不同程度上存在收敛速度较慢、容易进入早熟等缺陷,有待进一步改进和完善。
本文在传统遗传算法的基础上,提出双重变异策略对遗传算法进行改进,形成双重变异遗传算法(DMGA),并结合简化Bishop法,编写Python程序,通过对土坡算例临界滑动面的计算,进一步为边坡临界滑动面搜索提供有效方法。
1. 临界滑动面搜索问题的目标函数
求解边坡的临界滑动面,即是搜索使边坡安全系数最小的滑动面。边坡稳定性计算方法有很多,主要包括刚体极限平衡方法和数值模拟方法[9-10]。对于滑动面呈圆弧形的土质边坡,由于简化Bishop法计算简单、物理意义明确,在工程实践中应用广泛。因此本文采用简化Bishop法计算土质边坡的稳定性。
1.1 简化Bishop法
简化Bishop法是一种适用于滑动面呈圆弧形的边坡的稳定性分析方法。其中边坡安全系数F的计算公式[11]为:
F=n∑i=11mi(Witanφi+cilicosαi)n∑i=1Wisinαi (1) mi=cosαi+tanφisinαiF (2) 式中:
ci ——第i条块滑动面上岩土体的黏聚力/kPa;φi ——第i条块滑动面上岩土体的内摩擦角/(°);li ——第i条块滑动面的弧长/m;Wi——第i条块的单宽重量/(kN· m−1);
αi ——第i条块滑动面倾角/(°),当滑动面倾向与滑动方向一致时,αi 取正;当滑动面倾向与滑动方向相反时,αi 取负。当变量mi很小时,计算结果与实际情况不符。根据一些学者的意见,当
mi⩽0.2 时,不能采用简化Bishop法计算边坡安全系数[11]。1.2 目标函数的确定
边坡临界滑动面的位置与圆弧形滑动面的圆心半径R、圆心横坐标xo、圆心纵坐标yo有关,因此将这3个量作为目标函数的求解变量。
并不是任意半径及圆心位置的圆弧都能计算出边坡的安全系数,如发生圆弧与边坡不存在交点,或所采用的边坡安全系数计算方法不适用等情况。因此,临界滑动面搜索问题可表示为在一定约束条件下求解边坡安全系数最小值,即求解下面约束问题:
\begin{gathered} \min \;\;\; F({\boldsymbol{x}}) \hfill \\ {\rm{s.t.}} \;\;\; {g_i}({\boldsymbol{x}}) \geqslant 0, \;\;\; i = 1,2, \cdots ,n \hfill \\ \end{gathered} (3) 运用外点罚函数法[12]将该约束问题转化为无约束问题:
\min \;\;\; G({\boldsymbol{x}}) (4) 其中:
G({\boldsymbol{x}}) = F({\boldsymbol{x}}) + \sigma \sum\limits_{i = 1}^n {{{\left[ {\max\left\{ {0, - {g_i}({\boldsymbol{x}})} \right\}} \right]}^2}} (5) 其中,当圆弧滑动面与坡体无交点时,F(x)不存在,则令其为一较大值100;σ为很大的正数,取值1 000。
2. 双重变异遗传算法的设计
2.1 个体编码与初始种群产生
本文对变量采用一种特殊的实数编码,在编码中设置符号基因位与数字基因位。符号基因位存放实数的符号信息,当实数为正或0时,该基因位的值取1;实数为负时,该基因位的值取−1。数字基因位存放实数的数字部分,实数各位上的数字占一个基因位,且该位上的数字即为对应基因位的值。对每个变量xi均采用上述实数编码,并将它们的编码依次连接构成一个染色体。例如,若目标函数的解由3个变量构成,其中变量x1为36.12,变量x2为−5.099,变量x3为72.562,则对其进行实数编码如图1所示。
初始种群内的个体数为N,每个个体通过随机数产生,个体染色体中的每个数字基因位随机生成[0,9]区间的整数,每个符号基因位随机生成1或−1,若该变量不为负,则对应符号基因位仅产生1。
2.2 适应度值函数
遗传算法在进化时,以个体的适应度值作为搜索依据。求解优化问题时,需要将目标函数转化为适应度函数。由于目标函数G(x)为最小值问题,构造适应度值函数如下:
f({\boldsymbol{x}}) = \frac{1}{{1 + G({\boldsymbol{x}})}} (6) 适应度函数值f(x)越大,边坡的安全系数就越小。
2.3 双重变异遗传算法的进化过程
2.3.1 选择操作
父代个体的适应度值确定后,按照适应度值进行个体的选择。本文种群的选择采用精英保留策略 [13-14],每一代种群进化完成后,首先从中找出适应度值最大的一个个体,直接让其进入下一代,不再对其进行交叉、变异操作。剩余的个体,则采用转盘式选择方式进行选择操作,转盘式选择的基本原理是根据每个个体的适应度值的比例来确定该个体的选择概率[15]。
转盘式选择的计算方法:先根据个体的适应度值
{f_i} 按式(8)计算个体的选择概率{p_i} ,并令{p_0} = 0 ,然后生成[0,1]区间的随机数r,如果r满足式(7),则选择个体j。\sum\limits_{i = 0}^{j - 1} {{p_i}} \lt r \leqslant \sum\limits_{i = 0}^j {{p_i}} (7) 其中:
{p_i} = \frac{{{f_i}}}{{\displaystyle\sum {{f_i}} }} (8) 2.3.2 自适应交叉操作
在遗传算法中,通过交叉操作既可以使种群多样化,又可以引导搜索方向,促进优秀个体的产生。本文采取单变量交叉方式,即从种群中选出任意2个个体(个体1、个体2)进行交叉,当产生的[0,1)区间的随机数小于交叉概率Pc时,随机选择一个变量xi,使个体1与个体2中变量xi所对应的基因位的值进行交换。
交叉概率是影响遗传算法性能的关键因素之一。卢明奇等[16]为了解决传统的自适应遗传算法在进化初期常存在停滞现象、进化后期易陷入局部极值点的问题,提出了一种改进的自适应交叉概率。但该方法参数较多,增加了参数设置的难度。本文在考虑适应度值及进化代数的情况下,提出一种复合自适应交叉概率,使交叉概率Pc随个体适应度值及进化代数进行调整,Pc的计算公式如下:
{P_c} = \left\{ \begin{aligned} &{{{\left( {\frac{{{f_{\max}} - f'}}{{{f_{\max}} - \overline f }}} \right)}^{\tfrac{t}{T}}}, }&{f' \geqslant \overline f } \\ &{1, }&{f' \lt \overline f } \end{aligned} \right. (9) 式中:fmax——当前种群中的最大适应度值;
f' ——待交叉个体中较大的适应度值;\overline f ——当前种群的平均适应度值;T——总的进化代数;
t——当前进化代数。
由式(9)可以看出,当
f' \geqslant \overline f 时,在进化早期,交叉概率大,且受适应度值大小的影响小,从而增加种群的多样性,使算法的搜索具有一定广度;在进化后期,交叉概率受适应度值大小的影响较大,当个体适应度值接近当前种群中的最大适应度值时,交叉概率较小,从而能够保护较优的个体不受破坏。2.3.3 双重变异操作
在传统的遗传算法中,变异操作本质上是随机搜索,并不能保证产生改进的后代[17],进而常导致遗传算法的收敛速度较慢。为此,本文借鉴模式搜索法中探测移动的思想,提出探测变异操作,并与传统的直接变异操作相结合,构成双重变异策略对遗传算法进行改进,使遗传算法的收敛速度及全局搜索能力得到提升。双重变异操作包括探测变异操作与直接变异操作。其中,探测变异操作将提升算法的局部寻优能力,直接变异操作将使算法具备全局寻优能力。
为了叙述方便,将采用双重变异策略的遗传算法称为双重变异遗传算法(DMGA),将仅采用探测变异策略的遗传算法称为探测变异遗传算法(DEMGA),将仅采用直接变异策略的遗传算法称为直接变异遗传算法(DIMGA)。
(1)探测变异操作
探测变异操作是指将待变异个体的每个变量xi所对应的染色体等分为前后两段,在每一段中随机选择1个基因位,然后依次对每一个随机选择的基因位进行变异探测。若变异后,个体的适应度值增加,则该基因位发生变异;否则,不发生变异。因此,探测变异的结果是使变异向着适应度值增加的方向进行。
探测变异的具体操作是在随机选择1个基因位后分5种情况进行。
情况1:若选择的是符号位变异,则直接进行变异探测,并计算适应度值,判断是否发生变异(图2)。
情况2:若选择的基因位为变量xi的第1个数字位,则直接进行变异探测,并计算适应度值,判断是否发生变异。该变异探测分3种子情况(图3)。子情况1,若该位的值为0,则变异为[1,9]区间的随机整数;子情况2,若该位的值为9,则变异为[0,8]区间的随机整数;子情况3,若该位的值为[1,8]区间的整数m,则变异分两个方向进行探测,一个方向是变异为[m+1,9]区间的随机整数,另一个方向是变异为[0,m−1]区间的随机整数,然后将适应度值较大者与变异前适应度值进行比较,判断是否变异。
情况3:若选择的基因位位于变量xi第1个数字位之后,且该位的值位于区间[1,8],则直接进行变异探测(同情况2的子情况3),并计算适应度值,判断是否发生变异。
情况4:若选择的基因位位于变量xi第1个数字位之后,且该位的值为0,则该变异探测分2种子情况(图4)。子情况1,当其前一位的值等于0时,则该位变异为[1,9]区间的随机整数;子情况2,当其前一位的值大于0时,则变异分两个方向进行探测,一个方向是该位变异为[1,9]区间的随机整数m,另一个方向是该位值也变异为m,且前一位的值作减1变异,然后将适应度值较大者与变异前适应度值进行比较,判断是否变异。
情况5:若选择的基因位位于变量xi第1个数字位之后,且该位的值为9,则该变异探测分2种子情况(图5)。子情况1,当其前一位的值等于9时,则该位变异为[0,8]区间的随机整数;子情况2,当其前一位的值小于9时,则变异分两个方向进行探测,一个方向是该位变异为[0,8]区间的随机整数m,另一个方向是该位值也变异为m,且前一位的值作加1变异,然后将适应度值较大者与变异前适应度值进行比较,判断是否变异。
(2)直接变异操作
直接变异操作是指将待变异个体的每个变量xi所对应的染色体等分为前后两段,在每一段中随机选择1个基因位进行直接变异,变异后的适应度值不控制变异的发生。直接变异能够提供种群的多样性,避免早熟的产生。
(3)双重变异操作
当待变异个体适应度值
f 接近当前最佳个体时,希望待变异个体能够具有局部寻优能力,同时也具有跳出局部极值点,搜索全局最优的能力;当待变异个体适应度值f 距离当前最佳个体较远时,希望个体向着适应度值增加的方向变异。将探测变异与直接变异结合在一起形成双重变异操作,便可以实现上述目标。双重变异操作的实施策略:
当
f \geqslant \overline f 时,待变异个体适应度值与当前最佳个体的距离较近,产生一个[0,1]的随机数\gamma ,若\gamma > 0.5 ,采用探测变异;若\gamma \leqslant 0.5 ,采用直接变异。当
f < \overline f 时,待变异个体适应度值与当前最佳个体的距离较远,采用探测变异。(4)变异概率
变异操作是在一定的概率下发生的,当产生的[0,1)区间的随机数小于变异概率Pm时,将会发生变异。变异概率的大小决定着新个体产生的机会及计算量的大小。较小的变异概率,产生新个体的机会较小;较大的变异概率,遗传算法的计算量较大,且趋于纯粹的随机搜索算法。
为了能达到好的寻优效果,在进化的早期期望能有较大的变异概率,以增加搜索的广度;在进化的晚期期望能有较小的变异概率,以提高进化的速度。同时,也希望当待变异个体适应度值接近当前最佳个体时,减小变异概率,使较好的个体得到保留;当待变异个体适应度值距离当前最佳个体较远时,有较大的变异概率,使较差的个体容易被淘汰。
基于上述原因,本文在综合考虑待变异个体的适应度值
f 及进化代数对变异概率影响的情况下,提出一种复合自适应变异概率Pm,其计算公式如下:{P_{\rm{m}}} = \left\{ \begin{aligned} &{k\left[ {1 + \left( {{a^{\tfrac{t}{T}}} - 1} \right)\frac{{f - \overline f }}{{{f_{\max}} - \overline f }}} \right],}&{f \geqslant \overline f } \\ &{k,}&{f \lt \overline f } \end{aligned} \right. (10) 其中,a为区间(0,1)内的常数,a越大,变异概率Pm越大;k为区间[0,1]内的常数,k越大,变异概率Pm也越大。
(f - \overline f )/({f_{\max}} - \overline f ) 反映了待变异个体的适应度值距离当前种群中的最大适应度值的相对距离;当(f - \overline f )/ ({f_{\max}} - \overline f ) 一定时,Pm将随t的增大而减小,即进化早期变异概率较大,使算法有较大的搜索广度;当t一定时,(f - \overline f )/({f_{\max}} - \overline f ) 越大,Pm就越小,即待变异个体适应度值越接近当前最佳个体,较好的个体就更容易得到保留。2.4 双重变异遗传算法的计算步骤
步骤一:随机生成实数编码(图1)的初始种群,初始种群中的个体数为N,且N为偶数。
步骤二:将个体染色体解码为实数,根据式(6)计算初始种群中每个个体的适应度值,并令当前进化代数t=0。
步骤三:根据式(8)计算选择概率,并令j=0。
步骤四:如果j=0,将种群中适应度值最大的一个个体直接选出,不进行后续的交叉及变异操作,直接复制到下一代,然后根据式(7)采用转盘式选择方式选择1个个体,进行步骤六;如果j >0,根据式(7)采用转盘式选择方式选择2个个体,进行步骤五。
步骤五:将选出的2个个体进行单变量交叉操作,进行步骤六。交叉操作方法:当产生的[0,1)区间的随机数小于交叉概率Pc时,随机选择一个变量xi,使个体1中变量xi所对应的基因位的值与个体2的进行交换。其中,交叉概率Pc根据式(9)计算得到。
步骤六:对个体进行双重变异操作,进行步骤七。双重变异操作方法:当
f \geqslant \overline f 时,产生一个[0,1]的随机数\gamma ,若\gamma > 0.5 ,采用探测变异;若\gamma \leqslant 0.5 ,采用直接变异。当f < \overline f 时,采用探测变异。探测变异操作、直接变异操作按2.3.3节所述方法进行。变异概率Pm按式(10)计算。步骤七:如果(j+1)×2<N,计算j=j+1,转步骤四;如果(j+1)×2==N,则该代的进化完成,计算t=t+1,进行步骤八。
步骤八:将新生成的种群个体的染色体解码为实数,根据式(6)计算适应度值。如果t==T,计算结束;如果t<T,转步骤三。
说明:本文所述的直接变异遗传算法、探测变异遗传算法与双重变异遗传算法的计算步骤的不同之处主要体现在步骤六。若将步骤六改为:“对个体进行直接变异操作”,则为直接变异遗传算法的计算步骤;若将步骤六改为:“对个体进行探测变异操作”,则为探测变异遗传算法的计算步骤。
3. 澳大利亚计算机应用协会考核题分析
本文将双重变异遗传算法(DMGA)与简化Bishop法相结合编写Python程序,以1987年澳大利亚计算机应用协会(ACADS)设计的考核题1(a)、考核题1(c)[18]为求解对象,对这两道题分别进行50次独立计算,并以ACADS提供的裁判程序答案检验算法的寻优效果。然后,在分别仅进行直接变异、探测变异的情况下,对上述两题也进行50次独立计算,对比分析DMGA算法的性能。
3.1 考核题及其裁判程序答案
考核题1(a)为一均质土质边坡,如图6所示,坡高10 m,坡度为26.565°,黏聚力为3 kPa,内摩擦角为19.6°,土体重度为20 kN/m3。要求确定边坡的临界滑动面及最小安全系数。
考核题1(c)为一非均质土质边坡,如图7所示,坡高10 m,坡度为26.565°,黏聚力、内摩擦角及土体重度见表1。要求确定边坡的临界滑动面及最小安全系数。
土号 黏聚力
/ kPa内摩擦角
/(°)重度
/(kN·m−3)1#土 0.0 38.0 19.5 2#土 5.3 23.0 19.5 3#土 7.2 20.0 19.5 ACADS给出的考核题1(a)边坡最小安全系数的裁判程序答案有:0.990,0.991,1.000;考核题1(c)边坡最小安全系数的裁判程序答案有:1.385,1.390,1.406。
3.2 计算参数
本文给定圆弧滑动面半径R、圆心横坐标xo、圆心纵坐标yo的搜索区间分别为:R∈(0,99],xo∈[−99,99],yo∈[0,99]。
计算所涉及的相关参数取值如下:
(a)滑体土条宽度按R/50进行取值,且单个条块不跨越地形剖面的转折点。当含有地形转折点、滑动面剪出口及滑动面后缘的条块,其宽度不足R/50时,上述相应控制点即为条块端点;
(b)变异概率计算公式(10)中参数a=0.5,k=0.6;
(c)实数编码的串长为18(每个变量的编码长度为6,且变量精确到3位小数),如图1所示;
(d)种群数N为50;
(e)初次最大进化代数T为200,当最大进化代数与最佳个体出现代数之差小于等于30时,最大进化代数增加30代,最大进化代数的最大值为500。
3.3 计算结果及过程分析
3.3.1 双重变异遗传算法计算结果
表2、表3分别是基于双重变异遗传算法对考核题1(a)、1(c)的计算结果(限于篇幅,仅列出了部分计算结果)。
表 2. 考核题1(a)的计算结果(DMGA)Table 2. Calculated results of EX1(a)(DMGA)序号 F R/m xo/m yo/m 1 0.985 3 28.967 −0.637 28.960 2 0.985 2 28.824 −0.501 28.820 3 0.985 2 29.003 −0.564 28.998 4 0.985 2 28.231 −0.291 28.230 5 0.985 5 29.899 −0.882 29.886 6 0.985 7 30.246 −1.044 30.228 7 0.985 5 27.486 −0.026 27.486 8 0.985 2 29.040 −0.591 29.034 9 0.985 9 30.390 −0.999 30.374 10 0.985 6 30.035 −0.950 30.020 表 3. 考核题1(c)的计算结果(DMGA)Table 3. Calculated results of EX1(c)(DMGA)序号 F R/m xo/m yo/m 1 1.396 6 19.365 4.300 18.799 2 1.397 8 19.749 4.200 19.036 3 1.395 4 18.344 4.412 17.659 4 1.400 1 20.140 3.818 19.699 5 1.399 9 20.255 4.129 19.609 6 1.397 1 18.740 4.169 17.994 7 1.394 9 18.400 4.551 17.809 8 1.396 1 18.921 4.027 18.439 9 1.397 2 18.766 4.300 17.899 10 1.400 3 20.086 3.893 19.699 计算结果统计显示,对于考核题1(a),50次计算中,安全系数的最小值为0.985 2,最大值为0.993 7,平均值为0.985 7,与该考核题的裁判程序答案基本一致,说明对于均质边坡该算法可靠有效;对于考核题1(c),50次计算中,安全系数的最小值为1.394 9,最大值为1.407 0,平均值为1.397 9,与该考核题推荐的裁判答案基本一致,说明对于非均质边坡该算法也可靠有效。
3.3.2 三种算法计算结果比较
基于双重变异遗传算法(DMGA)、直接变异遗传算法(DIMGA)、探测变异遗传算法(DEMGA),分别对两道考核题计算50次的统计结果(表4)显示,DMGA算法搜索得到的安全系数平均值小于DIMGA算法、DEMGA算法的计算结果,说明DMGA算法具有更强的全局搜索能力。并且DMGA算法计算所得的标准差较小,说明该算法具有较好的鲁棒性。
表 4. 考核题1(a)、1(c)的计算结果统计分析Table 4. Statistical analysis of computation results of EX1(a)and EX1(c)考核题 算法 最小安全
系数最大安全
系数平均安全
系数安全系数的
标准差1(a) DMGA 0.985 2 0.993 7 0.985 7 0.001 3 DIMGA 0.985 3 1.029 9 0.995 8 0.011 3 DEMGA 0.985 2 1.116 0 1.010 7 0.036 5 1(c) DMGA 1.394 9 1.407 0 1.397 9 0.003 0 DIMGA 1.397 9 1.438 7 1.412 5 0.009 1 DEMGA 1.395 3 1.471 1 1.413 2 0.026 0 3.3.3 三种算法计算过程对比
(1)单次计算的进化过程对比
图8为采用DMGA算法、DIMGA算法、DEMGA算法对考核题1(a)、1(c)进行的第1次计算的进化过程曲线;表5为采用DMGA算法、DIMGA算法、DEMGA算法对考核题1(a)、1(c)进行的第1次计算的收敛过程对比表。图8显示DEMGA算法在计算考核题1(a)时,最大适应度值曲线明显偏低,表明陷入了局部极值点;DIMGA算法计算的最大适应度值曲线在进化早期明显偏低,且对考核题1(a)、1(c)分别在第116代和第151代才收敛(表5),表明其收敛速度较慢;DMGA算法分别在第66代和第72代时收敛,其计算得到的安全系数低于DIMGA算法和DEMGA算法,显示出优于DIMGA算法和DEMGA算法的寻优能力。
表 5. 考核题1(a)、1(c)算法收敛过程对比表Table 5. Comparison of convergence processes of EX1(a)and EX1(c)考核题 算法 收敛
代数最大适应度值 安全
系数1(a) DMGA 66 0.50371 0.985 3 DIMGA 116 0.50321 0.987 2 DEMGA 110 0.49375 1.025 3 1(c) DMGA 72 0.41726 1.396 6 DIMGA 151 0.41605 1.403 6 DEMGA 27 0.41673 1.399 6 (2)50次计算的平均进化过程对比
为了进一步对比三种算法进化过程的统计变化规律,根据各算法50次计算的历代最佳个体的适应度值计算出历代最佳个体的平均适应度值,绘制出前200代的平均进化过程曲线(图9)。曲线显示,与上述单次计算对比类似,DEMGA算法的局部寻优能力较强,在进化的早期,能快速搜索到局部极值点附近,但其跳出局部极值点的能力弱,容易出现早熟现象;DIMGA算法具有全局搜索的特点,局部寻优能力较弱,收敛速度较慢;DMGA算法将探测变异与直接变异结合,既具有较强的局部搜索能力,又具有较强的跳出局部极值点的能力,能够在搜索的广度与深度上达到较好平衡,因此其全局寻优能力强。
4. 工程实例
某海堤边坡[19-20] 为一非均质土质边坡,其剖面及土层物理力学参数如图10所示,现采用双重变异遗传算法结合简化Bishop法搜索该边坡的临界滑动面及最小安全系数。
圆弧滑动面半径及圆心坐标的搜索区间分别为:R∈(0,99],xo∈[−99,99],yo∈[0,99]。且需满足约束条件[20]:6≤yo≤30。式(10)中的参数k=0.7,其他参数设置与3.2节相同。
经过1次独立计算,根据历代的适应度值(最大值、平均值)与进化代数做出进化过程曲线(图11),该曲线显示了历代进化的个体适应度值的变化情况。在进化的初期(第7代之前),种群的最大适应度值接近于0,说明进化初期种群中的个体均位于非可行域内。第7代之后,遗传进化使种群中的一部分个体进入可行域,种群的最大适应度值及平均适应度值总体上随进化代数的增加而增加。当进化到第83代时,种群的最大适应度值为0.370 89,随后直到第200代进化结束时均未更新,算法收敛。
计算结果显示,边坡的安全系数F=1.696 2,临界滑动面的圆心坐标xo=6.859 m,yo=11.910 m,半径R=14.910 m,临界滑动面左侧与坡面交点的横坐标为xL=−2.11 m,临界滑动面右侧与坡面交点的横坐标为xR=20.55 m。与文献[20]采用简化Bishop法计算的滑面位置(xL=−2.29 m, xR=20.17 m, yo=11.65 m)基本一致,且安全系数小于文献[20]计算的最小值(Fmin=1.727),说明算法可靠有效,且寻优效果更佳。
5. 结论
(1)本文提出的双重变异遗传算法,能够在搜索的广度与深度上达到较好平衡,使待变异个体适应度值距离当前最佳个体较远时,能够向着适应度值增加的方向进行搜索;待变异个体适应度值接近当前最佳个体时,算法既具有局部寻优能力,也具有跳出局部极值点,搜索全局最优的能力。
(2)与仅进行直接变异或探测变异的遗传算法相比,双重变异遗传算法具有更强的全局搜索能力及鲁棒性,与简化Bishop法结合,能够有效地搜索出边坡的圆弧形临界滑动面。
-
图 6 考核题1(a)坡面示意图(坐标平移后)[18]
Figure 6.
图 7 考核题1(c)剖面图(坐标平移后)[18]
Figure 7.
土号 黏聚力
/ kPa内摩擦角
/(°)重度
/(kN·m−3)1#土 0.0 38.0 19.5 2#土 5.3 23.0 19.5 3#土 7.2 20.0 19.5 表 2 考核题1(a)的计算结果(DMGA)
Table 2. Calculated results of EX1(a)(DMGA)
序号 F R/m xo/m yo/m 1 0.985 3 28.967 −0.637 28.960 2 0.985 2 28.824 −0.501 28.820 3 0.985 2 29.003 −0.564 28.998 4 0.985 2 28.231 −0.291 28.230 5 0.985 5 29.899 −0.882 29.886 6 0.985 7 30.246 −1.044 30.228 7 0.985 5 27.486 −0.026 27.486 8 0.985 2 29.040 −0.591 29.034 9 0.985 9 30.390 −0.999 30.374 10 0.985 6 30.035 −0.950 30.020 表 3 考核题1(c)的计算结果(DMGA)
Table 3. Calculated results of EX1(c)(DMGA)
序号 F R/m xo/m yo/m 1 1.396 6 19.365 4.300 18.799 2 1.397 8 19.749 4.200 19.036 3 1.395 4 18.344 4.412 17.659 4 1.400 1 20.140 3.818 19.699 5 1.399 9 20.255 4.129 19.609 6 1.397 1 18.740 4.169 17.994 7 1.394 9 18.400 4.551 17.809 8 1.396 1 18.921 4.027 18.439 9 1.397 2 18.766 4.300 17.899 10 1.400 3 20.086 3.893 19.699 表 4 考核题1(a)、1(c)的计算结果统计分析
Table 4. Statistical analysis of computation results of EX1(a)and EX1(c)
考核题 算法 最小安全
系数最大安全
系数平均安全
系数安全系数的
标准差1(a) DMGA 0.985 2 0.993 7 0.985 7 0.001 3 DIMGA 0.985 3 1.029 9 0.995 8 0.011 3 DEMGA 0.985 2 1.116 0 1.010 7 0.036 5 1(c) DMGA 1.394 9 1.407 0 1.397 9 0.003 0 DIMGA 1.397 9 1.438 7 1.412 5 0.009 1 DEMGA 1.395 3 1.471 1 1.413 2 0.026 0 表 5 考核题1(a)、1(c)算法收敛过程对比表
Table 5. Comparison of convergence processes of EX1(a)and EX1(c)
考核题 算法 收敛
代数最大适应度值 安全
系数1(a) DMGA 66 0.50371 0.985 3 DIMGA 116 0.50321 0.987 2 DEMGA 110 0.49375 1.025 3 1(c) DMGA 72 0.41726 1.396 6 DIMGA 151 0.41605 1.403 6 DEMGA 27 0.41673 1.399 6 -
[1] 胡卸文, 张志鹏, 黄润秋, 等. 基于圆弧型滑面搜索的松散堆积体边坡坍岸宽度预测方程[J]. 水文地质工程地质,2009,36(2):47 − 51. [HU Xiewen, ZHANG Zhipeng, HUANG Runqiu, et al. Bank collapse predictive equation of the loose accumulation slope based on circular sliding surface search[J]. Hydrogeology & Engineering Geology,2009,36(2):47 − 51. (in Chinese with English abstract) doi: 10.3969/j.issn.1000-3665.2009.02.010
[2] 汪民乐, 高晓光, 范阳涛. 先进遗传算法及其工程应用[M]. 西安: 西北工业大学出版社, 2019.
WANG Minle, GAO Xiaoguang, FAN Yangtao. Advanced genetic algorithm and engineering application [M]. Xi’an: Northwestern Polytechnical University Press, 2019. (in Chinese)
[3] 贺子光, 姚翔龙, 赵法锁, 等. 改进GEP方法在边坡非圆临界滑动面搜索中的应用[J]. 长江科学院院报,2017,34(1):91 − 97. [HE Ziguang, YAO Xianglong, ZHAO Fasuo, et al. Improved genetic expression programming applied to searching for non-circular critical slip surface of slope[J]. Journal of Yangtze River Scientific Research Institute,2017,34(1):91 − 97. (in Chinese with English abstract) doi: 10.11988/ckyyb.20150985
[4] 梁冠亭, 陈昌富, 朱剑锋, 等. 基于M-P法的抗滑桩支护边坡稳定性分析[J]. 岩土力学,2015,36(2):451 − 456. [LIANG Guanting, CHEN Changfu, ZHU Jianfeng, et al. Stability analysis of pile stabilized slope based on Morgenstern-Price method[J]. Rock and Soil Mechanics,2015,36(2):451 − 456. (in Chinese with English abstract)
[5] 朱剑锋, 陈昌富, 徐日庆. 土钉墙内部稳定性分析自适应禁忌变异遗传算法[J]. 岩土力学,2010,31(5):1663 − 1669. [ZHU Jianfeng, CHEN Changfu, XU Riqing. Application of ATMGA to interior stability analysis of soil-nailing wall[J]. Rock and Soil Mechanics,2010,31(5):1663 − 1669. (in Chinese with English abstract) doi: 10.3969/j.issn.1000-7598.2010.05.054
[6] 宁社教, 姚磊华, 赵永年. 用改进的十进制遗传算法确定土质边坡最危险滑面[J]. 工程地质学报,2008,16(1):109 − 115. [NING Shejiao, YAO Leihua, ZHAO Yongnian. Application of improved decimal strings genetic algorithm to searching for the most critical slip surface of soil slope[J]. Journal of Engineering Geology,2008,16(1):109 − 115. (in Chinese with English abstract) doi: 10.3969/j.issn.1004-9665.2008.01.020
[7] 石露, 李小春, 任伟, 等. 蚁群算法与遗传算法融合及其在边坡临界滑动面搜索中的应用[J]. 岩土力学,2009,30(11):3486 − 3492. [SHI Lu, LI Xiaochun, REN Wei, et al. Hybrid of ant colony algorithm and genetic algorithm and its application to searching critical slope slip surface[J]. Rock and Soil Mechanics,2009,30(11):3486 − 3492. (in Chinese with English abstract) doi: 10.3969/j.issn.1000-7598.2009.11.045
[8] 万文, 曹平, 冯涛, 等. 基于加速混合遗传算法搜索复杂边坡的最危险滑动面[J]. 岩土工程学报,2006,28(4):475 − 479. [WAN Wen, CAO Ping, FENG Tao, et al. Searching for the most dangerous failure surface of complex slope based on accelerating hybrid genetic algorithm[J]. Chinese Journal of Geotechnical Engineering,2006,28(4):475 − 479. (in Chinese with English abstract) doi: 10.3321/j.issn:1000-4548.2006.04.010
[9] 乐超, 徐超. 加筋土边坡安全评价的简化水平条分法[J]. 水文地质工程地质,2013,40(2):74 − 78. [LE Chao, XU Chao. Simplified horizontal slice method of reinforced soil slopes safety analysis[J]. Hydrogeology & Engineering Geology,2013,40(2):74 − 78. (in Chinese with English abstract)
[10] 毕港, 陈征宙, 姜玉平, 等. 一种边坡多滑动面搜索的新方法[J]. 水文地质工程地质,2011,38(6):24 − 28. [BI Gang, CHEN Zhengzhou, JIANG Yuping, et al. A new method for searching all possible circular slips of a slope[J]. Hydrogeology & Engineering Geology,2011,38(6):24 − 28. (in Chinese with English abstract)
[11] 佴磊, 徐燕, 代树林, 等. 边坡工程[M]. 北京: 科学出版社, 2010.
NAI Lei, XU Yan, DAI Shulin, et al. Slope engineering [M]. Beijing: Science Press, 2010. (in Chinese)
[12] 陈宝林. 最优化理论与算法[M]. 2版. 北京: 清华大学出版社, 2005.
CHEN Baolin. Optimization theory and algorithm [M].2nd ed. Beijing: Tsinghua University Press, 2005. (in Chinese)
[13] 刘全, 王晓燕, 傅启明, 等. 双精英协同进化遗传算法[J]. 软件学报,2012,23(4):765 − 775. [LIU Quan, WANG Xiaoyan, FU Qiming, et al. Double elite coevolutionary genetic algorithm[J]. Journal of Software,2012,23(4):765 − 775. (in Chinese with English abstract) doi: 10.3724/SP.J.1001.2012.04040
[14] 魏彤, 龙琛. 基于改进遗传算法的移动机器人路径规划[J]. 北京航空航天大学学报,2020,46(4):703 − 711. [WEI Tong, LONG Chen. Path planning for mobile robot based on improved genetic algorithm[J]. Journal of Beijing University of Aeronautics and Astronautics,2020,46(4):703 − 711. (in Chinese with English abstract)
[15] 潘正君, 康立山, 陈毓屏. 演化计算[M]. 北京: 清华大学出版社, 1998.
PAN Zhengjun, KANG Lishan, CHEN Yuping. Evolutionary computation [M]. Beijing: Tsinghua University Press, 1998. (in Chinese)
[16] 卢明奇, 曾风波. 基于自适应遗传算法的钢筋混凝土桥墩抗震设计方法[J]. 土木工程学报,2020,53(7):73 − 77. [LU Mingqi, ZENG Fengbo. Seismic design method for reinforcement concrete piers based on adaptive genetic algorithm[J]. China Civil Engineering Journal,2020,53(7):73 − 77. (in Chinese with English abstract)
[17] 玄光男, 程润伟. 遗传算法与工程优化[M]. 于歆杰, 周根贵, 译. 北京: 清华大学出版社, 2004.
MITSUO Gen, CHENG Runwei. Genetic algorithms and engineering optimization[M]. YU Xinjie, ZHOU Gengui, trans. Beijing: Tsinghua University Press, 2004. (in Chinese)
[18] 陈祖煜, 土质边坡稳定性分析——原理·方法·程序[M]. 北京: 中国水利水电出版社, 2003.
CHEN Zuyu. Soil slope stability analysis——theory, methods and programs[M]. Beijing: China Water Conservancy and Hydropower Press, 2003. (in Chinese)
[19] 邹广电. 边坡稳定分析条分法的一个全局优化算法[J]. 岩土工程学报,2002,24(3):309 − 312. [ZOU Guangdian. A global optimization method of the slice method for slope stability analysis[J]. Chinese Journal of Geotechnical Engineering,2002,24(3):309 − 312. (in Chinese with English abstract) doi: 10.3321/j.issn:1000-4548.2002.03.009
[20] 张明瑞, 陈征宙, 刘裕华, 等. 引入退火机制的智能单粒子算法在复杂边坡最危险滑动面搜索中的应用[J]. 工程地质学报,2011,19(2):181 − 186. [ZHANG Mingrui, CHEN Zhengzhou, LIU Yuhua, et al. Application of intelligent single particle optimizer with simulated annealing mechanism to searching for critical slip surface of complex slope[J]. Journal of Engineering Geology,2011,19(2):181 − 186. (in Chinese with English abstract) doi: 10.3969/j.issn.1004-9665.2011.02.006
期刊类型引用(4)
1. 吕秋玲,吴剑平,汪东林. 求解边坡临界滑动面的分布估计算法. 水文地质工程地质. 2024(03): 149-157 . 本站查看
2. 吴剑平,汪东林. 教与学算法在复杂边坡临界滑动面搜索中的应用. 三峡大学学报(自然科学版). 2023(01): 28-33 . 百度学术
3. 蒋红. 遗传算法应用于高阶剪切梁结构损伤检测中的效果分析. 贵阳学院学报(自然科学版). 2023(04): 96-101 . 百度学术
4. 李晴芳,汪柱,于洋. 基于鲁棒性原理的碎石桩置换率优化. 吉林大学学报(地球科学版). 2022(01): 171-180 . 百度学术
其他类型引用(4)
-