技术文章
浅谈CAE工具的参数化优化
背景
优化,是一切设计/产品永恒的主题。如何在现有的工艺条件内,尽可能的获得最接近最优值的产品设计,是每一个工程师追求的目标。参数化优化的本质,就是通过大量的数据点的回归,进行最优解的探寻,为了去逐渐逼近最优解,广大的科学家们研究出若干种优化算法,耳熟能详的有:遗传算法、粒子算法、梯度算法等。在此基础上,也应运而生了很多优化软件,如Optislang、isight等。
图1 一般基于CAE的参数化优化工具的步骤
这整个过程中,完成CAE计算以及自动完成CAE计算,都是常见的CAE软件的功能。后续步骤中参数敏感性分析、优化、以及设计稳健性分析,才是一个优化软件的关键所在。
一、优化过程
接下来基于整个优化流程,来看看各个过程都重点在做些什么,背后的逻辑又是什么。
设计的本质就是各种参数的组合。而在实际的产品设计中,设计参数非常多。以风机为例,决定一个风机叶片形状的参数有:子午面的形状,进出口的直径,不同叶高方向的角度分布情况,不同叶高方向的厚度分布情况、叶片数等。一旦参数增多,则优化的数据点就会呈现海量的增加,会导致优化效率与计算时间都大幅度增加。
图2 典型的风机的参数情况
而实际上,以2/8原则来说,在众多的参数中,只有部分参数会对最终的优化结果有较大的影响,因此在进一步优化之前,对海量的优化参数进行参数敏感性分析,选择对结果影响最大的参数,进行进一步的优化,可以有效地减少计算时间,提升优化效率。
一般的参数敏感性分析的步骤如下图3所示。
图3 参数敏感性分析流程
(一) DOE选点
DOE选点是一切优化的起点。DOE选点的原则在于,不能有空白区域以及无必要的输入空间。
常见的选点方式有:
(二) 建立响应面
在有了一系列经过计算的设计点及其计算结果之后,第二步就是建立响应面。
响应面是分析物理量相关性的一种数学方法。其本质上就是通过实际数据拟合出方程,该方程可以通过坐标图的方式表现出来,以此预测不同条件对响应值的影响。简单来说,DOE方式无法穷尽所有设计点,那么为了补全整体的设计空间,我们就需要拟合方程,从而实现设计空间的连续。
对于一个响应面来说,是否能准确的表现“设计参数”与“性能参数”之间的关系是最重要的。用过excel方程拟合功能的小伙伴都知道,即使再好的拟合,都无法100%完全拟合设计点的曲线。因此引入一个预测系数的概念(Coefficient of Prognosis)。。CoP越高,则代表该响应面越精确,自然根据该响应面获得的数据,也越精确。
一般情况下,CoP不足的原因主要是样本点不够,因此当生成基于DOE的影响面后,需要先检查一下模型的CoP值,若该值过低,则需要进一步增加样本点的数量,从而生成更加合理的响应面模型。
(三) 敏感性分析
在有了足够精度的响应面之后,就可以看出来各个参数与最终目前值之间的相关关系与影响大小,从而对各个输入参数进行排序与筛选。
图4 响应面域参数敏感性计算情况
在筛选完最重要的参数之后,就可以进行优化工作。优化就是计算一个函数的最大值或者最小值的问题。假设函数f(x)的具体表达式是未知的,把它看作一个黑盒函数,我们只能通过向盒子输入得到输出。它可能存在局部最小点和全局最小点,很显然进行坐标点穷举然后对比出最小值的方法是不可行的,这时就需要我们根据策略一步步地向最小值逼近,不同策略就对应着不同的优化算法。常见的优化算法有:Gradient-Based Methods相关系列算法、Nature-Inspired Optimization系列算法,Surrogate-based Optimization系列算法。其中Nature-Inspired算法是最常见的,如遗传算法、粒子法等,都是这一类算法。
图5 常见的优化算法
对于优化来说,又分为单目标优化与多目标优化。单目标优化一般就是针对某一个值的极限进行不断的逼近。多目标优化则是针对多个目标函数同时进行寻优迭代。一般情况下,多目标优化中不存在一个最优解,使得既要又要还要,对于多目标优化来说,我们需要人为的在最优解的集群中,选择我们当前设计相关更重要的设计参数。比如对于一个桌子,我们无法让他最好看且最耐用同时还最轻,但是我们让他在最轻的情况下,相对更加好看且耐用。
因此在多目标优化中,引入一个概念,叫做“Pareto Optimality”。帕雷托最优是指资源分配的一种理想状态。给定固有的一群人和可分配的资源,如果从一种分配状态到另一种状态的变化中,在没有使任何人境况变坏的前提下,使得至少一个人变得更好,这就是帕雷托改善。帕雷托最优的状态就是不可能再有更多的帕雷托改善的状态;换句话说,不可能在不使任何其他人受损的情况下再改善某些人的境况。为了更好的理解Pareto Optimality,我们引入几个概念:
参数支配
如果有两个解,A and B和两个方程f1和f2。其中解A解在f1和f2均,优于解B,则可以说解B被解A支配。
无差别,非支配
如果有两个解,A and B和两个方程f1和f2。其中解A和解B,各有最优,则称为非支配。
最优解
存在一个解,使得解两个方程f1和f2均为最优解,则该解称为最优解。
帕累托最优解
同样假设两个目标函数,对于解A而言,在变量空间中找不到其他的解能够优于解A(注意这里的优于一定要两个目标函数值都优于A对应的函数值),那么解A就是帕累托最优解。
帕累托最优前沿
所有的帕累托最优解构成帕累托最优解集,这些解经目标函数映射构成了该问题的Pareto最优前沿或Pareto前沿面,即帕累托最优解对应的目标函数值就是帕累托最优前沿。
因此简单来说,多参数优化的本质就是通过优化工具获得帕累托最优前沿,然后再通过项目本身的要求,来人工判断选择哪个参数。
由于设计稳健性也是分析参数对于结果的影响,因此有必要区分一下设计稳健性与参数敏感性。
参数敏感性的重大是在分析不同参数下对最终优化结果的影响的权重,而参数稳健性则是在分析某一个参数的上下波动对最终结果影响的程度。就好比一张桌子设计的时候,可以通过参数敏感性来分析来确定是桌子的长、宽以及材质决定桌子的强度。而参数稳健性来用来确定,当桌子的长度误差范围在1%的时候,桌子的强度还是否能满足我们的要求。
考虑到在生成中一定是存在公差的情况,因此当完成设计的优化又进行设计稳健性分析还是很有必要的。以防最优点的参数组合可能是一个曲率非常大的点,轻微的偏差都会导致与最终结果相去甚远。
在计算设计稳定性时,通常需要几个要素。一个产品的尺寸,一般由尺寸的中指与尺寸的偏差构成。尺寸的偏差又包括,尺寸的公差,尺寸的CPK,设计对可靠性的要求(σ)。而尺寸的偏差,又可以统一由一个值:尺寸的标准差来计算。也就是说,一个尺寸可能的分布情况,可由尺寸的中值+尺寸的标准差来定义。
因此在计算设计稳健性的过程中,本质上也是在各参数的公差范围内撒点,来获得各参数基于各自公差范围内的结果情况,从而通过所得到的数据,来判断产品设计是否能保证在当前尺寸保证能力下,产品既然满足设计要求。
图6 设计稳健性分析过程
在完成所有的设计方案优化后,就可以基于优化的结果的最终方案,来进行最后的实验验证了。
总结
站在工程设计的角度,使用参数化优化,在现阶段并不能完全代替人工来进行优化,而且由于参数化优化需要大量样本点的计算,对于时间和算力也存在一定要求。但是相信随着计算机算力的不断提升,采用计算机辅助手段下的参数化优化,可以帮助有经验的工程师不断去逼近产品设计极限,尤其是在多参数优化以及设计稳健性优化上可以更好的辅助工程师来完善自己的产品设计。
技术文章