1、目 录1.多维有约束优化- 3 -1.1 题目- 3 -1.2 已知条件- 3 -1.3 建立优化模型- 3 -1.3.1问题分析及设计变量的拟定- 3 -1.3.2目的函数的拟定- 4 -1.3.3 约束条件的建立- 4 -1.4 优化方法的选择- 5 -1.5 数学模型的求解- 5 -1.5.1 拟定数学优化模型- 5 -1.5.2运用Matlab优化工具箱对数学模型求解- 6 -1. 5.3最优解以及结果分析- 7 -2.多维无约束优化- 8 -2.1 题目- 8 -2.2 拟定优化设计模型- 8 -2.3运用Matlab优化工具箱对数学模型求解- 9 -2.3.1 编写目的函数- 9
2、-2.3.2 绘制该函数的平面和空间等值线- 9 -2.3.3运用matlab工具箱fminunc函数对该模型进行求解- 11 -2.3.3求解结果- 11 -1.多维有约束优化1.1 题目对一对单级圆柱齿轮减速器,以体积最小为目的进行多维有约束优化设计。1.2 已知条件已知数输入功p=58kw,输入转速n1=1000r/min,齿数比u=5,齿轮的许用应力H=550Mpa,许用弯曲应力F=400Mpa。1.3 建立优化模型1.3.1问题分析及设计变量的拟定由已知条件得求在满足零件刚度和强度条件下,使减速器体积最小的各项设计参数。由于齿轮和轴的尺寸(即壳体内的零件)是决定减速器体积的依据,故可
3、按它们的体积之和最小的原则建立目的函数。单机圆柱齿轮减速器的齿轮和轴的体积可近似的表达为:式中符号意义由结构图给出,其计算公式为 由上式知,齿数比给定之后,体积取决于b、z1 、m、l、dz1 和dz2 六个参数,则设计变量可取为 1.3.2目的函数的拟定根据以上分析,可知,该齿轮减速器以体积最小的目的函数为:1.3.3 约束条件的建立(1)为避免发生根切,应有,得(2)齿宽应满足,和为齿宽系数的最大值和最小值,一般取=0.9,=1.4,得:(3)动力传递的齿轮模数应大于2mm,得(4)为了限制大齿轮的直径不至过大,小齿轮的直径不能大于,得(5)齿轮轴直径的范围:得(6)轴的支撑距离按结构关系
4、,应满足条件:(可取=20),得(7)齿轮的接触应力和弯曲应力应不大于许用值,得(8)齿轮轴的最大挠度不大于许用值,得(9)齿轮轴的弯曲应力不大于许用值,得1.4 优化方法的选择 由于该问题有6个设计变量,16个约束条件的优化设计问题,采用传统的优化设计方法比较繁琐,比较复杂,所以选用Matlab优化工具箱中的fmincon函数来求解此非线性优化问题,避免了较为繁重的计算过程。1.5 数学模型的求解1.5.1 拟定数学优化模型将已知及数据代入上式,该优化设计的数学优化模型表达为:(1)求变量:(2)目的函数:(3)约束条件: 1.5.2运用Matlab优化工具箱对数学模型求解(1)一方面在Ma
5、tlab优化工具箱中编写目的函数的M文献 myfun.m,返回x处的函数值f:function f = myfun(x)f=0.785398*(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)(2)由于约束条件中有非线性约束,故需要编写一个描述非线性约束条件的M文献mycon.m:functionc,ceq=myob
6、j(x)c=17-x(2);0.9-x(1)/(x(2)*x(3);x(1)/(x(2)*x(3)-1.4;2-x(3);x(2)*x(3)-300;100-x(5);x(5)-150;130-x(6);x(6)-200;x(1)+0.5*x(6)-x(4)-40;1486250/(x(2)*x(3)*sqrt(x(1)-550; 7098/(x(1)*x(2)*x(3)2*(0.169+0.006666*x(2)-0.0000854*x(2)2)-400;7098/(x(1)*x(2)*x(3)2*(0.2824+0.00177*x(2)-0.0000394*x(2)2)-400;117.0
7、4*x(4)4/(x(2)*x(3)*x(5)4)-0.003*x(4);(1/(x(5)3)*sqrt(2850000*x(4)/(x(2)*x(3)2+2.4*1012)-5.5;(1/(x(6)3)*sqrt(2850000*x(4)/(x(2)*x(3)2+6*1013)-5.5;ceq=;(3)最后求解,调用目的函数和约束条件,用matlab软件中工具箱里的fmincon函数,求解有约束的优化,在command window里输入:x0=230;21;8;420;120;160;%给定初始值x,fval,exitflag,output=fmincon(myfun,x0,myobj,o
8、utput) %调用优化过程1. 5.3最优解以及结果分析运营结果如下图所示:x = 123.3565 99.8518 1.7561 147.3757 150.4904 129.5096fval = 2.3168e+007exitflag = -2output = iterations: 43 funcCount: 563 lssteplength: 1 stepsize: 2.0356e-006 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 1.9956e+007 constrviolation:
9、 213.1511 message: 1x750 char故优化后的最终结果为x=123.3565 99.8517 1.7561 147.3157 150.4904 129.5096f(x)=2.36e*107由于齿轮模数应为标准值,齿数必须为整数,其它参数也要进行圆整,所以最优解不能直接采用,按设计规范,经标准化和圆整后:x=124 100 2 148 150 130 f(x)=6.16 *107结果对比分析:若按初始值减速器的体积V大约为6.32107mm3,而优化后的体积V则为6.16107mm3,优化结果比初始值体积减少为:V1(6.16107/6.32107)100%2.5%所以优化
10、后的体积比未优化前减少了2.5%,说明优化结果相对比较成功。2.多维无约束优化 在机械设计问题中,难以避免生产,加工,装配,经济性等问题,故少有无约束优化设计问题。在本次实验中,针对一个管道流量问题的二维函数,设计了一个非线性无约束优化设计问题,并加以求解。2.1 题目已知梯形截面管道的参数:底边长c,高度h,斜边与底边的夹角,横截面积A=64516mm2,如图1所示。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大的条件,拟定管道的参数。图1 梯形截面管道参数2.2 拟定优化设计模型(1)管道截面周长:(2)管道截面面积:由此可得底边长度的关系式:(与h和有关)将c代
11、入管道横截面周长的计算式中,得到管道截面周长关系式:因此,取与管道界面周长有关的独立参数h和作为设计变量,有:为使液体流速最大,取管道截面周长最小作为目的函数,即:Min 故该函数的数学模型:(1)变量:(2)目的函数:Min 2.3运用Matlab优化工具箱对数学模型求解2.3.1 编写目的函数一方面在Matlab优化工具箱中编写目的函数的M文献 sc_wysyh.m,返回x处的函数值f:% 1-二维无约束优化目的函数文献(sc_wysyh.m)function f=sc_wysyh(x)a=64516;hd=pi/180;f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/
12、sin(x(2)*hd);2.3.2 绘制该函数的平面和空间等值线% 2-绘制水槽截面周长等高线和曲面图的程序% 按(初值,终值,等分数)产生等间隔向量xx1,xx2xx1=linspace(100,300,25);xx2=linspace(30,120,25);% 产生两个5x10的网格矩阵x1,x2x1,x2=meshgrid(xx1,xx2);% 定义目的函数a=64516;hd=pi/180;f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd);% 将整个图形窗口分隔成2个子窗口,取左边窗口figure(1);% 绘制等值线并标注函数值h=contour(x1
13、,x2,f);clabel(h);% 定义左边窗口坐标轴刻度范围axis(100 300 30 120)% 标注左边窗口和坐标轴xlabel(高度 h (mm)ylabel(倾斜角 theta (度)title(目的函数(截面周长)等值线)% 将整个图形窗口分隔成2个子窗口,取右边窗口figure(2);% 绘制曲面图surfc(x1,x2,f);% 定义右边窗口坐标轴刻度范围aaxis(100 300 30 120 600 1200)% 标注右边窗口xlabel(高度 bf h (mm);ylabel(斜边夹角 bf theta(度);zlabel(目的函数值bf f (mm);title(
14、目的函数(截面周长)曲面图)运营结果,目的函数的曲面如图2,目的函数等值曲线如图3。图2 截面周长曲面图图3 截面周长等值线2.3.3运用matlab工具箱fminunc函数对该模型进行求解% 初始点x0=25;45;% 调用梯度法搜索x,Fmin,exitflag,output=fminunc(sc_wysyh,x0);disp * 输出最优解 *fprintf (1, 截面高度h x(1)* = %3.4f mm n,x(1)fprintf (1, 斜边夹角theta x(2)* = %3.4f 度 n,x(2)fprintf (1, 截面周长s f* = %3.4f mm n,Fmin)
15、2.3.3求解结果运营上述程序,可以解得如下参数:exitflag = 1output = iterations: 18 funcCount: 60 stepsize: 1 firstorderopt: 6.2179e-005 algorithm: medium-scale: Quasi-Newton line search message: 1x85 char * 输出最优解 * 截面高度h x(1)* = 192.9958 mm 斜边夹角theta x(2)* = 60.0005 度 截面周长s f* = 668.5656 mm最终圆整高度h = 193 mm,斜边夹角=60。求解周长s= 668.5656mm,偏差几乎可以忽略。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100