舰船科学技术  2016, Vol. 38 Issue (3): 5-9   PDF    
基于神经网络和粒子群算法的环肋圆柱壳优化设计
张宇1, 黄小平1, 闫小顺2    
1. 上海交通大学 高新船舶与深海开发装备协同创新中心, 上海 200240;
2. 中国舰船研究设计中心, 湖北 武汉 430064
摘要: 对于潜艇外壳等外压容器来说,满足稳定性要求至关重要。本文利用Matlab编写改进粒子群算法优化程序,利用 Ansys 的 Apdl 语言完成了环肋圆柱壳的参数化建模,以圆柱壳厚度、肋骨尺寸和肋距作为离散设计变量,以稳定性要求作为约束条件,构造了合适的惩罚函数,以质量最轻作为设计目标,实现了基于 BP 神经网络和粒子群算法的环肋圆柱壳优化设计。在优化过程中,首先采用拉丁超立方体抽样完成了样本点的选取,然后对样本点进行有限元分析,根据有限元分析结果构建 BP 神经网络代理模型,并探讨了样本点数量对代理模型预测精度的影响,最后采用改进粒子群算法对代理模型进行优化。优化结果表明,对于需要考虑离散变量和复杂非线性约束的结构优化问题,采用 BP 神经网络和粒子群算法联合优化的方法能够节省大量计算时间,并达到理想的优化效果。
关键词: BP神经网络    粒子群算法    环肋圆柱壳    优化设计    稳定性分析    
Optimization of ring-stiffened cylindrical shell based on neural network and particle swarm optimization algorithm
ZHANG Yu1, HUANG Xiao-ping1, YAN Xiao-shun2    
1. State Key Lab of Ocean Engineering, Shanghai Jiaotong University, Shanghai 200240, China;
2. China Ship Development and Design Center, Wuhan 430064, China
Abstract: For the external pressure vessel such as submarine shell, it is important to meet stability requirement. This paper wrote an improved particle swarm optimization(PSO), in which the penalty function is employed to transform nonlinear constraint optimization to unconstrained optimization. Then based on Matlab and Ansys, BP neural network and particle swarm optimization were applied to optimize ring-stiffened cylindrical shell , with the stability as constraint, with the total mass of stiffened cylindrical as objective function. And the optimal variables are shell thickness, frame dimensions and frame spacing. In the process of optimization, latin hypercube sampling method are used to choose sample points, and the finite element analysis was carried out on the sample points. With the analysis result, BP neural network can be built. Then this paper discuss the sample’s influence on prediction accuracy of neural network. Finally, this paper optimize the neural network with improved particle swarm optimization method. Optimum results shows that the validity of the proposed approach is examined, and this method can be used to solve nonlinear constraints discrete structural optimization problems. Use BP-PSO optimization algorithm can get good optimization result and save lots of time.
Key words: BP neural network    particle swarm optimization(PSO)    ring-stiffened cylindrical shell    optimization    stability analysis    
0 引 言

圆柱壳结构在船舶、航空航天、压力容器等行业中有着广泛的应用。对于壳体结构来说,不仅要满足强度要求,还要满足稳定性要求。在满足上述条件的前提下,设计出最合理的结构形式使得重量最轻,将具有很明显的经济效益。对此,国内外已经有许多相关的研究:陈美霞[1]利用Ansys软件的零阶优化方法进行了基于离散变量的加筋圆柱壳静动态性能优化设计;龙连春[2]和王存福等[3]则采用遗传算法对加筋圆柱壳类结构进行了优化。粒子群算法(PSO)无需复杂的编码、交叉和变异等操作,粒子只是通过内部速度更新,因此原理更简单,参数更少,实现更容易。粒子群算法也因此成为结构优化领域研究的新方向。

在结构优化领域,粒子群算法已经有了不少应用[4, 5, 6],并被用来处理离散变量优化问题。在之前的文献中,通常只将粒子群优化算法与结构强度分析结合起来,很少将粒子群算法与稳定性分析进行结合。本文即在考虑了稳定性约束的前提下,采用粒子群算法对环肋圆柱壳进行优化。但是,若直接对结构进行优化设计,则需要循环调用有限元软件进行结构分析,而对于环肋圆柱壳来说,每进行一次结构稳定性分析都要耗费较长时间,导致整个优化过程时间成本过高,不具有可操作性。为此,本文在前人研究的基础上[7, 8],采用 BP 神经网络和粒子群算法联合优化(以下简称 BP-PSO 算法)的方法,首先通过试验设计的方法在设计空间内选出样本点,构建神经网络近似代理模型,利用该代理模型来替代大量的有限元分析,然后利用粒子群算法来完成基于离散变量的全局寻优,从而实现对环肋圆柱壳结构的优化。

