xinyuxf 发表于 2006-9-22 09:18

双向进化优化方法介绍

正在学习双向进化优化方法,看了一些资料,整理出来,大家共享。
1.双向进化优化方法简介
       提到双向进化优化方法,不得不先说一下进化结构优化方法。Xie和Steven在1993 年提出了进化结构优化方法(Evolutionary Structural Optimization,简称ESO法)。该方法的优化的思想是逐步地把结构中无效或者低效的材料去除,则剩下的结构将渐渐趋于优化。1997 年,Xie 和Steven 综合了自进化结构优化方法提出以来的研究成果,出版了第一本系统介绍该方法的专著《Evolutionary Structural Optimization》,在该书中详细介绍了ESO 法的基本原理,内容涉及应力约束、刚度约束、位移约束、固有频率约束、稳定性约束、离散体结构等拓扑优化问题,而且介绍了ESO法在尺寸优化和形状优化方面的应用。
      进化结构优化方法相对其它的拓扑优化方法,其应用概念简单,可以直接以重量为优化目标,算法通用性好,优化效率高。目前已经可以解决包括静力问题,动力问题,线性及非线性问题,热问题等的结构优化问题。进化结构优化方法还具有可以处理尺寸优化问题、形状优化问题和布局优化问题等优点。但 ESO 法远没有完善,仍然存在许多不足,如缺乏较强理论基础,处理大型、复杂结构能力不强,优化结果需要再处理等。
      双方向进化优化方法是对 ESO 法的重要改进。1997 年Querin综合传统的ESO法和AESO(Addictive Evolutionary Structural Optimization)法,提出了双方向进化优化方法(Bi-directional Evolutionary Optimization,简称BESO)。BESO 方法的核心思想是在删除单元的同时在需要的区域添加单元,添加单元的操作使得 BESO 方法的优化可以找到更优的传力路径。
      ESO 方法在优化中只有删除单元操作,存在单元删除后不能恢复的缺陷,使得优化的最终结构局限在前面优化迭代得到的结构中,BESO 方法克服了这个缺点,可以在材料“高效能”(如材料应力较高)区域添加单元,这种可以添加单元的能力使进化优化方法的形状优化能力变得更强,更容易降低最大应力和应力集中,使结构应力分布均匀,可以寻找到更好的传力路径,获得更优的拓扑结构。
2. BESO方法的优化步骤:
       1.定义结构能占有的最大允许物理区域;
       2.用有限元精细网格离散结构;
       3.指定连接支承的单元,以便有非奇异有限元解;
       4.设置在设计区域内标记为非连接单元的所有单元一特殊特性值10,并存储这些单元的材料特性,但在有限元分析的总刚度和总质量矩阵组装时不考虑它们;
       5.求解特征值(频率)和特征向量(振型);
       6.围绕结构边界或洞穴,确定潜在的附加单元,标以与存在的单元不同的一特性数,并计算它们的特征矢量;
       7.计算单元的灵敏度;
       8.按照灵敏度数,选择删除准则和修改结构;
       9.重复步骤5~8,直到达到最佳结构;
3.优化过程中需要进行处理的问题
       在 BESO 法优化过程中会遇到以下三种需要注意的问题,即“棋盘格”现象,优化振荡问题和有限元模型奇异无法求解问题,要进行相应的处理,否则会出现优化效率降低,优化过程进入死循环,优化过程无法继续等问题。
3.1.对“棋盘格”问题的处理
       为了提高优化后结构边界的光顺性,避免出现“棋盘格”现象,一般有两种方法,第一种方法是加密有限元网格,采用高次单元来进行有限元分析,降低应力的数值不稳定性,但是这样会大大增加计算时间,对大规模的问题不适合。
      第二种方法是对单元应力进行均匀化处理,均匀化处理的方法是:1,进行有限元分析得到每个单元的应力;2,在每一个节点,取与该节点相连的所有单元应力的算术平均,并将这个平均值作为该节点的应力值;3,对每一个单元,取该单元所有节点应力的算术平均,并以此进行单元删除和添加的判断。
3.2.对“振荡”问题的处理
      发生振荡的原因是由于有限元单元是固定网格的,对有限元模型的修改只能在固定网格上进行,而不能够进行任意的形状修改,导致了当前的 删除率值和进化率 值对于某些单元的删除和添加比较敏感,出现了“振荡”现象。对此问题的处理方法很简单,只要改变当前的删除率 值和进化率 值即可。
3.3.对有限元模型奇异无法求解进行处理
      优化过程中,由于单元的删除操作,可能会使有限元模型中某些单元的约束不够,导致结构的刚度矩阵奇异,不能进行分析。通常由于对模型的拓扑难以计算和判断,往往需要人工干预来删除奇异单元再继续进行优化。

      请大家多多补充和讨论。

anybody_szf 发表于 2007-9-18 20:01

是eso方法的缺陷还是比较多得,但是它编程简单,很容易实现。还是不错的。

xinyuxf 发表于 2007-9-19 08:04

对阿,我感觉自己编eso时,细节上还需要自己的很多改进,不然不太实用

mjhzhjg 发表于 2007-9-19 12:48

回复 #2 anybody_szf 的帖子

据说ESO没有严格的数学证明 ,是不是啊?不过现在这个方法用的很多,也改进不少

xinyuxf 发表于 2007-9-19 14:53

对,感觉它应该是那种启发式的方法,没有均匀化方法那样严谨的数学推理

swifthorse 发表于 2007-9-25 09:25

在国内目前主要是长沙理工的荣见华研究员在作这方面的研究,好像也是源于professor xie,好像没有什么实质性的进展。国外这几年对BESO方面的研究好像也不是很多,希望从事这方面研究的来一起探讨一下

xinyuxf 发表于 2007-9-25 09:40

荣去澳大利亚xie那边做过访问学者,应该是取得了不少真经。感觉BESO的主题思想已经定型,现在做也就是做一些细微的改进或实际工程应用,向各个领域发展应用,还是出了不少的文章的

swifthorse 发表于 2007-9-25 10:19

回复 #7 xinyuxf 的帖子

目前我能查到国内关于BESO方面的文章还主要是荣及其学生的,主要内容是将该方法采用不同的应力准则来加以阐释,而对于其实质的东西譬如该算法的理论基础的探讨,优化参数等的研究很少,而这些东西对于优化结果及该方法的发掌都是至关重要的

xinyuxf 发表于 2007-9-25 10:28

对,国内的还是他们做得多,荣写了一本《结构动力修改及优化设计》,基本上把写书之前的文章都包含进去了,感觉看论文的话还是看国外的好一些,更多更全,每年都会有不少文章出来,elsevier上就有不少不错的论文。

小羽 发表于 2013-1-18 15:40

我现在也是做频率优化的关于eso算法,但是需要提取刚度矩阵和质量矩阵,需要matlab编程还是apdl编程。希望能够得到您的帮助。。我的qq 876911204
页: [1]
查看完整版本: 双向进化优化方法介绍