小样本规模船型优化策略的选择研究

天洑软件基于自研智能优化软件AIPOD在船舶行业的应用发表论文《小样本规模船型优化策略的选择研究》刊录于核心期刊《中国造船》。全文如下:

小样本规模船型优化策略的选择研究

陈骏喆,姜 栋,张 儒,张 明

(南京天洑软件有限公司,南京210000)

摘  要

选择合理高效的优化策略进行小样本规模下的船型优化,以KCS船的阻力性能为优化目标,对比分析不同优化算法的优化效率和阻力性能提升结果。首先,利用CAESES软件参数化变形技术实现船型的自动变换,分别对球鼻艏、船体入流段与去流段、艉封板以及船体其他位置进行组合变形,同时考虑排水体积和浮心纵向位置的约束;其次,采用船舶水动力专用CFD软件SHIPFLOW对船型的总阻力性能进行评估,与模型试验数据对比验证预报方法的精度;另外,分别采用CAESES软件集成的多种主流优化算法和自研优化算法Silverbullet的不同优化策略进行最优值的探索,对比分析不同样本规模下的优化效果。结果表明,在样本规模百次左右的情况下,Silverbullet算法的优化效果优于CAESES软件中集成的主流算法,当Silverbullet算法开启智能边界突破技术后,能够进一步获得总阻力性能的提升。

关 键 词:船型优化;数值模拟;参数化变形;优化算法;阻力性能

中图分类号:U661.31 文献标志码:A

0 引 言

船体型线设计是船舶总体设计的重要环节之一,型线对于船舶的水动力性能和经济效益有较大影响[1]。型线设计有母型改造法、系列船型法和自行设绘法等方法,这些方法依赖于设计人员的经验进行手动设计,再通过多轮模型试验迭代修改设计方案,最后形成型线方案。其共性问题是工作量大、效率低、成本高、周期长,且最终的型线方案并非理论上的最优方案[1-2]。

船型设计实现数字化以后,利用CFD数值模拟方法快速预报船型的水动力性能已成为船舶型线优化设计的常规技术手段。在此基础上,以数值计算得到的水动力性能为优化目标,通过算法对设计空间进行探索,最终获得满足约束条件的最优船型方案。谢玲玲等[3]通过建立多航速优化模型,对某高速客船首部兴波阻力进行了优化。伍蓉晖等[4]采用基于NAPA和CFD软件(传统经验模式)以及基于CAESES和CFD软件(先进数值评估模式)的一体化优化模式对2800TEU集装箱船阻力性能进行了优化。程宣恺等[5]通过数值模拟方法分析了巡逻舰的首部线型、尾楔形状以及轴支架布置对船体阻力及伴流的影响。陈京普等[6]通过CFD模拟开展了客滚船附体优化布置研究,考察了螺旋桨旋向对其收到功率的影响。

近年来,随着优化设计要求的提高,更多的设计变量被加入优化算法中以搜寻更优的船型方案,而如何解决高维优化时设计变量维度和优化方案数量之间的需求关系是目前业界重点研究的问题之一。刘强等[7]采用改进Sobol’方法对某集装箱船兴波阻力优化模型进行灵敏度分析并降维,研究结果表明降维后的优化模型收敛更快。张恒等[8]通过数值函数测试改进MODSA算法的优化性能,并将其应用于5100TEU集装箱船的兴波阻力性能优化。

本文以韩国船舶与海洋工程研究所的集装箱船(KRISO container ship, KCS)为研究对象,采用CAESES软件构建原始船型的参数化模型,以CFD数值计算得到的总阻力系数为优化目标,分别采用CAESES内置的传统优化算法和自研的Silverbullet优化算法对原始船型的阻力性能进行优化对比。

1 参数化模型

CAESES软件作为仿真驱动优化设计的一体化平台,具备参数化建模、连接外部仿真工具、自动优化三大核心功能模块。其中,参数化建模方法分为半参数化变形和全参数化曲面建模两种。半参数化变形方法通过构建参数化的控制线或控制面,将自身的变形以映射的方式施加在控制区域的船体曲面上,通过改变变形控制参数快速自动修改局部线型。全参数化曲面建模方法通过创建船体曲面的特征剖线,提取特征剖线的形状参数,沿控制形状参数变化的特征曲线进行参数化扫掠,从而生成船体曲面。

考虑到半参数化变形方法的灵活性以及可以完全还原原始船型的优势,本文采用该方法构建参数化模型,所使用的变形方法有:Delta Shift, Freeform Deformation和Lackenby方法。

