在智能优化算法中,遗传算法在机械制造领域中得到了较多的应用[2,3]。Kulankara和Krishnakumar[4,5]等应用遗传算法与有限元法相结合的方法对夹具布局优化做了一系列的研究;蔡星周[6]等使用MARC软件与遗传算法结合,对大直径直缝焊管的机械扩径过程进行优化,得到该过程的最佳工艺参数。
环形零件的变形形式有很多,其中在径向受拉压的情况下,比较常见的主要有椭圆形变形和三角形变形。受径向载荷作用的环形零件,在内部的弯矩的作用下产生变形,由于只依据所受的集中载荷的平衡无法获得零件内部弯矩的大小,依据超静定结构的定义,这种问题属于超静定问题。
这种校正方法需要根据环形零件的变形情况选择合适的校正策略,即需要确定支撑点的位置、施力点的位置以及校正位移的大小。然而环形零件的变形形式多种多样,加上变形的过程需要考虑的因素比较复杂,这使通过数值求解的方法确定校正策略十分困难,而且通用性很差,就算是使用有限元的方法进行求解,由于需要确定的校正参数较多,而且校正参数之间没有太多相关性,导致需要很多重复性的建模工作,如果使用传统的建模方法,人工修改建模参数,将会消耗大量的时间和人力,而且建模的一致性难以保证。
Abaqus作为一款常用的有限元软件,提供了基于Python语言基础上的脚本接口,可以实现自动化参数建模、访问输出数据库等功能[7,8],为用户提供了定制各种不同要求的有限元建模的解决方案。
Python是面向对象的、解释性的、动态的高级程序设计语言,拥有丰富的数据类型,而且包含众多科学计算的扩展库,例如NumPy(快速数组处理)、SciPy(数值运算)和matplotlib(绘图)等。通过Abaqus提供的脚本接口以及基于Python的扩展库,绕过CAE界面[9],直接使用脚本接口与内核通信的方式实现参数化建模不仅可以省去繁琐的人工建模过程而且可以定制基于智能优化算法的脚本程序。
本文对Abaqus软件进行二次开发,在Python丰富的类库的基础上尝试将有限元法与优化算法相结合,应用优化算法改变校正工艺参数,通过有限元法获得单次校正的变形情况,寻找最优的校正工艺参数。
建立优化问题的数学模型是将实际的问题抽象成符合实际要求的数学模型的过程。优化问题的数学模型一般包括设计变量、目标函数和约束条件三个部分。设计变量由优化问题中的参数来表示;目标函数也称评价函数,是设计变量的函数,用于表示优化所追求的目标,是评价设计优劣的准则性函数;约束条件用于限制设计变量的取值范围,包括等式约束和不等式约束两种形式。
校正参数优化是对支撑点的位置、施力点的位置以及校正位移的大小进行优化,确定合适的参数,使校正后的零件获得最好的校正效果。所以校正的设计变量是两个支撑点的位置、施力点的位置和校正位移的大小这四个参数,由于校正的施力点的位置可以通过两个支撑点的位置来确定,可以将这个规则放入目标函数中,从而将设计变量的数目减少为三个参数。为了使优化的结果满足现实要求,需要对各个设计变量的取值范围加以限制。在环形零件校正的过程中,各个工艺参数对零件圆度的影响规律不是一个单峰的函数,目标函数与变量之间也没有明确的表达式,属于高度非线性的问题。使用一般的数值优化的方法求解该类优化问题时,时常容易陷入局部极小而无法继续寻优的状态[10]。为了克服这一缺陷,同时基于遗传算法的特点,在校正工艺参数优化中,应用了遗传算法。