机械优化设计课本中编程实例.doc_第1页
机械优化设计课本中编程实例.doc_第2页
机械优化设计课本中编程实例.doc_第3页
机械优化设计课本中编程实例.doc_第4页
机械优化设计课本中编程实例.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

燕山大学机械优化设计论文专业: 12机械工程 班级: 工学部1班 学号: 姓名: 2012年 12月 05日摘要:机械优化设计是将最优化原理和计算技术应用于设计领域,为工程设计提供一种重要的科学设计方法。机械优化设计包括建立优化设计问题的数学模型和选择恰当的优化方法与程序两方面的内容。由于机械优化设计是应用数学方法寻求机械设计的最优方案,所以首先要根据实际的机械设计问题建立相应的数学模型,即用数学形式来描述实际设计问题。在建立数学模型时,需要用专业知识确定设计的限制条件和所追求的目标,确立各设计变量之间的相互关系等。机械优化设计问题的数学模型可以是解析式,实验数据或经验公式。虽然它们给出的形式不同,但都是反应设计变量之间的数量关系的。MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文用MATLAB来解决机械设计中的几个常见的问题。关键词:MATLAB ;优化;机械设计;软件 1引言近年来发展起来的计算机辅助设计,在引入优化设计方法后,使得在设计过程中既能够不断选择设计参数并评选出最优设计方案,又可以加快设计速度,缩短设计周期。在科学技术发展要求机械产品更新日益缩短的今天,把优化设计方法与计算机辅助设计结合起来,使设计过程完全自动化,已成为设计方法的一个重要趋势。2采用MATLAB软件进行优化设计2.1.问题描述:求的最优解 2.1.1规划模型的建立: 目标函数 约束条件 无约束2.1.2对应的程序: clcclearsyms tf=t2-10*t+36;x1=0;h=2;f1=subs(f,x1);x2=x1+h;f2=subs(f,x2);f3=f2-1;t=1;if (f1-f2)0 while f3f2 f3=subs(f,x2+t*h); t=t+1; end x3=x2+(t-1)*h;else f3=f2;f2=f1;t=1;f1=f2-1;x3=x2;x2=x1; while f1e if f1f2 a=a1;a1=a2; a2=a+k*(b-a); f1=f2; f2=subs(f,a2); t_min=a2; f_min=f2; else b=a2;a2=a1; a1=b-k*(b-a); f2=f1; f1=subs(f,a1); t_min=a1; f_min=f1; endc=(b-a)/2;endt_minf_min2.1.3运行结果2.1.4 程序基本原理此程序运用的是黄金分割法,黄金分割法适用于a,b区间上的任何单谷函数求极小值问题。黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间a,b内插入两点并计算其函数值,将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间无限缩小,从而得到极小点的数值近似解。2.1.5结论黄金分割法可以通过最少的试验次数,找到“最佳点”。它是一个一维的搜索方法,并且比较精确,配合计算机MATLAB软件更能实现求解的快速性和准确性。2.2.问题描述:求的最优解 2.2.1规划模型的建立: 目标函数 初始条件: 约束条件 无约束2.2.2对应的程序: syms t1 t2 f=(t12+12*t2-1)2+(49*t1+49*t2+84*t1+2324*t2-681)2;x0=1;1b=symvar(f);n=size(b,2);g=cell(n,1);G=cell(n,n);H0=eye(n,n);for i=1:n gi,1=diff(f,b(i);endfor i=1:n %产生海塞矩阵for j=1:n Gj,i=diff(gi,b(j);endendg0=subs(g,b,x0); %产生在x0点的梯度d0=H0*g0;a=buchang(x0,d0,f);x1=x0-a*d0; %产生第一个点xcha=x1-x0; %计算两点之间的距离dis=mo(xcha);k=0; while dis1e-5 %收敛条件 g1=subs(g,b,x1); %判断在迭代点是否梯度为0 if g1=0 Gy=subs(G,b,x1); %观察海赛矩阵 break end y0=g1-g0; s0=x1-x0; H1=H0+(s0*s0)/(s0*y0)-(H0*y0*y0*H0)/(y0*H0*y0); d1=H1*g1; a=buchang(x1,d1,f); x2=x1-a*d1; g0=g1;x0=x1;x1=x2;H0=H1; xcha=x1-x0;dis=mo(xcha); x1 %输出每次的迭代点 subs(f,b,x1) %迭代点的函数值 k=k+1 %显示迭代次数end2.2.3运行结果2.1.4 程序基本原理 变量的尺度变换是放大或缩小各个坐标。通过尺度变换可以把函数的偏心程度降低到最低到最低限制。尺度变换技巧能显著地改进几乎所有极小化方法的收敛性质。用最速下降法求的极小值时,需要进行10次迭代才能达到最小值点。但是,若变换 即把的尺度放大5倍,就可以将等值线为椭圆的函数变换成等值线为圆的函数,从而消除了函数的偏心,用最速下降法只需一次迭代即可求得最小值点。在Newton法中,基本迭代公式,其中,于是有(1)其中是初始点,和分别是目标函数在点的梯度和Hesse矩阵.为了消除这个迭代公式中的Hesse逆矩阵,可用某种近似矩阵来替换它,即构造一个矩阵序列去逼近Hesse逆矩阵序列此时式(1)变为事实上,式中无非是确定了第次迭代的搜索方向,为了取得更大的灵活性,我们考虑更一般的的迭代公式 (2)其中步长因子通过从出发沿作直线搜索来确定.式(2)是代表很长的一类迭代公式.例如,当(单位矩阵)时,它变为最速下降法的迭代公式.为使确实与近似并且有容易计算的特点,必须对附加某些条件:第一, 为保证迭代公式具有下降性质,要求中的每一个矩阵都是对称正定的.理由是,为使搜索方向是下降方向,只要成立即可,即成立.当对称正定时,此公式必然成立,从而保证式(2)具有下降性质.第二, 要求之间的迭代具有简单形式.显然, (3)是最简单的形式了.其中称为校正矩阵,式(3)称为校正公式.第三, 必须满足拟Newton条件.即: (4)为了书写方便也记于是拟Newton条件可写为 (5)有式(3)和(5)知,必须满足或 (6)2.2.5结论 通过对本题的求解结果 与精确解 的比较虽然DFP变尺度法具有综合了梯度法、牛顿法的优点而又避弃它们各自的缺点,只需计算一阶偏导数,无需计算二阶偏导数及其逆矩阵,对目标函数的初始点选择均无严格要求,收敛速度快的特点,但是还是会有一定的误差。2.3.问题描述:求的最优解 2.3.1规划模型的建立: 目标函数 约束条件 初始条件 2.3.2对应的程序:function y=fun1(x)y=(x(1)-2).2+(x(2)-1).2;endfunction c,ceq=gt1(x)c=x(1).2-x(2);ceq=;endA=1,1;b=2;x0=1;2;lb=;ub=;x,fval,exitflag,output,lambda,grad,hessian=fmincon(fun1,x0,A,b,lb,ub,gt1);2.3.3运行结果2.3.4 程序基本原理fmincon运行首先检查有无梯度表达提供,如有则选则大规模算法(subspace trust region),由此涉及到Hessian阵的近似计算,由于已提供了梯度的公式,则Hessian阵可以直接通过有限差分计算。但是如果用户直接提供了Hessian计算公式,则直接计算。 如果没有梯度表达式提供,fmincon选则SQP算法,算法中Hessian阵可以通过BFGS迭代,初始Hessian阵任给。注意BFGS公式中q项是需要计算目标函数梯度得到的。所以Hessian矩阵的近似计算是需要用到有限差分法。2.3.5 结论由以上实例可知,采用基于MATLAB软件的计算方法解决优化设计问题,求解程序简单、编程量小、求解效率高,能满足求解离散优化问题的要求,保证得到符合工程要求的最优解,从而可以获得很好的优化结果。3 总结与体会利用MATLAB软件可以求解线性规划、无约束规划、二次规划和有约束非线性规划等优化设计问题。该软件编程工作量小,初始参数输入简单,符合工程设计语言,有着很大的优越性。通过给出的优化实例可以看出,应用该软件求解机械优化设计问题非常方便。通过学习机械优化设计让我了解了许多优化算法。真正体会到了科学优化设计的强大与简洁明了,与传统的优化设计方法相比较,大大提高了设计的效率和质量。现代化设计工作是借助电子计算机,应用一些精确度较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论