
matlab优化工具箱使用方法.ppt
73页1,§,最小化问题,一、 单变量最小化,,1.,相关函数介绍,(,1,),fminbnd,,2,功能,:,找到固定区间内单变量函数的最小值语法和描述,:,,fminbnd,求取固定区间内单变量函数的最小值x = fminbnd(fun,x1,x2),返回区间,{x1,,,x2},上,fun,参数描述的标量函数的最小值,x,x = fminbnd(fun,x1,x2,options),用,options,参数指定的优化参数进行最小化fminbnd,3,x = fminbnd(fun,x1,x2,options,P1,P2,...),提供另外的参数,P1,P2,等,,,传输给目标函数,fun,如果没有设置,options,选项,则令,options=[],[x,fval] = fminbnd(...),返回解,x,处目标函数的值[x,fval,exitflag] = fminbnd(...),返回,exitflag,值描述,fminbnd,函数的退出条件[x,fval,exitflag,output] = fminbnd(...),返回包含优化信息的结构输出4,参数描述表,参 数,描 述,fun,需要最小化的目标函数。
fun,函数需要输入标量参数,x,,返回,x,处的目标函数标量值,f,可以将,fun,函数指定为命令行,如,,,x = fminbnd(inline('sin(x*x)'),x0),,同样,,fun,参数可以是一个包含函数名的字符串对应的函数可以是,M,文件、内部函数或,MEX,文件若,fun='myfun',,则,M,文件函数,myfun.m,必须右下面的形式function f = myfun(x),,f = ... %,计算,x,处的函数值5,options,优化参数选项你可以用,optimset,函数设置或改变这些参数的值options,参数有以下几个选项:,,●,Display,–,,显示的水平选择,'off',,不显示输出;选择,'iter',,显示每一步迭代过程的输出;选择,'final',,显示最终结果●,MaxFunEvals,–,,函数评价的最大允许次数l,,MaxIter,–,,最大允许迭代次数l,,TolX,–,x,处的终止容限6,exitflag,描述退出条件,:,,l,,,>0,表示目标函数收敛于解,x,处l,,,0,表示已经达到函数评价或迭代的最大次数。
l,,,<0,表示目标函数不收敛output,该参数包含下列优化信息:,,l,,,output.iterations,–,,迭代次数l,,,output.algorithm,–,,所采用的算法l,,,output.funcCount,–,,函数评价次数7,算法,:,,fminbnd,是一个,M,文件其算法基于黄金分割法和二次插值法局限性,:,,,1,.目标函数必须是连续的2,.,fminbnd,函数可能只给出局部最优解3,.当问题的解位于区间边界上时,,fminbnd,函数的收敛速度常常很慢此时,,fmincon,函数的计算速度更快,计算精度更高4,.,fminbnd,函数只用于实数变量8,应用实例,,[,例,1],,在区间(,0,,,2π,)上求函数,sin(x),的最小值:,>> x = fminbnd(@sin,0,2*pi),,,x =4.7124,9,[,例,2],.,对边长为,3m,的正方形铁板,在四个角处剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?,,,模型建立:假设剪去的正方形的边长为,x,,则水槽的容积为,现在要求在区间(,0,,,1.5,)上确定一个,x,,使 最大化。
因为优化工具箱中要求目标函数最小化,所以需要对目标函数进行转换,即要求 最小化10,首先编写,M,文件,,opt21_3o.m:,,function f = myfun(x),,f = -(3-2*x).^2 * x;,,然后调用,fminbnd,函数,(,磁盘中,M,文件名为,opt21_3.m),:,,x = fminbnd(@opt21_3o,0,1.5),11,无约束非线性规划问题,相关函数,fminunc,函数,fminsearch,函数,,,12,fminunc,函数,,功能,:,,给定初值,求多变量标量函数的最小值常用于无约束非线性最优化问题数学模型,:,,,,,,其中,,x,为一向量,,f,(,x,),为一函数,返回标量13,语法格式及描述,,x = fminunc(fun,x0),给定初值,x0,,求,fun,函数的局部极小点,x,x0,可以是标量、向量或矩阵x = fminunc(fun,x0,options),用,options,参数中指定的优化参数进行最小化x = fminunc(fun,x0,options,P1,P2,...),将问题参数,p1,、,p2,等直接输给目标函数,fun,,将,options,参数设置为空矩阵,作为,options,参数的缺省值。
14,[x,fval] = fminunc(...),将解,x,处目标函数的值返回到,fval,参数中[x,fval,exitflag] = fminunc(...),返回,exitflag,值,描述函数的输出条件[x,fval,exitflag,output] = fminunc(...),返回包含优化信息的结构输出[x,fval,exitflag,output,grad] = fminunc(...),将解,x,处,fun,函数的梯度值返回到,grad,参数中[x,fval,exitflag,output,grad,hessian] = fminunc(...),将解,x,处目标函数的,Hessian,矩阵信息返回到,hessian,参数中15,参数描述表,变 量,描 述,fun,为目标函数需要最小化的目标函数fun,函数需要输入标量参数,x,,返回,x,处的目标函数标量值,f,若,fun='myfun',,则,M,文件函数,myfun.m,必须有下面的形式:,,,function f = myfun(x),,f = ... %,计算,x,处的函数值。
16,options,优化参数选项可以通过,optimset,函数设置或改变这些参数其中有的参数适用于所有的优化算法,有的则只适用于大型优化问题,另外一些则只适用于中型问题首先描述适用于大型问题的选项这仅仅是一个参考,因为使用大型问题算法有一些条件对于,fminunc,函数来说,必须提供梯度信息l,,LargeScale,–,,当设为,'on',时使用大型算法,若设为,'off',则使用中型问题的算法17,适用于大型和中型算法的参数:,,l Diagnostics –,打印最小化函数的诊断信息l Display –,显示水平选择,'off',,不显示输出;选择,'iter',,显示每一步迭代过程的输出;选择,'final',,显示最终结果打印最小化函数的诊断信息l GradObj –,用户定义的目标函数的梯度对于大型问题此参数是必选的,对于中型问题则是可选项l MaxFunEvals –,函数评价的最大次数l MaxIter –,最大允许迭代次数l TolFun –,函数值的终止容限l TolX – x,处的终止容限18,只用于大型算法的参数:,,l Hessian –,用户定义的目标函数的,Hessian,矩阵。
l HessPattern –,用于有限差分的,Hessian,矩阵的稀疏形式若不方便求,fun,函数的稀疏,Hessian,矩阵,H,,可以通过用梯度的有限差分获得的,H,的稀疏结构(如非零值的位置等)来得到近似的,Hessian,矩阵,H,若连矩阵的稀疏结构都不知道,则可以将,HessPattern,设为密集矩阵,在每一次迭代过程中,都将进行密集矩阵的有限差分近似(这是缺省设置)这将非常麻烦,所以花一些力气得到,Hessian,矩阵的稀疏结构还是值得的19,l MaxPCGIter – PCG,迭代的最大次数l PrecondBandWidth – PCG,前处理的上带宽,缺省时为零对于有些问题,增加带宽可以减少迭代次数l TolPCG – PCG,迭代的终止容限l TypicalX –,典型,x,值只用于中型算法的参数:,,l DerivativeCheck –,对用户提供的导数和有限差分求出的导数进行对比l DiffMaxChange –,变量有限差分梯度的最大变化l DiffMinChange -,变量有限差分梯度的最小变化l LineSearchType –,一维搜索算法的选择。
20,exitflag,描述退出条件,:,,l,,>0,表示目标函数收敛于解,x,处l,,0,表示已经达到函数评价或迭代的最大次数l,,<0,表示目标函数不收敛21,output,该参数包含下列优化信息:,,l,,output.iterations,–,,迭代次数l,,output.algorithm,–,,所采用的算法l,,output.funcCount,–,,函数评价次数l,,output.cgiterations,–,PCG,迭代次数(只适用于大型规划问题)l,,output.stepsize,–,,最终步长的大小(只用于中型问题)l,,output.firstorderopt,–,,一阶优化的度量:解,x,处梯度的范数22,习题,4-6,%,目标函数,m,文件,保存为,xiti4j6.m,,function f=myfun(x);,,f=10*x(1)^2+x(2)^2-20*x(1)-4*x(2)+24;,%,求解,m,文件,,options=optimset('display','on','maxiter',10e5,'tolfun',10e-5,'tolx',0.01);,,x0=[2,-1];,,[x,fval,exigflag,hessian]=fminunc(@xiti4j6,x0,options),23,,x =,,1.0000 2.0007,,fval =,,10.0000,,exigflag =,,1,,hessian =,,iterations: 6,,funcCount: 21,,stepsize: 1,,firstorderopt: 0.0013,,algorithm: 'medium-scale: Quasi-Newton line search',,,24,例:,初始点,[1,,,1],程序:编辑,ff2.m,文件:,,function f=ff(x),,f=8*x(1)-4*x(2)+x(1)^2+3*x(2)^2;,,编辑,command.m,文件,,x0=[1,1];%,取初始点:,,[x,fval,exitflag]=fminunc(@ff,x0),,25,Optimization terminated successfully:,,Search direction less than 2*options.TolX,,,x =,,,-4.0000 0.6667,,,,fval =,,,-17.3333,,,,exitflag =,,,1,,26,注意,,,1,.对于求解平方和的问题,,fminunc,函数不是最好的选择,用,lsqnonlin,函数效果更佳。
2,.使用大型方法时,必须通过将,options.GradObj,设置为,'on',来提供梯度信息,否则将给出警告信息27,局限性,,1,. 目标函数必须是连续的fminunc,函数有时会给出局部最优解2,.,fminunc,函数只对实数进行优化,即,x,必须为实数,而且,f(x),必须返回实数当,x,为复数时,必须将它分解为实部和虚部28,fminsearch,函数,功能,:,求解多变量无约束函数的最小值该函数常用于无约束非线性最优化问题x = fminsearch(fun,x0),初值为,x0,,求,fun,函数的局部极小点,x,x0,可以是标量、向量或矩阵x = fminsearch(fun,x0,options),用,options,参数指定的优化参数进行最小化x = fminsearch(fun,x0,options,P1,P2,...),将问题参数,p1,、,p2,等直接输给目标函数,fun,,将,options,参数设置为空矩阵,作为,options,参数的缺省值语法格式及描述:,29,[x,fval] = fminsearch(...),将,x,处的目标函数值返回到,fval,参数中。
[x,fval,exitflag] = fminsearch(...),返回,exitflag,值,描述函数的退出条件[x,fval,exitflag,output] = fminsearch(...),返回包含优化信息的输出参数,output,参数,:,,各参数的意义同,fminunc,30,,fminunc,与,fminsearch,,对于求解二次以上的问题,,fminsearch,比,fminunc,更有效,而且当问题为高度非线性时,前者更有效fminsearch,不适合求解平方和的问题,用,lsqnolin,更好31,三、约束最小化,相关函数介绍,fmincon,函数,32,功能,:,求多变量有约束非线性函数的最小值fmincon,函数,数学模型,:,,其中,,x,,,b,,,beq,,,lb,,,和,ub,为向量,,A,,和,Aeq,,为矩阵,,c,(,x,),,和,ceq,(,x,),为函数,返回标量f,(,x,),,,c,(,x,),,,和,ceq,(,x,),可以是非线性函数非线性不等式约束,,非线性等式约束,线性不等式约束,,线性等式约束,,设计变量的上下界,33,语法格式及描述:,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,的下界,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,当无边界存在时,令,lb=[],和(或),ub=[],34,x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options),用,optiions,参数指定的参数进行最小化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,处的目标函数值[x,fval,exitflag] = fmincon(...),返回,exitflag,参数,描述函数计算的退出条件35,[x,fval,exitflag,output] = fmincon(...),返回包含优化信息的输出参数,output,[x,fval,exitflag,output,lambda] = fmincon(...),返回解,x,处包含拉格朗日乘子的,lambda,参数[x,fval,exitflag,output,lambda,grad] = fmincon(...),返回解,x,处,fun,函数的梯度[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...),返回解,x,处,fun,函数的,Hessian,矩阵36,注意:,,,[1] fmincon,函数提供了大型优化算法和中型优化算法默认时,若在,fun,函数中提供了梯度(,options,参数的,GradObj,设置为,’,on,’,),并且只有上下界存在或只有等式约束,,fmincon,函数将选择大型算法。
当既有等式约束又有梯度约束时,使用中型算法[2] fmincon,函数的中型算法使用的是序列二次规划法在每一步迭代中求解二次规划子问题,并用,BFGS,法更新拉格朗日,Hessian,矩阵[3] fmincon,函数可能会给出局部最优解,这与初值,X,0,的选取有关37,,,1,、,写成标准形式,:,,,,,,,,,,,s.t.,,,,,,2x,1,+3x,2,6,,s.t x,1,+4x,2,5,,x,1,,x,2,0,例,1,38,,2,、,先建立,M-,文件,fun3.m:,,,function f=fun3(x);,,f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2,3,、再建立主程序,youh2.m,:,,,x0=[1;1];,,A=[2 3 ;1 4]; b=[6;5];,,Aeq=[];beq=[];,,VLB=[0;0]; VUB=[];,,[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB),4,、,运算结果为:,,,x = 0.7647 1.0588,,fval = -2.0294,39,,1,.,先建立,M,文件,fun4.m,,定义目标函数,:,,,function f=fun4(x);,,f=exp(x(1)) *(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1),,x,1,+x,2,=0,,s.t. 1.5+x,1,x,2,- x,1,- x,2,0,,-x,1,x,2,–10,,0,,例,2,2,.再建立,M,文件,mycon.m,定义非线性约束:,,,function [c,ceq]=mycon(x),,c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];,,ceq=[];,40,,3,.主程序为,:,,x0=[-1;1];,,A=[];b=[];,,Aeq=[1 1];beq=[0];,,vlb=[];vub=[];,,[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon'),3.,运算结果为,:,,,,x = -1.2250 1.2250,,fval = 1.8951,,41,,例,3,,,,,,,1,.先建立,M-,文件,fun.m,定义目标函数,:,,function f=fun(x);,,f=-2*x(1)-x(2),,2,.再建立,M,文件,mycon2.m,定义非线性约束:,,,function [c,ceq]=mycon2(x),,c=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];,,ceq=[];%,没有非线性等式约束,要设置,ceq,为空矩阵。
42,3.,主程序,fxx.m,为,:,,x0=[3;2.5];,,VLB=[0 0];VUB=[5 10];,,[x,fval,exitflag,output],,=fmincon('fun',x0,[],[],[],[],VLB,VUB,'mycon2'),,43,4.,运算结果为,:,,x =,,4.0000,,3.0000,,fval =-11.0000,,exitflag = 1,,output =,,iterations: 4,,funcCount: 17,,stepsize: 1,,algorithm: [1x44 char],,firstorderopt: [],,cgiterations: [],,44,例,4,matlab,,工程优化实例,盖板问题,1.,设有一箱形盖板,,,已知长度,,宽度,,厚度,翼板厚度为,,它承受最大的单位载荷,,,要求在满足强度,﹑,刚度和稳定性等条件下,,,设计一个重量最轻的结构方案设盖板为铝合金制成,弹性模量,E=7x10,4,MPa,,泊松比,μ,=0.3,,许用弯曲应力,[,σ,]=70MPa,,许用剪切应力,[τ]=,45MPa,。
45,,,,,一、问题分析,即确定,t,f,和,h,截面惯性矩,最大剪应力,46,最大弯曲应力,翼板中的屈曲临界稳定应力,最大挠度,盖板单位长度的质量,为材料密度,二、数学模型,设计变量:,目标函数:,单位长度允许挠度,47,约束条件:,,按照强度,刚度和稳定性要求建立如下的约束条件48,三、,matlab,求解,function f=myfun(x);,,f=120*x(1)+x(2),目标函数,myfun.m,非线性不等式约束,myfuncon.m,function [c,ceq]=mycon2(x),,c=[1-0.25*x(2);,,1-7/45*x(1)*x(2);,,1-7/45*x(1)^3*x(2);,,1-1/320*x(1)*x(2)^2];,,ceq=[];,注意,matlab,里不等式约束为,<0,49,主函数,myfun_opt.m,options=optimset(‘MaxFunEvals’,5000); %,设置函数评价的最大次数,5000,,x0=[0,0]; %,初始值,,VLB=[0;0]; VUB=[];,,[x,fval,exitflag,output]=fmincon('myfun',x0,[],[],[],[],VLB,VUB,'myfuncon',options),50,x = 0.6332 25.3264,,fval = 101.3056,,exitflag = 1,,output =,,iterations: 66 %,迭代次数,66,,funcCount: 514 %,函数评价次数,514,,stepsize: 1 %,最终步长,1,,algorithm: 'medium-scale: SQP, Quasi-Newton, line-search‘,,%,中型算法,,,firstorderopt: 1.0050e-005 %,解,x,处梯度的范数,,,,cgiterations: [] % PCG,迭代次数(只适用于大型规划问题)。
优化结果,51,52,x =0.6667 1.3333 fval = -8.2222 exitflag =1,53,x =[0 0 1.0000 -0.0000],,fval = 0.0800,,exitflag =1,54,%,目标函数,Minf(x)=f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1),,%,不等式约束条件,:-x(1)*x(2)<=10,,%,等式约束条件,: x(1)^2+x(2)=1,,clear %,清工作空间,,clc %,清屏,,x0=[-1,1]; %,初值,,f='exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)'; %,目标函数,,options=optimset('LargeScale','off','display','iter'); %,不使用大模式优化方法,,[x,fval,exitflag,output]=fmincon(f,x0,[],[],[],[],[],[],'myfun_con4',options),,%,设计变量无线性不等式约束,,,即,A=[],b=[],设计变量无线性等式约束,,,即,Aeq=[],beq=[],,%,设计变量无上下限约束,,,即,lb=[],ub=[],function [c,ceq]=myfun_con4(x),,c=[-x(1)*x(2)-10]; %,不等式约束 或写成,:c=-x(1)*x(2)-10;,,ceq=[x(1)^2+x(2)-1];%,等式约束 或写成,:ceq=x(1)^2+x(2)-1,,% ceq=x(1)^2+x(2)-1,x =[ -0.7529 0.4332] fval =1.5093 exitflag =1,55,56,57,58,59,60,61,x = -0.7529 0.4332,,fval =1.5093,,exitflag =1,,output =,,iterations: 7,,funcCount: 24,,stepsize: 1,,algorithm: 'medium-scale: SQP, Quasi-Newton, line-search',,firstorderopt: 8.1712e-009,,cgiterations: [],,message: [1x143 char],62,x =5.0000,,fval =3,,exitflag =4,63,目标函数,Maxf(x)=f=m1*x(1)+m2*x(2)^2+m3*x(3),,%,约束条件,:,,% a1*x(1)+a2*x(2)+a3*x(3)<=a,,% b1*x(1)+b2*x(2)+b3*x(3)<=b,,% c1*x(2)^2+c2*x(3)^2>=c,,%,上下限约束条件,x(1)>=0 x(2)>=0 x(3)>=0,,% m1=10;m2=4.4;m3=2;,,% a1=1;a2=4;a3=5;a=32,,% b1=1;b2=3;b3=2;b=29,,% c1=1;c2=0.5;c=3;,64,clear %,清工作空间,,clc %,清屏,,m1=10;m2=4.4;m3=2;,,a1=1;a2=4;a3=5;a=32;,,b1=1;b2=3;b3=2;b=29;,,c1=1;c2=0.5;c=3;,,A=[a1,a2,a3;b1,b2,b3]; b=[a;b];,,x0=[1;1;1]; %,初值,,lb=[0,0,0];%,设计变量下限约束条件,,options=optimset('LargeScale','off','display','iter');,,[x,fval,exitflag,output]=fmincon(@(x)myfun9(x,m1,m2,m3),x0,,,A,b,[],[],lb,[],@(x)myfun_con9(x,c1,c2,c),options),,%,注意,:,含有带参数目标函数,,,不能,[x,fval,exitflag,output],,=fmincon('myfun9(x,m1,m2,m3)',x0,A,b,,,[],[],lb,[],'myfun_con9(x,c1,c2,c)',options),,%,设计变量无线性不等式约束,,,即,A=[],b=[],,%,设计变量无线性等式约束,,,即,Aeq=[],beq=[],,%,设计变量无上限约束,,ub=[],65,66,,目标函数,min f(x)=x(1)^2+x(2)^2,,%,约束条件,: x(1)^2+x(2)^2≤5,,% x(1)+2*x(2)=4,,% x(1)≥0, x(2)≥0,,%,目标函数,Min f(x)=f=m1*x(1)^2+m2*x(2)^2,,%,约束条件,: a1*x(1)^2+a2*x(2)^2<=a,,% b1*x(1)+b2*x(2)=b,,%,下限约束条件,x(1)>=0 x(2)>=0,,% m1=1;m2=1;,,% a1=1;a2=1;a=5,,% b1=1;b2=2;b=4,,% c1=1;c2=0.5;c=3;,67,clear %,清工作空间,,clc %,清屏,,m1=1;m2=1;a1=1;a2=1;a=5;b1=1;b2=2;b=4;c1=1;c2=0.5;c=3;,,Aeq=[b1,b2];%,设计变量线性等式约束,,beq=[b]; %,设计变量线性等式约束,,x0=[1;1]; %,设计变量初值,,lb=[0,0]; %,设计变量下限约束条件,,options=optimset('LargeScale','off','display','iter');,,[x,fval,exitflag,output]=fmincon(@(x)myfun10(x,m1,m2),x0,,,[],[],Aeq,beq,lb,[],@(x)myfun_con10(x,a1,a2,a),options),,%,注意,:,含有带参数目标函数,,,,不能,[x,fval,exitflag,output]=fmincon('myfun10(x,m1,m2)',x0,,,[],[],Aeq,beq,lb,[],'myfun_con10(x,a1,a2,a)',options),,%,设计变量无线性不等式约束,,,即,A=[],b=[],,%,设计变量无上限约束,,ub=[],68,x =[0.8000,1.6000],,fval =3.2000,,exitflag =1,69,机床主轴结构优化设计,,机床主轴是机床中重要零件之一,一般为多支承空心阶梯轴。
为了便于使用材料力学公式进行结构分析,常将阶梯轴简化成以当量直径表示的等截面轴下图所示的为一根简化的机床主轴要求以主轴的自重为目标,对该主轴进行优化设计机械优化设计大作业,70,,已知条件:主轴材料为,45,#,,内径,d=30mm,,外力,F=15000N,,许用挠度,y,0,=0.05mm,,,材料的弹性模量,E=210GPa,,许用应力,[,σ,]=180MPa,300≤,,l,≤650,,,60≤,D,≤110,,,90≤,a,≤150,d,D,E-E,,,,A,B,C,F,l,a,E,E,71,,作业要求:,,(,1,)对该问题进行分析,写出该问题的物理模型;,,(,2,)将物理模型转化为优化模型(包括设计变量、目标函数、约束条件);,,(,3,)将优化模型转化为,matlab,程序(,m,文件);,,(,4,)利用,matlab,软件求解该优化问题,写出最优解,5,)用毕业论文纸作业,要求手写,写出问题和上述,4,个过程,条理清晰1.,问题分析,2.,优化模型,3.,matlab,程序,4.,最优解和结果分析,72,作业一、人字架结构优化设计,,受力分析图,圆杆截面图,桁杆示意图,,,,d,,由两根空心圆杆组成对称的两杆桁架,其顶点承受负载为,2p,,两支座之间的水平距离为,2L,,圆杆的壁厚为,B,,杆的比重为,ρ,,弹性模量为,E,,屈服强度为,σ,。
求在桁架不被破坏的情况下使桁架重量最轻的桁架高度,h,及圆杆平均直径,d,73,作业三、,圆形等截面销轴的优化设计的数学模型,,,已知:,轴的一端作用载荷,P=1000N,,扭矩,M=100N,·,m,;轴长不得小于,8cm,;材料的许用弯曲应力,[σ,w,]=120MPa,,许用扭剪应力,[τ]= 80MPa,,许用挠度,[f] = 0.01cm,;密度,[ρ] = 7.8t /m,,弹性模量,E=2×10,5,MPa,分析:,设计目标是轴的质量最轻,Q =1 /4 πd,2,lρ →min.,;,要求:,设计销轴,在满足上述条件的同时,轴的质量应为最轻设计限制条件有,5,个:,,弯曲强度:,σ,max,≤ [σ,w,],,,扭转强度:,τ≤ [τ],,,刚度:,f ≤ [f],,,结构尺寸:,l ≥ 8,,d ≥ 0,,设计参数中的未定变量:,d,、,l,。
