毕业设计基于遗传算法的压缩弹簧的优化设计

上传人:仙*** 文档编号:31632054 上传时间:2021-10-12 格式:DOC 页数:53 大小:649.02KB
收藏 版权申诉 举报 下载
毕业设计基于遗传算法的压缩弹簧的优化设计_第1页
第1页 / 共53页
毕业设计基于遗传算法的压缩弹簧的优化设计_第2页
第2页 / 共53页
毕业设计基于遗传算法的压缩弹簧的优化设计_第3页
第3页 / 共53页
资源描述:

《毕业设计基于遗传算法的压缩弹簧的优化设计》由会员分享,可在线阅读,更多相关《毕业设计基于遗传算法的压缩弹簧的优化设计(53页珍藏版)》请在装配图网上搜索。

1、青岛理工大学本科毕业设计(论文)说明书I摘摘 要要 优化设计的方法有多种,一般的就只是单纯的计算,运用数学方程式对弹簧的各个参数加以优化,后来人们有了更多更新的方法对其进行优化,例如,蚁群算法、Matlab、遗传算法等等。在不同的机构或零件优化设计中,参数的性质也对优化设计有着至关重大的影响。其中变量参数有些是实数,还有些是整数,这就影响了在设计中用到的变量有着不同的选择,可以是实数变量或者整数变量甚至是混合变量。此次论文对压缩弹簧进行优化设计。首先,要确定目标函数与设计变量;其次,确定约束函数;最后,建立数学模型,利用计算机求出优化结果。此次设计运用了vb编程,并且根据弹簧参数特性运用了实数

2、变量进行优化设计。与经验设计方法相比较,采用优化设计方法可节约原材料,并且有效实用。因此,优化设计方法在机械设计行业具有广阔的发展前景。关键词关键词:压缩弹簧;优化设计;遗传算法;整数变量;VB编程青岛理工大学本科毕业设计(论文)说明书IIAbstractThere are many optimization design methods ,which are generally to optimize all the parameters of a spring by using the pure caculation and mathematic equation and there ar

3、e more and newer methods to do it such as Matlab genetic algorithm and so on since then . In the optimization design of the various machinery and components ,the character of the parameter takes a great effect on the design .There are some real number ,some integer of all the variable parameters ,wh

4、ich decide the choice of the parameters used including real variable or integeral variable and even mixed variable in the design The paper dissertates the optimation design of the compressing sping.First,ascertain the object function and the design variable ;Second ,ascertain the restriction functio

5、n ;At last ,build the mathematic model and get the optimation result by computer.The author does the optimation design by utilizing the VB weave and by utilizing the real variable accoding to the character of the variable of the sping. Compared with the experiential design ,using the optimization de

6、sign can cut down the cost and is efficient and practical.So the optimization design owns the wide view in the machining design .Key words : compressing spring ; optimization design ; genetic algorithm ;integeral variable ; VB weave.青岛理工大学本科毕业设计(论文)说明书III目目 录录摘要摘要 .IABSTRACT.II目录目录.III第第 1 章章 绪论绪论.1

7、1.1 课题研究的背景和意义及其研究现状.11.2 论文主要研究内容.3第第 2 章章 遗传算法的原理及改进遗传算法的原理及改进.42.1 遗传算法概述.42.2 算法的基本步骤.52.3 遗传算法的基本要点.72.4 遗传算法的约束问题处理方式.112.5 遗传算法的发展前景.13第第 3 章章 传动优化数学模型的建立传动优化数学模型的建立.153.1 弹簧相关参数的选择确定 3.2 弹簧优化设计数学模型的建立 第第 4 章章 齿轮传动优化设计的遗传算法实现方法齿轮传动优化设计的遗传算法实现方法.214.1 设计变量的编码.214.2 群体规模的选择.234.3 初始解的产生.234.4 目

8、标函数和适应函数的产生.244.5 选择复制操作.264.6 交叉操作.274.7 变异运算.28青岛理工大学本科毕业设计(论文)说明书IV4.8 终止规则.314.9 优化算例.314.10 优化设计程序代码.31结论结论.44参考文献参考文献.45致谢致谢.47附录附录 1 英文参考资料英文参考资料附录附录 2 英文参考资料的中文翻译英文参考资料的中文翻译青岛理工大学本科毕业设计(论文)说明书1第第 1 章章 绪论绪论1.1 课题研究的背景和意义及其研究现状课题研究的背景和意义及其研究现状1.1.1 课题研究的背景和意义课题研究的背景和意义遗传算法(Genetic Algorithm, G

9、A)是近年来迅速发展起来的一种全新的随机搜索与优化算法,其基本思想是基于Darw in的进化论和Mendel的遗传学说。该算法由密执安大学教授Holland及其学生于1975年创建。作为一种通用的问题求解方法,遗传算法采用简单的编码技术来表示各种复杂的结构并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。与此同时,基于遗传算法的机械优化设计是以数学规划论为理论基础,运用计算机求机械设计最优参数的现代先进设计方法利用计算机进行优化设计,无论在机构综合、通用机构零部件设计方面,还是在各种专业机械和工艺装备的设计方面都取得了显著成果弹簧的优化设计有其结构要求或其它

10、规定,诸如强度、刚度、稳定性、结构等的限制因此弹簧优化设计的含意是:选择设计变量,使目标函数值为最优(极大或极小),并满足所有的技术性能及其它要求1.1.2 研究现状研究现状压缩弹簧优化设计的基本原理是在满足强度等约束前提下,对弹簧的簧丝直径、弹簧中径、弹簧圈数等参数进行优化设计,以达到减小体积或提高运行可靠性、承载能力等目的。设计变量中,簧丝直径、弹簧中径和圈数均为离散的标准值,因此该优化设计问题是一个离散变量的非线形优化问题。传统的经验设计方法 ,。线性优化方法 中把簧丝直径、弹簧中径和圈数离散的标准值均当作连续变量处理,优化后再取为标准值,无法保证结果的最优性。随着优化技术的发展,李智基

