Matlab 机械优化设计.pptx

上传人:A**** 文档编号:15448439 上传时间:2023-07-04 格式:PPTX 页数:74 大小:2.14MB
下载 相关 举报
Matlab 机械优化设计.pptx_第1页
第1页 / 共74页
Matlab 机械优化设计.pptx_第2页
第2页 / 共74页
Matlab 机械优化设计.pptx_第3页
第3页 / 共74页
Matlab 机械优化设计.pptx_第4页
第4页 / 共74页
Matlab 机械优化设计.pptx_第5页
第5页 / 共74页
Matlab 机械优化设计.pptx_第6页
第6页 / 共74页
Matlab 机械优化设计.pptx_第7页
第7页 / 共74页
Matlab 机械优化设计.pptx_第8页
第8页 / 共74页
Matlab 机械优化设计.pptx_第9页
第9页 / 共74页
Matlab 机械优化设计.pptx_第10页
第10页 / 共74页
Matlab 机械优化设计.pptx_第11页
第11页 / 共74页
Matlab 机械优化设计.pptx_第12页
第12页 / 共74页
Matlab 机械优化设计.pptx_第13页
第13页 / 共74页
Matlab 机械优化设计.pptx_第14页
第14页 / 共74页
Matlab 机械优化设计.pptx_第15页
第15页 / 共74页
Matlab 机械优化设计.pptx_第16页
第16页 / 共74页
Matlab 机械优化设计.pptx_第17页
第17页 / 共74页
Matlab 机械优化设计.pptx_第18页
第18页 / 共74页
Matlab 机械优化设计.pptx_第19页
第19页 / 共74页
Matlab 机械优化设计.pptx_第20页
第20页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab 机械优化设计.pptx

《Matlab 机械优化设计.pptx》由会员分享,可在线阅读,更多相关《Matlab 机械优化设计.pptx(74页珍藏版)》请在冰点文库上搜索。

Matlab 机械优化设计.pptx

Matlab机械优化设计,中国石油大学课件,最小化问题,一、单变量最小化,1.相关函数介绍,

(1)fminbnd,功能:

找到固定区间内单变量函数的最小值。

语法和描述:

fminbnd求取固定区间内单变量函数的最小值。

x=fminbnd(fun,x1,x2)返回区间x1,x2上fun参数描述的标量函数的最小值x。

x=fminbnd(fun,x1,x2,options)用options参数指定的优化参数进行最小化。

fminbnd,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(.)返回包含优化信息的结构输出。

参数描述表,算法:

fminbnd是一个M文件。

其算法基于黄金分割法和二次插值法。

局限性:

1目标函数必须是连续的。

2fminbnd函数可能只给出局部最优解。

3当问题的解位于区间边界上时,fminbnd函数的收敛速度常常很慢。

此时,fmincon函数的计算速度更快,计算精度更高。

4fminbnd函数只用于实数变量。

应用实例,例1在区间(0,2)上求函数sin(x)的最小值:

x=fminbnd(sin,0,2*pi)x=4.7124,例2.对边长为3m的正方形铁板,在四个角处剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?

模型建立:

假设剪去的正方形的边长为x,则水槽的容积为,现在要求在区间(0,1.5)上确定一个x,使最大化。

因为优化工具箱中要求目标函数最小化,所以需要对目标函数进行转换,即要求最小化。

首先编写M文件opt21_3o.m:

functionf=myfun(x)f=-(3-2*x).2*x;然后调用fminbnd函数(磁盘中M文件名为opt21_3.m):

x=fminbnd(opt21_3o,0,1.5),无约束非线性规划问题,相关函数,fminunc函数,fminsearch函数,fminunc函数功能:

给定初值,求多变量标量函数的最小值。

常用于无约束非线性最优化问题。

数学模型:

其中,x为一向量,f(x)为一函数,返回标量。

语法格式及描述,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参数的缺省值。

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参数中。

参数描述表,适用于大型和中型算法的参数:

lDiagnostics打印最小化函数的诊断信息。

lDisplay显示水平。

选择off,不显示输出;选择iter,显示每一步迭代过程的输出;选择final,显示最终结果。

打印最小化函数的诊断信息。

lGradObj用户定义的目标函数的梯度。

对于大型问题此参数是必选的,对于中型问题则是可选项。

lMaxFunEvals函数评价的最大次数。

lMaxIter最大允许迭代次数。

lTolFun函数值的终止容限。

lTolXx处的终止容限。

只用于大型算法的参数:

lHessian用户定义的目标函数的Hessian矩阵。

lHessPattern用于有限差分的Hessian矩阵的稀疏形式。

若不方便求fun函数的稀疏Hessian矩阵H,可以通过用梯度的有限差分获得的H的稀疏结构(如非零值的位置等)来得到近似的Hessian矩阵H。