Delta Shift方法的变形原理是通过自定义的控制曲线(delta curve)作为所限定区域的船体曲面上点坐标的变化函数,通过曲线上点坐标的变化来控制曲线的变化。如对KCS船原始模型的球鼻艏长度进行变形时,通过p1和p2这两个控制点建立控制曲线C1,p1点固定不动,由控制点p2的z坐标变化来控制曲线C1在高度方向上的变形,两点的高度差即为曲线在高度上的最大变形量,在两点的x坐标区域内,任意x坐标都对应曲线C1上不同的高度变形量,将此变形量分布映射到球鼻艏曲面所对应x位置的点坐标上,并指定将变形量加在该点的x坐标上,就可以实现对球鼻艏长度的变形,如图1所示。

图1 球鼻艏长度变形

同理,当对艉封板高度进行变形时,在高度方向上再增加一条控制曲线C2,由C1变形导致艉封板高度变形的过程中,曲线C2可以约束船体尾部曲面甲板所在高度上点坐标的位置变化,使甲板所在高度的变形量为0。艉封板高度变形效果如图2所示。

图2 艉封板高度变形

此外,还采用FFD(freeform deformation)变形方式对船体首部入流段、船体尾部去流段以及球鼻艏进行局部变形。FFD是一种网格自由变形方法,其基本原理是通过创建一个控制体,将控制体定位到需要变形的船体曲面位置,调整控制体范围将船体曲面包含其中,在控制体内部划分一定数量的控制点,建立控制点坐标和船体曲面上点坐标之间的函数关系,以部分控制点坐标的变化映射船体曲面上点坐标的变化,实现船体曲面的变形,变形效果如图3所示。

图3 船体曲面变形

最后,使用Lackenby方法以静水力计算得到的横剖面面积曲线(SectionalAreaCurve)作为变形对象,通过棱形系数和浮心纵向位置的变化函数重构横剖面面积曲线,使得船体各站位型线发生平移,从而生成新的船体型线,如图4所示。

图4 船体各站位型线变形效果

2 阻力数值模拟

2.1 计算方法

采用水动力分析软件SHIPFLOW预报船型方案的阻力,按照流体性质将总阻力分为两部分,第一部分通过势流计算模块XPAN求解兴波阻力,第二部分通过黏流计算模块XCHAP求解黏性阻力,则总阻力为

式中,CT为总阻力系数,CW为兴波阻力系数,CV为黏性阻力系数,CF为摩擦阻力系数,CPV为黏压阻力系数。

流动满足连续性方程和Navier-Stokes方程,假定流体是不可压缩的,那么连续性方程和RANS方程分别为[6]

式中,Ri为体积力,v为运动学黏性系数,ui为时均速度分量,ρ为流体密度,p为时均压力,t为时间。

式中,μ为动力黏度。XCHAP是基于有限体积法的定常不可压缩流动求解器,对流项采用一阶Roe差分格式,并加入通量修正以获得更高的求解精度,提供SST k-ω、BSL k-ω 和显式代数应力模型EASM这3种湍流模型,采用ADI方法耦合求解动量、压力和湍流方程[9],文中选用EASM湍流模型。

2.2 计算域及网格划分

势流计算域取船首向前0.5Lpp,船尾向后1.1Lpp,船宽方向1.05Lpp,Lpp为船长。以medium的网格尺寸生成船体和自由液面网格,总的面网格数为6 723,计算域和所生成网格如图5所示。

图5 计算域与面网格

根据计算区域的不同,黏流计算分为Zonal方法和Global方法,Zonal方法仅在船尾部1/3及尾流场区域划分体网格求解RANS方程,而Global方法则在全船范围划分体网格进行求解。相比而言,Global方法的计算时间长,但可以提高计算精度。文中采用Global方法以medium的网格尺寸生成体网格,网格数为174万,网格如图6所示。

图6 Global方法的体网格

2.3 计算结果验证

为了验证SHIPFLOW软件用于后续优化研究的可行性和可靠性,将原始模型设计工况下的阻力计算结果与试验值进行对比,如表1所示。对比结果表明计算精度良好,可以用于相同工况下阻力性能优化的研究。

表1 设计工况计算结果

3 阻力数值模拟

3.1 优化问题

以构建的KCS船参数化模型的8个变形参数为设计变量,当设计变量改变时,CAESES软件会自动重构船体几何,生成新的船型方案,通过内部接口将模型自动提交给SHIPFLOW软件计算设计工况下的总阻力系数,在满足排水体积和浮心纵向位置的变化范围分别在±0.5% 和±1.0% 以内的约束条件下,对总阻力系数进行最小值优化,得到阻力性能最优的设计变量组合,即最优型线优化设计方案。8个设计变量的取值范围如表2所示。

