|
摘 要
本文将遗传算法与神经网络相结合,构成GA-ANN法,协同求解复杂工程中的优化问题.该法既利用了神经网络的非线性映射、网络推理和预测的功能,又利用了遗传算法的全局优化特性,可广泛地应用于目标函数难以用决策变量的显函数形式来表达的众多复杂工程问题中。
关键词 遗传算法,人工神经网络,全局优化,复杂工程。
本文于1998年6月4日收到,系国家自然科学基金和中国博士后科学基金共同资助项目
许多复杂工程优化问题,都是非线性问题,且变量之间的关系有时很难用显函数形式来表达。传统的优化方法对于复杂的优化问题很容易陷入局部最优解.遗传算法(Genetic
Algorithm,简称GA)是一种全局优化算法,特别适用于多极值点的优化问题[1,2]。但GA在求解时,需要反复计算目标函数值,并通过目标函数值计算适应值,来评价可行解的适应性,而复杂工程中的许多问题,很难用一个显式来表达决策变量与目标函数值之间的关系,在这种情况下,结合人工神经网络求解它们之间的关系是非常适宜的。人工神经网络(Artificial
Neural
Networks,简称ANN)具有极强的非线性映射能力,可事先不必假设数据服从什么分布,变量之间符合什么规律或具有什么样的关系.它采用类似于“黑箱”的方法,通过学习和记忆而不是假设,找出输入(决策变量)与输出(目标函数值)之间的关系(映射)。
本文将GA与ANN相结合,构成GA—ANN法,协同求解复杂工程中的优化问题。利用ANN的非线性映射、网络推理和预测等功能协助GA进行优化求解。
1 遗传算法与人工神经网络基本原理
1.1 遗传算法(GA)
GA以生物进化过程为背景,模拟生物进化的步骤,将繁殖、杂交、变异、竞争和选择等概念引入到算法中。通过维持一组可行解,并通过对可行解的重新组合,改进可行解在多维空间内的移动轨迹或趋向,最终走向最优解。它克服了传统优化方法容易陷入局部极值的缺点,是一种全局优化算法.遗传算法的步骤如下:(1)定义一个目标函数;(2)将可行解群体在一定的约束条件下初始化,每一个可行解用一个向量x来编码,称为一条染色体,向量的分量代表基因,它对应可行解的某一决策变量;(3)计算群体中每条染色体xi(i=1,2,3,…,n)所对应的目标函数值,并以此计算适应值Fi,按Fi的大小来评价该可行解的好坏;(4)以优胜劣汰的机制,将适应值差的染色体淘汰掉,对幸存的染色体根据其适应值的好坏,按概率随机选择,进行繁殖,形成新的群体;(5)通过杂交和变异的操作,产生子代。杂交是随机选择两条染色体(双亲),将某一点或多点的基因互换而产生两个新个体.变异是基因中的某一点或多点发生突变;(6)对子代群体重复步骤(3)~(5)的操作,进行新一轮遗传进化过程,直到迭代收敛(适应值趋稳定)即找到了最优解或准最优解。
1.2 人工神经网络(ANN)
ANN是对人类大脑的一种物理结构上的模拟,即以计算机仿真的方法,从物理结构上模拟人脑,以使系统具有人脑的某些智能。在众多的ANN模型中,多层前馈神经网络模型是目前应用最为广泛的模型。用反向传播学习算法(简称BP算法)可以实现多层前馈神经网络的训练。BP算法的学习过程如下:
(1)构造网络拓扑结构,选取合理的网络学习参数。
(2)置网络各权值和阈值的初始值Wij(0)、θi(0)为[-1,1]区间内的随机数。
(3)加载训练用的学习样本:输入向量Xp(p=1,2, …,k)和期望输出Yp(p=1,2,…,k),对每个样本重复步骤4~8。
(4)计算网络的实际输出及隐层单元的状态(假定激励函数为Sigmoid函数):
|
Opj=fj(∑WjiOi-θj)=1/{1+exp[-(∑WjiOi-θj)]} |
(1) |
(5)计算网络输出误差:
|
Ep=1/2∑(Ypj-Opj) |
(2) |
|
 |