11、于蚁群算法对齿轮传动进行了优化设计7,计算结果表明,该算法计算效率高,不失为一种多参数复杂约束条件下的有效的优化算法。MATLAB算法求解优化设计问题时911,虽然程序设计较为简单,但优化时需把标准值当作连续变量处理。青岛理工大学本科毕业设计(论文)说明书2遗传算法在弹簧优化设计中已有应用1417,但大都应用二进制编码遗传算法进行弹簧优化设计时18,19,20,对于连续变量存在精度低、存储量大的缺点,非连续的离散标准值优化后需进行圆整处理,从而无法保证结果的最优性。1.2 论文主要研究内容论文主要研究内容本次论文的题目是“基于遗传算法的压缩弹簧的优化设计”。论文通过设计变量的选取、目标函数和约

12、束条件的确定,建立了压缩弹簧的优化设计数学模型,利用遗传算法进行求解,最后借助 VB 语言编制优化程序,得到了弹簧的优化参数。全文的主要内容包括以下几个方面:(1)对遗传算法的基本原理和方法进行阐述,并针对算法的局限性,对其操作过程进行改进。(2)压缩弹簧数学模型的建立。以簧丝直径、弹簧中径和工作圈数为设计变量,在满足相关约束条件的前提下,建立了以体积最小为目标函数的优化设计数学模型,并用惩罚函数法将其转换为无约束优化问题。(3)应用改进遗传算法进行压缩弹簧优化设计。在算法操作过程中,把目标函数转换为对应的适应函数,给出了约束条件的处理方法,使部分约束条件自动得到满足。操作过程中针对各变量均为

13、离散型变量只采用了整数编码。(4)在前面理论研究工作的基础上,采用软件工程学方法在 VB 编程环境下将问题的模型建立,求解过程给予计算机实现,最终得出弹簧的最优参数,并对结果进行了讨论。第第 2 章章 遗传算法的原理及改进遗传算法的原理及改进2.1 遗传算法概述遗传算法概述以模拟自然界生物遗传和进化过程形式的遗传算法,是依据生物进化以集团的形式即群体共同进化的。组成群体的单个生物称为个体基本特征的遗传继承,由个体性质的染色体所决定。具有遗传基因染色体的个体对环境有不同的适应性。遗传算法正是基于自然界生物“物竟天泽,适者生存”的进化思想构造的一类算法,算法将保持一个青岛理工大学本科毕业设计(论文

14、)说明书3竞争的解群体,经过杂交和(或)变异等遗传操作而更新换代,从而使待求的解逐步优化,最终找到问题的最优解或次优解。遗传算法的术语来源于自然遗传学。1975 年由美国 J.Holland 教授提出的遗传算法(Genetic Algorithm,简称 GA)是基于自然选择原理、自然遗传机制和自适应搜索(寻优)的算法6。J.Holland 教授的Adaptation in Natural and Artificial Systems一书的问世标志着遗传算法的诞生24。GA 启迪于生物学的新达尔文主义(达尔文的进化论、魏茨曼的物种选择学说和孟德尔的基因学说) ,模仿物竟天演、优胜劣汰、适者生存的

15、生物遗传和进化的规律性。1989 年美国伊利诺大学的 David E.Goldberg 博士出版的专著Genetic Algorithm in Search,Optimization and Machine Learning是遗传算法发展过程中的又一个里程碑,这本书全面地阐述了遗传算法的发展历程、现状、各种算法和应用实例,并附有 Pascal 源程序,从而使得广大工程技术人员得以进行实际的应用,在全世界掀起了关于遗传算法的研究和应用热潮25。在进化论中,每一物种在不断的发展过程中都是越来越适应环境,物种的每个个体的基本特征被后代所继承,但后代又不完全等同于父代,这些新的变化若适应环境则被保留下

16、来,否则就将被淘汰。在遗传学中认为,遗传是作为一种指令遗传密码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质。每个基因产生的个体对环境有一定的适应性。基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计理论而形成的。在求解过程中,遗传算法从一个初始变量群体开始,一代一代地寻找问题的最优解,直到满足收敛叛据或预先设定的迭代次数为止。它借助选择、交叉、变异等操作,使所要解决的问题一步步地逼近最优解。与其他优化方法相比,遗传算法以单一的字符串形式描述所研

17、究的问题,只需要利用适应函数值来进行优化计算,而不需要函数导数等其他辅助信息。目前,随着计算机技术的发展,遗传算法越来越得到人们的重视,并在机器学习、模式识别、神经网络、优化控制、组合优化等领域得到了成功应用。遗传算法一般由 4 个部分组成26:编码与解码、适应函数、遗传算子和控制参数:(1)由设计空间向遗传算法编码空间的映射称为编码;而由编码空间向设计空间的映射称为解码。用遗传算法求解最优化问题时,必须先建立设计变量与染色体之间青岛理工大学本科毕业设计(论文)说明书4的对应关系,即确定编码与解码的规则。(2)适应函数是用以描述个体适应环境的程度,也是生物进化中决定哪些染色体可以产生优良后代的

18、依据。一般是,个体的适应函数值愈大,则个体性能愈好,生存可能性愈大;反之,若个体的适应函数值愈小,则个体的性能愈差,淘汰愈有可能。(3)遗传算子包括复制算子、交配算子和变异算子。复制算子是根据个体的优劣程度决定在下一代是被淘汰还是被复制。交配是指两个相互配对的染色体按某种方式相互交换其部分基因而生成两个新的个体。变异是将个体染色体编码字符中的某些基因用其他等位基因来替换,从而生成一个新的染色体。这三个算子一般都按一定的种群选择概率、交配概率和变异概率随机地进行,造成遗传中的子代和父代的不同和差异。(4)算法的控制参数包括种群的规模 N、交配率 PC和变异率 Pm。迄今为止,有关遗传算法的理论研