表2 设计变量的取值范围

3.2 优化问题

本文选择CAESES软件内置的部分试验设计(DOE)算法和优化算法,并与自研的Silverbullet算法进行优化对比研究。试验设计算法选择的是DOE算法库中的Sobol算法。Sobol算法是一种随机正交算法,可以保证设计空间采样的均匀性。优化算法选择的是Tsearch和NSGA-Ⅱ算法。Tsearch算法属于梯度型优化算法,以给定的初始值为优化起点,沿求解得到的最优性能提升方向以一定步长移动一次,得到新的初始值,重复上述求解步骤,直到计算收敛或达到最大求解次数。NSGA-Ⅱ算法中NS表示非支配排序,其本质思想是保证多目标优化时,求得的优化结果不会倾向于某个优化目标,影响“自然选择”;GA表示遗传算法,是优化求解的基本逻辑,即模拟生物进化规律,优胜劣汰;Ⅱ表示第2代算法。Silverbullet算法整合了智能采样技术和耦合优化技术,以及一套核心的参数指标动态协调全局优化和局部探索力度,从而实现在小样本计算规模下优化性能的提升。对于无法精确给定取值范围的设计变量,Silverbullet算法还提供了独有的智能边界探索(bound break)模式,该模式能够不以额外增加探索次数为代价,智能地突破不当的边界约束,主动探索被忽略的高效设计空间。

3.3 不同优化策略的优化结果数值分析

上述试验设计方法和优化算法既可以单独使用,也可以组合成优化策略使用,从Tsearch和NSGA-Ⅱ算法理论来分析,如果给定一个好的初始值,无疑会提高优化效率。因此,将Sobol算法作为优化算法使用的前置采样算法,在设计空间内均匀地采集一定数量的样本点,通过样本点的计算选出阻力性能最优的设计方案作为后续优化的初始方案。以总的优化次数(采样+优化)为变量,比较不同优化策略在不同优化次数下的最优解和阻力性能提升效果,优化结果对比如表3所示。表中,原始模型的总阻力系数CT为0.003 632,NSGA-Ⅱ算法遗传代数为10代,每代种群规模为12个。

表3 设计变量的取值范围

从表3可观察到Silverbullet算法无论是否启用bound break功能,100次优化计算的最优解都好于CAESES软件的优化策略,并且随着优化次数的增加,Silverbullet算法的优化效果还有进一步的提升。Sobol+Tsearch优化策略的优化效果符合理论分析的结论,以Sobol算法采样计算的最好结果作为Tsearch优化的起点,优化效果好于单独使用Sobol算法。而Sobol+NSGA-Ⅱ优化策略的优化效果并没有体现相同的规律,在增加优化次数的情况下,优化效果反而变差了。从生物进化规律角度分析,遗传算法虽然具有全局寻优特性,但其极度依赖于遗传代数和种群数。理论上种群越大、进化代数越多,优化效果就越好。而当种群规模有限时,优化效果会出现随机性。

3.4 不同优化策略的优化历程分析

图7(a) 所示为CAESES软件不同优化策略历程对比。Sobol算法是采样算法,并不是优化算法,所以图中展示的是采样历程。优化算法中只有Tsearch算法具有收敛趋势,而NSGA-Ⅱ算法虽然有一定的优化效果,但从优化历程来看,并没有任何收敛趋势,这也说明了NSGA-Ⅱ算法对数据规模有极大的需求。图7(b) 所示为Silverbullet算法不同模式优化历程的对比,在给定的设计空间内进行优化时,Silverbullet算法已经有收敛趋势,而当可以跳出当前设计空间进行探索时,相同优化次数下,Silverbullet算法的收敛性不明显,增加优化次数后,优化效果的确得到了进一步提升,同时有向下收敛的趋势。

图7 CAESES软件和Silverbullet算法优化历程对比

3.5 不同优化策略的优化结果分析

图8所示为不同优化策略优化船型的船体表面压力系数分布。由图8(a) 可知,Silverbullet优化船型的球鼻艏表面负压区范围明显缩小,兴波阻力降低,对中高速船来说,可以有效地降低总阻力。由图8(b) 可知,在相同的优化次数下,Silverbullet算法开启bound break后的优化船型在船首区域的压力系数减小,艏肩处负压区范围缩小,艉部区域压力梯度有所减缓,船体阻力进一步降低。图9所示为自由液面波切图,图中W为波高。从图中可以看出,Silverbullet算法优化船型的自由液面波高较Sobol+Tsearch优化船型有所降低,开启bound break后优化船型的波高降幅更大。

(a)Sobol+Tsearch和Silverbullet