若连矩阵的稀疏结构都不知道,则可以将HessPattern设为密集矩阵,在每一次迭代过程中,都将进行密集矩阵的有限差分近似(这是缺省设置)。

这将非常麻烦,所以花一些力气得到Hessian矩阵的稀疏结构还是值得的。

lMaxPCGIterPCG迭代的最大次数。

lPrecondBandWidthPCG前处理的上带宽,缺省时为零。

对于有些问题,增加带宽可以减少迭代次数。

lTolPCGPCG迭代的终止容限。

lTypicalX典型x值。

只用于中型算法的参数:

lDerivativeCheck对用户提供的导数和有限差分求出的导数进行对比。

lDiffMaxChange变量有限差分梯度的最大变化。

lDiffMinChange-变量有限差分梯度的最小变化。

lLineSearchType一维搜索算法的选择。

习题4-6,%目标函数m文件,保存为xiti4j6.mfunctionf=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),x=1.00002.0007fval=10.0000exigflag=1hessian=iterations:

6funcCount:

21stepsize:

1firstorderopt:

0.0013algorithm:

medium-scale:

Quasi-Newtonlinesearch,例:

初始点1,1,程序:

编辑ff2.m文件:

functionf=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),Optimizationterminatedsuccessfully:

Searchdirectionlessthan2*options.TolXx=-4.00000.6667fval=-17.3333exitflag=1,注意1对于求解平方和的问题,fminunc函数不是最好的选择,用lsqnonlin函数效果更佳。

2使用大型方法时,必须通过将options.GradObj设置为on来提供梯度信息,否则将给出警告信息。

局限性1目标函数必须是连续的。

fminunc函数有时会给出局部最优解。

2fminunc函数只对实数进行优化,即x必须为实数,而且f(x)必须返回实数。

当x为复数时,必须将它分解为实部和虚部。

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参数的缺省值。

语法格式及描述:

x,fval=fminsearch(.)将x处的目标函数值返回到fval参数中。

x,fval,exitflag=fminsearch(.)返回exitflag值,描述函数的退出条件。

x,fval,exitflag,output=fminsearch(.)返回包含优化信息的输出参数output。

参数:

各参数的意义同fminunc。

fminunc与fminsearch,对于求解二次以上的问题,fminsearch比fminunc更有效,而且当问题为高度非线性时,前者更有效。

fminsearch不适合求解平方和的问题,用lsqnolin更好。

三、约束最小化,相关函数介绍,fmincon函数,功能:

求多变量有约束非线性函数的最小值。

fmincon函数,数学模型:

其中,x,b,beq,lb,和ub为向量,A和Aeq为矩阵,c(x)和ceq(x)为函数,返回标量。

f(x),c(x),和ceq(x)可以是非线性函数。

非线性不等式约束非线性等式约束,线性不等式约束线性等式约束,设计变量的上下界,语法格式及描述:

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=。

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参数,描述函数计算的退出条件。

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矩阵。

注意:

1fmincon函数提供了大型优化算法和中型优化算法。

默认时,若在fun函数中提供了梯度(options参数的GradObj设置为on),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。

当既有等式约束又有梯度约束时,使用中型算法。

2fmincon函数的中型算法使用的是序列二次规划法。

在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hessian矩阵。

3fmincon函数可能会给出局部最优解,这与初值X0的选取有关。

1、写成标准形式:

s.t.,2x1+3x26s.tx1+4x25x1,x20,例1,2、先建立M-文件fun3.m:

functionf=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=23;14;b=6;5;Aeq=;beq=;VLB=0;0;VUB=;x,fval=fmincon(fun3,x0,A,b,Aeq,beq,VLB,VUB),4、运算结果为:

x=0.76471.0588fval=-2.0294,1先建立M文件fun4.m,定义目标函数:

functionf=fun4(x);f=exp(x

(1)*(4*x

(1)2+2*x

(2)2+4*x

(1)*x

(2)+2*x

(2)+1),x1+x2=0s.t.1.5+x1x2-x1-x20-x1x2100,例2,2再建立M文件mycon.m定义非线性约束:

functionc,ceq=mycon(x)c=1.5+x

(1)*x

(2)-x

(1)-x

(2);-x

(1)*x

(2)-10;ceq=;,3主程序为:

x0=-1;1;A=;b=;Aeq=11;beq=0;vlb=;vub=;x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),3.运算结果为:

x=-1.22501.2250fval=1.8951,例3,1先建立M-文件fun.m定义目标函数:

functionf=fun(x);f=-2*x

(1)-x

(2),2再建立M文件mycon2.m定义非线性约束:

functionc,ceq=mycon2(x)c=x

(1)2+x

(2)2-25;x

(1)2-x

(2)2-7;ceq=;%没有非线性等式约束,要设置ceq为空矩阵。

3.主程序fxx.m为:

x0=3;2.5;VLB=00;VUB=510;x,fval,exitflag,output=fmincon(fun,x0,VLB,VUB,mycon2),4.运算结果为:

