1.一种基于BP神经网络算法的船型优化方法,其特征在于,依次包括以下步骤:步骤1、根据粒子群优化算法生成一组粒子群设计变量X(t)=(x1,x2,...,xi,...,xm),每个设计变量粒子xi,i=1,2,…,m,对应一组船型修改参数;
步骤2、采用任意曲面变形技术根据设计变量粒子xi修改原船体几何形状,获得与船型修改参数一一对应的船体新几何;
步骤3、计算步骤2得到的新几何的船舶排水量,如果修改后的船体新几何与原船体几何形状的船舶排水量一致,则转向步骤4,否则转向步骤1;
步骤4、采用BP神经网络算法计算船体新几何在波浪中的总阻力;
步骤5、将步骤4得到的船体新几何在波浪中的总阻力输入到粒子群算法中,根据粒子群算法的变换规则生成一组新的粒子群设计变量X(t+1),并返回步骤2继续下一次优化,直到粒子群算法达到最大迭代次数,然后停止计算,并输出最佳粒子所对应的船体几何。
2.根据权利要求1所述的基于BP神经网络算法的船型优化方法,其特征在于,所述步骤1根据粒子群优化算法生成一组粒子群设计变量为初始化粒子群优化算法参数,包括:最大迭代次数Tmax、粒子数目m、权重系数ωmax和ωmin、加速系数c1和c2,将当前优化代数设置为t=1,t≤Tmax;在三维空间中,随机产生m个粒子x1,x2,...,xi,...,xm,构成种群X(t),随机产生各粒子初始速度v1,v2,...,vi,...,vm,构成种群V(t),其中第i个粒子的位置为xi=(xi,1,xi,2,...,xi,j),速度为vi=(vi,1,vi,2,...,vi,j),j为船型修改参数的数量;
所述步骤5包括:
步骤501、将步骤4得到的船体新几何在波浪中的总阻力,作为适应度值大小来评价每个粒子的好坏,存储当前各粒子的最佳位置pbest和适应值,并将种群中适应值最优的粒子作为整个种群中的最佳位置gbest;
步骤502、通过公式vi,j(t+1)=ωvi,j(t)+c1r1[pi,j-xi,j(t)]+c2r2[pg,j-xi,j(t)]和xi,j(t+1)=xi,j(t)+vi,j(t+1)更新粒子的速度和位置,产生新的种群X(t+1);vi,j为第i个粒子的当前速度;ω表示惯性权重系数;c1和c2表示正的加速系数;r1和r2为0到1之间的随机数;
pi,j表示第i个例子迄今找到的最佳位置pbest;pg,j是整个粒子群搜索到的最佳位置gbest;
xi,j为第i个粒子的当前位置;
步骤503、采用公式 f≤favg更新优化算法的权重系
数,其中,ωmax和ωmin分别为惯性权重系数的最大值和最小值;f表示粒子当前的目标函数值;favg表示当前所有粒子的平均目标值;fmin表示当前所有粒子的最小目标值;
步骤504、更新粒子的pbest和gbest;
步骤505、判断t是否等于Tmax,如果满足条件,则输出最佳粒子所对应的船体几何;否则t=t+1,并返回步骤502继续搜索。
3.根据权利要求1所述的基于BP神经网络算法的船型优化方法,其特征在于,所述步骤
2以任意曲面变形技术修改母型船依次包括以下步骤:
步骤201、确定母型船几何模型;步骤202、创建任意曲面变形控制体:在母型船几何模型外设置不同的任意曲面变形控制体;步骤203、插入控制面:对已建立好的控制体插入控制面来控制待修改区域的几何形状;步骤204、设置控制参数:对建立的控制体设定控制参数,所述控制参数包括控制点的位置和移动的方向;步骤205、冻结控制体;步骤206、几何变形:修改控制点的移动距离和方向,控制体的形状发生变化,进而改变母型船的形状,获得新的船型。
4.根据权利要求1所述的基于BP神经网络算法的船型优化方法,其特征在于,步骤401、由原船体几何形状确定船型修改参数及参数变换范围,再采用拉丁超立方算法在参数变化范围内构建一系列样本点,最后采用任意曲面变形技术修改母型船,获得一系列与样本点一一对应的样本船型,所有样本船型构成样本船型集合;
步骤402、采用雷诺平均-流体体积函数方法计算样本船型集合中每一个样本船型的在波浪中的总阻力,将计算得到的所有样本船型的在波浪中的总阻力的数据进行整合,构成一套完整的样本数据集U;
步骤403、建立BP神经网络,用步骤402中的样本数据集U对BP神经网络进行训练;
步骤404、完成BP神经网络训练之后,采用复相关系数和均方根误差对训练完成的模型进行精确性验证,如满足精确性要求则进入步骤405,否则回到步骤401重新设定样本船型并进行后续步骤402至步骤404;
步骤405、根据训练完成的BP神经网络,计算待预测的新船型在波浪中的总阻力。
5.根据权利要求4所述的基于BP神经网络算法的船型优化方法,其特征在于,所述步骤
402采用雷诺平均-流体体积函数方法计算样本船型集合中每一个样本船型的设计目标值依次包括以下步骤:步骤402a、首先根据样本船型构建数值计算域,然后采用重叠网格方法对计算域划分网格,进行网格质量检查,获得计算流体动力学数学模型;
步骤402b、选择数值求解方法,采用连续方程和雷诺平均方程作为整个流场的控制方程,采用标准κ-ε湍流方程封闭雷诺平均方程,采用流体体积函数方法捕捉水和空气的交界面,采用压力耦合方程组的半隐式方法求解压力耦合方程;
步骤402c、建立数值波浪水池,入口方式采用速度入口方法建立波浪入口,出口添加阻尼项来消除波浪;
步骤402e、设置动网格,选择6自由度求解器,设置船舶质量、惯性矩和随船坐标系,其中随船坐标系原点在船体重心位置;
步骤402f、初始化设置,包括数值波浪水池的边界情况;
步骤402g、迭代计算,直到达到最大迭代次数。
6.根据权利要求4所述的基于BP神经网络算法的船型优化方法,其特征在于,所述步骤
403用步骤402中的样本数据集的样本数据对BP神经网络进行训练,包括:步骤403a、网络初始化:将样本数据集U作为BP神经网络的输入数据,然后随机设定网络中的连接权值与阈值、网络训练目标精度Emin,将船型样本数据集的样本数q和训练次数t设置为1,误差E设置为0,学习率η设置为0到1之间的小数;
步骤403b、输入船型样本数据集并计算各层输出;
其中,yj为第j个隐含层输出向量,j=1,2,…,l,l为隐含层向量个数;dk为输出层船型总阻力值,k=1,2,…,m,m为输出层向量个数;xi为第i个输入层向量,i=1,2,…,n,n为输入层向量个数;vij为输入层到隐含层的网络权值矩阵;wjk为隐含层到输出层的网络权值矩阵;函数f(x)为步骤403c、通过公式 计算网络输出误差;
其中,q表示第q个样本船型数据,q=1,2,…,Q,Q为样本船型集总数; 表示对第q个样本进行训练,然后计算所有m个粒子对第q个样本的输出层误差Eq,s表示船型在波浪中的实际总阻力大小;d为采用BP神经网络计算得到的船型在波浪中的总阻力大小;
步骤403d、计算网络各层误差信号:
其中,j=1,2,…,l;k=1,2,…,m; 和 为输出层和隐含层误差信号;
步骤403e、调整各层权值大小:
其中,j=1,2,…,l;k=1,2,…,m;i=1,2,…,n;
步骤403f、检查是否完成所有样本的训练:如果q
403b重新计算。否则转向步骤403g;
步骤403g、判断网络误差是否达到要求,即Eq