您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第五章 约束优化(2)
5约束非线性规划问题1.数学模型形式:minf(X)s.t.AX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤0(非线性不等式约束条件)Ceq(X)=0(非线性等式约束)Lb≤X≤Ub(边界约束条件)约束条件2.使用格式:[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替控制参数options序号功能默认值及其含义说明1输出形式0,无中间结果输出Options(1)=1,按照表格输出结果Options(1)=-1,隐藏警告信息2解x的精度1e-4Options(2)设置x解的终止条件3函数f的精度1e-4Options(3)设置函数f的终止条件4约束g的精度1e-6Options(4)设置约束g的终止条件5选择主要算法0Options(5)选择主要优化算法6搜索方向算法0fmin()函数为无约束优化搜索方向提供3种算法:Options(6)=0,拟牛顿法BFGS公式Options(6)=1,拟牛顿法DFP公式Options(6)=2,梯度法7步长一维搜索0fmin()函数为无约束优化的步长一维搜索提供2种算法:Options(7)=0,二次和三次混合插值法Options(7)=1,三次多项式插值法控制参数options序号功能默认值及其含义说明8函数值输出Options(8)输出最终迭代函数值9梯度检验0,不检验Options(9)比较梯度10函数计算次数Options(10)输出函数计算次数11梯度计算次数Options(11)输出函数梯度计算次数12约束计算次数Options(12)输出约束计算次数13等式约束个数0,等式约束为0Options(13)输入等式约束个数14最大迭代次数100n(n为变量维数)Options(14)输入最大迭代次数15目标个数0Options(15)输入目标个数16差分步长最小值1e-8Options(16)步长的下限或变量的最小梯度值17差分步长最大值0.1Options(17)步长的上限或变量的最大梯度值18步长Options(18)步长参数,第1次迭代时置12.例题(1):求解二维约束优化问题解:(1)编制求解优化问题的M文件。%建立M-函数文件myfun.m定义目标函数functionf=myfun(x)f=-x(1)*x(2)*x(3);%然后设置求解的初始点[10;10;10],调用fmincon函数进行求解x0=[10;10;10];A=[-1-2-2;122];b=[0;72];[optx,optf]=fmincon(@myfun,x0,A,b)函数fmincon[fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)321-)(xxxXfmin722202-2--321321xxxxxxs.t.2.例题(2):求解二维约束优化问题解:(1)首先建立M文件定义目标函数functionf=objfun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);(2)建立描述约束条件的M函数confun.m定义该问题的非线性;function[c,ceq]=confun(x)c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];%非线性不等式约束ceq=[];%非线性等式约束(3)编制求解优化问题的M文件。x0=[-1,1];%设置求解过程中的初始点x0[optx,optf]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun)%调用fmincon函数进行求解函数fmincon[fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…))12424(e)(22122211xxxxxXfxmin-10023--212121xxxxxxs.t.2.例题(2):求解二维约束优化问题解:(1)首先建立M文件定义目标函数functionf=objfun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);(2)建立描述约束条件的M函数confun.m定义该问题的非线性;function[c,ceq]=confun(x)c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];%非线性不等式约束ceq=[];%非线性等式约束(3)编制求解优化问题的M文件。x0=[-1,1];%设置求解过程中的初始点x0lb=[0,0];%设置下边界ub=[];%无上边界[optx,optf]=fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun)%调用fmincon函数进行求解函数fmincon[fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…))12424(e)(22122211xxxxxXfxmin0-10023--21212121xxxxxxxx,s.t.)12424(e)(22122211xxxxxXfxmin-1001-212221xxxxs.t.单级直齿圆柱齿轮减速器的优化设计在传统的设计方法中,按照相应的减速器设计规范进行减速器的设计,对齿根弯曲强度、齿面接触强度进行校核,用各种系数修正材料强度和齿轮的载荷,并考虑齿轮精度的影响等因素;在这些步骤中,每一步都考虑安全系数,造成设计中的减速器往往体积过大,材料消耗增加等,导致成本偏高。为解决这一问题,减速器的优化设计势在必行。结合matlab优化软件,对单级直齿圆柱齿轮减速箱进行参数上的优化,为原始设计参数的改进提供一定的修改依据。单级直齿圆柱齿轮减速器的优化设计12示例13单级直齿圆柱齿轮减速器的优化设计14(避免根切,其齿数不应小于17,限定17≤x2≤35)(传递动力,模数一般应大于1.5mm-2mm,限定2≤x1≤10)(一定的载荷下,增大齿宽系数可减小齿轮直径和传动中心距,降低圆周速度;同时齿宽系数越大,载荷分布越不均匀,限定0.8≤x3≤1.4)15mins.t.1718例某二级斜齿圆柱齿轮减速器,高速级输入功率P1=6.2kW,转速n1=1450r/min;总传动比i=31.5,齿轮宽度系数ψa=0.4,齿轮材料和热处理:大齿轮45号钢正火187~207HB,小齿轮45号钢调质228~255HB,工作寿命10年以上。要求按照总中心距a∑最小来确定齿轮传动方案。解:(1)建立优化设计的数学模型①设计变量:将涉及总中心距a∑齿轮传动方案的6个独立参数作为设计变量X=[mn1,mn2,z1,z3,i1,β]T=[x1,x2,x3,x4,x5,x6]T②目标函数:减速器总中心距a∑最小为目标函数61542531xcos2)x5.311(xx)x1(xx)X(fmin二、例题③约束条件:含性能约束和边界约束0xxx10079.3xcos)X(g35333166310xx10071.1xcosx)X(g34324632520xxx110939.9xcos)X(g233155623)(0xxx5.3110076.1xcosx)X(g24325462254)(0x5.31xx]xxxxcos)50x(2[x)X(g5425316155)(0x2)X(g160x5.3)X(g2805x)X(g1706x)X(g290x14)X(g310022x)X(g3110x16)X(g412022x)X(g4130x8.5)X(g51407x)X(g1150x8)X(g616015x)X(g617高速级齿轮接触强度条件低速级齿轮接触强度条件高速级大齿轮弯曲强度条件低速级大齿轮弯曲强度条件大齿轮与轴不干涉低速级齿轮副模数的下限和上限高速级小齿轮齿数的下限和上限高速级小齿轮齿数的下限和上限低速级小齿轮齿数的下限和上限高速级传动比的下限和上限齿轮副螺旋角的下限和上限性能约束边界约束X=[mn1,mn2,z1,z3,i1,β]T=[x1,x2,x3,x4,x5,x6]T模数二、例题(2)编制优化设计的M文件[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%两级斜齿轮减速器总中心距目标函数functionf=jsqyh_f(x);hd=pi/180;a1=x(1)*x(3)*(1+x(5));a2=x(2)*x(4)*(1+31.5/x(5));cb=2*cos(x(6)*hd);f=(a1+a2)/cb;%两级斜齿轮减速器优化设计的非线性不等式约束函数function[g,ceq]=jsqyh_g(x);hd=pi/180;g(1)=cos(x(6)*hd)^3-3.079e-6*x(1)^3*x(3)^3*x(5);g(2)=x(5)^2*cos(x(6)*hd)^3-1.701e-4*x(2)^3*x(4)^3;g(3)=cos(x(6)*hd)^2-9.939e-5*(1+x(5))*x(1)^3*x(3)^2;g(4)=x(5)^2.*cos(x(6)*hd)^2-1.076e-4*(31.5+x(5))*x(2)^3*x(4)^2;g(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(2)*x(3))-x(2)*x(4)*(31.5+x(5));ceq=[];[]文件名为:Jsqyh_g.m文件名为:Jsqyh_f.m二、例题(2)编制优化设计的M文件[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)x0=[2;4;18;20;6.4;10];%设计变量的初始值lb=[2;3.5;14;16;5.8;8];%设计变量的下限ub=[5;6;22;22;7;15];%设计变量的上限[x,fn]=fmincon(@jsqyh_f,x0,[],[],[],[],lb,ub,@jsqyh_g);disp'************两级斜齿轮传动中心距优化设计最优解*************'fprintf(1,'高速级齿轮副模数Mn1=%3.4fmm\n',x(1))fprintf(1,'低速级齿轮副模数Mn2=%3.4fmm\n',x(2))fprintf(1,'高速级小齿轮齿数z1=%3.4fmm\n',x(3))fprintf(1,'低速级小齿轮齿数z2=%3.4fmm\n',x(4))fprintf(1,'高速级齿轮副传动比i1=%3.4fmm\n',x(5))fprintf(1,'齿轮副螺旋角beta=%3.4fmm\n',x(6))fprintf(1,'减速器总中心距a12=%3.4fmm\n',fn)g=jsqyh_g(x);disp'==========最优点的性能约束函数值=========='fprintf(1,'高速级齿轮副接触疲劳强度约
本文标题:第五章 约束优化(2)
链接地址:https://www.777doc.com/doc-3859987 .html