硕士研究生机械优化设计作业_第1页
硕士研究生机械优化设计作业_第2页
硕士研究生机械优化设计作业_第3页
硕士研究生机械优化设计作业_第4页
硕士研究生机械优化设计作业_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、机 械 优 化 设 计 报 告REPORT FOR OPTIMAL DESIGN OF MACHINE 作业题目 黄金分割一维搜索方法作者姓名 黎 原作者学号 学科专业 机械设计及理论指导教师 杨立坡教授 2012年12月研究生机械优化设计报告黄金分割一维搜索方法硕士研究生:黎 原硕士生学号导师:杨利坡教授学科专业:机械设计及理论所 在 单 位:机械工程学院Report in Mechanical Design and TheoryTHE GOLDEN SPLITING ONE-DIMENSIONAL SEARCHING METHODby Li Yuan Supervisor: Profess

2、or Yang LipoYanshan UniversityDecember, 2012摘 要最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决 策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、同学、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱中的函数,又可以通过算法变成实现相应的最优化计算。 在最优化计算中一维最优化方法是优化设计中最简单

3、、最基本的方法。一维搜索,又称为线性搜索,一维问题是多维问题的基础,在数值方法迭代计算过程中,都要进行一维搜索,也可以把多维问题化为一些一维问题来处理。一维问题的算法好坏,直接影响到最优化问题的求解速度。而黄金分割法是一维搜索方法中重要的方法之一,它适用于任何单峰函数求最小值的问题,甚至于对函数可以不要求连续,是一种基于区间收缩的极小点搜索算法。关键词:最优化;黄金分割法;MATLAB;算法;一维搜索;AbstractOptimization theory and methods which have been paid more attention, have penetrated into

4、 the production, management, business, military, decision-making and other fields, and optimization models and methods widely used in industry, agriculture, transportation, commerce, defense, construction, students, government various departments and agencies and other fields. With the rapid develop

5、ment of computer technology, optimization theory and methods for the rapid progress of the optimization problem to solve practical software is also developing rapidly. MATLAB software has become the most optimization software is one of the most widely used. With this powerful computing platform MATL

6、AB, we can use not only MATLAB optimization toolbox in the function, but also can achieve the appropriate algorithm to optimize into the calculation. In the calculation of one-dimensional optimization method is to optimize the design of the simplest, most basic method. One-dimensional search, also k

7、nown as linear search, one-dimensional problem is multi-dimensional problem based on iterative methods in numerical calculation, should be one-dimensional search, can also multi-dimensional problem into a number of one-dimensional problem to deal with. One-dimensional algorithms are directly affecte

8、d by the speed of solving optimization problems. The golden section method as a one-dimensional search method is one important method, which applies to any single peak function for the minimum of the problem, even on the function that does not require a continuous. The golden section method is a ver

9、y small point search algorithm based on a interval-based contraction.Keywords: Optimization;Golden section method;MATLAB;Algorithm; One-dimensional search;目 录摘 要IABSTRACTII第1章 绪 论1第2章 最优化方法基本原理22.1 无约束问题的最优性条件22.2 搜索区间的确定2第3章 黄金分割法的基本原理与思想43.1 黄金分割法的基本思路43.2 黄金分割法的基本原理与步骤43.3 黄金分割0.618算法53.4 算法流程图6第

10、4章 优化程序的计算结果及其分析74.1 用matlab编写源程序74.2 源程序计算过程及结果7第5章 一维搜索优化的比较和分析95.1 进退法的原理及特点95.1.1 算法思想95.1.2 计算步骤95.2 插值法的原理及特点95.2.1 算法原理简介95.2.1 插值算法计算过程9总 结11附 录12一、无约束优化方法程序考核题121. 牛顿法的 Matlab编程源程序122. 牛顿法编程的计算结果14二、约束优化方法程序考核题141. Matlab自带函数编程的源程序142. 程序运行的结果16参考文献17第1章 绪 论数学科学不仅是自然科学的基础,也是一切重要技术发展的基础。最优化方

11、法更是数学科学里面的一个巨大的篇幅,在这个信息化的时代,最优化方法广泛应用于工业、农业、国防、建筑、通信与政府机关、管理等各个部门、各个领域;它主要解决最优计划、最优分配、最优决策、最佳设计、最佳管理等最优化问题。而最优解问题是这些所有问题的中心,是最优化方法的重中之重,在求最优解问题中,有多种方法解决,我们在这里着重讨论无约束一维极值问题,即非线性规划的一维搜索方法之黄金分割法。黄金分割法也叫0.618法,属于区间收缩法,首先找出包含极小点的初始搜索区间,然后按黄金分割点通过对函数值的比较不断缩小搜索区间。当然要保证极小点始终在搜索区间内,当区间长度小到精度范围之内时,可以粗略地认为区间端点