(6)若E<Es(系统平均误差容限)或Ep≤Eps(单个样本的误差容限)或达到指定的迭代步数,学习结束。否则进行误差反向传播,转向(7)。
(7)计算训练误差:
|
δpj=Opj(1-Opj)(Ypj-Opj),
(输出层) |
(3) |
|
δpj=Opj(1-Opj) ,
(隐层) |
(4) |
|
(8)修正权值和阈值: |
|
|
Wji(n+1)=Wji(n)+ηδpjOpj+α(Wji(n)-Wji(n-1)) |
(5) |
|
θj(n+1)=θj(n)+ηδpj+α(θj(n)-θj(n-1)) |
(6) |
(9)转向步骤(3)。
2 GA-ANN法计算步骤
(1)定义目标函数;(2)进行神经网络学习.本文采用BP神经网络对已收集到的一组输入。(决策变量)、输出(目标函数值)样本,按上节中介绍的步骤进行学习,建立决策变量与目标。函数值之间的非线性映射;(3)在一定的约束条件下构造初始解种群;(4)将种群中的每一个。可行解(染色体)输入给已经训练好的网络,网络将自动预测出与之对应的目标函数值,根据目标函数值计算适应值;(5)将适应值差的染色体淘汰掉,对幸存的染色体根据其适应值的优劣,按概率随机选择,进行繁殖,形成新的群体;(6)通过随机选择染色体进行杂交和变异操作产生子代;(7)对子代群体重复步骤(4)~(7),进行新一轮遗传进化过程,直到找到了最优解或准最优解。
3 GA-ANN法优越性的验证
本文首先采用一个在决策变量与目标函数值之间存在明确数学表达式的多极值点优化问题,
来验证GA-ANN法的优越性,这个问题就是求函数:
|
在区间[-2.5,2.5]上的最小值。该函数在此区间上的图象如图1所示。可以看出在此区间上f(x)具有两个极值点,全局最小点在x>0一侧。
首先采用传统梯度法求f(x)的最小值,其基本思想是:(1)取一初始试验点x0∈[-2.5,
2.5];(2)计算f(x)在x0处的梯度df=f′(x0);(3)沿负梯度方向改进x0=x0-cdf,c是改进率;(4)如果|df|小于指定小正数ε,则结束迭代,否则转步骤(2)
|
 |
采用上述算法,若选取初值x0=-2,x0=0.8和x0=-0.5都得到局部极小点x*=-1.607,极小值f(x*)=-1.383;若选取初值x0=2,x0=0,x0=0.5都得到全局最优点x*=1.326,全局最小值f(x*)=-6.914。可以看出当初值点选 择在-1.607附近时得到局部极小点-1.607,当初值点选择在1.326附近时,得到全局最优点1.326。说明用梯度法求最优解很容易陷入局部极小点。
|
下面我们采用GA-ANN法求f(x)在区间[-2.5,2.5]上的最小值。这里假设函数f(x)的表达式是未知的,代之以24个试验点(xi,f(xi))作为样本,用神经网络逼近函数f(x),以检验网络的映射能力。其中xi作为输入,它是区间[-2.5,2.5]上的任意实数;f(xi)作为输出,它是与xi相对应由式(7)计算得到的。文献[3]、[4]已经证明一个三层神经网络可以逼近任意紧集上的连续函数,故本文采用1×5×1的神经网络结构.将24个样本分成两部分,18个样本用于网络训练,6个样本用于检测网络的推广能力.按前面介绍的步骤进行网络学习,建立输入x与输出f(x)之间的映射关系。表1列出了网络对训练样本和检测样本的输出。由表1可以看出,训练样本和检测样本的网络计算输出与期望输出都相当接近,表明网络对函数f(x)的逼近能力是极强的,其精度是相当高的。
网络建立了正确的映射关系后,按上节介绍的步骤对x在区间[-2.5,2.5]上进行搜索、寻优。本算例当进化代数达到1800代时,得到全局最优点(1.318,-6.901),即当x=1.318时f(x)取得全局最小值-6.901。这一结果与理论解很接近。由此可以证明遗传算法能够克服传统单点下降类算法会陷入局部极小值的缺点,求得问题的全局最优解。
应该注意的是,GA-ANN法求解问题的精确度,在很大程度上依赖于神经网络所建立的变量之间的映射关系是否正确,只有建立了正确的映射关系,才有可能找到全局最优解.因此必需有足够多的试验点(样本)用以进行网络学习,同时对决策变量的选择也应当慎重,应该选取那些对目标函数值影响大的变量作为决策变量,突出主要矛盾,简化优化过程,这样就可以获得较好的收敛效果并缩短迭代求解的时间。
4 工程实例 |
|
表1 网络对训练样本和检测样本的输出 |
|
|
样本 |
编号 |
|
输出f(x) |
|
|
期望输出 |
网络计算输出 |
|
|
|
1 |
-2.5 |
8.4375 |
8.4365 |
|
|
2 |
-2.3 |
3.8571 |
3.8562 |
|
|
3 |
-2.1 |
0.9471 |
0.9483 |
|
|
4 |
-1.8 |
-1.0944 |
-1.0954 |
|
|
5 |
-0.5 |
0.9375 |
0.9366 |
|
训 |
6 |
-1.5 |
-1.3125 |
-1.3113 |
|
|
7 |
-1.3 |
-0.9009 |
-0.9015 |
|
练 |
8 |
-1.1 |
-0.3069 |
-0.3060 |
|
|
9 |
-0.9 |
0.2871 |
0.2861 |
|
样 |
10 |
-0.7 |
0.7371 |
0.7385 |
|
|
11 |
0.0 |
0.0 |
0.0009 |
|
本 |
12 |
0.5 |
-2.8125 |
-2.8138 |
|
|
13 |
0.8 |
-4.8384 |
-4.8397 |
|
|
14 |
1.3 |
-6.9069 |
-6.9056 |
|
|
15 |
1.5 |
-6.5625 |
-6.5611 |
|
|
16 |
1.8 |
-3.8304 |
-3.8315 |
|
|
17 |
2.2 |
5.9136 |
5.9125 |
|
|
18 |
2.5 |
19.6875 |
19.6888 |
|
|
|
1 |
-1.6 |
-1.3824 |
-1.3811 |
|
检 |
2 |
-0.2 |
0.6336 |
0.6320 |
|
验 |
3 |
1.2 |
-6.7584 |
-6.7598 |
|
样 |
4 |
1.4 |
-6.8544 |
-6.8558 |
|
本 |
5 |
2.0 |
0.0 |
-0.0015 |
|
|
6 |
1.0 |
-6.0 |
-6.0018 |
|
|
上海森茂国际大厦位于浦东陆家嘴金融开发区[5],地上46层,地下4层,高192m,设计开挖深度17.82m,围护结构采用地下连续墙,设4道支撑,半逆作方式开挖,其中上面3道支撑为楼面,第4道为临时支撑。在施工过程中,进行了较全面的监测,其内容包括围护结构的位移和弯矩,支撑结构的轴力,水位等。在第一层开挖过程中,地下连续墙出现了多处裂缝,围护结构位移较大采取了一些工程措施后,情况得到了控制。在以后的开挖过程中,工程进展顺利,当开挖进行到第3层时,甲方提出是否考虑取消原设计中的第4道支撑。为了论证取消第四道支撑的可行性,需要对第四层开挖工程进行预报分析。为此必需首先对前3层开挖支护体系力学参数进行反演分析。
在反演分析中,通常把位移实测值与相应的数值分析计算值两者差的平方和作为目标函数F,即
|
 |
