首页/文章/ 详情

ANSYS DX中的DOE与响应面技术(二)

7月前浏览14498

本文摘要(由AI生成):

这篇文章主要介绍了 Ansys DX 中响应面的类型、如何评估响应面的质量以及提高响应面精度的方法。文章指出,在得到 DOE 的分析结果后,需要拟合形成响应面,并提供了 Standard Response Surface、Kriging、Non-Parametric Regression、NeuralNetwork 和 Sparse Grid 五种响应面类型。评估响应面质量可以使用 Goodness of fit 工具,该工具提供了一系列评价指标。另外,还可以通过插入验证点来检查响应面质量。关于响应面的精度问题,文章建议首先选用标准二次响应面,如果 Goodness of fit 指标不佳,则考虑使用 Kriging 响应面类型。在 DOE 中增加设计点个数可提高响应面精度,同时还可以使用自动细化和人工细化选项。最后,文章还介绍了如何结合各种图表工具进行全方位的设计探索。


本文节选自我参与编写的《工程结构优化设计方法与应用》(中国铁道出版社,2015年)一书的第九章。

在得到DOE的分析结果后,下面的工作就是拟合形成响应面了。DX提供的响应面类型有下面五种:

(1)Standard Response Surface(完全二次多项式)

此类型为缺省类型,采用回归分析确定近似的二次响应函数。回归分析结果可通过Goodness of fit来评价。

(2)Kriging

当标准响应面类型给出的结果不满意,或响应关于输入变量的变化较剧烈和非线性震荡的情况,应用Kriging类型可获得更好的结果。此类型的响应面通过所有的DOE样本点。如果DOE样本点有扰动,则不推荐用此方法。

(3)Non-Parametric Regression

此类型即非参数回归方法,适合于响应为非线性的情况。该类型的计算速度较慢,仅当标准响应面的“Goodness of fit”不理想的情况下才考虑使用。此外,该类型还适合于处理DOE样本点计算结果有扰动的情况。

(4)Neural Network

此响应面类型采用神经网络方法,适合于高度非线性问题,计算速度较慢,一般场合较少用到。

(5)Sparse Grid

此响应面类型采用自适应的算法,会自动对生成的响应面局部细化以改善这些位置附近的响应面质量。必须采用“Sparse Grid Initialization”DOE类型,一般需要计算更多设计点,因此对计算速度的要求较高。此方法还适合于处理响应中包含不连续的情况。

ANSYS DX提供了Goodness of fit工具来估计响应面的质量,此工具位于Response Surface的Outline下的Metrics中,任何一个输出变量的Goodness of fit均可在此查看。Goodness of fit工具包含一系列评价指标,表9-2中给出了各种指标的名称及其理想值。

表9-2 Goodness of fit指标及其理想值

Goodness of fit指标名称

理想值