12、的平均值即为极小值的近似值。所以用0.618法得出的是比较精确的最优解了。本次作业程序的运行环境是matlab7.0版本的运行环境。第2章 最优化方法基本原理2.1 无约束问题的最优性条件无约束问题的最优解所要满足的必要条件和充分条件是我们设计算法的依据,为此我们有以下几个定理。定理1 设在点处可微。若存在,使 则向量是在处的下降方向。定理2 设在点处可微。若是无约束问题的局部最优解,则由数学分析中我们已经知道,使的点x为函数f的驻点或平稳点。函数的一个驻点可以是极小点;也可以是极大点;甚至也可能既不是极小点也不是极大点,此时称它为函数的鞍点。以上定理告诉我们,是无约束问题的局部最优解的必要条

13、件是:是其目标函数的驻点。 现给出无约束问题局部最优解的充分条件。定理 3 设在点处的海赛矩阵存在,若并且正定,则是无约束问题的严格局部最优解。一般而言,无约束问题的目标函数的驻点不一定是无约束问题的最优解。但对于其目标函数是凸函数的无约束凸规划,下面定理证明了,它的目标函数的驻点就是它的整体最优解。定理 4 设,是上的可微凸函数。若有则是无约束问题的整体最优解。2.2 搜索区间的确定在一维搜索时,我们假设函数具有如单谷性,即在所考虑的区间内部,函数有唯一的极小点*。为了确定极小点*所在的区间a,b,应使函数在a,b区间里形成“高低高”趋势。为此,从=0开始,以初始步长h0向前试探。如若函数值

14、上升,则步长变号,即改变试探方向。如果函数值下降,则维持原来的试探方向,并将步长加倍。去鉴定的始点、中间点依次沿试探方向移动一步。此过程一直进行到函数值再次上升为止,即可找到搜索区间的终点。最后的得到的三点即为搜索区间的始点、中间点和终点,形成函数值的“高低高”趋势。第3章 黄金分割法的基本原理与思想3.1 黄金分割法的基本思路黄金分割法适用于区间上的任何单股函数求极小值问题,对函数除要求“单峰”外不做其他要求,甚至可以不连续。因此,这种方法的适应面非常广。黄金分割法也是建立在区间消去法原理基础上的试探方法,即在搜索区间内适当插入两点、,并计算其函数值。、将区间分成三段,应用函数的单峰性质,通

15、过函数值大小的比较,删去其中一段,是搜索区间得以缩小。然后再在保留下来的区间上作同样的处理,如此迭代下去,是搜索区间无限缩小,从而得到极小点的数值近似解。3.2 黄金分割法的基本原理与步骤一维搜索是解函数极小值的方法之一,其解法思想为沿某一已知方向求目标函数的极小值点。一维搜索的解法很多,这里主要采用黄金分割法(0.618法)。黄金分割法是用于一元函数在给定初始区间内搜索极小点的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,但它只适用于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、

16、对称原则、以及等比收缩原则来逐步缩小搜索区间。具体步骤如下:在区间内取点把分为三段。如果>,令=,=,=;如果<,令=,=,=,如果和都大于收敛精度,则重新开始。因为为单峰区间,这样每次可将搜索区间缩小0.618倍或0.382倍,处理后的区间都将包含极小点的区间缩小,然后在保留下来的区间上作同样的处理,如此迭代下去,将使搜索区逐步缩小,满足预先给定的精度时,即获得一维优化问题的近似最优解。3.3 黄金分割0.618算法(1)给定区间及>0; (2)计算,并计算;(3)若,转(4),否则转(5);(4)若,则停止,输出,否则a=r,r=u,转(3);(5)若,则停止,输出,否则

17、b=u,u=r,转(3);3.4 算法流程图图3-1 黄金分割算法的流程图第4章 优化程序的计算结果及其分析4.1 用matlab编写源程序syms x;f=inline('x4-5*x3+4*x2-6*x+60','x');a=0;b=10;epsilon=0.00001; x1=b-0.618*(b-a);f1=f(x1); x2=a+0.618*(b-a);f2=f(x2);while(abs(b-a)>epsilon) if f1<f2 b=x2;x2=x1;f2=f1; x1=a+0.382*(b-a); f1=subs(f,x,x1);

18、elseif f1=f2 a=x1;b=x2; x2=a+0.618*(b-a);f2=subs(f,x,x2); x1=a+0.382*(b-a);f1=subs(f,x,x1); else a=x1;x1=x2;f1=f2; x2=a+0.618*(b-a); f2=subs(f,x,x2); endenddisp('目标函数为:')f='x4-5*x3+4*x2-6*x+60'disp('最优解为:')best_x=(a+b)/2disp('目标函数极小值为:')best_fx=subs(f,x,best_x)4.2 源程序

19、计算过程及结果1. 给定搜索区间0,10以及收敛精度epsilon=0.000012. 按坐标点计算公式,计算和,并计算其对应的函数值,。3. 根据区间消去法原理缩短搜索区间。为了能用原来的坐标点计算公式,需进行区间名称的代换,并在保留区间中计算一个新的试验点及其函数值。4. 检查区间是否缩短到足够小和函数值收敛到足够近,如果条件不满足则返回到步骤2。5. 如果条件满足,则取最后的两试验点的平均值作为极小点的数值近似解。6. 该程序运行的结果如下截屏所示。图4-1 黄金分割法程序运行结果第5章 一维搜索优化的比较和分析5.1 进退法的原理及特点 算法思想从某一点出发,任选一个方向和步长,向前试

