应用MATLAB工具箱实现机械优化设计

  • 格式:pdf
  • 大小:833.32 KB
  • 文档页数:4

6 结束语本文提出的利用位图图片获得零件实体模型的方法,适用于各种可用正视图与轴剖视图绘制的零件,对于各截面形状相同的平面元件,如钣金件、直齿圆柱齿轮、平面凸轮等,则更简单,可以采用扫描仪获得零件实物的截面位图作为正视图,无需由剖视图获得旋转体。

获得的三维实体模型准确、快速,并且简便易行,成本低廉,具有较高的实用价值。

参考文献:[1] 景作军,方建军,徐宏海.计算机辅助设计与工程分析(M ).北京:化学工业出版,2002[2] 王贤坤.机械CAD/CAM 技术应用与开发(M ).北京:机械工业出版,2000[3] 徐灏.机械设计手册(4)(M ).北京:机械工业出版社,2000[4] 张晋西.Vis ual Basic 与AutoCAD 二次开发(M ).北京:清华大学出版社,2002[5] (美)Evangelos Petroutsos,邱仲潘,等译.Visual 从入门到精通(M ).北京:电子工业出版社,2002 作者简介:张晋西(1962-),男,硕士,副教授,主要研究方向:CAD/CAM 。

收稿日期:2002-10-08文章编号:1006-2343(2003)03-040-03应用MATLAB 工具箱实现机械优化设计席平原(淮海工学院 机械系,江苏连云港 222001)摘 要:采用新的软件解决机械优化问题,介绍了M AT L AB 优化工具箱在机械优化设计中的应用。

通过给出的优化实例可以看出,应用该软件求解机械优化设计问题非常方便。

关键词:MATLAB;机械优化设计;应用实例中图分类号:T H122 文献标识码:A 机械优化设计是以数学规划为理论基础,以计算机为工具,寻求机械设计问题最佳方案的现代设计方法之一,现在已经有很多成熟的优化方法程序可供选择,但是每种优化方法都有自己的特点和适用范围,实际应用中很容易因为优化方法或初始参数选择不当而无法得到全局最优解,而M AT-L AB 语言的优化工具箱则选用最佳方法来求解,初始参数输入简单,语法特征符合科技人员对数学表达式的书写,编程工作量大大减少,有着很大的优越性。

1 MATLAB 语言及其优化工具箱简介M AT LAB 语言是由美国M athworks 公司开发的集科学计算、数据可视化和程序设计为一体的工程应用软件,现已成为工程学科计算机辅助分析、设计、仿真以至教学等不可缺少的基础软件,它由M AT LAB 主包、Simulink 组件以及功能各异的工具箱组成。

M AT L AB 优化工具箱的应用包括:线性规划和二次规划,求函数的最大值和最小值,多目标优化,约束优化,离散动态规划等,其简洁的表达式、多种优化算法的任意选择、对算法参数的自由设置,可使用户方便地使用优化方法。

2 优化工具箱的应用2.1 绘制目标函数的网格图和等值线图由目标函数的网格图和等值线图可观察到目标函数极值点的范围,以验证最优解的可靠性。

例:绘制Rosebrock 函数f(x ,y)=100*(x-y ^2)^2+(1-x )^2的网格图和等高线图。

命令如下:[x ,y]=meshg rid(-10 0.1 10,-3 0.1 3);z=100(x -y 2)+(1-x )2;mesh(x ,y,z)%绘制网格图形,contour(x,y,z,20)%绘制等高线图形运行结果得到如下网格图和等高线图,观察可知f(x ,y)最小值为0,则最优点为(1,1)点。

2.2 线性规划线性规划是数学规划中的一个比较成熟的分支,实际应用也非常广泛,同时也是构成非线性约束优化方法的一种基本算法,优化工具箱中由linprog 函数来解线性规划问题,采用投影法计算,是一种修正的单纯形法。

图1 三维网格图格式:X =L I NPRO G (f,A ,b,A eq,Beq,LB,U B,X0,OP -T I ONS)[X,FVA L,EXI T FLA G,O U T PU T ]=L IN PROG (f,A,b )第19卷第3期2003年6月机械设计与研究M achine Design and Research Vol.19No.3June,2003图2 等高线图其中:目标函数为minf T x,约束条件A x b,Aeq x=Beq, lb x ub。

x0为初始点,OPT ION S为参数控制向量,由命令options=optimset()完成。

x为设计变量的返回值,fval为目标函数最优值,ex itflag为迭代终止条件,output为运行详细结果。

例:求解线性规划问题minf(x)=-7x1-12x2s.t.9x1+4x2+x3=3604x1+5x2++x4=2003x1+10x2++x5=300x i 0(i=1,2, ,5)在命令窗口输入:f=[-7,-12,0,0,0];aeq=[9,4,1,0,0;4,5,0,1,0;3, 10,0,0,1];beq=[360;200;300];1b=zeros(5,1);[x,fval]=linprog(f,[],[],aeq,beq,lb,[])运行结果如下:x=20.0000;24.0000;84.0000;0.0000;0. 0000;fval=-428.0000。

2.3 二次规划二次规划为约束优化中比较特殊的形式,优化工具箱中由quadpr og函数求解,采用活动集法通过解线性规划得到初始解。

