您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 【精选】最优化课程设计 黄金分割法及其算法实现3
机械优化设计报告姓名:刘洋学号:S12080203054院系:机械工程学院专业:机械设计及理论2012年12月4日机械优化设计报告2摘要最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、同学、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱(OptimizationToolbox)中的函数,又可以通过算法变成实现相应的最优化计算。关键词:优化、黄金分割法、最速下降法、MATLAB、算法AbstractOptimizationtheoryandmethodsandmoreattention,havepenetratedintotheproduction,management,business,military,decision-makingandotherfields,andoptimizationmodelsandmethodswidelyusedinindustry,agriculture,transportation,commerce,defense,construction,students,governmentvariousdepartmentsandagenciesandotherfields.Withtherapiddevelopmentofcomputertechnology,机械优化设计报告3optimizationtheoryandmethodsfortherapidprogressoftheoptimizationproblemtosolvepracticalsoftwareisalsodevelopingrapidly.Which,MATLABsoftwarehasbecomethemostoptimizationsoftwareisoneofthemostwidelyused.WiththispowerfulcomputingplatformMATLAB,eitherusingMATLABoptimizationtoolbox(OptimizationToolbox)inthefunction,butalsocanachievetheappropriatealgorithmtooptimizeintothecalculation.Keywords:Optimization、Goldensectionmethod、steepestdescentmethod、MATLAB、algorithm机械优化设计报告4目录摘要....................................................2第一章绪论.............................................5第二章黄金分割法的基本思想与原理........................62.1黄金分割法的基本思路......................................62.2算法流程图................................................72.3用matlab编写源程序.......................................72.4黄金分割法应用举例........................................8第三章最速下降法的基本思想与原理........................93.1最速下降法的基本思路......................................93.2算法流程图...............................................113.3用matlab编写源程序......................................113.4最速下降法应用举例.......................................13第四章惩罚函数法的基本思想与原理.......................134.1惩罚函数法的基本思路.....................................134.2算法流程图...............................................144.3用matlab编写源程序......................................144.4最速下降法应用举例.......................................16第五章总结............................................17参考文献...............................................18机械优化设计报告5第1章绪论在人类活动中,要办好一件事(指规划、设计等),都期望得到最满意、最好的结果或效果。为了实现这种期望,必须有好的预测和决策方法。方法对头,事半功倍,反之则事倍功半。优化方法就是各类决策方法中普遍采用的一种方法。历史上最早记载下来的最优化问题可追溯到古希腊的欧几里得(Euclid,公元前300年左右),他指出:在周长相同的一切矩形中,以正方形的面积为最大。十七、十八世纪微积分的建立给出了求函数极值的一些准则,对最优化的研究提供了某些理论基础。然而,在以后的两个世纪中,最优化技术的进展缓慢,主要考虑了有约束条件的最优化问题,发展了一套变分方法。六十年代以来,最优化技术进入了蓬勃发展的时期,主要是近代科学技术和生产的迅速发展,提出了许多用经典最优化技术无法解决的最优化问题。为了取得重大的解决与军事效果,又必将解决这些问题,这种客观需要极大地推动了最优化的研究与应用。另一方面,近代科学,特别是数学、力学、技术和计算机科学的发展,以及专业理论、数学规划和计算机的不断发展,为最优化技术提供了有效手段。现在,最优化技术这门较新的科学分支目前已深入到各个生产与科学领域,例如:化学工程、机械工程、建筑工程、运输工程、生产控制、经济规划和经济管理等,并取得了重大的经济效益与社会效益。机械优化设计是最优化技术在机械设计领域的移植和应用,其基本思想是根据机械设计的理论,方法和标准规范等建立一反映工程设计问题和符合数学规划要求的数学模型,然后采用数学规划方法和计算机计算技术自动找出设计问题的最优方案,求解优化问题可以采用解析法,也可以采用数值法。由于数值法可用于求复杂函数的优化解,也可以用于处理没有数学解析表达式的优化设计问题,因此它是实际问题中常用的解法,很受重视。机械优化设计报告6第2章黄金分割法的基本思想与原理2.1黄金分割法的基本原理与步骤一维搜索是解函数极小值的方法之一,其解法思想为沿某一已知方向求目标函数的极小值点。一维搜索的解法很多,这里主要采用黄金分割法(0.618法)。该方法用不变的区间缩短率0.618代替斐波那契法每次不同的缩短率,从而可以看成是斐波那契法的近似,实现起来比较容易,也易于人们所接受。黄金分割法是用于一元函数f(x)在给定初始区间[a,b]内搜索极小点xmin的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,但它只适用于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、对称原则、以及等比收缩原则来逐步缩小搜索区间。具体步骤是:在区间[a,b]内取点:a1,a2把[a,b]分为三段。①如果f(a1)f(a2),令a=a1,a1=a2,a2=a+0.618*(b-a);②如果f(a1)f(a2),令b=a2,a2=a1,a1=b-0.618*(b-a);如果|(b-a)/b|和|(y1-y2)/y2|都大于收敛精度ε重新开始循环。因为[a,b]为单峰区间,这样每次可将搜索区间缩小0.618倍,处理后的区间都将包含极小点的区间缩小,然后在保留下来的区间上作同样的处理,如此迭代下去,将使搜索区[a,b]逐步缩小,直到满足预先给定的精度时,即获得一维优化问题的近似最优解。插入点原理图如下:机械优化设计报告72.2算法流程图2.3用matlab编写源程序编写程序,并且输出每次的搜索区间。则源程序如下:golden程序function[x,fval]=golden1(f,a,b,eps)k=0;a1=a+0.382*(b-a);%插入点的值a2=a+0.618*(b-a);y1=f(a1);y2=f(a2);whileabs(b-a)=eps%循环条件,eps为收敛精度ify1=y2%比较插入点的函数值的大小a=a1;%缩短搜索区间a1=a2;y1=y2;机械优化设计报告8a2=a+0.618*(b-a);y2=f(a2);elseb=a2;a2=a1;y2=y1;a1=b-0.618*(b-a);y1=f(a1);endk=k+1;end%停止迭代x=(a+b)/2;%取最后两点的平均值作为极小点的数值近似解fval=f(x);fprintf('k=\n');%显示迭代次数disp(k);end2.4黄金分割法应用举例例1根据0.618算法编写程序,求函数36102ttf(t)在区间10,0上的极大值。解:程序为:z=@(t)t^2-10*t+36;[x,fval]=golden(z,0,10,10^-6)运行结果:k=34机械优化设计报告9t=5.0000fval=11.0000说明最小值点为5*t,最小值为11)(*tf,迭代次数为34第3章最速下降法的基本思想与原理3.1最速下降法基本思路最速下降法的搜索法向是目标函数的负梯度方向,最速下降法从目标函数的负梯度方向一直前进,直到到达目标函数的最低点。已知目标函数在()kX点的梯度为:()()()()12...TkkkknfXfXfXfXxxx当求目标函数的最小点时,由于函数沿负梯度方向下降最快,故在()kX点的探索方向应取该点的负梯度方向,即机械优化设计报告10()()()kkkfXSfX显然,()kS为单位向量。这样第1k次迭代计算所得的新点为()()(1)()()()()()kkkkkkkkfXXXSXfX负梯度仅给出了最优化方向,而没有给出步长的大小,所以可能有各种各样的最速下降的过程,它们依赖于()()kkfX的大小。步长()k有两种取法:一种方法是任意给定一个初始步长,使满足条件:()()()()()()kkkkfXSfX另外一种方法是沿负梯度方向做一维探索,以求解一维最优化问题的最优步长,即对目标函数极小,以得到最优步长:()()()()()0min()()kkkkkfXSfXS以此最优步长作为由()kX点出发沿该点的负梯度方向探索的步长()k。这种方法的迭代计算的收敛性,可用以下三式中的任一式或二式作为准则来进行判断:()1()(1)2()()(1)3kkkkkkfXfXfXfXXX用最速下降法求无约束多维极值问题min(),nfxxR的算法步骤如下:(1)取初始点(0)x,精度0,令0k(2)计算搜索方向()()()kkvfx,其中()()kfx表示函数()fx在点()kx处的梯度;(3)若()kv,则停止计算;否则,从()kx出发,沿()kv进行一维搜索,即求k,使得()()()()0()min()kkkkkfxvfxv
本文标题:【精选】最优化课程设计 黄金分割法及其算法实现3
链接地址:https://www.777doc.com/doc-3323149 .html