摘要
本文首先对多参多学科优化软件Isight的主要功能进行了介绍,包括对Isight中的流程组件、应用组件、优化算法、试验设计方法、近似拟合方法等功能模块的介绍;
关键词:Isight,多参优化,试验设计,仿真流程,仿真自动化
1.1 从仿真分析到优化的过渡
对于现今机械行业的从业人员来说,计算机辅助仿真分析方法已经被大家熟知并被广泛应用于各行各业,以实现仿真数字样机虚拟试验替代物理样机真实试验的最终目标。
随着国内CAE仿真分析水平的提升,在仿真分析方法和模式已经比较成熟的基础上,为了更有效的应用仿真分析结果,达到仿真分析结果指导产品设计的目的,优化方法和相应优化软件逐渐被引入到CAE部门的工作环节中。
如何应用优化软件搭建优化流程,以及通过什么样的优化方法和模式实现优化过程,成为很多企业CAE团队关注的问题。
根据上述需求,达索系统提供了Isight软件,作为多参数多学科优化工具平台,可以结合仿真分析工具(例如ABAQUS)实现仿真优化流程的搭建,解决产品设计与仿真联合优化的问题。
1.2 仿真规范化和流程化
随着企业CAE团队的日益壮大与成熟,以及仿真数据的积累,这些企业都对仿真规范流程的搭建提出了迫切需求。
如今高性能计算资源极大丰富,并且可预见到在不久的将来量子计算机的发展和实用化将会带来计算资源的飞跃式增长。对于CAE行业来说,计算机硬件将不再是仿真分析的瓶颈与桎梏,而大量的仿真模型处理任务和大量的待处理仿真数据将成为CAE团队的极大负担。
首先,如何将仿真流程规范化;其次,如何结合软件工具将相应流程固化;最终,如何尽可能使仿真流程自动化。以上三点已经成为CAE行业想要发展壮大必须解决的问题。
在Isight中,我们可以通过有机的组合应用流程组件和应用组件创建仿真流程模板,通过源生应用组件和二次开发实现与第三方软件之间的调用和信息交互,通过Isight丰富的开发接口创建和开发仿真模板和定制模块。
1.3 多学科多领域交互
CAE仿真分析方法可以应用于诸多领域和专业,例如结构、流体、传热、电磁等等领域。通过仿真分析方法解决多学科问题涉及到不同领域的物理机制和专业理论,同样也会用到各行各业不同种类的分析计算软件。
CAE行业对仿真分析对象的关注点从单独专业单一类型简单物理过程的仿真逐渐向跨领域多专业复杂复合物理过程的仿真转变。
要想实现多学科的联合仿真优化,往往需要将不同软件串联在同一个仿真平台下,再结合相应优化算法工具,最终实现优化流程的建立。
Isight以应用组件的形式提供了针对大量第三方软件的接口,可以轻易的将各种常用软件串联在Isight的优化或试验设计等流程中,从而实现各软件间的数据流传递,完成多学科多领域联合仿真和优化流程。
Isight软件中的工具模块主要分为两大种类:流程组件和应用组件。下面会对Isight的不同功能组件和模块进行介绍。
2.1 优化方法
Isight优化组件中集成了大量的数值优化算法,从理论方面通常可分为三大类:梯度优化算法、直接搜索方法和全局优化算法。Isight优化组件支持多输入变量(设计变量),多约束条件和多目标函数。特别指出,Isight不仅提供了针对单目标函数的优化算法,同时支持真正意义上的针对多目标函数的优化算法。理论上Isight的优化模块支持无穷个输入设计变量作为输入和无穷个目标函数作为输出。
2.1.1 梯度优化算法
通常我们将工程问题抽象为非线性、连续可导的数学问题后,梯度优化算法是解决这类问题的高效方法。Isight中集成的梯度优化算法有:MMFD修正可行方向法(Modified Method of Feasible Direction),LSGRD广义下降梯度法(Large Scale Generalized Reduced Gradient),NLPQL序列二次规划法(Sequential Quadratic Programming),MOST多动能优化系统技术(Multifunction Optimization System Tool),MISQP混合整型序列二次规划(Mixed-Interger Sequential Quadratic Programming)。
一般的情况下梯度算法优化效率较高,但是要求目标函数可导,且容易陷入局部最优解。当我们对优化空间足够了解的情况下,对设计变量取值范围进一步约束限制后,可通过梯度算法最快的得到最优解。
2.1.2 直接搜索方法
直接搜索方法无需计算函数梯度,只需要通过设计点上的某函数表达式的值对搜索方向和步长进行判定和调整。当优化问题中的目标函数较复杂或无直接函数表达式时,可采用直接搜索法得到最优解。
Isight优化模块集成了如下直接搜索方法:Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method),下山单纯型法(Downhill Simplex)。
直接搜索方法无需目标函数可导,搜索步长较梯度法更大,所以通过直接搜索方法可以在限制较小的情况下得到更大范围的设计空间的信息。同样,直接搜索法也容易陷入局部最优解,并且无法通过并行方法进行优化计算。
2.1.3 全局优化算法
我们遇到的工程问题往往比较复杂,设计空间中的目标函数可能是多峰的、非线性、不连续、不可导的;设计变量和约束函数也可能是线性、非线性、连续、离散的。当优化问题非常复杂,没有导数、梯度信息可供利用,问题又存在多峰可能性的时候,梯度算法和直接法都无法求得全局最优解,此时就应该应用全局优化算法解决问题。
Isight优化模块集成了如下全局优化算法:1、多岛遗传算法MIGA(Multi-Island Genetic Algorithm);2、自适应模拟退火法ASA(Adaptive Simulated Annealing);3、粒子群优化算法PSO(Particle Swarm Optimization);4、进化算法Evol(Evolutionary Optimization);5、自动优化专家算法Pointer(Pointer Automatic Optimizer)。
全局优化算方法的适应性很强,可以用于各种优化问题,只评价设计点不需要计算梯度。全局优化算方法在进行搜索时可以从设计空间的峰谷区域(局部最优解)跳出,因此可最终得到全局最优解。全局优化算法所需迭代次数往往非常多,因此优化速率较低,计算代价非常大。
2.1.4 多目标优化算法
我们遇到的实际工程问题多数为多目标问题,即对多个子目标(目标函数)同时进行优化,而这些目标函数往往不是单调一致的,存在相互冲突。
一般多目标优化方法可分为两大类:1、归一化方法(加权法),即通过对多目标函数进行加权求和,创建出一个新的单一目标函数,再应用单目标优化算方法对此目标函数进行优化;
2、非归一化方法,即不通过加权方式实现对多目标函数的真正优化。
Isight中的单目标优化算方法都支持对多目标函数进行加权求和,因此对于简单的多目标优化问题,并且多目标函数单调一致的情况下,可采用2.1.1节-2.1.3节中介绍的各种不同算法进行归一化多目标优化。
对于非归一化方法,Isight提供了如下算法:第二代非劣排序遗传算法NSGA-II(Non-Dominated Sorting Genetic Algorithm),邻域培植多目标遗传算法NCGA(Neighborhood Cultivation Genetic Algorithm),存档微遗传算法AMGA(Archive-Based Micro Genetic Algorithm),全局多目标梯度探索算法PE(Hybrid Multi-Gradient Pareto Exploration)。
Isight中的非归一化方法是采用Pareto最优解集的概念,可以直接处理多个目标函数,使优化所求解集的前沿尽可能贴近和均匀覆盖Pareto前沿,并且支持求解复杂Pareto前沿(凹陷部分)。
2.2 试验设计
Isight给我们提供了试验设计(DOE)工具,便于合理有效的获取数据信息,是产品开发和过程优化环节中重要的统计方法。通过Isight试验设计模块,我们可以达到如下效果:获取设计空间整体信息;分析输入设计变量和输出响应之间的参数关系;辨识关键因子(设计变量);构筑经验公式和近似模型,等。
通过应用Isight试验设计模块提供的工具,在试验计划阶段,我们可以自由定义试验设计因子和它们的类型、水平,选择不同的试验设计方法,指定关注的交互作用,自动生成试验设计矩阵,设定对响应趋势的分析;在结果处理阶段,我们可以在结果分析工具的辅助下对DOE结果进行数值分析,并得出相应结论,我们可以得到试验数据表格、散点图、ANOVA分析表、Pareto图、主效应图、交互效应图和相关性图等。
Isight集成了多种试验设计方法(DOE方法)算法,并提供二次开发接口方便用户自定义试验设计方法。已集成的试验设计方法有:参数试验法(parameter study),全因子法(full factorial design),部分因子法(fractional factorial),正交数组法(orthogonal arrays),中心复合法(central composite design),Box-Behnken法,拉丁超立方法(latin hypercube design),优化拉丁超立方法(optimal latin hypercube design),自定义数据文件(data file)。
在应用试验设计方法后,Isight可以提供丰富的结果分析数据和图表。Isight可以通过样本点建立多元二次回归模型,通过系数表给出回归模型表达式的系数值。Isight可以根据试验设计结果给出Pareto图,反映出实际空间里每个因子对每个响应的影响大小和贡献程度,以百分比图表形式给出,使用户对因子-响应的影响关系一目了然。Isight提供了方差分析工具,方便用户判定试验设计拟合结果误差是否符合要求。Isight可以给出主效应图和交互效应图,方便用户分析单个因子水平改变时,对其他因子改变求平均的情况下,响应值的变化。同样的,通过交互效应图获知因子和因子以及因子和响应之间的相互影响和作用关系。Isight在做拟合误差分析是还会给出相关性图表可以显示所有输入参数(因子)对输出参数(响应)的相关系数r。
2.3 近似拟合
近似拟合是通过逼近拟合的方法建立输入变量和输出变量之间的数学表达式关系。在Isight中的近似拟合过程中,我们可以采用不同方式进行样本数据采集,样本点可以来自试验设计矩阵、随机采点、真实试验采点和经验数据库等;我们可以选择不同的近似模型;我们可以通过误差分析工具对近似拟合模型进行验证。
一旦建立近似拟合模型替代实际仿真或试验模型,再基于近似拟合模型进行优化,则不再需要调用仿真软件重复计算,节省时间,提高优化效率。并且由于近似拟合模型相对于原数据采点模型更平滑,降低了数值噪音,是优化求解过程更容易收敛。
Isight提供了如下近似模型方法:1、响应面模型RSM(Response surface);2、径向基/椭圆基神经网络模型RBF/EBF(RBF/EBF Nueral Network);3、正交多项式模型Orthogonal(Chebyshev/Orthogonal Polynomial);4、Kriging模型。
在上述近似模型方法中,响应面模型通过多项式拟合方式实现,计算简单且具有良好鲁棒性,适用面广,但是不能保证响应面通过所有样本点,对于高度复杂问题近似结果容易存在误差。神经网络模型有很强的逼近性,可以保证响应面通过所有样本点,有较强的容错能力,即使样本中含有不平滑噪音,也不影响逼近结果,但是创立逼近模型耗时较长。在输入变量较多(因素较多)时,可以应用正交多项式模型替代响应面模型,加快近似模型建立速度。Kriging方法又称空间局部插值法,常用于设计空间有空间相关性的情况下,发源于并主要应用于地质统计学。
在Isight完成近似拟合后,还会自动对近似拟合模型进行误差评估,我们可以方便的通过自动评估结果确定近似模型的可用性。
2.4 随机抽样分析、稳健性设计和质量设计
在Isight中和随机分析相关的模块有三个:蒙特卡洛模拟组件(Monte Carlo Simulation)、田口稳健性设计组件(Taguchi Robust Design)和6 Sigma质量设计组件DFSS(Design For Six Sigma)。
其中蒙特卡洛模拟组件的功能是:系统在一组按随机概率分布的变量作为输入参数的情况下,研究输出变量的随机概率分布情况。同样可用于分析不同随机输入变量对输出响应的影响因素大小,以及分析设计点附件的失效概率和可靠度情况。对于蒙特卡罗模拟的两大关键因素,概率分布函数和采样规则,Isight都提供了丰富支持。Isight提供了7中常用概率分布函数:正态分布,对数正态分布,Weibull分布,Gumbel分布,指数分布,均匀分布和三角分布。Isight蒙特卡洛模拟组件提供了两种抽样技术:简单随机抽样和描述抽样。
Isight的田口稳健性设计组件针对田口稳健性设计方法中的系统设计、参数设计、容差设计这三大阶段中的第二、三阶段提供了自动化工具。通过设定设计参数,创建正交试验设计矩阵表格,以信噪比SNR为分析指标,实现减小目标随即差异(减小噪音因子对目标函数的影响),增强产品稳健性的目标。用户可以在Isight中对信号因子、控制因子、噪音因子等因素进行设置,生成田口方法正交表,命令程序执行试验计划得到试验结果。用户可以观察Isight输出的信噪比SNR,灵敏度β以及要因效果表来对稳健性设计结果进行分析判断。
Isight提供了一个完整的6 Sigma分析和优化算法框架,可以显著提高企业实施6 Sigma质量设计的效率和效果。Isight的DFSS组件包含了两个模块:6 Sigma分析模块和6 Sigma优化模块。6 Sigma分析模块的主要功能是应用随机方法对设计方案进行质量评估,Isight支持三种不同算方法:基于可靠性评价(Reliability Analysis),基于蒙特卡洛抽样(MCS, Monte Carlo Sampling)和基于试验设计(DOE, Design of Experiments)。6 Sigma优化模块的主要功能是搜寻设计空间中随机因素波动最小的区域,即由于随机设计变量引入的不确定因素对输出响应造成影响最小的区域,是6 Sigma分析的后续步骤。
可以看到Isight应用组件库中包含了主流CAD和CAE软件的接口,用户通过简单的设置即可完成对这些软件的调用。
需要重点说明的是,Isight还提供了名为Simcode的万用接口组件。通过Simcode组件,用户可以实现对任意第三方软件的调用(只需要此第三方软件可通过OS Command命令行运行)。Simcode组件由三个模块组成:由于改写程序输入文件的DataExchanger模块、执行应用程序的OS Command模块和用于读取程序输出文件的DataExchanger模块。
理论上,通过Simcode组件、Isight自定义组件二次开发和Isight仿真优化流程模板开发,可以实现和任意软件之间的集成以及对任意仿真优化流程的定制