基于MATLAB与ANSYS的结构优化设计
2011-01-12宋宏伟刘浩
宋宏伟,刘浩
(1.大连民族学院土木建筑工程学院,辽宁大连 116605; 2.大连理工大学建设工程学部,辽宁大连 116024)
基于MATLAB与ANSYS的结构优化设计
宋宏伟1,刘浩2
(1.大连民族学院土木建筑工程学院,辽宁大连 116605; 2.大连理工大学建设工程学部,辽宁大连 116024)
遗传算法是近些年逐渐发展起来的一种智能的优化算法。MATLAB中的遗传算法工具箱集成了当前比较成熟的各种遗传操作算子,借助它可以方便地完成各种问题的优化。为使遗传算法更高效的应用于结构优化设计,研究了在MATLAB中调用ANSYS的方法,实现了MATLAB与ANSYS的数据传递,并用该方法对一钢框架结构进行了优化设计,验证了此方法的可行性。
遗传算法;优化设计;ANSYS;MATLAB
伴随着数学、力学和计算机的发展,结构优化设计也逐渐发展、成熟起来。ANSYS是最早开发结构优化设计模块的有限元分析软件之一,它提供两种优化方法,即零阶方法和一阶方法。二者均是将约束的优化问题转化为非约束的优化问题来求解。零阶方法只用到因变量而不用它的偏导数,其全局搜索能力很强,而局部搜索能力较差,研究表明,该方法可以快速达到最优解的80%,但却很难收敛到最优解。一阶方法使用因变量的导数值来确定搜索方向,其局部搜索能力很强,但全局搜索能力较差,很容易收敛到局部极小值点。遗传算法是近些年逐渐发展起来的一种智能的优化算法,它具有较强的全局搜索能力,并且可以与其他常规优化算法相结合,进而高效、准确地解决大多数的工程优化问题1-4。MATLAB中的遗传算法工具箱集成了当前比较成熟的各种遗传算子,借助它可以方便地完成各种问题的优化求解。本文通过在MATLAB中将ANSYS作为子程序调用的方法来研究遗传算法在工程结构优化中的应用。
1 遗传算法及MATLAB遗传算法工具箱
1.1 遗传算法基本思想
遗传算法(GA)最初是由美国Michigan大学的John Holland教授于1975年提出的,它将达尔文的生物进化理论应用于优化设计中,把解空间的某个点集映射为生物学中的种群,将目标函数映射为种群所处的环境,因此按照生物进化理论的观点,种群中的个体会不断向着适应环境的方向进化,经过若干代进化之后该种群所代表的解就会收敛到问题的最优解。该方法最大的特点是全局搜索能力强,并且不需要编程人员对问题的优化过程有太深的了解,只要选定了种群,指定了种群所处的环境,该方法就会自动的、智能地向最优解进化[5]。遗传算法中最基本的操作是遗传操作,包括选择、交叉和变异。自然界中环境按照适者生存的原则来选择优良个体,使其优良基因能够传递到下一代,遗传算法中的选择操作即是模拟这一过程。首先计算种群中每个个体的适应度(Fitness),然后按照适者生存的原则进行选择操作。交叉操作是模拟生物进化中的有性繁殖过程,种群个体之间通过基因重组生成新的个体。生命体在进化过程中某些基因常常会发生变异,好的变异会被环境选择并遗传到下一代,而不好的变异则会被环境淘汰,因此这种基因变异对种群的进化有巨大的推动作用。遗传算法中应用这种变异来产生新的个体,使种群中的基因更加丰富,有利于算法的收敛。
1.2 MATLAB遗传算法工具箱(GAOT)
MATLAB是矩阵实验室的简称,它具有丰富的矩阵操作命令。使用MATLAB来实现遗传算法是非常方便的,即将种群的数据存入矩阵中,然后就可以对整个种群而不是单个个体进行操作,从而大大提高了计算效率。更重要的是,MATLAB本身还带有遗传算法工具箱,它集成了当前较成熟的各种遗传操作算子和各种改进型遗传算法,使遗传算法优化变的更加简单、高效。其主程序ga.m的调用格式如下:
此外,也可使用工具箱的GUI界面(交互式图形用户界面)来执行遗传操作,其特点是简洁、直观。
2 MATLAB调用ANSYS
MATLAB遗传算法工具箱需要输入适应度函数。对于简单问题,其适应度函数很好编写,但对于大型的工程问题,其目标函数和状态变量需要用有限元计算才能得到,因为仅使用MATLAB语言编写程序来实现往往是很复杂有时甚至是不可能的,必须借助于成熟的有限元计算程序,而ANSYS由于其自带的APDL语言则成为了有限元计算的首选。
2.1 MATLAB与ANSYS数据传递
若要实现MATLAB对ANSYS的调用,首先要能实现MATLAB与ANSYS的数据传递,而二者都有很强的文件操作功能,这使数据传递的实现成为可能。MATLAB在调用ANSYS时的数据流向如图1。
图1 MATLAB与ANSYS的数据传递
MATLAB打开并读、写数据文件的基本步骤如下:
2.2 MATLAB调用ANSYS
ANSYS程序提供了batch(批处理)运行方式,可以在不打开ANSYS程序界面的情况下后台运行计算,并输出结果,这使得在其他程序中调用ANSYS成为可能。MATLAB调用ANSYS的语句如下:
3 结构优化算例
以一3层4跨平面钢框架结构为例,如图2。为了减少设计变量个数,各层梁的尺寸(bb×bh)均相同,梁宽bb的变化范围为0.1~0.3 m,梁高的变化范围为0.2~0.4 m,各层柱均为方柱(cb× cb),柱宽的变化范围为0.2~0.5 m。初始截面尺寸为bb=0.2 m、bh=0.3 m、cb=0.3 m。顶层承受200 kN的均布荷载,其余各层均承受100 kN的均布荷载。材料弹性模量为210 GPa,拉压许用应力均为235 MPa。用混合遗传算法优化该结构,使其所用钢材的体积最小。
图2 平面框架结构
为了对比,本文分别采用MATLAB遗传算法工具箱中的混合遗传算法及ANSYS中的零阶方法、一阶方法3种方法对该结构进行了优化设计,对比结果见表1。
表1 优化设计结果
由表1可以看出,3种优化方法中基于MATLAB与ANSYS的混合遗传算法的精度最好,其最大应力最接近钢材的容许应力,用钢量最小。而零阶方法的精度最差,其计算用钢量与混合遗传算法的计算用钢量相比增大了16.8%。一阶方法的计算结果与零阶方法的计算结果稍好,但其用钢量仍然比混合遗传算法增大了8%。
4 结论
MATLAB遗传算法工具箱具有很强的优化功能,且其操作简单、直观,而ANSYS又是通用大型有限元分析软件。本文充分利用了二者的优势,实现了MATLAB与ANSYS的数据传递和调用,对一典型钢框架结构进行了优化设计,验证了该方法的可行性。但从分析精度来看,基于MATLAB与ANSYS的混合遗传算法要优于零阶方法和一阶方法。然而,从分析成本来看,混合遗传算法的分析成本要远远的高于零阶方法和一阶方法,这是由于MATLAB与ANSYS的数据传递是间接的,每次循环过程计算机都要进行相应文件的读取与写入操作,占用了大部分的分析时间。因此,将该方法应用于大型结构的优化设计还需要进一步的探索与验证。
[1]施雷,王琦,张文鹏,等.改进遗传算法在桁架结构优化设计中的应用[J].南昌航空大学学报,2009 (1):32-36.
[2]杨周妮,吴作伟,雷铁安,等.ANSYS优化方法与遗传算法在结构优化方面的比较[J].自动化技术与应用,2004,23(1):4-7.
[3]孙刚.基于ANSYS平台的改进遗传算法在结构优化中的研究和探讨[D].南宁:广西大学,2005.
[4]尚晓江,邱峰,赵海峰,等.ANSYS结构有限元高级分析方法与范例应用[M].北京:中国水利水电出版社,2008.
[5]白新理.结构优化设计[M].河南:黄河水利出版社,2008.
Optimum Structural Design Based on MATLAB and ANSYS
SONG Hong-wei1,LIU Hao2
(1.Department of Civil Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China; 2.Faculty of Infrastructure Engineering,Dalian University of Technology,Dalian Liaoning 116024,China)
The genetic algorithm is one kind of intelligent optimized algorithm which develops gradually in recent years.It has strong overall situation search ability.It also can solve most problems of the optimization of the engineering[1-3]efficiently and accurately through the combination with.There are varieties of mature genetic operators integrated in the genetic algorithm toolbox of the MATLAB,and we can complete variety of optimization problems easily through it.In order to make the genetic algorithm apply to optimum structural design,we studied the method of calling ANSYS in MATLAB,and completed the data transfer between MATLAB and ANSYS.Then we used this optimum design method on a steel frame structure,and veritied the feasibility of this method.
genetic algorithm;optimum design;ANSYS;MATLAB
TU391
A
1009-315X(2011)03-0284-04
2011-04-11;最后
2011-04-25
宋宏伟(1978-),男,河南漯河人,讲师,大连理工大学建设工程学部博士研究生,主要从事工程结构及新材料的研究。
(责任编辑 邹永红)