19、究还相当不完善,特别是有关遗传算法的收敛性研究,以及如何提高算法的收敛速度和计算的稳定性等,这些都是目前具有重要研究价值的问题。2.2 算法的基本步骤算法的基本步骤遗传算法是一类随机优化算法,标准遗传算法(SGA)的主要步骤26:(1)选择优化问题求解的一种编码。(2)随机产生 N 个染色体的初始群体。 0popkk ,(3)对群体中的每个染色体 popi(k)计算适应函数 (2- kfiipopfitness1)(4)若满足终止规则,则转向(9) ,否则计算概率 , (2-Niiiffpi1Ni, 2 , 12)(5)以概率从中随机选一些染色体构成一个新群体(其中可以重复选ip kpop青岛

20、理工大学本科毕业设计(论文)说明书5中的元素) kpop (2- Nikki, 2 , 1pop1newpop3)(6)通过交配,按交配概率得到一个有 N 个染色体的交配群体。cp1crosspopk (7)以一个较小的变异概率,得到一个染色体的一个基因发生变异,形成变mp异群体。1mutpopk(8)令和,返回(3) 。1 kk 1mutpoppopkk(9)终止计算,输出最优结果。由参考文献27,28可知,当参数满足:交叉概率,变异概率,10cp10mp则简单遗传算法不收敛到全局最优解。而在以下几种改进中收敛到最优解:(1)每次记录下当前最优解并将群体状态最前面增加一维存放当前最优解。(2

21、)按交叉、变异、种群选取之后,更新当前最优染色体的进化循环过程。(3)按交叉、变异后就更新当前最优染色体,之后再进行种群选取的进化循环过程。遗传算法不同于传统的优化算法,它是利用生物进化和遗传的思想实现优化过程的,因此它具有如下几个优点:(1)遗传算法是通过对优化问题的变量(或参数)编码成“染色体”后进行操作的,而不是对变量本身,因此这个不受变量性质(如连续、离散等)的限制,而且对多变量、多目标的优化问题也是一种很适用的方法,遗传算法也是一种随机搜索的数值求解方法,由于在求解过程中记录下一个群体,因而可提供多个解,而且在求解过程中无需提供其他如导数等一类信息。(2)遗传算法的求解是从一个群体开

22、始的,并在求解过程中记录下一个群体。因此具有隐含并行搜索的特性,从而大大减小了陷入局部最优解的可能性。(3)遗传算法对优化问题的变量编码后,其计算过程比较简单,且可以较快地得到一个满意解。由于算法本身与其它启发式算法具有较强的兼容性,所以可以用其他算法产生初始群体,亦可以对每一群体用其他算法产生下一代新群体。青岛理工大学本科毕业设计(论文)说明书6遗传算法也还可以存在一些不足或是需要进一步深入研究的问题,如编码不规范性以及编码存在表示的不准确性、编码不能全面地表示出约束以及保证收敛到最优解等。2.3 遗传算法的基本要点遗传算法的基本要点一、编码编码遗传算法的基础工作之一是解的编码,只有在编码之

23、后才可能进行其他的计算。遗传算法的操作对象是字符串,编码方法要求:一是字符串要反映所研究问题的性质;二是应遵循字符串长度最短、模式阶次最高、模式数目最大等原则。一般有两种编码方式,比较直观和常规的方法是 0,1 二进制编码,称这一类编码为常规码,这同人类的染色体成对结构类似。这种编码方式使算法的三个算子(选择、交叉、变异)构造比较简单,对一些优化问题有其表示简单和直观的优越性。但对于一些多维、高精度要求的连续函数优化,二进制编码存在着连续函数离散化时的映射误差,个体编码串较短时,可能达不到精度要求;而个体编码串的长度较长时,虽然能提高精度,但却会使算法的搜索空间急剧扩大,造成遗传算法的性能降低

24、。其他的非 0,1 编码称为非常规编码,非常规编码同问题联系比较紧密。所以应针对问题的实际情况,适当选取。虽然遗传算法具有通用性的全局最优算法,如果不针对问题设计算法,其计算时间可能是非常大的,可以通过对问题的了解而换取计算时间的节省。二、群体规模二、群体规模群体规模是每一代个体的总数,也即初始解的个数。由于初始解的分布影sizepop响结果,而每一代的运算量影响总计算时间,所以对结果和计算时间都有影响,sizepop越大所需时间越多,但由于迭代终止条件取决于母体总体的平均水平,故sizepop的大小对迭代次数影响明显。为了让初始解在解空间分布均匀,不能sizepopsizepop去太小,且随

25、节点数的增多而增大,不过太大也无益。三、适应函数三、适应函数遗传操作在进化搜索中基本不利用外部信息,仅以适应函数为依据,利用种群中每个个体的适应函数值来进行搜索。因此适应函数的选取至关重要,直接影响到遗传算法的收敛速度以及能否找到最优解。一般而言,适应函数是由目标函数变换而成的。青岛理工大学本科毕业设计(论文)说明书7简单适应函数是目标函数的简单变形,若为目标函数,则适应函数可以趣取 xf为:,优化目标为最大 (2-4) xfxfitness 且优化目标为最小 (2-5) xfMxfMxfitnessmax,其它常见的适应函数形式见参考文献27,29,30。适应函数的设计主要满足以下几个条件:

26、(1)单值、连续、非负、最大化,这个条件是很容易理解和实现的。(2)合理、一致性,要求适应函数值反映对应解的优劣程度。(3)计算量尽量小,适应函数设计应尽可能简单,这样可以减少计算时间和空间上的复杂性,降低计算成本。(4)通用性强,适应函数对某类具体问题应尽可能通用。适应函数设计不当会出现以下问题:(1)在遗传进化初期,通常会产生一些超常的个体,若按照一般选择方法,这些异常个体因竞争力太突出而控制了选择过程,影响算法的全局优化性能。(2)在遗传进化的后期,即算法接近收敛时,由于种群中个体适应函数值差异较小,继续优化的潜能降低,可能获得某个局部最优解。上述两个问题通常称为遗传算法的欺骗问题,适应