(b)Silverbullet和Silverbullet with bound break(100)

图8 不同优化船型的船体表面压力系数分布

图9 自由液面波切图

将Silverbullet with bound break (100) 优化策略的优化船型与原始船型进行对比,优化船型的设计变量数值如表4所示。由表可知,优化船型的部分设计变量数值是在设计空间边界外的,优化线型的光顺性满足设计要求。优化线型较原始线型在球鼻艏处长度有所增加,略微上翘,艉部线型也有所削瘦,如图10所示。图中,虚线为原始线型,实线为优化线型。从图11也可以看出,优化船型的船体表面压力分布和自由液面波幅较原始船型都得到了改善。

表4 Silverbullet with bound break (100) 优化船型的设计变量

图10 优化前、后的船体线型对比

(a)船体表面压力系数分布

(b)自由液面波切图

图11 优化船型与原始船型对比

4 结 论

在船型优化设计过程中,由于单次仿真计算成本较高,因此能够进行优化探索的次数有限。本文针对百次左右计算规模,选择不同优化策略对KCS船阻力性能开展了优化研究,通过优化结果的比对和分析,得到以下结论:

(1)基于参数化建模技术和CFD技术的一体化设计方法能够有效地对船型进行优化设计,相比于传统的设计手段,该一体化设计降低了对设计经验的依赖,自动化程度和效率更高。

(2)CAESES软件提供的Tsearch优化算法在优化结果上有一定优势,但梯度型算法对优化问题和初始值的要求比较高。

(3)Silverbullet优化算法相比于传统优化算法有更高的优化效率,在相同优化次数下,探索到了阻力性能更优的设计方案,鲁棒性较强。

(4)搭载设计边界智能突破技术的Silverbullet优化算法能够突破人为设定的边界,从优化船型实用性角度考虑,当突破原本设计空间进行优化时,应该考虑增加更多的设计约束。

参 考 文 献

[1] 顾敏童. 船舶设计原理: 第2版[M]. 上海: 上海交通大学出版社, 2010.

[2] 赵峰, 李胜忠, 杨磊, 等. 基于CFD的船型优化设计研究进展综述[J]. 船舶力学, 2010,14 (7): 812-820.

[3] 谢玲玲, 张守慧, 冯佰威, 等. 基于全参数化建模的高速客船型线优化设计[J]. 造船技术, 2021, 49 (3): 1-5.

[4] 伍蓉晖, 田中文, 王开贵, 等. 基于CFD技术的2800TEU船线型优化[J]. 船舶工程, 2020 (S1): 75-77.

[5] 程宣恺, 周国平, 张雨新, 等. 基于数值模拟的巡逻舰船型快速性优化研究[J]. 中国造船, 2016, 57 (3): 83-90.

[6] 陈京普, 魏锦芳, 杨立. 客滚船附体水动力性能优化与模型试验验证[J]. 中国造船, 2018, 59 (2): 33-41.

[7] 刘强, 张恒, 彭必业, 等. 改进Sobol’方法在船型优化模型中的应用[J]. 船舶工程, 2020, 42 (2): 44-48.

[8] 张恒, 刘祖源, 冯佰威, 等. 改进的MODSA算法在船型优化中的应用[J]. 船舶力学, 2020, 24 (2): 127-135.

[9] KIM K, LEER-ANDERSEN M, ORYCH M. Hydrodynamic optimization of energy saving devices in full scale[C]// 30th Symposium on Naval Hydrodynamics, Hobart, Tasmania, Australia, 2014: 2-7.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊聊druid的borrow行为

