遗传算法原理在机械工程中的应用
2014-11-28郑旭浩
摘要:在计算机时代,解决科学与工程问题的手段主要是程序与优化算法,求全局最大主峰重要的是找到主峰以及爬峰的速度,即寻优,最常采取的办法有穷举法,但这种方法会造成信息浪费。保证算法简便且通用性更强,遗传算法在众多算法中脱颖而出。文章对遗传学算法的原理、计算基础和操作做了介绍,并对遗传算法原理在机械工程中的应用予以简单分析研究。
关键词:遗传算法原理;机械工程;数学基础;算子;程序与优化算法
中图分类号:TH123 文献标识码:A 文章编号:1009-2374(2014)34-0062-02
在计算机时代,解决科学与工程问题的手段主要是程序与优化算法,求全局最大主峰重要的是找到主峰以及爬峰的速度,即寻优,最常采取的办法有穷举法,但这种方法在寻优过程中只承认当前的最优值而摒弃其余信息,造成了信息的极大浪费,于是人们开始探索一种更为合适的办法,以求寻找最优值过程的高效性,同时保证算法简便而且通用性更强,遗传算法在众多算法中脱颖而出。
1 GA(遗传算法)原理
遗传算法就是一种以事物的自然属性和遗传属性为基础,通过计算机对生物进化规律进行模拟以寻优的一种算法,将寻优的范围与遗传空间相对应,把每一种可能的值通过二进制码进行编码,如同染色体一样,形成的字符串相当于基因,然后按预期的结果对每一组编码进行评价,选出最合适的一个值。算法一开始是提出一些问题的解,然后根据要求对这些解进行选择,重新拆解组合,去掉不合适的,留下最优值,由此形成的便是新值,如此往复,继承与改良,这便是GA算法。由以上我们可以看出GA算法并不是简单的重复,而是属于一种螺旋式的上升过程,是不断向更好的方向“进化”的,在淘汰与择优中趋于稳定。
2 GA算法的数学基础和算子
2.1 GA算法的数学基础
图式定理是GA算法的数学基础,图式定理是Holland提出的,它在一定程度上解释了GA算法强大的数据信息处理能力,由定理我们能看出,经过不断地复制和交叉变异,在第一代中包含的编码数量H可以用如下公式表示:
m(H,t+1)≥m(H,t)(N(H)/FAV)[1-PC·(〥(H)/(L-1))-O(H)·Pm] (1)
如以遗传学讲,其中m(H,t)和m(H,t+1)分别代表第t代和第t+1代种群数量,N代表图式H中染色体适应能力的平均水平,FAV代表种群中包含的染色体的适应力的平均水平,交叉比率用PC表示,变异比率用Pm表示,图式的长度用〥表示,OH是H的确定参数,即阶,染色体长度用L表示。
2.2 GA算法的算子
GA遗传算法的基本算子有三个,分别是选择、交叉和变异。
选择算子相当于生物界优胜劣汰,决定物种最终存活的自然选择,在生物群中选择一些适应力强的生物,将它们的染色体放入基因库,是染色体重新交叉组合完成变异的前提,选择算子的特点是只能在原有的基础上选择出优良的基因,而无法重新创造。
交叉算子相当于自然界生物为完成繁衍生息和进化而进行的交配繁殖现象,染色体经由交叉,重新组合后形成新的染色体,即从双亲染色体里随机地分别选择一条再重新组合,是染色体的重新创造。
变异算子是在选择和交叉算子完成重组的基础上使遗传算法能力的增强,以寻找GA值的最优解,如果在整个GA算法中少了变异操作,就只能在原有基础上来回寻找而没有新的突破。
3 如何实现遗传算法
遗传算法归根结底是寻找一个最优的解或者工程中所讲的最好的解决方案,从函数来讲是求如下函数的最优解:
F=f(x,y,z),x,y,z∈Ω,F∈R (2)
其中x,y,z是自变量,每一组(x,y,z)就是一组解,优化目标的目的是寻找一组解使得:
F=f(x0,y0,z0)=max f(x,y,z) (3)
首先,将公式(2)的各个参数通过二进制数编码形成字符串,再进行链接形成所谓的“基因链”,据已有的研究结果,可以知道字符串长度不同、码制不同都将对最终计算的结果的精度产生影响。
其次,采用随机抽选的方式选择个体的初始值,之所以随机抽选是因为这样产生的结果更具有一般性,能代表寻常情况。
最后,确定群体的规模,即确定基因选择的目标源,在这个目标源中寻找最佳值,规模的确定决定了GA算法结果的权威性和有效性,太小则不能提供足够的采样点,结果的多样性将会打折扣,太大则会增加计算量,拖长搜索时间,通畅将规模控制在40~200左右为宜,在对每个个体的优劣实施评价之后,设置一个适应度函数,然后分别确定交叉率和变异率,判断搜索何时停止,在本次讨论中,判断标准可以定为搜索所得的解是否达到了预期的最大值。
4 GA在机械工程中的应用
GA算法的优点显而易见,它在机械工程中的应用是极为广泛的。
在零件的切削中可以对零部件和切削工具予以优化,使得切削参数的设置达到总在工作以最低的成本,实现最高的效率,最终得到最高的收益的目的,在自动化控制的智能制造系统中可以为系统的静态动态的配合寻找到最佳契合点,以下对GA算法在机械公式和功能中的应用以具体实例加以阐述。
4.1 优化人工神经网
ANN,即人工神经网,是一种用于建模和控制的,针对模型结构不稳定的线性系统而设计的结构,单次结构目前并不成熟,并没有确切的数据指导后来者准确的使用,处于摸索阶段。对于ANN,目前采用的训练方法是反向传播算法,大速度比较慢且结果具有一定的局限性,GA算法可谓使这一问题得见柳暗花明。
在AN的行学习参数的优化工作中,仍用反向传播,但对一下因素进行编码操作,包括隐含层数、隐含层数的单元数、势态、网络连接方法、迭代数等,编码完成后,构成ANN基因链,把基因链的适应度函数定义为10-MSE-隐含单元数/10-训练跌代数/1000,MSE是训练好的网络对样本的方差。endprint
4.2 优化FLC矩阵的参数
模糊逻辑控制器,简称FLC,涉及到的概念有控制对象偏差和动作强度,表达了二者的模糊关系,现有一延时二阶系统的函数为GS=exp(-0.4s)/(0.3s+1),要求此系统的输出值尽量的跟踪输入值,采用FLC矩阵进行参数优化,取矩阵R=77×11,对此矩阵的77个元素以8bit的二进制码表示,基因链长616bit,经由GA算法优化的FLC控制下,输出值的效果明显地优于“比例-积分-微分”控制器的效果。
4.3 实现机床挂最佳组合
击床挂轮组合的完美与否直接决定了生产线的效率,而这又是一个极为古老的问题,最佳组合最终实现的是挂轮组的传动比与要求的值误差达到最小,本文中,笔者通过GA算法,以求能找到一个有效的方案,适合度函数定义为:
F=20-ABS(id)-(A/B)*(C/D)
(A,B,C,D)∈Ω
其中,A,B,C,D分别代表挂轮齿数,共计4个挂轮,ABS()表示绝对值函数,Ω是挂轮约束条件,需要A+B>C=d+m,C+D>B+d+m,d,m分别代表齿轮模、安装轴径。
笔者在文中采用cenitor算法,对每个齿轮用一个5位二进制码进行编码,代表挂轮表的32个挂轮,共4个挂轮故基因码长20位,个体数为100,经过验证后发现,如果id为整数,GA算法只需完成1000次杂交运算就可以选出多个误差为0的组合,它并非盲目地完成计算,搜索数远小于问题解的数值。
5 结语
随着GA算法的不断发展,由于其与其他技术易于融合,当然对于它的争议仍然是存在的,但就近年的研究,大量实例都证明了它是一种简单且实用性很强的算法,在工程领域中的应用也将更加广泛。
参考文献
[1] 黄洪钟,赵正佳,姚新胜,冯春.遗传算法原理、实现及其在机械工程中的应用研究与展望[J].机械设计,2012,(6).
[2] 赵建勋,张振明,田锡天,贾晓亮,朱名铨.本体及其在机械工程中的应用综述[J].计算机集成制造系统,2013,(4).
[3] 曹俊,朱如鹏.遗传算法的发展及其在机械工程领域中的应用[J].机械技术史,2013,(9).
作者简介:郑旭浩(1973-),女,吉林通化人,吉林交通职业技术学院工程机械分院研究生讲师,研究方向:机械设计与理论。endprint