27、函数设计不当可能造成问题的出现。四、选择过程四、选择过程选择过程的第一步是计算适应值,在被选集中的每个个体具有一个选择概率,这个选择概率取决于种群中个体的适应值及其分布。选择方法比较多,这里介绍常用的轮盘赌选择法,选择过程是以旋转赌轮次为基础的,每次旋转都为新的种群选择一个染色体,赌轮是按每个染色体的sizepop适应函数值进行选择染色体的。无论使用哪一种适应函数,选择过程总可以写成如下形式:(1)对每个染色体,计算累积概率tipopip青岛理工大学本科毕业设计(论文)说明书8 (2-6)sizepop, 2 , 1,sizepop1iffpjiii(2)在区间1,2中产生一个随机数 。r(3

28、)若,则选择第 个染色体。irprp1itpopi(4)重复步骤(2)和步骤(3)共次,这样可以得到个复制的sizepopsizepop染色体。五、交叉五、交叉交叉是遗传算法的核心操作,是产生新的优秀个体最主要的手段。交叉可以把两串中优良的性能传递到下一代的某一串中,使该串具有优于其父辈的性能,如果交叉后得到的后代性能不佳,则可以在以后的选择过程中将其屏弃。首先定义参数作为cp交叉操作的概率,这个概率说明种群中有期望值为个染色体进行交叉操作。sizepopcp为确定交叉操作的父代,从到重复以下过程:从0,1中产生随机数 ,1isizepopr如果。则选择作为一个父代。将选择的父代随机分成两个一

29、对,然后对每cpr tipop队父代进行交叉操作。常用的二进制编码交叉方法有单点交叉、多点交叉、均匀交叉、匹配交叉等。下面介绍下单点交叉。单点交叉是在两个参与交叉的父代个体确定后,随机产生一个交叉点,进行交叉点后的所有基因对换,对换后形成两个后代。简单k1sizepop, 1实例如下: 父个体 1 01110011010 符个体 2 10101100101交叉点的位置为 5。交叉后形成两个子个体: 子个体 1 01110100101 子个体 2 10101011010常用的实数编码交叉方法有离散重组和算术交叉法。这里介绍下算术交叉方法,假设随机选择以下两个染色体和进行交叉,则交叉方法Nixxx

30、,1Niyyy,1青岛理工大学本科毕业设计(论文)说明书9为: , (2-7)iiiiiiiiiixyyyxx11Ni,.,1式中:为0,1范围内的随机数。i六、变异六、变异变异是加大种群多样性的重要因素,变异可以使基因串在运算过程中丢弃的某些重要数字予以恢复。因为如果某一代中串的某位数字全是 0,则无论选择和交叉如何进行,其后代的所有串中该数字永远是 0,不会再出现 1,也就是说 1 这个信息丢失了,只有通过变异才可将其恢复。变异操作是模拟生物在自然环境中由于各种偶然因素引起的基因突变过程,表现为字符串中字符的翻转,即 0 变成 1 或 1 变成 0。变异率分布在0,1间,一般取0,0.2间

31、的一个数。类似于交叉操作中选择父代的过程,mp由到重复以下过程:从0,1中产生随机数 ,如果 ,则选择1isizepoprrmp作为一个父代。对每一个选择的父代,随机选择变异的基因位,进行变异操作。tipop变异操作可使适应值小的个体或群体素质趋于一致时的个体发生变化,从而使每一代保持新鲜个体,避免进化停滞,过早收敛。变异率较小时,新个体出现的少,但由于个体较稳定,故收敛性好。随着变异mp率在一定范围内增大,新个体较多,优秀个体出现的几率大,故结果更优,收敛性也较好。但再增大,由于个体的稳定性差,可能使好的个体未保留下来就被破坏了,致使结果和收敛性都变坏了31。对于实数编码的个体,随机选择某位

32、基因,其一般形式为: (2-8)xx式中:为一较小的波动量,其选择比较困难,最优值视具体情况而定,甚至在优化过程中可以改变。七、终止条件七、终止条件遗传算法是一种反复迭代的搜索方法,它通过多次进化逐渐逼近最优解不一定是恰好等于最优解,因此需要确定其终止条件。最常用的终止方法是规定一个最大的遗传代数,算法迭代次数达到最大遗传代数时停止。当目标函数是方差这一类有最优目标值的问题时,可采用控制偏差的方法实现终止。一旦遗传算法得出的目标函数值与实际目标函数值之差小于允许值后,算法终止。终止条件也可通过检查适应函数值的青岛理工大学本科毕业设计(论文)说明书10变化来实现,如果群体平均适应函数值变化率和最

33、优个体适应函数值变化率小于许可精度,则可以认为群体处于稳定状态,群体进化基本收敛,可结束群体进化过程,否则继续群体的进化过程。同时也可以应用上述几种终止规则的组合。2.4 遗传算法的约束问题处理方式遗传算法的约束问题处理方式遗传算法最根本的是设法产生或助于产生优良的个体“成员” ,且这些“成员”充分体现出求解空间中的解,从而提高算法效率和避免出现过早收敛。因此现今研究的努力方向都是针对基因操作、种群的宏观操作等方面,并在算法方法出现免疫遗传算法、并行遗传算法等26。对于有约束问题的求解,目前的处理反复法主要有以下几种:(1)采用惩罚函数的方法处理约束问题;(2)在算法的运行过程中通过检查解的可

34、行性来决定解的保留或弃用;(3)把问题的约束条件在染色体的表现形式中体现出来,设计专门的遗传算子,使染色体所表示的解在算法运行中保持可行性,这种方法实施起来难度也较大。到目前为止,采用遗传算法求解高维、多约束和多目标的优化问题已有一些成功的经验,但仍有一些问题需要进一步研究,它的进展将会推动遗传算法在工程领域中的广泛应用。2.4.1 采用惩罚函数法处理约束问题采用惩罚函数法处理约束问题由于很多优化问题都是带约束条件的,可是遗传算法紧靠适应度来评价和引导搜索,求解问题所固有的约束条件不能明确地表示出来,对某些典型的约束组合优化问题,用遗传算法求解此类问题要考虑一些对策。虽然在进化过程中检验一下新

