ANSYS Workbench + Matlab 进行响应面目标优化
这里对Ansys Workbench中的响应面目标优化进行一个简单的记录。响应面多目标优化是利用适量的仿真数据,通过适宜的数学模型拟合建立目标参数和可变参数之间的响应面模型。再利用优化算法,在可变参数给定范围内,筛选符合目标值的可变参数的最优组合。
可见目标优化可以分为两个阶段:
一,通过DOE试验设计进行少量的可变参数组合的仿真计算,获得目标参数结果。并将可变参数和计算目标值之间通过拟合的方法建立数学公式关系(响应面拟合)。
二,根据响应面拟合结果,在可变参数设计范围内,重新进行超大规模的探寻,利用拟合的响应面公式快速计算每组可变参数的目标值。再通过适当的寻优算法,在无尽的可变参数组合范围内给出符合目标值的最优可变参数组合。

使用Ansys Workbench进行优化分析,一般需要对几何进行参数化建模。要满足通过变更可变参数的数值大小,几何模型刷新即可重新生成的要求。

再进行一个实例模型的仿真试算,这里要检查计算是否正确,没有报错终止,没有边界载荷设置错误。再选取某些参数作为目标值:可以是模型属性值:质量、体积、转动惯量等,可以是变形、应力、应变等计算值结果;

完成这里就可以开始进行响应面多目标优化计算。
首先 B2:Design of Experiments 是进行可变参数的范围设定和DOE试验样本组合的设定。可变参数范围,由用户根据实际需求设定。
然后DOE试验设计方法的选择,不同DOE方法适用场景会有差异(详细说明参考其它资料)。
二次响应面优化拟合,我一般选择中心复合方法(DOE样本组合兼顾可变参数在中心和边缘的分布,适合二次响应面拟合);
拉丁超立方DOE试验设计方法,对可变参数范围进行随机抽样,适合误差估计等;
每种DOE试验设计方法所创建的样本数量和组合均不相同。(这里创建的所有样本组合都是要进行实实在在的仿真计算的);

可变参数范围和DOE试验组合设定好后,点击update 软件会先关闭实例mechanical模块,然后依次完成所有25组仿真计算(注意计算之前先保存)
由于每组可变参数的组合都是先更改几何模型,再重新绘制网格,再计算。这中间有时会计算不成功,导致该组合没有结果。这一般不影响后续优化步骤的继续执行,但精度有可能降低。

然后就是B3:Response Surface 和B4:Optimization。这两部分就是在上述DOE试验表,输入参数和输出目标值,之间进行数值计算了,这两部分可以说不再属于有限元仿真。
B3:Response Surface:是根据上述DOE试验表的输入参数和输出目标值根据算法构建对应数学关系式。(各算法的详细使用请参考其它资料)
其中:二次多项式拟合适用可变参数与响应目标没有特别非线性、没有多峰、没有不连续等关系,即直觉上就可以根据可变参数的变化,简单估计出目标值的变化规律;(一般物理结构大多符合这一块)
如果不符合即根据可变参数完全不能预测目标值变化规律的强非线性对应关系,可以尝试适用Kriging等。
拟合完成后可以通过goodness of fit 查看拟合精度,一般要求拟合精度 coefficient of Determination 接近与1。
还可以查看可变输入参数对各个目标值的影响敏感性,敏感性越大说明该可变参数对该目标值影响越显著。

B4:Optimization部分就是设定寻优目标值和可变输入参数范围(这里虽然可以再更改,但是不建议大幅度更改)。目标值设定有三类,最大、最小和目标值。这里寻优就是数学上求极值,有了上一步的输入参数和输出目标参数的数学拟合关系,就可以在全域可变参数范围内搜寻符合目标设定的最优输入参数组合。

通过上述关于Ansys Workbench的优化分析可以看到:在可变参数输入和目标值输出之间建立数学拟合关系;再进行目标值设定,在可变参数范围内搜寻符合目标设定的最优参数组合;这两块并没有用到有限元仿真计算,完全是数学计算过程,因此用户完全可以借助matlab 等软件完成这两步分析。(matlab在这两块比workbench更强操控性更多,还有就是Ansys Workbench 必需依赖前面的参数化几何建模和自动网格划分)
因此当参数化几何建模困难或者一次性完成全样本DOE试验样本崩溃的时候,就可以不再完全依赖Ansys Workbench的优化分析,而是由用户自主控制。即由用户手动设计DOE试验组合,再使用各种手段完成DOE试验组合样本的模型更改(比如在Hypermesh中直接控制网格)和仿真计算(多次仿真计算是必不可少的)。总之就是需要有DOE试验数据,然后就可以借助matlab来完成后续的拟合和寻优了。
示例:
第一步:根据可变参数设计DOE试验表(中心复合DOE试验表的样本组合matlab和Workebench的结果是一致的)

第二步:就是依次仿真这25个试验组合(根据组合更改几何或者网格模型,提交计算依次获得仿真结果)

第三步:就是matlab擅长的范围了。
读入DOE试验数据表,进行全系数二次多项式拟合;设定优化目标;寻优符合目标的最优可变参数组合(这里本人设定了可变参数寻优范围和DOE试验设定的输入范围一致)
matlab已经提供了多目标遗传算法迭代寻优的函数(MOGA),用户只需要调用即可。而且matlab还可以提供Workbench不支撑的一些设定,比如:
多个目标寻优时,通过权重系数设定目标优先级;
通过option中的A、b , Aeq、beq,设定恕不变量的限制关系,比如:X1>=X2 & X3>=X1 —— A[-1,1,0,0;1,0,-1,0] b[0;0];



相同的DOE数据表matlab结果和Workbench结果对比:
拟合精度和可变参数敏感性,反应情况相同。(Workbench还可以从敏感性上读出正、负影响)
相同优化目标设定,筛选出的最优结果也基本相同。


演示示例:
以下内容为付费内容,请购买后观看
包含4个文件
matlab 程序2021b版本; ansys示例2023R1版本; word文档;






















全部评论 (0)