零阶和一阶优化算法
- 格式:doc
- 大小:213.00 KB
- 文档页数:5
ANSYS优化算法在钢结构优化设计中的应用对比分析摘要:本文利用大型通用有限元软件ansys对某住宅钢结构进行优化设计。
在保证结构安全可靠的前提下,合理有效地降低结构的用钢量,取得良好的经济效益。
对零阶与一阶优化算法在住宅钢结构优化设计中的具体实现方法进行了探讨,对两种算法的准确性和计算效率进行了对比分析, 提出了应用建议。
关键词:ansys、住宅钢结构、零阶优化算法、一阶优化算法、优化设计中图分类号: n945.15 文献标识码: a 文章编号:现代科学技术的高速发展,以及人们对住宅功能齐全、使用方便、居住舒适、安全节能等方面的要求,使钢结构住宅逐步替代传统木结构、砖混结构和钢筋混凝土结构住宅,成为住宅产业的一只新生力量。
在钢结构工程中,钢材的用量是非常巨大的,这其中不免会存在材料安全储备太高,过于浪费的情况。
住宅钢结构的优化设计是在保证结构安全可靠的前提下,合理的利用钢材,尽最大可能的减少用钢量,从而实现降低工程造价的目的。
本文的研究依托于ansys软件兼有有限元分析和优化设计的技术优势,利用零阶和一阶优化算法,针对某多层住宅钢结构展开优化设计,并对两种算法进行了优化效果比较。
一、ansys的优化算法ansys提供了两种优化算法,ansys对这两种方法提供了一系列的“分析—评估—修正”的循环过程,即对于初始设计进行分析,对分析结果就设计要求进行评估,然后修正,这一循环过程重复进行,直到所有的设计要求都满足为止。
1.1 零阶优化算法该方法仅需要因变量的数值,而不需要其导数信息。
因变量(目标函数及状态函数)首先通过最小二乘拟合值近似,而约束极小化问题用罚函数转换成无约束问题,极小化过程在近似的罚函数上进行迭代,直至获得解得收敛。
1.2 一阶优化算法该方法计算并利用导数信息进行优化。
约束优化问题通过罚函数转换成无约束优化,对目标函数及状态变量的罚函数计算导数,形成设计空间中的搜索方向。
在每次迭代中,实施最速下降及对偶方向搜索直至达到收敛。
基于ANSYS的单层球面网壳结构优化设计摘要:单层球面网壳结构是一种具有吸引力的空间结构型式,为改善其经济性,本文采用ANSYS软件的优化模块(零阶方法和一阶方法)对其进行优化设计。
关键词:球面网壳结构优化设计ANSYS随着社会的不断进步和经济的蓬勃发展,人们不断扩大着钢结构的应用范围,与此同时建筑钢材的消耗也在以惊人的速度增长。
大跨度空间结构是现代建筑的发展方向之一。
随着跨度的增大,传统的网架、网壳和析架等网格结构,只有采用很大的构件截面尺寸,才能满足强度和使用要求,结构往往显得笨重而且材料用量多,经济性欠佳。
因此对这一投资高、风险大的复杂结构进行优化设计研究是十分必要的。
空间网格结构的优化设计通常以结构自重最小作为优化目标函数.目前已有许多文献利用传统的优化方法研究了平板网架结构的优化设计问题[1~2],而对单层网壳结构的优化设计问题很少见[3~4]。
球面网壳结构的优化设计是一个复杂的、非线性约束优化问题,另外复杂的约束条件也会使优化问题很容易陷入局部最优解。
本文借助ANSYS软件的优化模块(零阶方法和一阶方法)对其进行优化设计,以,在给定的约束条件和设计参数范围内搜索最优的结构设计参数,并与初始设计进行对比分析。
1 工程介绍某单层网壳结构,其俯视平面形状为圆形,底平面的直径为100m,球面直径为100m,矢高为6.7m,球面中心角为60°,具体模型见图1。
材料:钢管,E=2.1e11,v=0.3,剪切模量G=8e10。
截面几何:杆件均为空心钢管,环杆内径为d1,壁厚t1,径杆内径为d2,壁厚t2,斜杆内径d3,外径t3。
2 有限元模型用beam188来模拟肋杆、径杆及斜杆。
Beam188单元适合于分析从细长到中等粗短的梁结构,该单元基于铁木辛哥梁结构理论,并考虑了剪切变形的影响。
Beam188是三维线性(2节点)或者二次梁单元。
每个节点有六个或者七个自由度,自由度的个数取决于KEYOPT(1)的值。
2、优化算法简介2.1 零介方法零阶方法之所以称为零阶方法是由于它只用到因变量而不用到它的偏导数。
在零阶方法中有两个重要的概念:1)目标函数和状态变量的逼近方法;2)由约束的优化问题转换为非约束的优化问题。
逼近方法是指程序用曲线拟合来建立目标函数和设计变量之间的关系。
这是通过用几个设计变量序列计算目标函数然后求得各数据点间最小平方实现的。
该结果曲线(或平面)叫做逼近。
每次优化循环生成一个新的数据点,目标函数就完成一次更新。
实际上是逼近被求解最小值而并非目标函数。
状态变量也是同样处理的。
每个状态变量都生成一个逼近并在每次循环后更新。
用户可以控制优化近似的逼近曲线。
可以指定线性拟合,平方拟合或平方差拟合。
缺省情况下,用平方差拟合目标函数,用平方拟合状态变量。
用下列方法实现该控制功能:Command: OPEQNGUI: Main Menu>Design Opt>Method/Tool转换为非约束问题的原因是状态变量和设计变量的数值范围约束了设计,优化问题就成为约束的优化问题。
ANSYS程序将其转化为非约束问题,因为后者的最小化方法比前者更有效率。
转换的实现方法是通过对目标函数逼近加罚函数的方法计入所加约束的。
收敛检查:前面的或最佳设计是合理的而且满足下列条件之一时,问题就是收敛的:1)目标函数值由最佳合理设计到当前设计的变化应小于目标函数允差。
2)最后两个设计之间的差值应小于目标函数允差。
3)从当前设计到最佳合理设计所有设计变量的变化值应小于各自的允差。
4)最后两个设计所有设计变量的变化值应小于各自的允差。
但收敛并不代表实际的最小值已经得到了,只说明以上四个准则之一满足了。
因此,用户必须确定当前设计优化的结果是否足够。
如果不足的话,就要另外做附加的优化分析。
对于零阶方法,优化处理器开始通过随机搜索建立状态变量和目标函数的逼近。
由于是随机搜索,收敛的速度可能很慢。
用户有时可以通过给出多个合理的起始设计来加速收敛。
零阶优化和一阶优化算法零阶优化方法和一阶优化方法通过对目标函数逼近或对目标函数加罚函数的方法将约束的优化问题转换为非约束的优化问题。
两种算法的主要区别在于:零阶算法不利用一阶导数信息,一阶算法利用一阶导数信息;因此,一阶算法迭代一次所需要的时间大于零阶算法。
1零阶优化算法零阶算法是在一定次数的抽样基础上,拟合设计变量、状态变量和目标函数的响应函数,从而寻求最优解,顾又可称其为子问题方法。
函数曲线(或曲面)的形式可采用线性拟合、平方拟合或平方加交叉项拟合。
若采用平方拟合,则目标函数的拟合公式为:对于设计变量和状态变量的约束条件,可采用罚函数将其转化为无约束方程,如式(2),从而将带有约束的优化问题转化成无约束的最小值求解问题。
上式中,xi为设计变量,g^i、h^i、w^i为状态变量,X、G、H、W为对应的罚函数,其形式如式(3)所示。
f0为目标函数的参考值,pk为响应面参数。
当设计变量(或状态变量)接近限值时,其罚函数值将急剧增加,如图1所示。
转化为无约束问题后,即可采用序惯无约束极小化方法(SUMT)来搜索无约束目标函数。
2一阶优化算法一阶方法在优化过程中需要使用状态变量和目标函数对于设计变量的偏导数,因此被称为一阶方法。
采用与零阶算法类似的方式,可将约束条件转化为罚函数,并将无约束目标函数分作目标函数和惩罚函数两部分,如式(5)所示。
对于第i步优化迭代,引入优化搜索方向d(j),则下一步的设计变量值变为:式中: sj为线搜索参数,对应于搜索方向d(j)上的最小步进值,它使用黄金分割比和局部的平方拟合技术来得到,其范围限制由式(8)给出:式中: sj为最大可用步进值,而smax是设置的步进缩放尺寸, smax∈(0, 100]。
根据式(5),搜索方向dj可分为如式(9)所示的两部分,这两部分均可由Polak-Ribiere递推式[ 9]确定:参考文献:[1]Tu W,Mayne R W.An approach to multi-start clustering for global optimization with non-linear constraints[J].International Journal for Numerical Methods in Engineering,2002,53:2253~2269.[2]Montgomery D C.Design and analysis of experiments [M].New York:John Wiley&Sons,1991.[3]Zheng Q,Zhuang D M.Integral global optimization:Algorithms,implementations and numerical tests[J].Journal of Global Optimization,1995,7:421~454.。
基于Ansys的框架结构优化设计摘要:在实际工程问题中,经常遇到各种框架结构的优化问题,大多基于Ansys分析软件求解已知载荷、稳定条件下的框架结果最小体积,即最小质量以减少施工材料控制最优成本。
本文通过对一常见的矩形截面的四边框架结构进行优化设计分析,提高了对Ansys分析软件的运用能力,加深了对起运行机制的认识,为以后熟练地运用该软件打下基础。
关键词:框架结构矩形截面优化设计Ansys软件1.工程背景框架结构由于具有自重轻、造价较低和施工简单等诸多优点,在包括大型工业厂房在内的工程领域得到了广泛的应用[1].随着对设计质量要求的不断提高,人们一直在探索如何在保证框架结构安全的前提下,减少材料用量,降低成本,以满足经济性的要求。
框架结构的优化设计思想从MICHELL[2]框架理论的出现至今已有近百年历史,BENDSOE等[3]提出的多工况拓扑优化方法标志着对优化设训一研究进入了新的阶段。
国内学者也在该领域进行了大量的研究,如隋允康等对框架结构离散变量的优化问题进行了研究,通过函数变换找到了满应力的映射解,并结合框架拓扑优化特点提出了ICM(独立、连续、映射)方法[4]。
随着计算机技术的发展,人们开始利用ANSYS等软件对工程结构进行有限元分桁和优化设计。
APDL是ANSYS参数化设计语言,它是一种通过参数化变量方式建立分桁模型的脚本语言[5-6], ANSYS提供了两种优化方法即零阶方法和一阶方法。
除此之外,用户还可以利用自己开发的优化算法替代ANSYS本身的优化方法进行优化设计。
本文利用APDL优化设计模块编制用户程序,对一个实际框架进行了结构优化。
结果表明运用ANSYS进行框架结构优化设训一可以有效提高设计质量,具有广泛的运用前景。
2.框架结构模型假设在工程应用中,实际的析架结构形式和各杆件之间的联结以及所用的材料是多种多样的,实际受力情况复杂,要对它们进行精确的分析是困难的。
但根据对析架的实际工作情况和对析架进行结构实验的结果表明,由于大多数的常用析架是由比较细长的杆件所组成,而且承受的荷载大多数都是通过其他杆件传到节点上,这就使得析架节点的刚性对杆件内力的影响可以大大的减小,接近于铰的作用,结构中所有的杆件在荷载作用下,主要承受轴向力,而弯矩和剪力很小,可以忽略不计。
ANSYS优化设计--设计优化技术ANSYS设计优化技术基于ANSYS的APDL语言建立的参数化模型。
基于参数化有限元分析过程的设计优化包含下列基本要素:1、设计变量(往往在开始级、前处理器或求解器中定义);2、状态变量(来源于分析的结果后处理);3、目标函数(最后得到关于模型系统或分析结果的导出量);4、优化计算方法即优化设计工具(零阶方法是一个可以有效处理大多数工程问题的方法,一阶方法基于目标函数对设计变量的敏感程度,更加适合于精确的优化分析)。
优化设计过程就是一个反复优化改变设计变量以在满足状态变量限制条件下使目标函数变量参数逼近最小值。
在执行优化分析前必须创建一个分析文件,它是一个基于APDL参数化有限元分析过程的命令流输入文件,包括一个完整的前处理、求解和后处理分析过程,其中必须包含一个参数化的模型,定义有设计变量、状态变量和目标函数。
基本过程:1、利用APDL的参数技术和ANSYS的命令创建参数化分析文件,用于优化循环分析文件,除包括整个分析过程外还必须满足以下条件。
(1)在前处理器PREP7中建立参数化模型。
(2)在求解器SOLUTION中求解。
(3)在后处理器POST1/POST26中提取并指定状态变量和目标函数。
2、进入优化设计器OPT,执行优化设计分析过程。
(1)指定分析文件。
(2)声明优化变量,包括设计变量、状态变量和目标函数。
(3)选择优化工具或优化方法。
(4)指定优化循环控制方式。
(5)进行优化分析。
(6)查看设计序列结果。
求解方法:1、Single Run:2、Random Designs:3、Factorial:4、Gradient:5、DVSweeps:6、Sub-Problem:7、First-Order:8、UserOptimizer:注:1、在进入求解器之前定义设计变量,以便在优化设计器中指定读取分析文件的起始行为第一个/prep7命令行。
每次优化迭代计算完成后程序自动修改设计变量的值,并进入下一次迭代,即重新从指定的起始行读取分析文件,如果起始行后接着出现优化变量赋值定义语句,那么优化变量的值就强制恢复成初始值,即设计变量始终保持不变,不进行任何循环优化计算。
本论文中用到的优化方法主要是零阶方法和一阶方法。
1 零阶优化方法(又称子问题逼近方法)该方法仅需要因变量的数值,而不需要其导数信息;因变量(目标函数及状态函数)首先通过最小二乘拟合值近似,而约束极小化问题用罚函数转换成无约束问题,极小化过程在近似的罚函数上进行迭代,直至获得解得收敛。
由于该方法建立在目标函数及状态变量的近似基础上,故需要一定量的初始设计变量数据。
初始数据可根据其它优化工具和方法直接生成,或随机生成。
方法的第一步把极小化约束问题用近似方法描述每一个因变量,即对目标函数,有ˆ()()ff X f X ε=+ 对状态变量,有ˆ()()ˆ()()ˆ()()g hw gX g X h X h X wX w X εεε=+=+=+ 具体的近似形式可取为有变量交叉项的全二次多项式。
如对目标函数, 0ˆn n ni i ij i j i i j f a a x b a x =++∑∑∑ 近似表达的实际形式(即表达式中的系数)随迭代过程而变。
一次迭代过程中,近似表达式中的系数i a ,ij b 由加权最小二乘技术确定。
如对目标函数,最小二乘技术可描述为对其误差范数取极小来获得,即:^2()()()1min ()n j j j j E f f αφ==-∑ 式中,()j φ=与设计变量J 相关的权系数;n α=现行设计集合数 权系数按下述方法之一确定:有较小目标函数的那些设计集合有较高的权系数(基于目标函数); 接近最佳设计的设计集合有高权值(基于设计变量值);可行设计集合权值高,而不可行设计集合权值低(基于可行性);基于上述三类权值的综合:可取所有权值为1,即()1j φ=。
由上式知,需要一定量的设计集合来形成近似,否则需产生随机设计集合,即当2n n α<+时,生成随机设计集合;当2n n α≥+时,计算近似式(n 为设计变量维数)。
b )极小化问题近似由上述对函数的近似化,约束极小化问题可重写为:^^^1^2^3min ()(1,2,3,...,)()(1,2,3,...,)()(1,2,3,...,)()(1,2,3,...,)i i i i i i i i i i i i f f X x x x i n g X g i m h h X i m w w X w i m αβγγ=≤≤=≤+=-≤=-≤≤+= 零阶方法采用罚函数将上述约束极小化问题转换成无约束优化问题,即 312^^^^01111min (,)[()()()()]m m m n i i k k i i i i i i F X p f f p X x G g H h W w =====++++∑∑∑∑式中,X 为施加设计变量约束的罚函数;G 、H 及W 为状态变量约束的罚函数;0f 为参考目标函数值(为取得一致单位而设); 0f 为响应面函数(,)k F X p 的响应面参数;F(X, px)称为响应面函数,是随设计变量及响应面参}Cpx 而变化。
每个设计迭代中,采用一种系列无约束极小化技术(SUMT)来计算(,)k F X p 下标k 反映了在子问题求解过程中所实施的子迭代。
于是,为获得精确的收敛结果,响应面参数在数值上是增加的,即123...p p p <<<。
所有罚函数均采用由内伸张型。
如接近设计变量上限时,设计变量罚函数形式取为:1234/()()()/()()i i i i i c c x x x x x x X x c c x x x x x x εε⎧⎫+-<--⎪⎪=⎨⎬+-≥--⎪⎪⎩⎭当当式中,1c 、2c 、3c 及4c 为内部计算常数;ε为极小正数。
状态变量罚函数取类似形式。
如状态变量接近上限时,^^12^^34/()()()/()()i i i i i i i i i i i i i d d w w w w w w W w d d w w w w w w εε⎧⎫+-<--⎪⎪=⎨⎬⎪⎪+-≥--⎩⎭当当式中,1d 、2d 、3d 、4d 为内部计算常数。
采用SUMT 技术使无约束目标函数极小化,当设计迭代翔步时,即得:()()j j X X → ()()j j F F → ()j X对应于()j F 的设计变量列矢。
每一设计迭代中的最终步依据于下一个迭代均j+1中对设计变量列矢的确定。
设计矢量(1)j X +依据下述方程来确定:(1)()()(()j b j b X X c X X +=+- 式中,()b X 为最佳设计集合常值列矢;c 为内部选择参数,从 0.0~1.0变化,依据不可行解的数量而定。
C)收敛性子问题近似迭代直至达到收敛或发生终止。
这两个事件仅发生于当现行的设计集合数等于或超过逼近方程所需的数量时。
当下列情况同时发生时,认为达到收敛:当前设计集合妒)或前一个设计集合()j X 或最佳设计集(1)j X -)都是可行解;下列情况之一发生:()(1)()()()(1)()()1(1,2,3,...,)(1,2,3,...,)j j j b j j i j b i i i f f f f x x i n x x i n ττρρ---≤-≤-≤=-≤=()(2)(3)(4)式中,τ、i ρ为目标函数及设计变量容差。
条件(1)、(2)对应目标函数的差;条件(3)、(4)对应设计变量差。
若上述四个条件不能实现,则发生下列条件之一时停止迭代:s s n N = s s n N = s n =子问题的迭代数:刀J 户顺序不可行设计集合数; =s N 最大设计迭代数;NS,--Jif}序不可行设计集合的最大数。
一阶优化方法a) 概述该方法计算并利用导数信息进行优化。
约束优化问题通过罚函数转换成无约束优化,对目标函数及状态变量的罚函数计算导数,形成设计空间中的搜索方向。
每个设计迭代中,实施最速下降及对偶方向搜索直至达到收敛。
每次迭代由多个子迭代组成,其中包括搜索方向及梯度计算。
换句话说,一个一阶设计优化迭代将需要几次计算循环。
对比子问题逼近方法,该方法需要更多的计算量而且更精确。
无约束目标函数可写为:31211110(,)()[()()()]m m m n x i g i h i w i i i i i f Q X q P x q P g P h P w f =====++++∑∑∑∑ 式中,Q 为无量纲无约束目标函数;x P 、g P 、h P 、w P 为用于受约束的设计和状态变量的罚函数;0f 为参考目标函数值,从现行设计集合组中选择。
对约束的满足受控于响应面参数q 。
外罚函数x P 用于设计变量,状态约束由扩张型内罚函数凡g P 、h P 、w P 描述。
例如,对由一个上限约束的状态变量,其罚函数写作(以i g 为例):2()()i g i i i g P g g λα=+ 式中,λ为一较大整数,使得当违反约束时g P 很大,反之则很小。
其余罚函数有类似的形式。
当确定好搜索方向,如果将Q 写成两项之和,可更好地获得计算效益。
为此,定义:0()f f Q X f =及 3121111(,)()[()()()]m m m n p x i g i h i w i i i i i Q X q P x q P g P h P w =====+++∑∑∑∑则 (,)()(,f p Q X q Q X Q X q =+b)搜索方向对于每一个优化迭句,要设计一个搜索方向矢量()i d ,从而确定j+1步迭代的设计变量即为,(1)()(j j i j X X S d +=+搜索参数j S 对应于沿()i d 方向使Q 为最小值,拟合技术的组合来获得。
j S 的解由黄金分割律和一个局部二次j S 的范围限制于:m a x 0100j j S S S *≤≤ 式中,j S 为现行迭代中线性搜索的最大可能步长。
max S 为最大的线性步长(百分数)。
求解Q 最小值的关键在于搜索方向系列的生成以及响应面参数g 的调整: 对于初始迭代勿=0,搜索方向为无约束目标函数的负梯度,即:(0)(0)(0)(,)f p d Q x q d d =-∇=+ 式中q=1,且(0)(0)(0)()()f f p p d Q x d Q x =-∇=-∇及 显然,对初始迭代步搜索方法为最速下降法。
对后继迭代j>0,根据Polak-Ribiere 递推公式生成共扼方向,即:()()(1)1()(1)12(1)(,)[()(,)](,)j j j k j j j Tj j d Q x q r d Q x Q x q r Q x q -----=-∇+∇-∇=∇ 注意:当所有设计变量满足约束,即()0x j P x =,这意味着Q 能够由从p Q 提出因子,并且写作:()()(,)()(1,2,3,...,)j j i p p i i Q x q qQ x x x x i n =≤≤=当 若修正得当,q 能随迭代而变,且不破坏()j d 式的共扼性质,调整q 值提供了对状态变量约束的内部控制。
随着收敛的逼近,有必要的话,可推动约束接近它们的极限值。
一旦方程()j d 分成两个向量之和,这个调整就更为明显,即()()(j j j f p d d d =+ 式中,每一个方向分别有各自的递推关系:()()(11()()(1)1()()j j j f f j f j j j p p j p d Q x r d d Q x r d ----=-∇+=-∇+ 优化算法可能会置1j r -,迫使执行最速下降迭代,此类情况可能遇到属于下述情况之一:检测到病态情况;接近收敛时;临界状态变量满足约束而过于保守 梯度变量使用近似的算法计算,即:()()()()()()j j j i j j Q x x e Q x Q x x x +∆-∂=∂∆式中,1e ⎧=⎨⎩对应分量i 0对应其他分量。