35、的个体是否满足约束条件,如果没有违背,则作为有效个体,反之,作为无效个体被除去,但这种方法对于弱约束问题求解是有效的,而对于强约束问题求解效果不佳。这是因为在这种场合,寻找一个有效个体的难度不亚于寻找最优个体。针对这样的问题,可采取罚函数方法。该方法的基本思想是对个体违背约束条件的情况给予惩罚,并将此惩罚体现在适应度函数设计中。这样一个约束优化问题就可以转换为一个附带考虑惩罚的非约束优化问题。青岛理工大学本科毕业设计(论文)说明书11例如,一个原本是约束最小化问题可描述如下: min xf s.t. 0 xgini,.,2 , 1 0 xhvmv,.,2 , 1式中:是矢量。x通过罚函数将上述

36、问题转化为非约束问题:rx, (2-9)min xrpxfrx,式中:为惩罚项,由下式表示: xp= (2- xp 21i2211g0,maxnimvvxcxhc10)式中:,分别为等式约束与不等式约束的不均衡加权系数,而1c2c (2- 2xg0,maxxgxbii11) (在可行域外,即) xhi 0 xgi或=0 (在可行域内,即) 0 xgi式(2-9)中的 为惩罚因子。随着进化不断进行,惩罚项越来越小,为了保证惩r罚项的作用,必须逐步加大惩罚因子 。r罚函数方法是处理非线性约束优化问题比较广泛的一种方法,由式(2-9)看出,它是由原目标函数及惩罚项的函数两部分组成,按惩罚项函数的不同

37、, xf xp xp有以下几种方法:(1)静态罚函数法:该方法首先对第个约束条件建立 个不同的约束违反水平,ji然后针对不同的水平确定惩罚因子,违反水平越高,惩罚因子的取值越大,这些ijrijr惩罚因子在整个进化过程中保持不变,亦即称为“静态”的。静态罚函数的惩罚函数形青岛理工大学本科毕业设计(论文)说明书12式 (2-12) mjjijxgrxp12式中:即约束条件的形式约束条件;为矢量。 xgj 0 xgjx该法的主要缺点是罚因子参数太多,而且优化搜索的效率对参数的选择有明显的依赖性。对给定的问题,尽管存在较为理想的参数设置方案,但是要在事先正确地确定它们是困难的。同时,适宜的惩罚因子的值

38、也会随着进化过程而改变。因此,采用静态惩罚因子往往不能保证正确地将搜索导向可行域。(2)动态罚函数法:动态罚函数法使用随着进化而动态调整惩罚因子,它的惩惩罚函数为: (2-13) mjjijxgrctxp1式中: 为进化代数,通常取。随着代数的增加,对不可行个体的惩t2, 5 . 0c罚压力迅速地增长。动态罚函数法要求确定的独立约束的参数比上一种方法少的多,而且与约束数量无关,故这种方法比静态罚函数法便于实施。但要针对具体问题确定合适的惩罚因子也很困难,当惩罚因子设置不当时,搜索效率可能达不到期望要求。对于以上方法,惩罚因子取得过小时,可能造成整个罚函数极小解不是原目标函数的整体极小,而当惩罚

39、因子取得过大时,有可能在可行域外造成多个局部极值点, xf给搜索过程增加困难。事先确定适宜的惩罚因子是困难的,一般需要通过多次实验来调节。2.5 遗传算法的发展前景遗传算法的发展前景遗传算法将来与神经网络、模糊推理等相互渗透组合并丰富智能计算,它与进化规划和进化策略共同结合,完善进化计算框架。除此之外,展望在机械工程中将在以下几方面得到应用6:(1)总体设计方面 机械现代设计目标要求为功能-质量-成本的系统化,它包括方案选择、材料选择、结构优化、工艺规划、可靠性分析及成本分析等众多因素与综合知识,将遗传算法与 CAD 技术结合解决系统的优化问题。(2)系列化标准件选取方面 应用遗传算法的组合优

40、化来解决机械系统中多种青岛理工大学本科毕业设计(论文)说明书13系列化标准件的组合选取问题。通常主要靠经验的选取,用这类组合优化来解决,使组合系列化选取更科学化。(3)反求工程方面 若要建立原设计产品的数学模型,因一些设计参数和工艺参数往往不易确定,可用遗传算法和计算机仿真技术,把这些参数作为参变量进行编码,使原设计产品的性能和数学模型的仿真性能之间差异最小的目标下,获得最符合原设计的设计与工艺参数。与此同时,利用遗传算法的优化设计将所得的原设计的数学模型改进原产品设计。(4)可靠性分析方面 为了使机械系统获得最高可靠性,可用遗传算法进行系统可靠度分配;在机械维修和期望损失最小的前提下,用遗传

41、算法确定机械系统最优维修策略;在有统计数据基础上,把失效分布模型及其参数作为参变量进行编码,可用遗传算法建立更符合实际的实效分布模型。(5)节能设计方面 对于汽车、机床等设备的电动机类型、电气控制参数、机械传动方案与参数等,以这些参数为参变量编码,把能耗降低到最小为目标,在满足功能要求的约束下,利用遗传优化算法进行节能设计,使设备达到最佳效果。(6)FMS(柔性制造系统)调度方面 使待加工的零件在 FMS 系统的制造时间最短,将该零件加工次序编码,用遗传优化运算实现最短加工;针对一个需多工序加工的零件,为求确定每道工序所合理分配设备,对每道工序分配设备号编码,在各台设备的负荷可能相等的前提下,