(8) |
式中n-实测值总数; —第i点实测位移值;ui—相应的第i点数值分析计算值。
一般情况下,ui是基坑开挖体系力学参数{p}m的函数,即
|
 |
(9) |
因此目标函数F也为参数{p}m的函数。这样反分析计算便转换为求一自变量为{p}m的目标函数的极小值问题。这里m为反演参数的个数。通常,目标函数(8)是土的参数{p}m的复杂的非线性函数,很难用一个显式表示出来,所以也无法采用解析法求解。本文采用GA-ANN法对其求解。
4.1 数值分析方法
为简便计算,本文选择了一维有限元分析方法,即把地下连续墙简化为一旋转90°的弹性地基梁,开挖面以上的土体被卸去,用有一定刚度的弹簧模拟支撑,其弹簧系数为k。开挖面以下被动区地基抗力一般采用Winkler地基模型,即用弹簧模拟地基抗力,其大小与对应点位移成正比,即:
式中Ps—地基抗力;ks—地基对梁的抗力系数;u—梁的侧向位移。
反演时考虑到实际地基抗力系数沿深度是变化的,并从量纲的一致性考虑,将(10)式改写为
其中A,B—为地基抗力系数的参数,z—为深度,L—为桩长
|
作用在支护桩上的土压力根据具体土层和水位情况计算,并采用水土分算。土压力计算公式采用Rankine主动土压力公式计算,并等效地转移至各节点上。计算简图如图2.
4.2 反演参数的选择
第一层开挖,反演参数选取为地基抗力系数的参数A和B;第二层取为地基抗力系数的参数A和B及第一层支撑结构的弹簧系数k1;第三层取为地基抗力系数的参数A和B及第一层和第二层支撑结构的弹簧系数k1、k2。
4.3 各层开挖参数反演结果
按照前面介绍的步骤,对各层开挖进行反演分析,得到反演结果如表2。支护结构的反演位移与实测位移的比较如图3所示。 |
 |
 |
图中m1、m2、m3分别为第一层、第二层、第三层开挖结束时的实测位移值,b1、b2、b3
分别为相应的反演位移曲线。由图3可以看出反演位移曲线与实测位移值基本吻合,说明反演效果很好。
表2各层开挖参数反演结果
|
|
开挖 |
参数 |
参数 |
第一层支撑结构的 |
第二层支撑结构的 |
误差 |
|
层次 |
弹簧系数K1(KN/m) |
弹簧系数K2/(KN/m) |
F |
|
|
1 |
3.620 |
1.141 |
|
|
1.0×10-4 |
|
2 |
2.157 |
3.229 |
30000 |
|
2.0×10-3 |
|
3 |
1.008 |
2.962 |
51375 |
22061 |
1.0×10-3 |
|
5 结 论
遗传算法与人工神经网络是二大新兴交叉学科,具有仿生特点。本文将二者有效地结合起来,应用于复杂工程的优化求解中。这一方法可以广泛地应用于在决策变量与目标函数值之间无明确数学表达式的众多复杂工程问题中,因而具有广阔的应用前景。
参 考 文 献
1 Holland J
H.Adaptation in natural and artificial system.Ann
Arbor:The University of Michigan Press,1975。
2
肖专文.岩体开挖与充填的三维数值模拟及优化研究[学位论文].沈阳:东北大学,1997。
3
董聪,等.多层前向网络研究进展及若干问题.力学进展,1995,25(2)。
4 Funahashi K
I.Neural Networks,1989,(2)。
5
徐日庆.岩土介质开挖性态反分析方法.同济大学博士后出站报告,1996。 |