格式:X=Q UA DPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OP-T ION S)[X,FV AL,EXIT FL AG,OU T PU T]=QU ADP ROG(H,f,A,b )其中:目标函数为min0.5x T Hx+f T x,约束条件A x b, A eq x=Beq,1b x ub。

例:求解二次规划问题minf(x)=x21-2x1+x22-4x2+x23 -6x3+x24+8x4s.t.x1+x2+x3+x4 53x1+3x2+2x3+x4 10x1,x2,x3,x4 0首先将目标函数化为二次规划标准形式,即H=[2,0, 0,0;0,2,0,0;0,0,2,0;0,0,0,2],f T=[-2,-4,-6,-8],在命令窗口输入:h=[2,0,0,0,;0,2,0,0;0,0,2,0;0,0,0,2];f=[-2,-4, -6,-8];a=[1,1,1,1;3,3,2,1];b=[5;10];1b=zeros(4, 1);[x,fval]=quadprog(h,f,a,b,[],[],1b,[])运行结果如下:x=0.000;0.6667;1.6667;2.6667;fval=-23.6667。

2.4 无约束规划无约束非线性规划有许多种算法,其中模式法收敛速度较慢,通常使用得较少。

导数法中,拟牛顿法利用牛顿法的二次收敛性的优点,可靠性较好,同时这种算法收敛速度快,故目前应用最为广泛。

拟牛顿法中应用较多的有BFGS变尺度法和DF P变尺度法,其中BF GS算法的构造矩阵不易变为奇异,因此它有更好的稳定性。

MA T LAB优化工具箱默认使用BFGS变尺度法,也可以修改参数选用DFP变尺度法或梯度法,通过函数fminunc和fminsearch计算,其中函数fminunc要求目标函数必须连续,函数fminsearch常用来处理不连续的函数,采用单纯形搜索算法。

格式:X=FM IN U NC(F U N,X0,OPT ION S)[S,F VAL,EXI T FLA G,OU T PU T]=F M IN U NC[FU N,X0, ]其中:参数fun为目标函数的M文件,其余同上。

2.5 有约束规划机械优化设计中的问题,大多数属于非线性的约束优化问题,目前对于非线性约束优化问题的解法很多,但这些算法仅仅能解决一类特殊的非线性规划问题。

早期的方法通常是用通过构造惩罚函数等来将有约束优化转换为无约束求解,现在这些方法已经被更为有效的基于K-T方程解的方法所取代。

在凸规划中,K-T方程对于全局的极小点是必要也是充分的。

M AT L AB优化工具箱采用序列二次规划法(SQ P)求解约束优化问题,它是将原问题化为一系列的二次规划子问题进行求解,通过使用BFG S法构造变尺度矩阵,以保证超线性收敛性,调用fmincon函数求解约束优化问题。

式中:X=FM I NCON(FU N,X0,A,B,Aeq,Beq,LB,U B, N ON LCON,OPT ION S)[X,FV AL,EXIT FL AG,OU T PU T]=FM I NCON(FU N,X0, )其中:参数fun为目标函数的M文件,参数nonlcon为非线性约束函数的M文件,其余同上。

2.6 多目标优化通常多目标优化问题求解时作适当的处理,一种方法是将多目标优化问题重新构成一个新的函数,即评价函数,从而将多目标优化问题转变为求评价函数的单目标优化问题,如线性加权和法,理想点法,目标达到法等。

另一种是将多目标优化转化为一系列单目标优化问题来求解,如分层序列法等。

M AT L AB优化工具箱采用改进的目标达到法使目标达到问题变为最大最小问题来获取合适的目标函数值。

格式:X=F GOALA T T AI N(FU N,X0,GOAL,W EIGHT,A, B,A eq,Beq,L B,U B,NO NL CON);[X,F VAL,A T T AIN FAC-T OR,EXIT FLA G,OU T PU T]=FG OALAT T AIN(FU N,X0, )其中:参数fun为目标函数的M文件,goal为要达到的目标, weig ht为加权因子,参数nonlcon为非线性约束函数的M文件,其余同上。

例:求解多目标优化问题minf1=8x1+10x241第3期 席平原:应用M AT LA B工具箱实现机械优化设计minf2=-100x1-100x2minf3=-x2s.t.8x1+10x2 40-x2 -6x1,x2 0,要求目标值[f1,f2,f3]=[40,-800,-6]。

首先编写目标函数M文件my funl.m:function f=my funl(x)f(1)=8*x(1)+10*x(2)f(2)=-100*x(1)-100*x(2)f(3)=-x(2)在命令窗口调用优化程序:x0=[2,2];goal=[40,-800,-6];w eight=[40,-800,-6];A=[8,10;0,-1];b=[40;-6];lb=zeros(2,1); options=optimset( maxfunvals ,5000);%设置允许函数搜索的最大次数[x,fval]=fgoalattain@myfun1,x0,goal,w eight,A,b,[],[], lb,[],[])运行结果如下:x=2.0429;1.9458;fv al=35.8007;-398.8648;-1.94583 应用实例设计一直齿圆柱齿轮传动,已知其齿数比u=4,小轮轴扭矩T1=100N.m,单向传动,润滑良好,非对称布置,两齿轮材料;小齿轮40Cr,调质,齿面硬度HB=250~280,[H]1 =630M Pa,[ F]1=288M Pa;大齿轮45钢,调质,齿面硬度HB=220~250,[H ]2=550M Pa,[F]2=204M P a,取载荷系数K=1.28。