42、用遗传算法实现机床设备的最优分配。(7)数控加工误差、自适应预报控制方面 在获得误差实时检测数据后,对误差模型结构和参数进行编码,用遗传算法建立最优的误差模型。再根据误差预报的误差修改数控加工程序,实现加工误差和自适应控制。虽然遗传算法在机械工程应用中还有些问题有待于解决,但随着它的研究进一步深入和完善,遗传算法在机械工程领域的应用将越来越广泛。青岛理工大学本科毕业设计(论文)说明书14第第 3 章章 传动优化数学模型的建立传动优化数学模型的建立本次设计题目为:弹簧材料为 65Mn,最大工作载荷=40N、最小工作载荷为maxP0,载荷变化频率=25Hz,弹簧寿命为 104h,弹簧簧丝直径 d

43、的取值范围为fr14mm,中径的取值范围为 1030mm,工作圈数 n 不应小于 4.5,弹簧旋绕比 C 不2D小于 4,弹簧一端固定,一端自由,工作温度为 50,弹簧变形量不小于 10mm3.1 弹簧相关参数的选择弹簧相关参数的选择确定确定查阅有关机械设计资料2,查得选择弹簧固定圈数=2,弹簧材料密度2n,切变模量=7936/108 . 7mmkgGaGP3.2 传动优化设计数学模型的建立传动优化设计数学模型的建立传统的齿轮传动设计一般是以安全系数或许用应力为基础的,由于安全系数主要是根据设计人员的使用经验确定的,缺乏定量的数学基础,具有明显的不确定性,因此,优化设计正逐步取代传统的设计方法

44、。机械优化设计是以数学规划为理论基础、以计算机为工具、寻求最佳机械设计方案的现代设计方法之一,包括建立数学模型和选择恰当的优化设计程序。目前已有很多成熟的程序可供选择,但它们各有自己的特点和适用范围,实际应用时很容易因为优化方法或初始参数选择不当而无法得到全局最优解,本论文采用 VB 语言程序,初始参数输入简单,语法符合工程设计语言要求,编程工作量小,优越性非常明显。本文对直齿圆柱齿轮传动进行最优设计,讨论齿轮参数设计问题。3.2.1 确定确定目标函数及设计变量目标函数及设计变量根据工程设计的要求,压缩弹簧可以采用各种各样的优化目标建立目标函数,例青岛理工大学本科毕业设计(论文)说明书15如对

45、因工作特点极易导致疲劳损坏的弹簧,则应以疲劳安全系数最大作为最优化设计目标;对于手高速运转机构变载作用的弹簧,则应以其自振频率最大或最小作为最优化设计的目标,使自振频率值远离载荷变化频率值,以避免共振;对于安装空间很紧、要求尽量减小轮廓尺寸的弹簧,则应以其外径或高度最小,从而得到最小安装尺寸作为优化的目标;等等情况。对于一般弹簧,通常以质量或钢丝体积最小作为优化设计的目标,此时的目标函数表达式为: (3-4/)(2222)(nnDdfx1)式中:为弹簧的簧丝直径;为弹簧中径;为弹簧的工作圈数d2Dn函数中只有、为未知量,因此将这三个变量作为设计变量d2Dn (3-TnDdX,22)3.2.2

