机械优化设计的MATLAB实现.ppt

上传人:赵** 文档编号:91020735 上传时间:2023-05-21 格式:PPT 页数:65 大小:2.02MB
返回 下载 相关 举报
机械优化设计的MATLAB实现.ppt_第1页
第1页 / 共65页
机械优化设计的MATLAB实现.ppt_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《机械优化设计的MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《机械优化设计的MATLAB实现.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB在机械优化设计中的应用在机械优化设计中的应用湖南农业大学工学院2007年9月主讲主讲:*绪绪 论论1.1 MATLAB系统简介系统简介 MATLAB 名字由 MATrix 和 LABoratory 两词的前三个字母组合而成。那是 20 世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的 Cleve Moler 教授出于减轻学生编程负担的动机,为学生设计了一组调用 LINPACK 和 EISPACK 库程序的“通俗易用”的接口,此即用 FORTRAN 编写的萌芽状态的 MATLAB。经几年的校际流传,在 Little 的推动下,由 Little、Moler、Steve Ba

2、ngert 合作,于 1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市场。从这时起,MATLAB 的内核采用 C 语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而M

3、athematica和Maple则分居符号计算软件的前两名。Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。在设计研究单位和工业部门,MATLAB被认作进行高效研

4、究、开发的首选软件工具。如美国NationalInstruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。MATLAB具有以下几个特点具有以下几个特点:功能强大的数值运算功能强大的图形处理能力高级但简单的程序环境丰富的工具箱优化工具箱中的所有函数都对应一个MATLAB6.5的.M文件(关于.M文件请查阅相关MATLAB6.5文献),这些.M通过使用MATLAB6.5基本语句实现了具体的

5、优化算法.可以在MATLAB6.5命令窗口键入命令:typefunction_name,来查看相应函数的代码.1.2 优化工具箱的工程应用步骤优化工具箱的工程应用步骤当量化地求解一个实际的最优化问题时,首先要把这个问题转化为一个数学问题.建立数学模型:然后对建立的数学模型进行具体分析选择合适的优化算法:最后根据选定的优化算法,编写计算程序进行求解用MATLAB6.优化工具箱解决实际应用问题可以概括为以下三个步骤:(1)根据所提出的最优化问题,建立最优化问题的数学模型确定变量,列出约束条件和目标函数(2)对所建立的模型进行具体分析和研究选择合适的最优化求解方法(3)根据最优化方法的算法,列出程序

6、框图,选择优化函数和编写语言程序,用计算机求出最优解利用MATLAB的优化工具箱,可以求解线性规划,非线性规划和多目标规划问题。具体而言,包括线性,非线性最小化,最大最小化,二次规划,半无限问题,线性,非线性方程化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便,快捷的途径。1.3 优化问题的工程背景优化问题的工程背景随着生产,经济,技术的发展,工程技术,管理人才在实际工作中常常会面临这类问题:在工程设计中,怎样的分配方案既能满足各方面的基本要求,又能降低成本;在资源配中,怎样的分配既能满足各方面的基本要求,又能获得好的经济效益;在生产计划安排

7、中,选择怎样的计划才能提高产值和利润;在原料配比问题中,怎样确定各种万分的比例才能提高质量,降低成本;在城建规划中,怎样安排工厂,机关,学校,商店,医院,住宅和其它单位的合理布置,才能方面群众,有利于城市各行各行的发展这一类问题的共同点就是迁出最合理,达到事先预定的最优目标的方案,这就是工程问题最优化问题 最优化方法发展很快,包含多个分支,如线性规划,整数规划,非线性规划,动态规划,多目标规划等。2.1 线性规划问题与线性规划问题与MATLAB实现实现 线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB解决的线性规划问题的标准形式为:min f(x)x R s.t.A.xb Ae

8、q.x=beq lb x ub其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。其它形式的线性规划问题都可经过适当变换化为此标准形式。在MATLAB6.5版中,线性规划问题(Linear Programming)已用函数linprog取其它形式的线性规划问题都可经过适当变换化为此标准形式。函数 linprog 调用格式 x=linprog(f,A,b)%求min f=f(x)x Rs.t.A.xb 线性规划的最优解。x=linprog(f,A,b,Aeq,beq)%等式约束Aeq.x=beq,若没有不等式约束,则A=,b=。x=linprog(f,A,b,Aeq,beq,lb,ub)