序 本文主要研究一下druid的borrow行为 getConnection com/alibaba/druid/pool/DruidDataSource.java public DruidPooledConnection getConnection() throws SQLException {return getConnection(maxWait);}public DruidPooledConnection getConnection(long maxWaitMillis…

UniAccess Agent卸载

异常场景: UniAccess Agent导致系统中的好多设置打不开 例如:ipv4的协议,注册表,host等等 需要进行删除,亲测有效,及多家答案平凑的 借鉴了这位大神及他里面引用的大神的内容 https://blog.csdn.net/weixin_44476410/article/details/121605455 问题描述 这个进…

Redis 字符串操作实战(全)

目录 SET 存入键值对 SETNX SETEX SETBIT SETRANGE MSET 批量存入键值对 MSETNX PSETEX BITCOUNT 计算值中1的数量 BITOP 与或非异或操作 DECR 减1 DECRBY APPEND 追加 INCR 自增 INCRBY INCRBYFLOAT GET 取值 GETBIT GETRANGE GETSET 取旧值赋新值 MGET …

权限提升Linux篇

提权工具 https://github.com/liamg/traitor https://github.com/AlessandroZ/BeRoot https://github.com/rebootuser/LinEnum https://github.com/mzet-/linux-exploit-suggester https://github.com/sleventyeleven/linuxprivchecker https://github.com/jondonas/linux…

Git学习笔记4

GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库,提供公有仓库和私有仓库,但私有仓库是需要付费的。 到Github上找类似的项目软件。 GitLab可以创建免费的私有仓库。 GitLab是利用 Ruby开发的一个开源的版本管理系统,实现一个…

如何使用Docker安装最新版本的Redis并设置远程访问(含免费可视化工具)

文章目录 安装Docker安装Redisredis.conf文件远程访问Redis免费可视化工具相关链接Docker是一种开源的应用容器引擎,使用Docker可以让我们快速部署应用环境,本文介绍如何使用Docker安装最新版本的Redis。 安装Docker 首先需要安装Docker,具体的安装方法可以参考Docker官方文…

使用 rtty 进行远程 Linux 维护和调试

rtty 是一个用于在终端上进行远程连接和数据传输的工具。它提供了一种简单的方式来与远程设备进行通信,使得在不同主机之间传输数据变得更加方便。 安装 rtty 是一个可执行程序,可以在 Linux、macOS 和 Windows 等平台上使用。 Linux/macOS 在终端中执…

开发者必备!如何将闲置iPad Pro打造为编程工具,使用VS Code编写代码

文章目录 前言1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. ipad pro通过软件远程vscode6.1 创建TCP隧道 7. ip…

Java-day17(反射)

Reflection(反射) 动态语言的关键 允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法提供的功能: 在运行时判断任意一个对象所属类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在…

怒刷LeetCode的第15天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:哈希表双向链表 方法二:TreeMap 方法三:双哈希表 第二题 题目来源 题目内容 解决方法 方法一:二分查找 方法二:线性搜索 方法三:Arrays类的b…

基于SpringBoot的在线文档管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员功能模块 员工功能模块 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势…

90行代码写一个视频播放器

上一篇文章视频播放器的技术组成写了视频播放器的整体结构 下面我们就来上伪代码&#xff1a; #include <iostream> #include <thread> #include <list> #include <string> using namespace std;//下文代码都需要考虑并发&#xff0c;并发代码没写是…

ArcGIS 10.3软件安装包下载及安装教程!

【软件名称】&#xff1a;ArcGIS 10.3 【安装环境】&#xff1a;Windows 【下载链接 】&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1K5ab7IHMYa23HpmuPkFa1A 提取码&#xff1a;oxbb 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 软件解压码点击原文…

java面试题-jvm基础知识

1 JVM组成 1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f; 难易程度&#xff1a;☆☆☆ 出现频率&#xff1a;☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境&#xff08;java二进制字节码的运行环境&#xff09; 好处&#xff1a; 一次编写&a…

代码随想录算法训练营day6| 哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

目录 一、哈希表理论 hash function ​编辑hash collision 常见哈希结构 1&#xff09;set 2&#xff09;map 二、&#xff08;leetcode 242&#xff09;有效的字母异位词 三、&#xff08;leetcode 349&#xff09;两个数组的交集 四、&#xff08;leetcode 202&…

JAVA学习-全网最详细

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

Linux学习第19天:Linux并发与竞争实例: 没有规矩不成方圆

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 先说点题外话&#xff0c;上周参加行业年会&#xff0c;停更了一周。接下来的周五就要开启国庆中秋双节模式&#xff0c;所以有的时候&#xff0c;尤其是工作以后…

设计模式——备忘录模式

备忘录模式 备忘录模式是什么&#xff1f;备忘录模式解决什么问题&#xff1f;备忘录模式实现 备忘录模式是什么&#xff1f; 在不破坏封装性的前提下&#xff0c;捕获一个对的的内部状态&#xff0c;并在该对象之外保持这个状态。这样以后就可将该对象恢复到原先保持的状态 …

java面试题-设计模式基础

面试专题-设计模式 前言 在平时的开发中&#xff0c;涉及到设计模式的有两块内容&#xff0c;第一个是我们平时使用的框架&#xff08;比如spring、mybatis等&#xff09;&#xff0c;第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

游戏录屏软件推荐,教你录制高清游戏视频

“有没有好用的游戏录屏软件推荐呀&#xff0c;最近当上了游戏主播&#xff0c;平台要求每天都要发一个游戏视频&#xff0c;可是我的游戏录屏软件太拉胯了&#xff0c;录制出来的视频非常糊&#xff0c;导致平台审核不通过&#xff0c;所以想问问大家有没有游戏录屏软件推荐一…