2020/03/09

采用Nelder-Mead Simplex算法约束排水体积的船型优化

在日常的船型优化项目中,通常需要对排水体积进行约束。如需在保证总排水体积不变的前提下变化船型,CAESES软件中通过内置Nelder-Mead Simplex算法能够很好地实现这一目标。

下面以KCS船的优化为例,对所采用的优化方法进行介绍:

 


参数化变形

 

 

以KCS船为参数化变形的对象,在球鼻艏及艉封板采用Delta shift方法,在船体的入流段和去流段采用FFD方法进行变形。

1.png

 


设计变量

共选定七个设计变量,其中bulb_dx,bulb_dz,ffd_DY1以及DY1_factor四个变量用于控制船体前部变形,余下的三个变量ffd_DY2,DY2_factor和transom_p2_Z用于控制船体后部变形。

2_副本.jpg

 

 


排水体积的相关参数

参数Volume_new和Volume_old(52000m3)分别代表变形后的排水体积以及需要保持的目标排水体积,Volume_delta则代表两者差值的绝对值。

3_副本.jpg


 


优化设置

将优化分为两个部分执行,首先通过Sobol算法,对控制船体后部变形的设计变量进行修改,然后通过Nelder-Mead Simplex算法对控制船体前部变形的设计变量进行自动取值(以排水体积变化最小为目标寻优),以确保排水体积不变。

将Nelder-Mead Simplex算法,内置于Sobol的Design Pre功能栏中,并以SHIPFLOW软件计算得到的总阻力系数Ct最小为优化目标,Volume_delta≤10为约束条件,对KCS船型展开优化。

4_副本.jpg

 


结果列表

 

如下图,各设计方案中排水体积的变化均得到了很好的约束。

122.png

 

 

Nelder-Mead Simplex算法与Brent算法对比:

1.两种算法均可以与sobol“搭档”在满足排水体积不变的前提下进行船型优化

2.Brent算法只可以设置一个“自适应”变量。如果船体变形比较明显的话,Brent中的变量有时会需要产生较明显的数值变化,从而满足排水体积不变。这样可能会导致船体局部几何的不合理。

3.Nelder-Mead Simplex算法可以设置多个“自适应”变量,可以很好解决上述问题。