x=4.00003.0000fval=-11.0000exitflag=1output=iterations:

4funcCount:

17stepsize:

1algorithm:

1x44charfirstorderopt:

cgiterations:

例4matlab工程优化实例,盖板问题,设盖板为铝合金制成,弹性模量E=7x104MPa,泊松比=0.3,许用弯曲应力=70MPa,许用剪切应力=45MPa。

一、问题分析,即确定tf和h,截面惯性矩,最大剪应力,最大弯曲应力,翼板中的屈曲临界稳定应力,最大挠度,盖板单位长度的质量,为材料密度,二、数学模型,设计变量:

目标函数:

单位长度允许挠度,约束条件:

按照强度,刚度和稳定性要求建立如下的约束条件。

三、matlab求解,functionf=myfun(x);f=120*x

(1)+x

(2),目标函数myfun.m,非线性不等式约束myfuncon.m,functionc,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,主函数myfun_opt.m,options=optimset(MaxFunEvals,5000);%设置函数评价的最大次数5000x0=0,0;%初始值VLB=0;0;VUB=;x,fval,exitflag,output=fmincon(myfun,x0,VLB,VUB,myfuncon,options),x=0.633225.3264fval=101.3056exitflag=1output=iterations:

66%迭代次数66funcCount:

514%函数评价次数514stepsize:

1%最终步长1algorithm:

medium-scale:

SQP,Quasi-Newton,line-search%中型算法firstorderopt:

1.0050e-005%解x处梯度的范数cgiterations:

%PCG迭代次数(只适用于大型规划问题)。

优化结果,x=0.66671.3333fval=-8.2222exitflag=1,x=001.0000-0.0000fval=0.0800exitflag=1,%目标函数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)=1clear%清工作空间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=,functionc,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.75290.4332fval=1.5093exitflag=1,x=-0.75290.4332fval=1.5093exitflag=1output=iterations:

7funcCount:

24stepsize:

1algorithm:

medium-scale:

SQP,Quasi-Newton,line-searchfirstorderopt:

8.1712e-009cgiterations:

message:

1x143char,x=5.0000fval=3exitflag=4,目标函数Maxf(x)=f=m1*x

(1)+m2*x

(2)2+m3*x(3)%约束条件:

%a1*x

(1)+a2*x

(2)+a3*x(3)=c%上下限约束条件x

(1)=0x

(2)=0x(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;,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=,目标函数minf(x)=x

(1)2+x

(2)2%约束条件:

x

(1)2+x

(2)25%x

(1)+2*x

(2)=4%x

(1)0,x

(2)0%目标函数Minf(x)=f=m1*x

(1)2+m2*x

(2)2%约束条件:

a1*x

(1)2+a2*x

(2)2=0x

(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;,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=,x=0.8000,1.6000fval=3.2000exitflag=1,机床主轴结构优化设计,机床主轴是机床中重要零件之一,一般为多支承空心阶梯轴。

为了便于使用材料力学公式进行结构分析,常将阶梯轴简化成以当量直径表示的等截面轴。

下图所示的为一根简化的机床主轴。

要求以主轴的自重为目标,对该主轴进行优化设计。

机械优化设计大作业,已知条件:

主轴材料为45#,内径d=30mm,外力F=15000N,许用挠度y0=0.05mm,材料的弹性模量E=210GPa,许用应力=180MPa。

300l650,60D110,90a150。

作业要求:

(1)对该问题进行分析,写出该问题的物理模型;

(2)将物理模型转化为优化模型(包括设计变量、目标函数、约束条件);(3)将优化模型转化为matlab程序(m文件);(4)利用matlab软件求解该优化问题,写出最优解。

(5)用毕业论文纸作业,要求手写,写出问题和上述4个过程,条理清晰。

1.问题分析2.优化模型3.matlab程序4.最优解和结果分析,作业一、人字架结构优化设计,由两根空心圆杆组成对称的两杆桁架,其顶点承受负载为2p,两支座之间的水平距离为2L,圆杆的壁厚为B,杆的比重为,弹性模量为E,屈服强度为。

求在桁架不被破坏的情况下使桁架重量最轻的桁架高度h及圆杆平均直径d。

作业三、圆形等截面销轴的优化设计的数学模型已知:

轴的一端作用载荷P=1000N,扭矩M=100Nm;轴长不得小于8cm;材料的许用弯曲应力w=120MPa,许用扭剪应力=80MPa,许用挠度f=0.01cm;密度=7.8t/m,弹性模量E=2105MPa。

分析:

设计目标是轴的质量最轻Q=1/4d2lmin.;,要求:

设计销轴,在满足上述条件的同时,轴的质量应为最轻。

设计限制条件有5个:

弯曲强度:

maxw扭转强度:

刚度:

ff结构尺寸:

l8d0,设计参数中的未定变量:

d、l,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2