20、探性的走一步,求出该点的函数值。如果有利(指该点函数值较小),就向前走一步,并加大步长再向前试探一步;否则,就缩小步长反方向(后退方向)试探一步。如此反复搜索,当步长缩小到一定程度时停止。最后搜索到的点即为极值点。其特点为:结构和程序简单,但效率偏低。 计算步骤1. 给定初始点t0,初始点长h>0,允许误差e>0,步长因子blpha属于(0,1),alpha>1,计算f0=f(t0)。2. 令试算点t=xk+h,计算ft=f(t)。3. 若fk>f,则k=k+1,xk=t,h=alpha*h,转第二步:否则,置h=-blpha*h,转第 (4)步。4. 若|h|<

21、e,则停止计算,xk 为近似极小点:否则转第二步。5.2 插值法的原理及特点 算法原理简介在求解一元函数的极小点时,常常利用一个低次插值多项式来逼近原目标函数,然后求该多项式的极小点(低次多项式的极小点比较容易计算),并以此作为目标函数的近似极小点。如果其近似的程度尚未达到所要求的精度时,可以反复使用此法,逐次拟合,直到满足给定的精度时为止。其特点为搜索效率较高,收敛速度快。 插值算法计算过程图5-1 插值算法的流程图总 结一、 课程心得本人觉得优化设计这门学科很有意义,很有价值,对整个机械行业以及其他的行业的帮助非常大,是难得的一门课程,当然自身的收获也让自己觉得研究生的生活是非常充实的,并

22、对以后的学习生活充满了期待。总的来说,机械优化设计的课程内容是就如何求得机械设计过程中遇到的最优值的选择问题进行多方法多角度合理阐述。课程叙述了根据不同的约束模型而得到的不同的择优方法,以及列举出了许多优化算法在机械方面应用的实例,给我留下了深刻的印象,也使我学到了在本科及工作阶段所没有学到的新的知识。由于课时的关系和学习时间的有限,而且关于本课程编程所需要的Matlab软件因为以前没有接触过而倍感生疏,故本次实验报告的撰写以及相关程序的编写会显得有些粗略和不足,希望老师您能够批评指正。我会以后的研究生生活中,继续对本课程进行研究和学习,争取达到完全吸收和灵活运用的程度,扎实的打好研一的理论与

23、方法基础,为今后的科研生活做好准备。二、内容体会本人比较喜欢杨老师讲课时严谨又不乏幽默的风格。本来这门课程讲的都是一些优化算法以及数学理论方面的东西,尽管意义重大,但不免会有些枯燥和乏味,但杨老师能够在讲理论、述方法的同时给我们讲了许多历史、地理、物理、政治、生活、工作、理想以及国内外的相关事件,并对其进行解析和描述,让我们在学习疲惫之时能够及时得到放松,更重要的是,我们可以从中学到一些数学优化方法之外的东西,我称之为人生优化方法。本人是工作了一年之后才选择辞职回来读研的,接触过社会上的生活,也领教过一些社会上的生存之道,所以对杨老师就企业工作以及责任义务方面的观点深表赞同,自然也深有体会。杨

24、老师有两句话我深以为然:“中学时你可以逃避责任,因为你的父母可以原谅你;大学时你也可以逃避责任,因为你的老师可以原谅你;工作时你如果再逃避责任,没人会原谅你,领导只会辞退你”,“要想生存,谁都不能依靠,只能靠自己”我对此深表赞同,生活是现实的,现实是竞争的,竞争是残酷的,只有学得一身本事,才能在这个充满竞争的现实社会中拥有立足之地。附 录一、无约束优化方法程序考核题1. 牛顿法的 Matlab编程源程序fx=sym('4*(x1-5)2+(x2-6)2');f1=diff(fx,'x1');diff(fx,'x2');ot1=diff(fx,&#

25、39;x1',2); ot2=diff(fx,'x2',1);ot2=diff(ot2,'x1',1);ot3=diff(fx,'x2',1);ot3=diff(ot3,'x1',1);ot4=diff(fx,'x2',2);f2=ot1,ot2;ot3,ot4; X=8;9; zz=8;9; while norm(double(zz)>0.001 yy=X; f3=subs(f1,'x1',X(1); f3=subs(f3,'x2',X(2); f4=subs(f2,

26、'x1',X(1); f4=subs(f4,'x2',X(2); g1=-inv(f4)*f3; b1=sym('b1'); X=yy+b1*g1; f5=subs(fx,'x1',X(1); f5=subs(f5,'x2',X(2); sw2=sym2poly(f5);sw1=polyder(sw2); if sw1=0 dwj=eval(f5);elsewe=roots(sw1);for t=1 : length(we) cc(t)=polyval(sw2,we(t);endhi=find(cc=min(min(cc); digits(8); qq=vpa(we(hi); end X=yy+qq*g1; zz=X

温馨提示

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

评论

0/150

提交评论