matlab在优化设计中的应用【可编辑范本】

matlab在优化设计中的应用【可编辑范本】

ID:81782412

大小:213.04 KB

页数:11页

时间:2022-11-01

上传者:胜利的果实
matlab在优化设计中的应用【可编辑范本】_第1页
matlab在优化设计中的应用【可编辑范本】_第2页
matlab在优化设计中的应用【可编辑范本】_第3页
matlab在优化设计中的应用【可编辑范本】_第4页
matlab在优化设计中的应用【可编辑范本】_第5页
matlab在优化设计中的应用【可编辑范本】_第6页
matlab在优化设计中的应用【可编辑范本】_第7页
matlab在优化设计中的应用【可编辑范本】_第8页
matlab在优化设计中的应用【可编辑范本】_第9页
matlab在优化设计中的应用【可编辑范本】_第10页
资源描述:

《matlab在优化设计中的应用【可编辑范本】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

Matlab在优化设计中的应用摘要常见的优化问题包括线性规划、无约束优化、约束优化、最下二乘优化、多目标规划等.本文研究了matlab在这些常见优化问题中的应用及求解。在进行研究本课题之前,我们先通过网络、电子书刊等各种有效渠道获取我们所需信息,在充分了解与熟练掌握了各种优化问题的具体特点及性质后,我们给出了关于如何用matlab进行多类优化问题的求解基本方法,在此前提下,为了体现该软件在这些优化领域的实际应用效果,我们结合若干个优化问题的实例进行分析、建模、以及运用matlab编程求解,在求解过程中,通过得到的精确数据和反应结果的图例,我们了解到matlab工具箱的功能强大,是处理优化问题的非常方便的编程工具。关键词:matlab 优化问题二、基本概念2.1。1 线性规划线性规划是优化的一个重要分支。它在理论和算法上都比较成熟,在实际中有广泛的应用。例如数学表达形式:在MTLAB提供的优化工具箱中,解决规划的命令是,它的调用格式如下,求解下列形式的线性规划:求解下面形式的线性规划:

1若没有不等式约束,则只需命令。求解下面形式的线性规划:若没有不等式约束,则只需令;若只有下界约束,则可以不用输入。2.1。2 无约束优化算法对于无约束优化问题,已经有许多有效的算法.这些算法基本都是迭代法,它们都遵循下面的步骤:①选取初始点x0 ,一般来说初始点越靠近最优解越好;②如果当前迭代点xk不是原问题的最优解,那么就需要找一个搜索方向pk,使得目标函数f(x)从xk出发,沿方向pk有所下降;③用适当的方法选择步长ak(≥0),得到下一个迭代点xk+1=xk+akpk;④检验新的迭代点xk+1是否为原问题的最优解,或者是否与最优解的近似误差满足预先给定的容忍度。2。1。3单变量约束优化问题单变量约束优化问题的标准形式为即为求目标函数在区间(a,b)上的极小点。2.1.4最小二乘法优化最小二乘优化时一类非常特殊的优化问题,它在实际中,尤其是在处理一些曲线拟合问题、线性方程组无解时的近似解等问题,用的非常多。最小二乘优化问题的目标函数一般为若干个函数的平方和,即:2。1。5多目标规划问题

2在大多数的优化、中,都将多目标规划的一般形式表述为:其中,、、既可以为线性函数,也可以为非线性函数。三、基本方法对于解决那些常见优化问题,基本思路将在解题的过程中得到体现.我们给出具体一些建模实例来体现基本算法:3.1就下列命令求下面分段函数的极小值点。解:首先编写目标函数的M文件如下:然后为了分析直观,利用MTLAB画出目标函数的图像,步骤如下:〉> x=—5:0.01:5;>>n=length(x)n =  1001