1 BP-PSO 算法的基本原理 1.1 BP 神经网络

BP神经网络是近年来应用最为广泛的一种近似代理模型,具有很强的非线性映射能力,可以根据一定数量的样本点建立起输入变量到输出变量间的一一映射关系。并且,可以通过改变样本点的个数、隐含层的神经元个数以及隐含层的层数来获得想要的映射精度[9]。因此,在结构优化领域,可以根据这一映射关系来获得结构响应,从而替代耗时的有限元分析。

1.2 改进粒子群算法基本原理

1) 速度和位置更新公式

在粒子群算法中,粒子的位置代表着优化问题的可能解。粒子通过不断更新自己的速度和位置,逐渐向最优粒子靠拢,最终找到最优解。对于粒子群中的第i个粒子,其第k次迭代后的位置和速度可以表示为$x_i^k$和$v_i^k$,则在第k+1次的迭代后,粒子的位置和速度可表示为:

\[x_i^{k + 1} = x_i^k + v_i^{k + 1},\] (1)

\[v_i^{k + 1} = wv_i^k + {c_1}{r_1}[p_i^k - x_i^k] + {c_2}{r_2}[p_g^k - x_i^k],\] (2)

其中:w 为惯性权重;c1c2 为学习因子;r1r2 为 0~1 之间的随机数。$p_i^k$为第 i 个粒子在第 k 次迭代后自身的最好位置,称为个体极值 Pbest;$p_g^k$为第 k 次迭代后整个粒子群中最好粒子的位置,称为总体极值 Gbest

对于离散型变量优化问题,可以不必改变速度更新公式,而仅在位置更新后对其进行取整:

\[x_i^{k + 1} = {\rm{round}}(x_i^k + v_i^{k + 1})。\] (3)

式中,round( )为取整函数。

2) 自适应权重系数

惯性权重决定了对粒子当前速度继承的多少,是粒子群算法中最重要的参数之一,对算法的收敛性能有着重要影响[10]。较大的 w 有利于提高算法的全局搜索能力,较小的 w 会增强算法的局部搜索能力。为平衡粒子群算法的全局搜索能力和局部改良能力,采用非线性的动态惯性权重系数公式,其表达式如下:

\[w = \left\{ {\begin{array}{*{20}{l}} {{w_{\min }} - \frac{{({w_{\max }} - {w_{\min }}) \cdot (f - {f_{\min }})}}{{({f_{avg}} - {f_{\min }})}},f \le {f_{avg}},}\\ {{w_{\max }},\quad \quad \quad \quad \quad \quad \quad \quad f > {f_{avg}}{\rm{。}}} \end{array}} \right.\] (4)

式中:wmaxwmin 分别为 w 的最大值和最小值;f 为当前的目标函数值;favgfmin 分别为当前所有微粒的平均目标值和最小目标值。

3) 约束处理

由于粒子群算法只适用于无约束优化,因此本文定义如下罚函数,从而将有约束问题转化为无约束问题。

不等式约束问题的一般形式如下:

目标函数$ \min f(x)$;

不等式约束${g_i}(x)0,i = 1{\rm{,2,}} \cdots {\rm{, }}m$;