46、确定约束函数确定约束函数(1)根据对弹簧刚度的要求范围:()maxminkkknDGdK3248于是得约束函数: (3-3)08)(324min1nDGdkXg (3-08)(max3242knDGdXg4)(2)根据旋绕比的范围,即得约束函数:dDC21842dDC (3-5)04)(g23dDX (3-6)018)(g24dDX(3)根据弹簧在最大工作载荷下不碰圈的要求bHHmax0青岛理工大学本科毕业设计(论文)说明书16 式中弹簧自由高度,当弹簧支撑圈数=2 且弹簧两端磨平0H2ndntH5 . 10 节距,计算时取为 0.4t2)5 . 028. 0(Dt2D 弹簧在最大工作载荷下的

47、变形量,maxmaxF432maxmax8GdnDF 弹簧并紧高度,当支撑圈数为 2 且弹簧两端磨平时,bHdnHb)5 . 1( 由此得约束条件: (3-7)0/84 . 0)(42max25GdnDFndnDXg(4)弹簧变形量不小于 10 即得约束条件:100bHH (3-8)0104 . 0)(26ndnDXg(5)根据弹簧的强度条件: 832maxmaxdDFK 式中在最大工作载荷作用下或在压并状态下钢丝截面内侧所产maxmaxF生的最大扭转应力 K曲度系数:CCCK615. 04414 许用扭转应力,视弹簧材料及受载情况而定。在此处许用扭转应力为 b4 . 0 弹簧钢丝抗拉强度极限

48、,与材料的簧丝直径有关,设计手册中bd列表给出。利用表中数据通过线性回归分析,可建立弹簧钢丝的回归方程,其db形式为 BdAb青岛理工大学本科毕业设计(论文)说明书17由此得约束条件为: (3-9)0)(4 . 08)(32max7BdAdDFKXg (6)根据压缩弹簧的稳定条件: cbDHb20 式中临界高径比,根据弹簧的支撑方式不同而定:cb 当两端固定时,3 . 5cb 当一端固定,另一端不固定时,7 . 3cb 当两端均不固定时,6 . 2cb 此处取的值为 3.7,故可得约束条件:cb (3-10)0/5 . 14 . 0)(28cbDdnXg (7)根据弹簧承受高速交变载荷不发生共

49、振的要求: rff15 式中弹簧的自振频率,对于一端固定一端自由的弹簧其自振频率为f2251078. 1nDdf由此得约束条件: (3-11)01078. 1)(429rfnDdXg (8)根据弹簧疲劳强度要求给出约束条件: 当弹簧承受交变载荷并在及之间做交替变化时,在钢丝截面内侧maxFminF所产生的相应扭转应力分别为: ,32maxmax8dDFK32minmin8dDFK 对于为常数的弹簧,其疲劳安全系数为min 75. 0maxmin0SS青岛理工大学本科毕业设计(论文)说明书18 式中许用安全系数,此处我们取值为 1.7S 弹簧材料的疲劳极限,其工作时间为 104h,可以将其作用次

50、数定为0由此610N可得取值为0b33. 00由此得约束条件: (3-12)08875. 0)(2max2min0310SDFKDFKdXg(9)根据弹簧簧丝直径、中径和工作圈数的系列值及题目要求 ,41 d30102 D305 . 4 n 得约束条件: (3-13)01)(11 dXg (3-14)04)(12dXg (3-15)010)(213 DXg (3-16)030)(214DXg (3-17)05 . 4)(15 nXg (3-18)030)(16nXg 簧丝直径取值为 1,1.2,1.6,2,2.5,3,3.5,4d 中径取值为 10,12,16,20,25,302D 工作圈数取

51、值为n4.5,4.75,5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11.5,12.5,13.5,14.5,15,16,18,20,22,25,28,30综上可知,压缩弹簧体积最小为优化目标的优化设计问题,是一个具有 16 个不等式约束的 3 维优化问题,其数学模型可简记为: (3-19)0)(. .4/D)()(min22222XgtsndDXdnnXfuT青岛理工大学本科毕业设计(论文)说明书19第第 4 章章 齿轮传动优化设计的遗传算法实现方法齿轮传动优化设计的遗传算法实现方法4.1 设计变量的编码设计变量的编码本论文以在满足一定的承载能力前提下,要求齿轮传动体积

52、为最小进行优化设计,单级直齿轮传动的最小体积由第 3 章式(3-11)可知: (4-1)313214zmuVd遗传算法不能直接处理解空间数据,通过编码将他们表示成遗传空间的基本型个体符号串。由式(4-1)知,单级直齿轮传动的变量可编成的个体编码为、,m1zd以便建立直齿轮传动的遗传算法模型。常规遗传算法采用二进制编码,便于操作,但对于求解此类实数形优化问题时,青岛理工大学本科毕业设计(论文)说明书20二进制编码不能反映问题的固有结构特性,个体长度大,占有计算机内存多,在进行优化时的精度不高,且稳定性不如实数编码。当要求计算精度越高, 、二进制编码需要的基因位数越多,并存在连续函数离散化时的映射

53、误差,同时在计算目标函数时,需要把二进制编码解码成十进制浮点数,优化过程中编码和解码繁琐,这使得计算量增大,计算时间增加。另外,需要注意的是,对于连续变量二进制编码的实际经验和理论分析明确表明,二进制编码表示连续变量时具有严重缺陷,它通常会在目标函数中引入附加的多峰性,从而使编码后的目标函数比原始问题更加复杂36。相比之下,采用实数编码不仅无需转换数据和数据类型,并使得优化过程更容易理解,而且节省遗传操作时间,另外由于浮点数表示数的范围大且表示精度高、具有明确的物理意义,适合于复杂大工程搜索,对于优化结果也有益。另外考虑到设计变量中的模数和齿数均为离散量,如当作连续变量进行优化计算,再近似取标

54、准值,则无法保证解的最优性。为了精确表示变量,采用了十进制整数编码。因此,本文采用整数编码和实数编码相结合的混合编码,以克服二进制的上述缺点。这样由三个设计变量的实数构成一个染色体,遗传算子直接对染色体进行操作。模数的编码:对应标准模数的个数 18,通过一数组 const_m(18),并对其赋予标准值,每个染色体 pop_m(i)通过程序 pop_m(i)=Int(Rnd() * 18) + 1 只能产生 1 到 18 的整数,从而得到对应的模数。齿数的编码:因齿数只能为整数,故采用了四舍五入函数,保证了齿数只能为 20到 40 间的整数。齿宽系数的编码:采用实数编码,程序(Rnd() * 6

55、00 + 800) / 1000 保证了其在有效范围内。程序中的 Int(x)函数为产生小于等于 x 的最大整数;Cint(x)为四舍五入函数;Rnd()为产生随机数0,1)的函数。三个设计变量的编码(采用 VB 语言37)如下:Dim popsize As IntegerDim pop_m(200) As IntegerDim pop_z(200) As IntegerDim pop_faidi(200) As Double青岛理工大学本科毕业设计(论文)说明书21Dim const_m(18) As Doublepopsize = 200For i = 1 To popsizepop_m(

56、i) = Int(Rnd() * 18) + 1pop_z(i) = CInt(Rnd() * 20 + 20)pop_faidi(i) = (Rnd() * 600 + 800) / 1000Next iconst_m(1) = 2const_m(2) = 2.25const_m(3) = 2.5const_m(4) = 2.75const_m(5) = 3const_m(6) = 3.5const_m(7) = 4const_m(8) = 4.5const_m(9) = 5const_m(10) = 5.5const_m(11) = 6const_m(12) = 7const_m(13)

57、= 8const_m(14) = 9const_m(15) = 10const_m(16) = 12const_m(17) = 14const_m(18) = 164.2 群体规模的群体规模的确定确定遗传算法是对群体进行操作,需要准备一些初始搜索的群体,而初始群体中每个个体是通过随机方法产生后组成的一个染色体串,这个染色体串中的每个个体分别在青岛理工大学本科毕业设计(论文)说明书22每一个基因取值范围内取得一组基因而形成的。就群体染色体数的选择,从理论上说,群体染色体数越多,则遗传算法找到的最优解更优,但由于群体染色体数太大,必然增大寻找最优解的工作量。反之,当群体染色体数选少了,则寻找最优解

58、的工作量减小,但是寻找的解是否是最优解就很难说了。因此对群体染色体数的大小,要根据具体问题来确定6。这里选取染色体数为 200。4.3 初始解的产生初始解的产生随机产生 popsize(群体规模)个长度为 3 的染色体,作为初始群体。产生初始解时,对于染色体的第 1 位基因值 pop_m(i),令其值等于1,18范围内的一个随机整数,产生方法为:pop_m(i) = Int(Rnd() * 18) + 1 (4-2)pop_m(i)随机产生的整数再与数组 const_m(18)一一对应。对于染色体的第 2 位基因值 pop_z(i),令其值等于20,40范围内的一个随机整数,产生方法为:pop

