找回密码
 注册
Simdroid-非首页
查看: 370|回复: 8

ansys的desigh xplorer VT模块的优化功能讨论

[复制链接]
发表于 2004-12-6 21:07:33 | 显示全部楼层 |阅读模式 来自 北京
最近看到一些关于ansys的一个优化增强模块的介绍,说可以利用变分技术可以一次分析就可以建立计算结果与设计变量近似关系,这样的话效率就远远高于实验设计抽样建立响应面模型的效率,但是这种一次分析的精度有保证吗?有那位高手对这方面有研究,还请发表一下看发!

评分

1

查看全部评分

 楼主| 发表于 2004-12-6 21:11:22 | 显示全部楼层 来自 北京

Re:ansys的desigh xplorer VT模块的优化功能讨论

Simdroid开发平台
这种有限元分析矩阵用级数展开的话,这种近似是不是过于粗糙?怀疑!
发表于 2004-12-7 00:19:19 | 显示全部楼层 来自 台湾

Re:ansys的desigh xplorer VT模块的优化功能讨论

天下没有白吃的午餐………..这就好象将3D的问题简化成2D,2D简化成1D,1D再简化成常数.准确度当然是有限的

我没用过design explorer.不过根据我自己的了解, 这跟design sensitivity, response surface approximation等等都是相同的道理.早在1980左右就有用design sensitivity来作有限元素法反应的逼近,这不是甚么新闻.在作optimization时的确会快一点,因为optimization时会产生许多资料与梯度, 这些approximation的方法都是将这些大量资料作贰次利用,当然会快一点.

不过,基本上并没有甚么特别新的东西………..

S-Y.Chen
www.FEA-Optimizaiton.com

评分

1

查看全部评分

 楼主| 发表于 2004-12-7 10:49:25 | 显示全部楼层 来自 北京

Re:ansys的desigh xplorer VT模块的优化功能讨论

如果说准确度没有保障的话,在快的算法也是白扯不是 !
发表于 2004-12-8 23:50:39 | 显示全部楼层 来自 台湾

Re:ansys的desigh xplorer VT模块的优化功能讨论

我昨天才跟一位教授讨论过,他有深入去了解,跟我的看法是一样的.就是小变动时是可以的,大变动就有问题了. 其实这是逻辑问题:如果用逼进就可以得到答案,那我们要ansys干麻?

评分

1

查看全部评分

 楼主| 发表于 2004-12-9 11:23:45 | 显示全部楼层 来自 北京

Re:ansys的desigh xplorer VT模块的优化功能讨论

s-y你们那边对与比较大的结构做优化的话,是采用那种策略?现在很多人都是先进行实验设计分析设计空间然后建立响应面模型,在利用优化算法对响应面模型进行寻优,所以优化结果的好坏就依赖与响应面模型对原模型的逼近程度,但是大型结构大多是复杂非线性的,这种逼近多大程度上是不是有效的,不知道有没有人能给个说法.还有就是建立近似模型的方法,我知道有现在有1-4阶的响应面模型,还有个叫kriging模型插值据说具有较的全局逼近效果,还有最近的神经元网络逼近方法,但是神经元网络逼近存在的问题就是网络前期的训练是要采集大量的样本的,而且是随设计参数数量成指数关系增长的,这也给大型问题的求解带来了瓶径,总的来说追求效率就得损失精度,追求精度就损失效率,看来是no free lunch还确实有道理的!

评分

1

查看全部评分

发表于 2004-12-12 01:17:02 | 显示全部楼层 来自 台湾

Re:ansys的desigh xplorer VT模块的优化功能讨论

我之前曾贴过,在此再重复一下,也就是将nonlinear programming (NLP)应用在design optimization的观念.也就是我们将设计优化(最佳化)的题目,将之数学化(formulate)成以下的NLP标准数学式(这只是众多惯用标准式的一个)

find : X={x1, x2, ……xn}        (design variables)
to minimize : f(X)              (objective function)
subjected to  G_i(X) < 0.0  i=1,…NINEQC (inequality constraints)
H_i(X)=< 0.0  i=1,…NEQC (equality constraints)
XU < X < XL     (design variables bounds or side constraints)

我想优化设计,各派有各派的方法,也很难定论哪一种最好.我因为”师承”的关系,所以早期用的是nonlinear programming (NLP)中的Method of Feasible Directions (MFD).后来念博士时,因为当时很流行topology optimization, 我们又碰到一个很棘手的案子,那个topology design不是玩玩或是画出大概样子就可以,而是一定要有确切的结果,所以就只好用Genetic Algorithms (GA).后来在工作上有需求多半是GA及MFD都有用到. 之后也是因为实际应用上碰到很棘手的问题,所以我将MFD改写, 弄了一个我自己称作”Conjugate Feasible Direction Method” (CFDM).我把我将各种方法的了解描述如下