9、%指定x的范围lbxub,若没有等式约束Aeq.x=beq,则Aeq=,beq=x=linprog(f,A,b,Aeq,beq,lb,ub,x0)%设置初值x0 x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)%options为指定的优化参数x,fval=linprog()%返回目标函数最优值,即fval=f(x)。x,fval,lambda,exitflag=linprog()%lambda为解x的Lagrange乘子。x,favl,lambda,fval,exitflag=linprog()%exitflag为终止迭代的错误条件。x,fval,lambda

10、,exitflag,output=linprog()%output为关于优化的一些信息说明 若exitflag0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag1 g(1)=2*x(1);%用提供的梯度g使函数最小化 g(2)=50*x(2);End输入下列系数options(6)=1;options(7)=1;%采用DFP变尺度方法立方插值法options=optimset(Display,iter,LargeScale,on,GradObj,on);%设置优化参数x0=2,2;x,fval,exitflag,output,grad=fminunc(

11、jxyh4_1fun,x0,options)结果为:结果为:x=1.0e-013*0.1155 0.0044fval=1.3825e-028exitflag=1output=iterations:1 funcCount:2 cgiterations:1 firstorderopt:2.3093e-014 algorithm:large-scale:trust-region Newton message:1x137 chargrad=1.0e-013*0.2309 0.2220 Norm of First-order Iteration f(x)step optimality CG-iterat

12、ions 0 104 100 1 1.38248e-028 2.82843 2.31e-014 1例例.2 求下面的优化问题求下面的优化问题(变尺度法变尺度法)对函数f(x)=x12+2x22-4x1-2x1x2,当给定初值x0=1,1,求其最小值x.编一个编一个M文件文件=jxyh4_2fun(x).m,返回返回x处的函数值处的函数值f.function y=jxyh4_2fun(x)y=x(1)2+2*x(2)2-4*x(1)-2*x(1)*x(2);%目标函数的M文件输入下列系数输入下列系数options(6)=0;options(7)=0;%采用DFP方法混合插值法options=op

13、timset(Display,iter,LargeScale,off,);%设置优化参数x0=1,1;x,fval,exitflag,output=fminunc(jxyh4_2fun,x0,options)结果为:结果为:x=4.0000 2.0000fval=-8.0000exitflag=1output=iterations:3 funcCount:12 stepsize:1 firstorderopt:2.3842e-007 algorithm:medium-scale:Quasi-Newton line search message:Optimization terminated:r