59、_z(i) = CInt(Rnd() * 20 + 20) (4-3)对于染色体的第 3 位基因值 pop_faidi(i),令其值等于0.8,1.4范围内的一个随机实数,产生方法为:pop_faidi(i) = (Rnd() * 600 + 800) / 1000 (4-4)4.4 目标函数和适应函数的目标函数和适应函数的计算计算4.4.1 目标函数目标函数随机产生 popsize(即染色体群体规模,前面已经选择,为 200)个染色体,作为初始种群,由于是实数编码和整数编码的混合编码,为了让初始种群尽量遍布整个解空间,其群体规模要相对比二进制编码优化时的群体规模大。为了减少不可行解的产青岛理

60、工大学本科毕业设计(论文)说明书23生,提高优化算法的计算效率,产生初始解时使齿数、模数、齿宽系数等各约束条件自动得到满足。小齿轮齿数,模数,齿宽系数,另外还要满足4020 z162 m4 . 18 . 0d两齿轮的接触疲劳约束和弯曲疲劳约束。此优化问题带有约束条件,我们采用惩罚函数法来对违背约束条件的个体进行惩罚,并将此惩罚体现在适应度函数设计中。可表示如下6: (4-5)min xrpxfrx,式中:为惩罚项, 为惩罚因子, 可根据经验选取,在本设计中为每个染色 xprr xp体的接触疲劳应力与标准接触疲劳应力之差和弯曲疲劳应力与标准弯曲疲劳应力之差的和。采用惩罚函数法的程序如下:Dim

61、p1 As DoubleDim p2 As DoubleDim p3 As DoubleDim chengfaxishu_m As Doublechengfaxishu_m = 10000For k = 1 To popsizeIf cigema_h(k) = cigemabiaozhun_h Thenp1 = cigema_h(k) - cigemabiaozhun_hElsep1 = 0End IfIf cigema_f1(k) = cigemabiaozhun_f1 Thenp2 = cigema_f1(k) - cigemabiaozhun_f1Elsep2 = 0End IfIf c

62、igema_f2(k) = cigemabiaozhun_f2 Thenp3 = cigema_f2(k) - cigemabiaozhun_f2青岛理工大学本科毕业设计(论文)说明书24Elsep3 = 0End Ifobjf(k) = objf(k) + chengfaxishu_m * (p1 + p2 + p3) a(k) = chengfaxishu_m * (p1 + p2 + p3)Next k 程序中,p1,p2,p3 分别为接触疲劳约束和弯曲疲劳约束时的惩罚项;chengfaxishu_m 为惩罚因子,此处选择 100000;cigemabiaozhun_h 为接触标准疲劳应

63、力;cigemabiaozhun_f1 为小齿轮弯曲标准疲劳应力;cigemabiaozhun_f2 为大齿轮弯曲标准疲劳应力;cigema_h(k)为每个染色体的接触疲劳应力;cigema_f2(k)、cigema_f2(k)分别为每个染色体(小大齿轮)的弯曲疲劳应力。故可得加上惩罚函数后的目标函数为:objf(k) = objf(k) + chengfaxishu_m * (p1 + p2 + p3) (4-6)4.4.2 计算适应函数计算适应函数遗传算法用适应度大小来评估个体(或解)的优劣,从而决定遗传机会的多少,这个评估个体适应度的函数称为适应度函数。适应度较高的个体遗传到下一代的概率

64、较大;而适应度较底的个体遗传到下一代的概率相对小一些6。通常优化问题求解时是把待求问题的目标函数映射成适应度函数。对于求最小的目标函数映射成适应度函数的方法可为: xf 若 (4- xfCxpmaxmaxCxf7)这里的可取为最大目标函数的 1.5 倍,即适应函数为:maxCfitness() = 1.5 * max_objf - objf() (4-8)xx由前面的式(3-13)得目标函数为: (4-9) 3323324/14/1zuzmuxfdd青岛理工大学本科毕业设计(论文)说明书254.5 选择复制操作选择复制操作选择复制操作是对群体中的个体按优胜劣汰的方式选取,并遗传到下一代群体的运

65、算操作,它是建立在群体中个体的适应函数值评估基础上的。适应函数值较大的个体被遗传到下一代群体中的概率较大,适应函数值较小的个体被遗传到下一代群体中的概率较小。通过选择操作可避免基因缺失,提高全局收敛性和计算效率6。适应度比例选择方法是基本的选择方法,也叫轮盘赌选择。该方法的基本思想是:各个个体的被选中的概率与其适应度大小成正比。由第 2 章中式(2-6)得每个个体的累计概率为: (4-10)sizepop, 2 , 1,sizepop1iffpjiii显然,概率反映了个体的适应度在整个群体的个体适应度总和中所占的比例,个体适应度越大,其被选择的概率就越高,反之亦然。此优化设计中我们随机产生一随

66、机数 temp_a,当累计概率大于 temp_a 时,则选择对应的个体,并用 temp_b 来记录。选择的轮盘赌函数程序如下:Function select_lunpandu()RandomizeDim temp_a As DoubleDim temp_b As Integertemp_a = Rnd()For i = 1 To popsizeIf leijigailv(i) temp_a Thentemp_b = iselect_lunpandu = temp_bExit ForEnd IfNext i青岛理工大学本科毕业设计(论文)说明书264.6 交叉操作交叉操作遗传算法的交叉是产生新个体的主要操作过程。某两个个体之间的部分染色体是以某一概率,进行部分基因交换,产生两个新的染色体。这一过程是模拟生物进化过程中繁殖的杂交现象。对于整数和实数编码的染色体可采用算术交叉的方法6。它是由两个个体的线形组合而产生出两个新个体,若两个个体、之间进行算术交叉,则交叉运算后所产tAXtBX生出的两个新个体为: (4-11)ttttttBA1BAB1AX1XXX1XX式中:为一随机产生的0,1间的

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!