在日常的船型优化项目中,通常需要对排水体积进行约束。如需在保证总排水体积不变的前提下变化船型,CAESES软件中通过内置Nelder-Mead Simplex算法能够很好地实现这一目标。
下面以KCS船的优化为例,对所采用的优化方法进行介绍:
参数化变形
以KCS船为参数化变形的对象,在球鼻艏及艉封板采用Delta shift方法,在船体的入流段和去流段采用FFD方法进行变形。
设计变量
共选定七个设计变量,其中bulb_dx,bulb_dz,ffd_DY1以及DY1_factor四个变量用于控制船体前部变形,余下的三个变量ffd_DY2,DY2_factor和transom_p2_Z用于控制船体后部变形。
排水体积的相关参数
参数Volume_new和Volume_old(52000m3)分别代表变形后的排水体积以及需要保持的目标排水体积,Volume_delta则代表两者差值的绝对值。
优化设置
将优化分为两个部分执行,首先通过Sobol算法,对控制船体后部变形的设计变量进行修改,然后通过Nelder-Mead Simplex算法对控制船体前部变形的设计变量进行自动取值(以排水体积变化最小为目标寻优),以确保排水体积不变。
将Nelder-Mead Simplex算法,内置于Sobol的Design Pre功能栏中,并以SHIPFLOW软件计算得到的总阻力系数Ct最小为优化目标,Volume_delta≤10为约束条件,对KCS船型展开优化。
如下图,各设计方案中排水体积的变化均得到了很好的约束。
Nelder-Mead Simplex算法与Brent算法对比:
1.两种算法均可以与sobol“搭档”在满足排水体积不变的前提下进行船型优化
2.Brent算法只可以设置一个“自适应”变量。如果船体变形比较明显的话,Brent中的变量有时会需要产生较明显的数值变化,从而满足排水体积不变。这样可能会导致船体局部几何的不合理。
3.Nelder-Mead Simplex算法可以设置多个“自适应”变量,可以很好解决上述问题。