MFD(Method of Feasible Directions):MFD属于所谓的gradient-based method.也就是constraint跟objective function的梯度必需存在.在工程的应用上,这是一般公认最为稳定,收敛性最佳的方法之一.简单地说,此法直接考虑每个constraint跟objective function,将其局部的梯度算出后,找出一个feasible (维持在constraint内)且usable(objective function递减)的方向.类似的方法有SLP, SQP, RQP等等,不过基本原理类似.但是MFD的特色是,每一个叠代,它是保证都在feasible domain里,也就是都符合constraint的要求. 其它的方法,有的是在constraint表面游走,有的是后面才推进feasible domain.因为这样的特色,MFD从1970年起就广为工程界采用.1980到1990左右Sequential Quadratic Programming(SQP) 跟Recursive Quadratic Programming(RQP)也很受欢迎.不过我个人并没有实际用过,无法置评.MFD的收敛性是super linear,SLP是linear,SQP跟RQP是quadratic.不过根据我自己的经验, MFD的确稳定又快速.

我个人在2001至2002年左右将MFD改写成CFDM(Conjugate Feasible Direction Method),为的是改进其收敛性及效应,我个人经验对于非线性程度较高的问题应有较好收敛性.有兴趣的可以参看我的网站底下

http://www.fea-optimization.com/paper/PAPER00.htm

S-Y. Chen, Nov 2002, "Integrating ANSYS with Modern Numerical Optimization Techniques - Part I : Conjugate Feasible Direciton Method, 2002 Taiwan Area ANSYS Users Conference.

Gradient-based的方法限制会多一点,而且因为需要objective function跟constraints的梯度,所以方法较为复杂,有时算gradient也会比较麻烦.因为要算gradient计算量也会大一点.但是这些方法通常是保证收敛,而且最稳定.一般来说,如果应用的问题许可,可以用gradient-based都会尽量用gradient-based的方法.

跟gradient-based有点类似的方法的,是所谓的SUMT(Sequential Unconstrained Minimization Techniques),也就是将有constraint的问题,将其constraint function乘加一个weighting factor后加到objective function里,然后直接minimize这个新的objective function.也就是将有constraint的题目简化成没有constraint的题目,然后叠代求解.当然求解时,也可以求这个新的objective function的gradient.这样的方法好处是简单,而且因为不需要用到gradient,所用内存较小.但是一般收敛性不好,犹其是对非线性度高的问题更是如此,也无法处理太多的设计变量.但是前一阵子(一两年前)我看过有个前辈出了一篇论文,是专用这个方法楚理非常大型的问题的.因为用gradient-based的话,因为constraint太多可能会发生内存不够,效率也不佳的问题.据他的论文说效果甚佳,不过他不愿透漏技术细节.我觉得这是很值得注意的方法,因为算gradient真的很麻烦,而且问题一大内存的确会出问题.

GA(Genetic Algorithms) 是所谓的 stochastic search的方法,也就是随机搜寻(random search).GA的原理是模仿生物演化的过程,以达到最佳化的目的.听起来很玄,但是如果深究其运作的过程及原理,其实跟golden section search或是bisection search很类似. 不同的是GA每次是用好几个点来搜寻,而不是一个点.令外,GA并不需要梯度,也不假设其函数需要连续或可微分.所以GA是非常一般性的方法,而且简单的GA写其程序来非常快速容易,这是GA的优点.所以在1995年左右出现了大量的论文,几乎各行各业都参加了.

不过缺点是,GA需要大量的运算,而且也没有一般性的数学证明它是可收敛或是会收敛的. 也就是以传统的Nonlinear Programming(NLP)的眼光来看,它实在是有点简陋而且无所根据.

我在1999左右参加ISSMO的conference,当初发表的就是GA(因为我博士班作的就是GA),认识了很多来自中港台的前辈.许多前备当着我的面说GA的不是,让我实在是很尴尬.

不过我想没有试过某个方法就说它不好用,这是不公平的.我认识的老前辈中,很多在gradient-based的领域相当被尊重,也都相当肯定GA,因为他们自己试过.

我本人并非GA的忠实拥护者,这只是我用的许多方法中的一种,当然我可能被一些前辈定位为”GA fan”,这实在是跟个人发表时机跟机运有关,无关乎个人喜好,我要特别澄清. 我想在此多花点时间描述一下GA.首先是关于收敛性的问题.GA的收敛性在只有两个设计变量时是可以证明的.在我的博士论文里有描述,可参看

http://www.fea-optimization.com/paper/PAPER00.htm
底下
Ph.D. Thesis : Using Genetic Algorithms for the Optimal Design of Structural System