14、elative infinity-norm of gradient less than options.TolFun.Iteration Func-count f(x)Step-size infinity-norm 0 3 -3 4 1 6 -5.5 0.25 2 2 9 -6.4 1 1.6 3 12 -8 1 2.38e-007 例例4.3 求使方程求使方程的最小化当给定初值x0=pi/3,pi/3;求其最小值x编一个M文件y=jxyh4_3fun(x).m,返回x处的函数值f.functionf=jxyh4_3fun(x)f=sin(x(1)+cos(x(1)+sin(x(2)+cos(

15、x(2)+sin(x(1)*cos(x(2);输入下列系数输入下列系数x0=pi/3,pi/3;options=optimset(Display,iter,LargeScale,off);%设置优化参数x,fval,exitflag,output=fminunc(jxyh4_3fun,x0,options)结果为:结果为:x=3.62974.2242fval=-2.4844exitflag=1output=iterations:9funcCount:39stepsize:1firstorderopt:1.1495e-007algorithm:medium-scale:Quasi-Newtonl

16、inesearchmessage:Optimizationterminated:relativeinfinity-normofgradientlessthanoptions.TolFun.Gradients Iteration Func-count f(x)Step-size infinity-norm 0 3 3.16506 1.12 1 9 -0.985033 2.38021 0.932 2 12 -1.87199 1 1.01 3 21 -2.46878 0.0614031 0.159 4 24 -2.47689 1 0.112 5 27 -2.48442 1 0.006 6 30 -2

17、.48443 1 0.00133 7 33 -2.48444 1 4.06e-005 8 36 -2.48444 1 6.42e-006 9 39 -2.48444 1 1.15e-007 .4.4 在MATLAB中,多变量非线性无约束优化问题也可以调用函数 fminsearch fminsearch函数是一个M文件,其算法基于单纯形法进行计算适合解决二次以上的问题,并问题为高度非线性时,具有稳定性但是不适合求解平方和问题函数函数 fminsearch 调用格式调用格式 :x=fminsearch(fun,x0)%给定初值x0,求fun 函数的局部极小点xx0可以是标量,矢量,矩阵x=fmin

18、search(fun,x0,options)%用options参数指定的优化参数进行求解x,fval=fminsearch()%返回x处目标函数的值到fvalx,fval,exitflag=fminsearch()%返回exitflag值描述fminunc 函数的退出条件x,fval,exitflag,output=fminsearch()%返回包含优化信息的结构输出例例4.4 求使方程求使方程的最小化当给定初值x0=1;求其最小值x编一个编一个M文件文件y=jxyh4_4fun(x).m,返回返回x处的函数值处的函数值f.function f=jxyh4_4fun(x)f=e(-x)+x2;

19、输入下列系数输入下列系数x0=1;options=optimset(Display,iter,LargeScale,off);%设置优化参数x,fval,exitflag,output=fminsearch(jxyh4_4fun,x0,options)结果为:结果为:Gradients Iteration Func-count f(x)Step-size infinity-norm 0 3 3.16506 1.12 1 9 -0.985033 2.38021 0.932 2 12 -1.87199 1 1.01 3 21 -2.46878 0.0614031 0.159 4 24 -2.476

20、89 1 0.112 5 27 -2.48442 1 0.006 6 30 -2.48443 1 0.00133 7 33 -2.48444 1 4.06e-005 8 36 -2.48444 1 6.42e-006 9 39 -2.48444 1 1.15e-007 x=0.3518 fval=0.8272exitflag=1output=iterations:16 funcCount:32 algorithm:Nelder-Mead simplex direct search message:1x196 char5.1 有约束的非线性规划问题的有约束的非线性规划问题的MATLAB实现实现

21、这些问题通常用基于K-T(Kuhn-Tucker)方程解的方法,直接计算拉格朗日乘子用拟牛顿法更新过程这些方法称为二次规划法(SQP)利用MATLAB解决有约束的非线性规划问题问题调用函数 fmincon:利用 fmincon 函数求解多变量的有约束的最小值:其数学模型为:式中,x,b,beq,lb和ub为矢量,A和Aeq为矩阵,c(x)和ceq(x)为函数,返回标量f(x),c(x)和ceq(x)可以是非线性函数函数函数 fmincon 调用格式调用格式 :x=fmincon(fun,x0,A,b)给定初值x0,求fun函数的极小值x,fun函数的约束条件为A*x=b,x0可以是标量,矢量,

22、矩阵。x=fmincon(fun,x0,A,b,Aeq,beq)最小化fun函数,约束条件为Aeq*x=beq和A*x=b。若没有不等式存在,则令Aeq=,beq=。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)定义设计变量x的下界lb和上界ub。使得有lb=x=ub。若无等式则有:Aeq=,beq=;x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)在上面的基础上,在nonlcon参数中提供非线性不等式c(x)和等式ceq(x),通常也以M文件的方式调用。Fmincon函数也要求c(x)=0且ceq(x)=0当无边界存在时,令lb=

23、,ub=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,P2)提供另外的参数P1,P2等,传输给目标函数fun和nonlin如果不需要这些变量,则传递空矩阵到A,b,Aeq,beq,lb,ub,nonlcon,options中x,fval=fmincon(.)将解x处的目标函数的值返回到fval参数中x,fval,exitflag=fmincon(.)返回exitflag的值,描述函数的输出条

24、件x,fval,exitflag,output=fmincon(.)返回包含优化作息的结构输出x,fval,exitflag,output,lambad=fmincon()返回解x处包含拉格朗子乘子的lambad参数x,fval,exitflag,output,lambad,grad=fmincon()返回解x处fun函数的梯度x,fval,exitflag,output,lambad,grad,hess=fmincon()返回解x处fun函数的hess矩阵各调用格式中,nonlcon参数计算非线性不等式约束c(x)2 Gc=%不等式的梯度 Gceq=%等式的梯度end5.1 计算计算 有约束

25、的非线性规划问题有约束的非线性规划问题例题5-1试求点集A(x1,x2,x3)和点集B(x4,x5,x6)之间的最短距离。限制条件为由图可知,点集A(x1,x2,x3)在球面上取点。点集B(x4,x5,x6)在圆柱面上取点。因此该问题就是求这两个几何体间的最短距离的约束优化问题,其数学模型为。编一个编一个M文件文件=jxyh5_1fun(x).m,返回返回x处的函数值处的函数值f.functionf=jxyh5_1fun(x)f=(x(1)-x(4)2+(x(2)-x(5)2+(x(3)-x(6)2;%目标函数的M文件由于约束条件中非线性约束由于约束条件中非线性约束,所以要编写一个描述非线性约

26、束条件的所以要编写一个描述非线性约束条件的M文件文件jxyh5_1con(x).m:functionc,ceq=jxyh5_1con(x)c(1)=x(1)2+x(2)2+x(3)2-5;c(2)=(x(4)-3)2+x(5)2-1;ceq=;下一步给定初值,给定变量的下限约束,并调用优化过程。输入下列系数输入下列系数A=;b=;Aeq=;beq=;lb=-sqrt(5),-sqrt(5),-sqrt(5),2,-1,4;ub=sqrt(5),sqrt(5),sqrt(5),4,1,8;x0=1,1,1,3,1,5;options=optimset(Display,iter,LargeScal

27、e,off);x,fval,exitflag,output,lambad=fmincon(jxyh5_1fun,x0,A,b,Aeq,beq,lb,ub,jxyh5_1con,options)结果为:结果为:max Directional First-order Iter F-count f(x)constraint Step-size derivative optimality Procedure 0 7 20 0 1 16 9.62539 0.3057 0.5 -14.7 3.5 2 24 5.7322 1.444 1 0.789 3.87 3 32 4.43066 0.7698 1 0.

28、477 1.11 4 40 5.016 0.5863 1 1.23 1.92 5 48 4.71722 0.2918 1 -0.00998 0.269 6 56 4.99527 0.004732 1 0.282 0.0741 7 64 5 1.48e-006 1 0.00473 0.000828 8 72 5 1.116e-007 1 1.29e-006 0.000102 Hessian modified Optimization terminated:Magnitude of directional derivative in search direction less than 2*opt

29、ions.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities(to within options.TolCon=1e-006):lower upper ineqlin ineqnonlin 4 1 6 2x=1.0000 -0.0000 2.0000 2.0000 -0.0000 4.0000fval=5.0000exitflag=5output=iterations:8 funcCount:72 stepsize:1 algorithm:medium-scale:SQP

30、,Quasi-Newton,line-search firstorderopt:1.0234e-004 cgiterations:message:1x172 charlambad=lower:6x1 double upper:6x1 double eqlin:0 x1 double eqnonlin:0 x1 double ineqlin:0 x1 double ineqnonlin:2x1 double 所以当x=1.0000 -0.0000 2.0000 2.0000 -0.0000 4.0000时,目标函数有最小值 fval=5.0000。exitflag=5,表示过程成功收敛于x处。O

31、utput输出变量显示民收敛中的迭代次数、目标函数计算次数步长算法等信息。Lambda则包含模型信息。5-2 求解含有等式约束问题的最优解,并用求解含有等式约束问题的最优解,并用MATlab计算下列约束优化问题。计算下列约束优化问题。MATLAB过程 编一个编一个M文件文件jxyh5_2fun(x).m,返回返回x处的函数值处的函数值f。function f=md65fun(x)f=x(2)+x(1);由于约束条件中非线性约束由于约束条件中非线性约束,所以要编写一个描述非线性约束条件的所以要编写一个描述非线性约束条件的M文件文件jxyh5_2con(x).m:function c,ceq=jx

32、yh5_2con(x)c=log(x(1);ceq=x(1)+x(2)-1;下一步给定初值下一步给定初值,给定变量的下限约束给定变量的下限约束,并调用优化过程。并调用优化过程。options=optimset(Display,iter,LargeScale,off);x0=1,0;x,fval,exitflag,output,lambda=fmincon(md65fun,x0,md65con,options)计算结果为计算结果为:max Directional First-order Iter F-count f(x)constraint Step-size derivative optima

33、lity Procedure 0 3 1 0 1 7 1 0 1 0 2 Optimization terminated:first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities(to within options.TolCon=1e-006):lower upper ineqlin ineqnonlin 1x=1 0 fval=1 exitflag=1output=iterati

34、ons:1 funcCount:7 stepsize:1 algorithm:medium-scale:SQP,Quasi-Newton,line-search firstorderopt:1.1102e-016 cgiterations:message:1x143 charlambda=lower:2x1 double upper:2x1 double eqlin:0 x1 double eqnonlin:-1.0000 ineqlin:0 x1 double ineqnonlin:0 5-3 如图所示,已知跨距为L、截面为矩性的简支梁,其材料密度为,许用弯曲应力为,允许挠度为,在梁的中点作

35、用一集中载荷P,梁的截面宽度b不得小于,现要求设计此梁,使其重量最轻,试写出其优化数学模型。若 试用MATlab优化工具计算。考虑简支梁自重后数学模型 令 x1=b,x2=h转化数学模型MATLAB过程过程 编一个编一个M文件文件jxyh5_3fun(x).m,返回返回x处的函数值处的函数值f。function f=jxyh5_3fun(x)f=5*1e4*0.05*5*x(1)*x(2)*9.8;由于约束条件中非线性约束由于约束条件中非线性约束,所以要编写一个描述非线性约束条件的所以要编写一个描述非线性约束条件的M文件文件 jxyh5_3con(x).m:function c,ceq=jxy

36、h5_3con(x)c(1)=6*(5*1e4*5/4+7.8*1e3*9.8*x(1)*x(2)*52/8)/(x(1)*x(2)2)-7*1e7;c(2)=5*7.8*1e3*9.8*x(1)*x(2)*54/(384*2*1e11*x(1)*x(2)2/12)+5*1e4*53/(48*2*1e11*x(1)*x(2)2/12)-0.005;ceq=;下一步给定初值下一步给定初值,给定变量的下限约束给定变量的下限约束,并调用优化过程。并调用优化过程。options=optimset(Display,iter,LargeScale,off);x0=0.08,0.08;lb=0.05,0;u

37、b=;x,fval,exitflag,output,lambda=fmincon(jxyh5_3fun,x0,lb,ub,jxyh5_3con,options)计算结果为计算结果为:max Directional First-order Iter F-count f(x)constraint Step-size derivative optimality Procedure 0 3 784 6.803e+008 Infeasible start point 1 7 805.593 3.745e+008 1 -168 6.57e+003 2 11 1149.16 1.507e+008 1 344

38、 4.43e+003 Hessian modified 3 15 1548.41 5.302e+007 1 399 2.73e+003 4 19 1889.97 1.342e+007 1 342 2.53e+003 5 23 2046.3 1.485e+006 1 156 1.71e+003 6 27 2068.21 2.326e+004 1 21.9 139 7 31 2068.56 5.913 1 0.354 0.195 8 35 2068.56 0 1 9.01e-005 3.06e-005 Hessian modified Optimization terminated:first-o

39、rder optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities(to within options.TolCon=1e-006):lower upper ineqlin ineqnonlin 1 1x=0.0500 0.3377fval=2.0686e+003exitflag=1output=iterations:8 funcCount:35 stepsize:1 algorithm:medium-s

40、cale:SQP,Quasi-Newton,line-search firstorderopt:7.2760e-012 cgiterations:message:1x143 charlambda=lower:2x1 double upper:2x1 double eqlin:0 x1 double eqnonlin:0 x1 double ineqlin:0 x1 double ineqnonlin:2x1 double 所以当x=0.0500 0.3377 时,目标函数有最小值 fval=2.0686e+003。exitflag=1,表示过程成功收敛于x处。Output输出变量显示民收敛中的

41、迭代次数、目标函数计算次数步长算法等信息。Lambda则包含模型信息。例5-4有约束的非线性规划问题有约束的非线性规划问题机床主轴结构优化设计机床主轴结构优化设计试对图8-2所示的主轴进行优化设计,已知主轴内径d=30mm,外力F=15000N。设计变量数n=3,约束函数个数m=5,设计函数初值,上下限如下表:MATLAB的实现过程的实现过程:编一个目标函数的编一个目标函数的M文件文件jxyh5_4fun(x).m,返回返回x处的函数值处的函数值f。functionf=jxyh5_4fun(x)f=(x(1)-x(4)2+(x(2)-x(5)2+(x(3)-x(6)2;设计变量初始值48010

42、060下限3006090上限650140150 由于约束条件中非线性约束由于约束条件中非线性约束,所以要编写一个描述非线性约束条件的所以要编写一个描述非线性约束条件的M文件文件jxyh5_4con(x).m:functionc,ceq=jxyh5_4con(x)c(1)=64*15000*x(3)2*(x(1)+x(3)/(3*210*103*pi*(x(2)4-304)/0.05-1;c(2)=1-x(1)/300;c(3)=1-x(2)/60;c(4)=x(2)/140-1;c(5)=1-x(3)/90;ceq=;下一步给定初值下一步给定初值,给定变量的下限约束给定变量的下限约束,并调用优

43、化过程。并调用优化过程。A=;b=;Aeq=;beq=;lb=300,60,90;ub=650,140,150;x0=480,100,120;options=optimset(Display,iter,LargeScale,off);x,fval,exitflag,output,lambda,hess=fmincon(jxyh5_4fun,x0,A,b,Aeq,beq,lb,ub,jxyh5_4con,options)计算结果为计算结果为:max Directional First-order Iter F-count f(x)constraint Step-size derivative o

44、ptimality Procedure 0 4 33.4485 -0.155 1 9 32.904 -0.1304 1 -0.542 0.73 2 14 29.9777 0.01382 1 -2.86 0.438 3 19 29.8701 3.683e-005 1 -0.107 0.387 4 24 20.3387 0 1 -8.49 0.511 5 29 19.9955 0.000541 1 -0.342 0.0563 6 34 19.997 1.56e-007 1 0.00154 0.0561 7 39 16.1698 -2.22e-016 1 -3.62 0.413 Hessian mo

45、dified 8 44 11.3669 0 1 -4.38 0.115 9 49 11.2481 0.0002055 1 -0.119 0.00587 10 54 11.2494 2.679e-008 1 0.00134 2.83e-006 11 59 11.2494 0 1 1.75e-007 2e-009 Hessian modified Optimization terminated:first-order optimality measure less than options.TolFun and maximum constraint violation is less than o

46、ptions.TolCon.Active inequalities(to within options.TolCon=1e-006):lower upper ineqlin ineqnonlin 1 1 3 2 5lambda=lower:3x1 double upper:3x1 double eqlin:0 x1 double eqnonlin:0 x1 double ineqlin:0 x1 double ineqnonlin:2x1 doublehess=7350000 36750000 0所以当 x=300 60 120 时,目标函数有最小值 fval=2.2050e+009exitf

47、lag=1,表示过程成功收敛于x处。Output输出变量显示民收敛中的迭代次数、目标函数计算次数步长算法等信息。Lambda则包含模型信息。x=300.0000 74.8898 90.0000fval=11.2494exitflag=1output=iterations:11 funcCount:59 stepsize:1 algorithm:medium-scale:SQP,Quasi-Newton,line-search firstorderopt:2.0000e-009 cgiterations:message:1x144 charlambda=lower:3x1 double uppe

48、r:3x1 double eqlin:0 x1 double eqnonlin:0 x1 double ineqlin:0 x1 double ineqnonlin:5x1 doublehess=0.0288 0.3579 0.0288 所以当x=300.0000 74.8898 90.0000时,目标函数有最小值 fval=11.2494。exitflag=1,表示过程成功收敛于x处。Output输出变量显示民收敛中的迭代次数、目标函数计算次数步长算法等信息。Lambda则包含模型信息。例例5-5 求两级圆柱齿轮减速器优化设计求两级圆柱齿轮减速器优化设计 已知某两级斜齿轮圆柱齿轮减速器(图8

49、-6)的参数:高速级输入功率P1=6.2kw,转速n1=1450 r/min总传动比i=31.5,齿轮宽度系数为 齿轮材料和热处理:大齿轮45号钢正火187207小齿轮45号钢调质228 255HBS,工作寿命年以上要求按照总中心矩a最小来确定传动方案 解 1)建立优化设计的数学模型将影响齿轮传动总中心矩a的六个独立参数作为设计变量:x=(mn1,mn2,z1,z3,i,)=(x1,x2,x3,x4,x5,x6)Mn1,mn2分别为高速级和低速级齿轮副的模数;z1,z3分别为高速级和低速级小齿轮齿数;i 为高速级传动比;为齿轮副螺旋角齿轮传动总中心矩齿轮传动总中心矩a最小的目标函数:最小的目标

50、函数:性能约束包括齿面强度条件,齿根弯曲强度条件,高速级大齿轮和低速轴不干涉条件等根据齿轮材料与热处理规范,得到齿面许用接触应力,齿根许用弯曲应力和根据传递功率和转速,在齿轮强度计算条件中代入有关数据:高速轴转矩 中间速轴转矩,高速轴和低速轴齿轮载荷系数和由齿轮传动的约束条件,可建立以下约束模型:由齿轮传动的约束条件,可建立以下约束模型:MATLAB的实现过程的实现过程:编一个目标函数的编一个目标函数的M文件文件jsqyh_f(x).m,返回返回x处的函数值处的函数值f。function f=jsqyh_f(x)hd=pi/180;a1=x(1)*x(3)*(1+x(5);a2=x(2)*x(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