定义罚函数$\varphi (x) = \sigma \sum\limits_{j = 1}^m {{{\left[ {\max \left\{ {0{\rm{, }} - {g_i}(x} \right\}} \right]}^{\rm{2}}}} $;

式中:σ 为很大的正数,m 为约束的个数。

此时的目标函数为:

\[F(x) = f(x) + \lambda \cdot \varphi (x),\] (5)

式中:$\lambda = \left\{ \begin{array}{l} 0,x为可行解时;\\ 1,x为不可行解时。 \end{array} \right.$

2 基于 BP-PSO 算法的环肋圆柱壳优化设计 2.1 优化策略以及流程

首先采用拉丁超立方体抽样的方法在设计空间内选取 1 400 个样本点,其中,1 350 个样本点用于训练神经网络,50 个样本点用于检验神经网络的精确度。采用通用有限元软件 Ansys 作为求解器,对环肋圆柱壳进行稳定性分析,输出结构重量和失稳临界压力。由于进行非线性稳定性分析耗时较长,故本文仅进行特征值屈曲分析。采用 BP 神经网络分别建立起样本点和结构重量之间、样本点与失稳临界压力之间的映射关系,并对神经网络进行训练。然后利用 Matlab 编写自适应权重粒子群算法作为优化的主程序,以实现全局寻优。在优化过程中,首先在 Matlab 中完成粒子位置和速度的初始化,然后根据神经网络映射得到结构重量和失稳临界压力,分别作为目标函数和约束条件,并根据分析结果来更新粒子的位置和速度,从而完成整个优化循环。整个优化流程如图 1所示。粒子群的数目取为 20,最大权重 wmax = 0.9,最小权重 wmin = 0.4。算法最大循环次数为 500 次。

图 1 BP-PSO算法优化流程 Fig. 1 Flow chart of BP-PSO
2.2 有限元模型

在优化时采用的潜艇环肋圆柱壳结构形式如图 2所示。材料参数和具体尺寸如下:长度 L = 12 m,直径 D = 12 m,肋骨均匀布置在圆柱壳内部,肋骨个数 n 为15~40个,肋骨间距 l = L/n。圆柱壳厚度 t = 25~40 mm,肋骨采用不等边角钢。材料弹性模量 E = 2 × 105 MPa,泊松比 μ = 0.3,屈服强度 σs = 800 MPa,密度 ρ = 7.8 × 103 kg/m3。在进行特征值屈曲分析之前,首先进行静力分析。载荷模拟 400 m 水深,等效为 p = 6 MPa 的面压力以及相应的轴向压力。边界条件为一端三向简支,施加轴向压力的一端约束环向位移。有限元模型如图 3所示。

图 2 环肋圆柱壳几何模型 Fig. 2 Geometric model of ring-stiffened cylindrical shell

图 3 有限元模型 Fig. 3 Finite element model
2.3 优化的数学模型

环肋圆柱壳优化设计的目标函数是在稳定性满足要求的条件下,整个结构的最小重量,记作:

\[\min f(x) = W(x)。\] (6)

其中,W(x) 为环肋圆柱壳的重量。

设计变量以及取值范围见表 1所示,所有变量均为离散变量。

表 1 设计变量取值范围 Tab.1 Ranges of design variables

根据潜艇相关规范,环肋圆柱壳失稳临界压力满足如下条件:

\[{P_c}1.2P = 7.2{\mkern 1mu} {\rm{MPa}}。\] (7)

3 结果分析与讨论 3.1 神经网络预测精确度分析

平均相对变动值(Average relative variance,ARV)通常被用来评估代理模型的预测值和实测值的差别[11],其定义为:

\[{\rm{ARV}} = \frac{{\sum\limits_{i = 1}^N {{{[x(i) - \hat x(i)]}^2}} }}{{\sum\limits_{i = 1}^N {{{[x(i) - \mathop {{\rm{ }}x}\limits^ - (i)]}^2}} }}。\] (8)

其中,N 为模型验证时的样本数量;x(i) 为真实的响应值;$\hat x (i)$为由近似模型所得到的预测值;$\bar x (i)$为真实的响应值的平均数。可见,平均相对变动值 ARV 越小,表明神经网络预测精确度越高。

对于本文的环肋圆柱壳结构,运用拉丁超立方体抽样方法分别进行了 650 次、1 000 次和 1 350 次试验设计,并以这3组样本点分别训练神经网络,得到各设计变量与结构重量和失稳临界压力直接的映射关系。为评估神经网络的预测精确度,本文又另外抽取 50 个样本点,以便计算平均相对变动值 ARV。表 2 为不同试验次数下平均相对变动值 ARV 的变化情况。

表 2 平均相对变动值ARV Tab.2 Average relative variance

表 2 可以看到,在样本点的个数为 650 时,结构重量的平均相对变动值已经非常小,接近于0。随着样本点的增多,预测精度变化不大。而失稳临界压力的预测精度要稍低一些,这是因为失稳临界压力与各个设计变量之间乃是强非线性关系,因此需要尽量增大样本点的个数来增加预测的准确度。当样本点的个数为 1 350 时,结构重量的预测结果和实际输出对比如图 4所示;失稳临界压力的预测结果和实际输出对比如图 5 所示。

图 4 结构重量预测输出 Fig. 4 Structure weight prediction output

图 5 失稳临界压力预测输出 Fig. 5 Buckling pressure prediction output
3.2 优化结果分析

采用 BP-PSO 算法对环肋圆柱壳进行优化的收敛过程如图 6所示。经过优化,结构的重量下降了 19.96%。为验证优化结果的准确性,本文对优化后的结果进行有限元分析,得到环肋圆柱壳结构重量 Wt1 = 37 755.78 kg,此时神经网络预测得到的结构重量为 Wt2 = 37 753.68 kg,相对误差仅为 0.01%。有限元分析得到的失稳临界压力为 P1 = 7.07 MPa,神经网络预测得到的失稳临界压力为 P2 = 7.20 MPa,相对误差约为 1.81%。可见,对于需要考虑离散变量和复杂非线性约束的环肋圆柱壳结构,运用 BP-PSO 算法进行优化,能够满足工程优化要求。

图 6 BP-PSO 算法优化过程 Fig. 6 Optimization process of BP-PSO

表 3 优化结果 Tab.3 Optimization results

在整个优化过程中,对 1 400 组样本进行有限元分析需要约 23 h,训练神经网络和采用粒子群算法进行优化仅需要约 25 min的时间,整个过程可以在 24 h之内完成。如果直接采用粒子群算法循环调用有限元软件进行优化,则可能需要数倍的时间才能达到相同的优化效果。

4 结 语

本文用神经网络代理模型替代有限元方法进行结构分析,然后利用改进的粒子群算法对环肋圆柱壳进行优化设计,得出结论如下:

基于神经网络和智能算法联合优化这一技术途径,不仅可以发挥智能算法能够进行全局优化、不易陷入局部最优这一特点,还可以节约大量计算时间,具有广阔的工程应用前景。

参考文献
[1] 陈美霞, 金宝燕, 陈乐佳. 基于APDL语言的加筋圆柱壳的静 动态性能优化设计[J]. 舰船科学技术, 2008, 30(3): 64-68.
CHEN Mei-xia, JIN Bao-yan, CHEN Le-jia. Optimization design of static and dynamic characteristics of stiffened cylindrical shells based on APDL[J]. Ship Science and Technology, 2008, 30(3): 64-68.
[2] 龙连春, 赵斌, 陈兴华. 薄壁加筋圆柱壳稳定性分析及优化[J]. 北京工业大学学报, 2012, 38(7): 997-1003.
LONG Lian-chun, ZHAO Bin, CHEN Xing-hua. Buckling analysis and optimization of thin-walled stiffened cylindrical shell[J]. Journal of Beijing University of Technology, 2012, 38(7): 997-1003.
[3] 王存福, 赵敏, 葛彤. 考虑失稳模式的环肋圆柱壳结构优化设计[J]. 上海交通大学学报, 2014, 48(1): 56-63.
WANG Cun-fu, ZHAO Min, GE Tong. Optimal design of ring-stiffened cylindrical shell considering instability mode[J]. Journal of Shanghai Jiaotong University, 2014, 48(1): 56-63.
[4] PEREZ R E, BEHDINAN K. Particle swarm approach for structural design optimization[J]. Computers & Structures, 2007, 85(19/20): 1579-1588.
[5] LUH G C, Lin C Y. Optimal design of truss-structures using particle swarm optimization[J]. Computers & Structures, 2011, 89(23/24): 2221-2232.
[6] 何小二, 王德禹, 夏利娟. 基于粒子群算法的多用途船结构优化[J]. 上海交通大学学报, 2013, 47(6): 928-931.
HE Xiao-er, WANG De-yu, XIA Li-juan. Optimization of multipurpose ship structures based on particle swarm approach[J]. Journal of Shanghai Jiaotong University, 2013, 47(6): 928-931.
[7] 郭海丁, 路志峰. 基于BP神经网络和遗传算法的结构优化设计[J]. 航空动力学报, 2003, 18(2): 216-220.
GUO Hai-ding, LU Zhi-feng. Structure design optimization based on BP-neural networks and genetic algorithms[J]. Journal of Aerospace Power, 2003, 180(2): 216-220.
[8] 王建, 庞永杰, 程妍雪, 等. 近似模型在非均匀环肋圆柱耐压壳优化中的应用研究[J]. 船舶力学, 2014, 18(11): 1331-1338.
WANG Jian, PANG Yong-jie, CHENG Yan-xue, et al. Application of approximation models to optimize the design of the non-uniform ring-frames pressure shell[J]. Journal of Ship Mechanics, 2014, 18(11): 1331-1338.
[9] 王吉权. BP神经网络的理论及其在农业机械化中的应用研究[D]. 沈阳: 沈阳农业大学, 2011.
[10] 敖永才, 师奕兵, 张伟, 等. 自适应惯性权重的改进粒子群算法[J]. 电子科技大学学报, 2014, 43(6): 874-880.
AO Yong-cai, SHI Yi-bing, ZHANG Wei, et al. Improved particle swarm optimization with adaptive inertia weight[J]. Journal of University of Electronic Science and Technology of China, 2014, 43(6): 874-880.
[11] 陈果. 神经网络模型的预测精度影响因素分析及其优化[J]. 模式识别与人工智能, 2005, 18(5): 528-534.
CHEN Guo. Analysis of influence factors for forecasting precision of artificial neural network model and its optimizing[J]. Pattern Recognition and Artificial Intelligence, 2005, 18(5): 528-534.