还有其它许多引人争议的参数设定,都有详细的解决方法跟描述.

我认为经过这些调校后,GA是很可行的方法.当然,如今大家多半同意,不同的问题要用不同的方法,GA也是各种方法中的一种, 只是直觉地批评它不实用,或是说它只是个暴力法(brute force approach) 并不公平.何况有很多问题,很多情况,是只有GA可以解决的.我现在写很多客制化的自动最佳化设计系统,为了系统的稳定及绝对有个答案,有时非用GA不可.

犹其计算机越来越快,越来越廉价. GA是平行处理运算的极佳人选,程序也几乎不需修改就可以进行平行楚理.我认为再过几年GA会再卷土重来. 目前我想我只是自己使用快乐实用就好, 无需说得太多.

最后是response surface approximation (RSA).这也是这一二十年来很受欢迎的方法.它的原理就是function fit. 因为我们在作NLP这类的问题时,基本上只假设每个函数是非线性,但是我们并无法知道真正的函数是甚么, 所以只能从现有的资料中去假设或逼近,这就是function fit.基本上gradient-based的方法也是用function fit,也就是我们先假设local的行为(从gradient得到),然后一步一步地求解.response surface approximation通常会是二次函数或是以上的fit(要不跟gradient based就没甚么差别了).不过fit出function后,还是一样,要求解那个NLP的数学式.所以又要回到gradient-based或是 SUMT或是其它方法. 不过RSA最吸引人的地方在于,因为我们在optimization的过程中一定会产生许多资料,如果可以将这些资料用RSA产生function fit而结省function evaluation的时间,将会大大提高计算效益. 犹其要是function evaluation要用的finite element,那帮助更是大. 所以有人特地将这跟finite element有关的optimization领域,称之为 FEA-based optimization.

RSA当然也有各种方法,其中一个是design of experiment (DOE),DOE在台湾称为田口法,实际上跟finite element 里的Lagrange Interpolation并无不同.另外当然就是用Taylor Series Expansion去fit二次函数.一次函数比较少见,因为那样跟gradient-based就没有很大差别了.这都是希望从既有的数据产生一个简化的逼近函数以简化题目加以求解.如果加上SUMT的关念跟方法,甚至可以不使用gradient-based的方法而直接求解.

RSA的问题,我认为在于所需要的设计样品数目不是可以随意的.例如如果用DOE,假设有两个变量,则其需要的样品数可能是  2X2  2X3  3X3等等.还有样品的分布范围也很重要.我们都知道内差当然比外差好.还有内差函盖的范围,当然越小越好.所以样品的选取通常是一大问题.在gradient-based的方法虽然会得到许多点,但是把这些点拿来fit,通常fit的范围非常扭曲,而且样品分布不见得理想.不过如果我们已知问题特性,例如已知是在作fea的结构分析,在数学式上可以更精确(因为事实上我们知道其真实的函数),fit起来也较有效率.design explorer就是这样的原理. 这在1980年左右就有很多人作了

另一个问题,就如有人提到的,我们的问题通常不只是二次函数甚至三次函数那么简单.要是再加上SUMT,我们很直觉地会觉得,收敛性可能会有问题.这个,因为我个人也未曾真正写程序尝试过,所以说真的也不敢随便批评.不过ANSYS就是用RSA加上SUMT, 我想很多人也都感觉到它的限制了.

我个人倒是认为GA跟RSA结合应该是很可行的.因为GA产生的样品数量非常大,而且其分布范围较为平均. 以前我听过一场小型演讲,我记得是Motorola的研究人员,他说他用GA来产生样品点给neural network作training,效果很好,我认为这是很好的方法. 不过, 我一直没有机会深入研究

总之,我认为各种方法都有其价值.不管大家怎么说, 我想基本上都会同意,不同的题目类型要用不同的方法.除非在数学上有所突破,否则我想接下来会朝组合各种方法的方向前近.

几年前(不算太远,应该是三四年前),我有看到数学界开始研究所谓的generalized MFD,也就是开始使用到objective function的二次项.这也许也会再被大家注意到吧.

S-Y. Chen
www.FEA-Optimization.com

评分

1

查看全部评分

 楼主| 发表于 2004-12-13 10:01:40 | 显示全部楼层 来自 北京

Re:ansys的desigh xplorer VT模块的优化功能讨论

以后还希望您能多多参与我们的讨论,真有种听君一席话胜读十年书的感觉,以后还望不吝赐教!
发表于 2005-3-23 21:34:02 | 显示全部楼层 来自 陕西西安

Re:ansys的desigh xplorer VT模块的优化功能讨论

我刚刚接触优化,有机会要多向你们请教阿!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 11:15 , Processed in 0.075868 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表