3〉〉 fori=1:1001y(i)=example8_7(x(i));end3。2对于下面的线性规划问题:min–x1—3x2s。t。先利用图解法求其最优解,然后利用优化工具箱中的linprog命令求解.解〈图解法〉 先利用MATLAB画出该线性规划的可行集及目标函数等值线:〉>clear>〉symsx1x2>〉f=-x1-3*x2;〉〉c1=x1+x2—6;〉〉c2=—x1+2*x2—8;>>ezcontourf(f)〉>axis([060 6])〉>hold on>>ezplot(c1)>>ezplot(c2)〉>legend(’f等值线’,'x1+x2-6=0',’—x1+2*x2-8=0')>〉title(’利用图解法求线性规划问题’)〉>gtext(’x')运行结果如下图:

4从上图中可以看出可行集的顶点x(4/3,14/3)即为线性规划的最优解,它也是两个线性约束的交点。3.3求解下面的最小二乘优化问题:其中程序输入及结果>>clearA=[1 21;-21 3];b=[1 1]’;C=[0 —1 2;10-1;-320];d=[101]';lb=[-5-5—2]';ub=[5 52]';

5Aeq=[];beq=[];[x,resnorm,residual,exitflag,output,lambda]=lsqlin(C,d,A,b,Aeq,beq,lb,ub)Warning:Large—scale methodcanhandleboundconstraintsonly;switching tomedium-scalemethod。Warning:Large-scale methodcanhandle bound constraintsonly; using medium—scalemethodinstead。> In lsqlinat249Optimizationterminated。x=    %最优解 -0。4578-0。3133 0。1325resnorm=   %残差向量2—范数的平方,即reanorm=norm(residual)^2  0。5904residual=%残差向量 —0.4217-0.5904 —0。2530exitflag= 1  %函数收敛到最优解output=    iterations:4 %迭代4次 algorithm:'medium-scale:active—set’   %调用的积极集算法 firstorderopt:[]cgiterations:[]  message:'Optimizationterminated。'lambda= %Lagrange 乘子

6 lower:[3x1double] upper:[3x1double]eqlin:[0x1 double] ineqlin: [2x1double] ineqlin:[2xldouble]3。4求下面优化问题的最优解,并求出相应的梯度、Hessian矩阵以及Lagrang乘子。解现将该优化问题转化为下面的标准形式:编写目标函数的M文件如下:functiony=example8_9(x)y=(x(1)-2)^2+(x(2)-1)^2;function[c1,c2]=nonlin(x)c1=x(1)^2—x(2);c2=[];clearA=[11];b=2;Aeq=[];beq=[];lb=[];ub=[];x0=[0 0]’;[x,fval,exitflag,output,lambda,g,H]=fmincon(@example8_9,x0,Aeq,beq,lb,ub,@nonlin)Warning£ºLarge-scale£¨trust region£©methoddoesnotcurrentlysolvethistypeofproblem£¬switchingtomedium-scale£¨line search£©¡£四、实际应用4.1 V带轮优化设计提出问题:设计带式输送机传动装置上的普通V带传动,已知电动机额定功率P=4Kw,转速n1=1440r/min,传动比i=3,采用A型V带,每天工作不超过10小时,设计带根数尽量少,带轮直径和中心距尽量小的方案。