判定系数(Coefficient of Determination

1

调整的判定系数(Adjusted Coefficient of Determination

1

最大相对残差(Maximum Relative Residual

0%

均方根误差(Root Mean Square Error

0

相对均方根误差(Relative Root Mean Square Error

0%

相对最大绝对误差(Relative Maximum Absolute Error

0%

相对平均绝对误差(Relative Average Absolute Error

0%

Goodness of fit的指标与所选择的响应面算法密切相关,如果Goodness of fit指标较差,则说明选择的响应面类型不适合于所求解的问题,可考虑改变一种响应面类型。

除了Goodness of fit之外,还可通过Predicted versus Observed Chart散点图来直观地显示响应面和设计点输出变量取值的差异。在Predicted versus Observed Chart中,纵轴为响应面预测的值,横轴为设计点计算值,如果预测结果较好,则散点基本位于45度线的附近。如果有较多的点偏离45度线,则响应面的质量较差。

另外,用户还可以插入Verification Points(验证点)来检查响应面质量。尤其对于Kriging类型的响应面,由于采用插值的方法,响应面通过全部的DOE样本点,因此Goodness of fit不能客观反映其质量,此时可通过验证点来评价响应面。验证点是在响应面计算完成后单独计算的,可用于任一种类型的响应面类型的验证和评价,尤其适合于验证Kriging以及Sparse Grid类型的响应面精度。

用户可在响应面的属性中选择Generate Verification Points (生成验证点)复选框,并指定Number of Verification Points(验证点数量),这样在计算响应面时会自动生成验证点,这些验证点的位置选择会尽量远离已有的DOE样本点或细化点(对OSF算法)。也可以在Table of Verification Points(验证点列表)中直接插入或导入CSV数据文件中的验证点,然后在列表中选择新插入的验证点,右键菜单选择Update即可计算此验证点。验证点计算完成后,即可与响应面在此点处的值进行比较了。DX提供验证点的Goodness of fit列表以及验证点和响应预测点的Predicted vs. Observed图,通过这些工具可以反映出响应图的质量。

关于响应面的精度问题,这里作简单的讨论。

首先,ANSYS DX的响应面算法适合于10-15个输入参数的问题,设计参数过多会严重降低计算效率以及响应面的精度。如果参数的个数超出了合理范围,可先进行参数相关性分析以识别关键参数。参数相关性系统应在响应面系统之前使用。

一般来说,响应面的精度取决于输出变量变化的复杂程度、所选择的响应面类型以及DOE中样本点的数量。

关于选择响应面的类型,通常建议首先选用标准二次响应面,该响应面已经被验证适用于输出变量变化较为缓和的情况,基于此模型形成响应面之后用Goodness of fit工具来评价,如果标准二次响应面Goodness of fit指标不佳,则考虑使用Kriging响应面类型,Kriging响应面在总体响应的基础上添加了局部的变异性,能处理变化较剧烈的情况。

在DOE中增加设计点个数可提高响应面精度,因此必须保证有足够多的设计点,设计点数需要超过输入参数的个数,理想情况下需要至少两倍于输入参数个数,大部分的DOE通常能产生足够的设计点数量,但Custom DOE类型可能不够。所选取设计点的位置分布也需引起注意。比如常用的CCD抽样方式,一般先选取实验中心点,然后再围绕此中心点均匀选取其他实验点,这种抽样方式实际上是为了保证响应面能够在设计点附近较好地近似真实的响应函数。

对于计算开始阶段无法准确判断DOE是否形成了足够多的设计样本点的情况,Kriging响应面以及Sparse Grid响应面的自动细化是非常有用的。Kriging响应面类型允许通过refinement的自动细化类型(Auto)来指定响应面的精度以及为提高此精度所需的最大细化点数量。Sparse Grid也是一种由指定精度驱动的自适应方法,该方法能够在输出参数梯度高的位置自动细化设计点矩阵以提高响应面精度。此外,对除Sparse Grid外所有的响应面类型还提供了人工细化选项,允许用户在计算响应面的既有设计点中手动增加或导入CSV文件中的细化点(Refinement Point),DX会强迫程序生成响应面时考虑用户选择的细化点。细化点是实际求解的设计点,对响应面进行update时,DX会基于DOE中的设计点以及细化点生成新的响应面,这是有效改善响应面精度的一条途径。设计人员可以从已经完成的优化分析中选取最佳备选设计作为一个细化点以改进该点附近的响应面质量。

最后,不论何种形式的响应面,建议总是选择创建验证点,这可以有效验证响应面的质量。如果通过验证点发现响应面质量较差,则可在验证点列表中选择相应的验证点,右键菜单中选择Insert as Refinement Point,把此验证点作为细化点来重新形成局部改进的响应面。

在得到了满意的响应面之后,可结合各种图表工具进行全方位的设计探索。比如,可查看局部敏感性、响应面或响应曲线、进行Min-Max搜索等,全面分析输入变量对输出变量的影响规律。

响应图中可以查看的敏感性是指局部的敏感性,因为在不同响应点位置的敏感性显然不同。读者可以想象,如果这个点位于响应面上较为平坦的谷底位置,则此处的输入参数对结构响应的影响就比较小;相反,如果这个点位于响应面的陡坡上,则此处的输入参数对结构响应的影响就会比较大。

在缺省条件下,最小-最大搜索(Min-Max Search)在响应面形成和更新时将自动计算,给出各个输出变量近似取值的最大值和最小值。在Min-Max Search的属性中,需指定Number of Initial Samples(初始样本点数)以及 Number of Start Points(搜索初始点数) ,这些数越大则搜索时间越长。如果设计参数很多,搜索时间很长时,可以在响应面的Outline中不勾选Min-Max Search选项。Min-Max Search采用NLPQL搜索算法(在后面目标驱动优化中详细介绍)分别对响应面的最大和最小值进行搜索,如果Number of Starting Points 值大于1,则对于每一个搜索起始点都会分别进行最大值和最小值的两个NLPQL搜索,Min-Max Search计算完成后,会给出每一个输出变量的最大值和最小值。

响应图(Response chart)是近似响应函数的图形或曲线显示。在响应图中,可以选择查看任意输出参数关于一个或两个输入参数的变化曲线或曲面。显然,响应图跟局部敏感性一样,也随着所选择的响应点而不同。可在Response chart的属性中勾选Show Design Points选项,这样在响应图中会显示出所有当前使用的设计点 (包括DOE的样本点及响应面改善中形成的细化点) ,这有助于评价响应面对设计点拟合的接近程度。

DX提供了如下三种响应图显示模式:

Ø  2D模式

2D模式显示为二维的曲线或图表, 用于表示一个输出参数关于一个输入参数变化的响应情况。

Ø  3D模式

3D模式显示为三维的等值线图,用于表示一个输出参数关于两个输入参数改变的响应情况。

Ø  2D Slices模式

2D Slices模式结合了2D 及3D模式的特点,把输出变量设为Y轴,一个输入变量设为X轴,在一个平面上画出另一个变量取一系列不同值时切三维响应面得到的一系列曲线,每条曲线用不同的颜色绘制,以区别另一个变量的不同取值。


Design XplorerWorkbench
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2018-12-29
最近编辑:7月前
尚晓江
博士 | 博士 技术专家 海内存知己,天涯若比邻
获赞 631粉丝 11063文章 77课程 25
点赞
收藏
未登录
2条评论
佰余
签名征集中
4年前
感谢尚博士分享,请教一个问题,各个响应量具体的响应函数应该如何获得?
回复
T-T
签名征集中
4年前
首先特别感谢作者的文章,然后我提2个问题:1)如果验证点处精度不够,是将验证点单独作为细化点还是将验证点与验证点周围的点一块作为细化点?假如是将验证点周围的点也作为细化点,这些怎么取值较好呢,是不是要微改部分参数的值? ;2)将验证点添加到细化点后应该是提高了验证点附近的精度,还要不要添加新的验证点再次进行判定响应面的精度呢?假如需要的话,需要添加多少次才算精度已经达到了呢?(再次感谢作者)
回复 1条回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