1、安徽科技学院课程设计单级直齿圆柱齿轮减速器的优化设计single stage straightens tooth column gear reducer optimal design 学院:机电与车辆工程学院 班级:机电103 指导教师:张华 学生:汪小军 学号:1664100319 目录题目:单级直齿圆柱齿轮减速器的优化设计5第一章 圆柱齿轮减速器及其优化设计概述61.1圆柱齿轮减速器概述:61.2单级直齿圆柱齿轮减速器的优化设计概述6第二章建立数模型72.1确定设计变量72.2确定目标函数73.3 确定约束函数7第三章 优化工具103.1 Matlab背景介绍103.2 Matlab语言介
2、绍113.2.1 Matlab语言的特点113.2.2 Matlab语句的基本功能123 .3 Matlab编程143.3.1 控制语句143.3.2 创建M文件153.3.3命令文件的创建和运行:163.4 fmincon函数17第四章 编程求解与优化结果184.1目标函数文件184.2 不等式约束函数文件194.3命令文件194.4计算结果204.5结束语21参考文献21题目:单级直齿圆柱齿轮减速器的优化设计设计如图所示的单级圆柱齿轮减速器。减速器的传动比,输入功率,输入轴转速。要求在保证齿轮承载能力的条件下,使减速器的质量最小。 x1 b x2 z1 x3 m X=x1 x2 x3 x4
3、 x5 x6T =x4 l1 X5 d1 X6 d2 第一章 圆柱齿轮减速器及其优化设计概述1.1圆柱齿轮减速器概述: 圆柱齿轮减速机,是一种动力传达机构,其利用齿轮的速度转换器,将电机的回转数减速到所要的回转数,并得到较大转矩的装置。圆柱齿轮减速机是一种相对精密的机械,使用它的目的是降低转速,增加转矩。 圆柱齿轮减速机的齿轮采用渗碳、淬火、磨齿加工,承载能力高、噪声低;主要用于带式输送机及各种运输机械,也可用于其它通用机械的传动机构中。它具有承载能力高、寿命长、体积小、效率高、重量轻等优点,用于输入轴与输出轴呈垂直方向布置的传动装置中。圆柱齿轮减速器广泛应用于冶金、矿山、起重、运输、水泥、建
4、筑、化工、纺织、印染、制药等领域。1.2单级直齿圆柱齿轮减速器的优化设计概述 圆柱齿轮减速器是各类机械设备中广泛应用的传动装置,因此,如何设计出体积小、质量轻、成本低但却承载能力强、使用寿命长的圆柱齿轮减速器,一直是设计人员关注的重要课题。实践表明,传统的减速器设计一般通过反复的试凑、校核确定设计方案,是一种以经验类比为基础的设计方法,带有极大的主观随意性,虽然也能获得满足给定条件的可用的设计方案,但一般不是最佳的。只有采用优化设计的方法,才是解决上述设计课题的有效途径。 减速器的优化设计,一般是指在给定功率P、齿数比u、输入转速以及其他技术条件和要求下,找出一组使减速器的某项经济技术指标打到
5、最优的设计参数。圆柱齿轮减速器的类型与结构形式有很多种,工作条件和设计要求也各种各样,难以用统一的数学模型描述不同类型、不同结构及不同条件与设计要求的减速器的优化设计问题。通常,对不同类型的减速器,选取的设计变量是不同的。例如,对于展开式圆柱齿轮减速器,可取齿轮齿数、模数、齿宽、螺旋角及变位系数等为设计变量;对于行星齿轮减速器,设计变量除上述参数外,还可以加上行星轮个数。根据减速器工作条件和设计要求的不同, 目标函数也不同。例如,对中心距没有严格要求的减速器,可取减速器最大尺寸最小、体积最小或总质量最小为设计目标;对给定中心距的减速器,则可取承载能力最大为设计目标,减速器的类型、结构形式不同,
6、约束函数也不完全一样。设计约束一般包括边界约束和性能约束两类。边界约束有最小模数、不根切 的最小齿数、螺旋角、变位系数、齿宽系数等的约束;性能约束则有接触强度、弯曲强度、总速比误差、过渡曲线不发生干涉、重合度、齿顶厚等的约束。而对于行星齿轮减速器来说,还应增加装配条件、同心条件和邻接条件等的限制。 本节介绍单级圆柱齿轮减速器以体积最小火质量最轻为设计目标的优化设计,其方法同样适用于以体积最小火重量最轻为设计目标的多级圆柱齿轮减速器的优化设计,并可作为圆锥齿轮传动和蜗杆传动最优化设计的参考。第二章建立数模型2.1确定设计变量如图(题目)所示,减速器的体积主要决定于箱体内齿轮和轴的尺寸,根据齿轮几
7、何尺寸及结构尺寸的计算公式,单极圆柱齿轮减速器箱体内齿轮和轴的总体积可近似的表示为 (2-1)由上式克制,单极标准直齿圆柱齿轮减速器优化设计的设计变量可取为这里近似取2.2确定目标函数参照图7-5及根据有关结构设计的经验公式将这些经验公式有、,并取、将这些经验公式及数据代入式(2-1)且用设计变量来表示,整理得目标函数的表达式为 (2-2)3.3 确定约束函数1)为避免发生根切,应有应有于是得约束函数 (2-3)2)根据工艺装备条件,跟制大齿轮直径不超过故小齿轮直径不应超过即于是有约束函数 (2-4)3)为保证齿轮承载能力同时又避免载荷沿齿宽分布严重不均,要求齿宽系数满足,由此得 (2-5)及
8、 (2-6)4)对传递动力的齿轮,模数不能过小,一般mm,且取标准系列值,故有 (2-7)5)按经验,主、从动轴直径的取值范围为,故有 (2-8) (2-9) (2-10) (2-11)6)按结构关系,轴的支承跨距满足:,其中为箱体内壁到轴承中心线的距离,现取,则有约束函数 (2-12)7)按齿轮的接触疲劳强度和弯曲疲劳强度条件,应有: (2-13) (2-14) (2-15)式中,为齿轮传动的标准中心距,单位为cm,;为载荷系数,这里取;为小齿轮传递扭矩,单位为,;为齿轮的许用接触应力,单位为,这里取;、分别为小齿轮与大齿轮的许用弯曲应力,单位为,这里取、;、分别为小齿轮、大齿轮的齿形系数,
9、对标准齿轮: (2-16) (2-17)对以上公式进行代入、运算及整理,得到满足齿轮接触强度与弯曲强度条件的约束函数: (2-18) (2-19) (2-20)根据主动轴(本例即小齿轮轴)刚度条件,轴的最大弯曲挠度应小于许用值,即 (2-21)其中取;则由下式计算: (2-22)式中,为作用在小齿轮齿面上的法相载荷,单位为,为齿轮压力角,;E为轴的材料的弹性模数,;为轴的惯性矩,单位为,对圆形截面,。同理,对以上公式进行代入、运算及整理,可得到满足轴的弯曲刚度条件的约束函数 (2-23)8)按轴的弯曲强度条件,有 (2-24)式中,为轴受的扭矩,;为轴所受的弯矩,单位为,;为考虑扭矩和弯矩作用
10、性质诧异的系数,这里取;为轴的许用弯曲应力,;为轴的抗弯剖面模数,对实心轴,。由此,对小齿轮和大齿轮轴,可分别写出满足弯曲强度条件的约束函数 (2-25)及 (2-26)综上所述,单级标准直齿圆柱齿轮减速器以体积最小为优化目标的优化设计问题,是个具有十六个不等式约束的六维优化问题,其数学模型可简记为 第三章 优化工具3.1 Matlab背景介绍 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。20世纪
11、70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。时至今日,经过Math Works公司的不断完善,MATLAB已经发展成为适合多学科、多种工作平台的功能强劲的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的
12、基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题14。3.2 Matlab语言介绍3.2.1 Matlab语言的特点 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言
13、的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。(1) 语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种
14、求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行。再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以下为用MATLAB编写以上两个小程序的具体过程。用MATLAB求解下列方程,并求矩阵A的特征值。 其中:解为:x=Ab;设A的特征值组成的向量为e,e=ei
15、g(A)。可见,MATLAB的程序极其简短。更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。(2) 运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。(3) MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。(4) 语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5) 程序的可移植性
16、很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6) MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7) MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8) 功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来
17、扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。(9) 源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。3.2.2
18、 Matlab语句的基本功能 进入MATLAB之后,会看到一个MATLAB Command Window,称为命令窗,它是最主要的窗口,既是键入命令也是显示计算结果的地方。另外还有一个编程窗,专门用来编辑应用程序。还有一个主窗口,用来记录已使用过的历史命令和已打开的目录,方便使用者查找。如果绘图还会自动弹出一个绘图窗,专门用来显示绘制的图形。MATLAB一般有3种进行计算的方法,第1种就如同使用计算器,直接输入数值和运算符,立即从屏幕上获得结果。第2种先对变量赋值,然后再输入由变量构成的表达式,也可立即获得结果。第3种,就是采用编程的方法来解决较复杂的,诸如含有判断、循环、迭代、递归等算法的较
19、复杂的问题。上述方法中,第2和第3包括了数组和矩阵运算,只要定义了数组和矩阵变量,就可以如同普通代数运算一样直接用变量进行数学运算,十分方便。MATLAB提供的基本算术运算有:加(+)、减()、乘(*)、除(/)、幂次方()。MATLAB的关系和逻辑运算符与其他软件基本相同,仅列表加以说明:表1 MATLAB的逻辑运算符符 号功 能符 号功 能=赋值运算&逻辑与运算= =关系运算,相等|逻辑或运算 不等于-逻辑非运算小于xor逻辑异或运算大于,分行符,结果不显示=大于等于;分行符,结果显示%注释标志矩阵转置.向量转量MATLAB可以将计算结果以不同的精度输出,列表说明如下:表2 MATLAB精
20、度列表命 令说 明format short默认显示,保留小数点后4位format long有效数字16位format long e有效数字16位加3位指数format short e 有效数字5位加3位指数format bank保留两位小数位format +只给出正、负format rational以分数形式表示format hex16进制数format long g15位有效数format short g5位有效数MATLAB对使用变量名称的规定:(1)变量名称的英文大小写是有区别的(apple、Apple、AppLe三个变量不同)。(2)变量的长度上限为19个字母。(3)变量名的第一个字母
21、必须是英文,随后可以掺杂英文字、数字或是下划线。下表给出MATLAB所定义的特殊变量及其意义。表3 MATLAB的特殊变量变量名意 义help在线帮助,如help quitwho列出所有定义过的变量名称ans默认的用来表示计算结果的变量名eps极小值=2.2204e-16pi值inf无穷大的数nan非数值3 .3 Matlab编程3.3.1 控制语句MATLAB也有控制流语句,用于控制程序的流程。主要有for循环、while循环、if和break三种控制语句。虽然语句很少,但功能很强。(1) for循环语句for循环语句的一般表达形式为:for i=表达式 可执行语句1 可执行语句nend(2
22、) while循环 while循环语句用来控制一个或一组语句在某逻辑条件下重复预先确定或不确定的次数。while循环语句的一般表达形式为:while 表达式 循环体语句end(3) if和break语句MATLAB中if和break语句的作用与使用方式同其它编程语言一样,用来将控制流程进行分流与中断退出。(4) if else end分支结构分支结构有三种形式:if 表达式 执行语句 end如果表达式的值非0,则执行下面的语句.否则执行end后面的语句。if 表达式 执行语句1 else 执行语句2 endif 表达式1 执行语句1 elseif 表达式2 执行语句2 elseif 表达式3
23、执行语句3 else (此句可以省略) 执行语句n end3.3.2 创建M文件创建M文件是MATLAB中的非常重要的内容.事实上,正是由于在MATLAB 工具箱中存放着大量的M文件,使得MATLAB在应用起来显得简单、方便,且功能强大。如果用户根据自己的需要,开发出适用于自己的M文件,不仅能使MATLAB更加贴近用户自己,而且能使MATLAB的功能得到扩展。M文件有两种形式:命令文件和函数文件当用户要运行的命令较多时,如果直接在命令窗口中逐条输入和运行,有诸多不便。此时可通过编写命令文件来解决这个问题。另外,从前面的许多例子可以看到:MATLAB的许多命令,需要用户通过编写函数文件来执行。(
24、1) 命令文件的创立进入MATLAB命令窗口后,选择“file”下拉式菜单中的“new”进入编辑/调试器(Editer/Debugger),在编辑/调试器中,编写符合语法规则的命令。编写完命令文件后,选择“file”下拉式菜单中的“save”项,然后依提示输入一个文件名。至此,完成了命令文件的创建。(2) 函数文件的创立函数文件的创立方法与命令文件的创立方法完全一样,只是函数文件的第一句可执行语句是以function引导的定义语句,并且输入文件名时要与定义语句中的函数名相同。建立了函数文件或命令文件后,只要在命令窗口键入命令文件名或函数名,就可执行M文件中所包含的所有命令。下面分别创建并运行一
25、个命令文件和一个函数文件,以了解M文件的创建和运行的全过程。计算所有小于1000的Fibonnaci数。3.3.3命令文件的创建和运行:(1) 在MATLAB的命令窗口点击“新建”工具栏或在“file”下拉菜单中选“New”中的“M-file”项,进入编辑/调试器。(2) 在编辑/调试器中,输入以下命令:% 计算小于1000的Fibonnaci数 f=1,1; i=1; while f(i)+f(i+1)1000 f(i+2)=f(i)+f(i+1); i=i+1; end f,i(3) 在“file”下拉菜单中选“Save”项,依提示输入文件名“fibno”至此,完成了命令文件fibno.m
26、的创建。(4) 执行fibno在MATLAB窗口中输入fibno并敲回车键,计算机依次执行fibno中的各条命令后显示如下的结果:ans = Columns 1 through 12 1 1 2 3 5 8 13 21 34 55 89 144Columns 13 through 16 233 377 610 987函数文件的创建和运行:(1) 在MATLAB的命令窗口点击“新建” 工具栏或在“file” 下拉菜单中选“New”中的“M-file”项,进入编辑/调试器。(2) 在编辑/调试器中,输入以下命令:function f=ffibno(n)f=1,1;i=1;while f(i)+f(
27、i+1)nf(i+2)=f(i)+f(i+1);i=i+1;endf(3) 在“ffile”下拉菜单中选“Save”项,依提示输入文件名“ffibno”至此,完成了函数文件ffibno.m的创建。(4) 执行ffibno。在MATLAB窗口中输入ffibno(1000)并敲回车键即可。3.4 fmincon函数优化工具箱提供fmincon函数用于对有约束优化问题进行求解,其语法格式如下:x = fmincon(fun,x0,A,b)x = fmincon(fun,x0,A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x = fmincon(fu
28、n,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, .)x,fval = fmincon(.)x,fval,exitflag = fmincon(.)x,fval,exitflag,output = fmincon(.)其中,x, b, beq, lb,和ub为线性不等式约束的上、下界向量, A 和 Aeq 为线性不等式约束和等式约束的系数矩阵矩阵,fun为目标
29、函数,nonlcon为非线性约束函数。显然,其调用语法中有很多和无约束函数fminunc的格式是一样的,其意义也相同,在此不在重复介绍。对应上述调用格式的解释如下:x = fmincon(fun,x0,A,b) 给定初值x0,求解fun函数的最小值x。fun函数的约束条件为A*x = b,x0可以是标量或向量。x = fmincon(fun,x0,A,b,Aeq,beq) 最小化fun函数,约束条件为Aeq*x = beq 和 A*x = b。若没有不等式线性约束存在,则设置A=、b=。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) 定义设计变量x的线性不等式约束下
30、界lb和上界ub,使得总是有lb = x = ub。若无等式线性约束存在,则令Aeq=、beq=。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) 在上面的基础上,在nonlcon参数中提供非线性不等式c(x)或等式ceq(x)。 fmincon函数要求c(x) = 0且ceq(x) = 0。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 用options参数指定的参数进行最小化。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P
31、2,.) 将问题参数P1, P2等直接传递给函数fun和nonlin。若不需要这些变量,则传递空矩阵到A, b, Aeq, beq, lb, ub, nonlcon和 options。x,fval = fmincon(.) 返回解x处的目标函数值到fval。x,fval,exitflag = fmincon(.) 返回exitflag参数,描述函数计算的有效性,意义同无约束调用。x,fval,exitflag,output = fmincon(.) 返回包含优化信息的输出参数output。非线性不等式约束nonlcon的定义方法该参数计算非线性不等式约束c(x) 2 % 被调用的nonlcon
32、函数,要求有4个输出变量。 GC = . % 不等式的梯度。 GCeq = . % 等式的梯度。 end第四章 编程求解与优化结果4.1目标函数文件function f=myfun(x)f=0.78539815*(4.75*x(1)*x(2)2*x(3)2+85*x(1)*x(2)*x(3)2-85*x(1)*x(3)2+0.92*x(1)*x(6)2-x(1)*x(5)2+0.8*x(1)*x(2)*x(3)*x(6)-1.6*x(1)*x(3)*x(6)+x(4)*x(5)2+x(4)*x(6)2+28*x(5)2+32*x(6)2)4.2 不等式约束函数文件functionc,ceq=m
33、yobj(x)c=x(2)*x(3)-30;x(1)*x(3)(-1)-35;16-x(1)*x(3)(-1);x(1)+0.5*x(6)+4-x(4);41840*x(2)(-1)*x(3)(-1)*sqrt(x(1)(-1)-855; 6461*1/(x(1)*x(2)*x(3)(2)*(0.169+0.6666*10(-2)*x(2)-0.854*10(-4)*x(2)(2)-261; 6461*1/(x(1)*x(2)*x(3)(2)*(0.2824+0.177*10(-2)*x(2)-0.394*10(-4)*x(2)(2)-213;0.01229*x(2)(-1)*x(3)(-1)
34、*x(4)(3)*x(5)(-4)-0.003*x(4); 26444*1/(x(2)*x(3)*x(4)*x(5)(-3)*sqrt(1+0.29709*x(2)2*x(3)2*x(4)(-2)-55; 26444*1/(x(2)*x(3)*x(4)*x(6)(-3)*sqrt(1+7.42727*x(2)2*x(3)2*x(4)(-2)-55; ceq = ;4.3命令文件fun =myfun;x0 = 23;21;0.8;42;12;16;A = ;b = ;Aeq = ;beq = ;lb = 4;17;0.2;15;10;13;ub = 40;25;1.5;60;15;20;nonl
35、con = myobj;options = optimset(largescale,off);x, fval = fmincon(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, options)4.4计算结果Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within optio
36、ns.TolCon = 1e-006): lower upper ineqlin ineqnonlin 5 3 6 4 5 7x = 10.3602 23.8592 0.6725 21.2602 10.0000 13.0000fval = 3.0461e+004 x0 = 23;21;0.8;42;12;16;得最优解10.3602 23.8592 0.6725 21.2602 10.0000 13.0000 该方案的体积比原设计方案下降44.8%。由于齿轮模数m应为标准值,齿数应为整数,其他参数一般也为适当圆整,所以最优解还不能直接采用。经标准化与圆整后的结果为 =10 24 0.7 21
37、10 13 经验证,圆整后的设计方案满足全部约束条件,且使减速器体积较原设计方案减小约43.1%。4.5结束语 Matlab具有强大的计算功能,其它程序需要几十行,乃至上百行才能时间的功能,Matlab一个函数就能实现。VB具有强大的界面设计和控制能力,在VB种调用Matlab优化工具箱里的函数进行优化设计,简单易学。即减轻了程序设计的工作量,又提高了程序的健壮性,这种混合编程方式对其它优化设计工作也是使用的。参考文献1.孙靖民.机械优化设计M。北京:机械工业出版社,19902.王凤岐.现代设计方法及其应用M。天津大学出版社,20083.薛定宇,陈阳泉.高等应用数学问题的MALAB求解M。北京:清华大学出版社 ,20054.徐锦康. 机械优化设计M. 北京:机械工业出版社,1996. 5.濮良贵. 机械设计(第六版)M. 北京:高等教育出版社,1996.