74.1.1 数学模型建立(1)设计变量:V带传动的独立设计变量是小带轮直径和带的基准长度     即X=[,=[,(2)目标函数包括三个分目标:  a.小带轮直径min(X)== b.中心距min(X)=a=+   其中,=/4—(i+1)/8,=(i—1/8   c.带的根数min(X)=z=P/(+)(3)约束条件小带轮直径不小于推荐的A型带轮最小直径 即0带速不超过最大带速即小带轮包角大于即中心距大于,即小带轮基准直径在80—100mm之间,中心距在320—400mm之间,带的根数为1-4.4.1.2编制MATLAB优化设计% V带传动多目标优化设计P=4;i=3;n1=1440;KA=1。1;  %已知条件x0=[100;1250]; %初始点(小带轮直径,V带基准长度)

8lb=[80;630]; %最小带轮直径和A型V带基准长度 ub=[100;4000];%最大带轮直径和A型V带基准长度goal=[75,280,2]; %分目标w=[10^-2,40^—2,1.5^—2]; %分目标加权系数[xopt,fopt]=fgoalattain(@VDCD_3mb_MB,x0,goal,w,[],[],[],[],lb,ub,@VDCD_3mb_YS)functionf=VDCD_3mb_MB(x)P=4;i=3;KA=1.1;f(1)=x(1);%f1小带轮基准直径a1=x(2)/4—pi*x(1)*(i+1)/8;a2=x(1)^2*(i-1)^2/8;a=a1+sqrt(a1^2—a2);f(2)=a;   %f2中心距P0=0.02424*x(1)—1。112879; %单根带额定功率DP0=0。17;  %功率增量alpha=180-180*x(1)*(i—1)/pi/a;%小带轮包角Kalp=alpha/(0.549636*alpha+80。396114);%包角系数KL=0。20639*x(2)^0。211806; %长度系数f(3)=KA*P/(P0+DP0)/Kalp/KL;%V带根数function[g,ceq]=VDCD_3mb_YS(x)i=3;n1=1440;g(1)=100—x(1);g(2)=pi*x(1)*n1/6e4—25;a1=x(2)/4—pi*x(1)*(i+1)/8;a2=x(1)^2*(i-1)^2/8;a=a1+sqrt(a1^2—a2);g(3)=120—180*(1—x(1)*(i-1)/a/pi);g(4)=0。7*x(1)*(i+1)-a;ceq=[];4.1.3运行结果:Optimizationterminatedsuccessfully:Searchdirectionlessthan 2*options。TolXand maximumconstraintviolation isless thanoptions.TolConActive Constraints:  5  9xopt =  1。0e+003*   0.1000

91。2269fopt=100.0000281。5293 3.5958表面最优方案为设计带根数为5或9,带轮直径和中心分别为(1。0e+003,100.0000)、(0.1000,281。5293)、(1。2269,3.5958)的方4。2MATLAB优化设计在机件模型中的应用提出问题:有一圆形等截面的销轴.一端固定在机架上.另一端作用着集中载荷P;50kN和扭矩M=400Nm,其简化模型如图l所示.由于结构的需要,轴的长度l不得小于10cm,已知锖轴的材料的弯曲应力=120MPa;扭剪应力=80MPa;允许挠度f=o.01cm;密度p=7800kg/m3:弹性模量E=2.1×105MPa.现要求设计这根销轴,在满足使用要求下使其质量为最轻.4.2。1建立数学模型:通过分析,我们得知性能约束条件为:1、弯曲强度要求悬臂粱的最大弯曲应力不得超过允许值,即代人数据并整理;2、扭转强度要求悬梁的最大弯曲应力不得超过允许值,即,代人数据并整理;3、刚度要求最大挠度不得超过允许值,代人数据并整理得边界约束条件: 这样就可建立数学模型:二、调用MATLAB函数进行优化采用MATLAB可以简化编程.NATLAB程序语言简单,也可采用交互式界面.本例要MATLAB命令窗口输入如下命令即可:funf=’f=0.00613x(1)‘x(2)’;%目标函数funf=’g=[41.67’x(2)/x(1)“3一l;I.62+x(2)‘3/x(1)‘4-1;25/x(1)‘3-1;’];%约束函数fun=[funffurig];x0=[8,10];%给出d、I的初始值options=[];%参数向量取缺省值vlb=[0,10];%设计变量d,1的下限值vub=[];%设计变量无上限值[X,option]-constr(fun,x0,options,vcb,vub);%调用有约束优化函数这时,就会输出优化结果如下:x=7.469210.0000options=00.000l0.00010,00000 003.4199 020.00007.0000 7.00000200,000000.00000.10001.000表明最优方案为d=7.4692cm,1=lOcm,Q=options(8)=3.14199kg.五、参考文献

10六、任务清单6。1本组任务分配清单资料查找胡双母桑妮资料整理朱小英马娟算法统计肖锐张海旭结果处理彭艺朱小英内容编排胡双母桑妮课程设计总结马娟肖锐七、课题研究总结母桑妮:胡双:肖锐:朱小英:马娟:张海旭:彭艺:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