基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:3938841 上传时间:2023-03-28 格式:DOC 页数:36 大小:2.14MB
返回 下载 相关 举报
基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc_第1页
第1页 / 共36页
基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc_第2页
第2页 / 共36页
基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc_第3页
第3页 / 共36页
基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc_第4页
第4页 / 共36页
基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于MATLAB约束优化方法教学软件包的设计毕业设计论文.doc(36页珍藏版)》请在三一办公上搜索。

1、 景德镇陶瓷学院毕业设计(论文)开题报告中文题目:关于MATLAB约束优化算法软件包的设计 英文题目: DESIGN OF RESTRAINT OPTIMIZATION SOFTWAREFOR INSTRUCTION BASED ON MATLAB 院 系: 机械电子工程学院 专 业: 机械设计制造及其自动化 摘 要优化设计作为现代设计方法之一,在各个领域起着越来越重要的作用。机械优化设计是机械设计类专业的一门必修课程,其中优化设计方法理论性较强,学生不易理解,从而使得学生在学习过程中倍感吃力。本课题研制了一个基于MATLAB的约束优化算法软件包,该软件包有着友好的图形用户界面(GUI)和求解

2、的直观性。图形用户界面由参数输入框、结果输出框和结果图形化三部分组成。运用该软件可以帮助学生更好地理解优化算法的寻优过程,使抽象的问题具体化。本文介绍了约束优化算法软件包的开发过程和其使用方法,对计算机辅助教学有一定的帮助。关键词:优化设计 软件包 图形用户界面 ABSTRACTAs one of the primary modem design ways, optimization plays a more important role then ever in kinds of areas.optimization design of machinicsis one of necessit

3、y courses of machinical design domain,in which optimization methods were abstrctive,it is hard to understand and this reslut the students felt difficulty in study process.In this task, the design of restraint optimization software based on MATLAB is introduced,what has a very friendly graphic user i

4、nterface (GUI) and make the resluts visual.The GUI was consisted of the parameter input frame、the parameter output frame and the figure of outcomes.The software can help the students understanding the process of looking for the best point,and to change the abstractive problem specific.In this paper,

5、the process of open up and the method of using were introduced about the restraint optimization software,which may apply some help for the computer aided instruction.Keywords: optimal design software package graphic user interface目录摘 要2Abstract31 绪论51.1 本课题的现状及其研究意义512 本课题的主要工作62 优化算法原理82.1 最优化设计的数学

6、模型822约束优化算法9221 惩罚函数内点法102212 惩罚函数内点法的迭代步骤:122213 应注意的问题:13222 DFP变尺度法162221 DFP变尺度法的原理162222 DFP变尺度法的计算步骤18223 惩罚函数外点法192231 惩罚函数外点法的原理192232 惩罚函数外点法的迭代步骤:21224 惩罚函数混合法232241 惩罚函数混合法的原理232242 惩罚函数混合法的迭代步骤:25225 三种算法的比较253软件开发及其使用2731 软件开发过程2732 软件的使用284.1 优化算例304.2 结果分析315 结论33致谢34参考文献35 1 绪论机械产品的传

7、统设计方法,是根据产品的功能要求与使用条件,通过估算,类比或实验确定设计方案,然后进行强度、刚度、稳定性和动态特性等的分析验算,如果达不到要求,则修改有关参数,再进行验算,直至满足设计要求,这种设计方法不仅消耗大量的时间与精力,而且最终方案也是一种可行方案,并不是最佳方案。 机械优化设计就是把机械设计与数学规划理论及方法相结合,借助电子计算机,寻求最优设计方案和最佳设计参数。优化设计是设计方法上的一大进步,在工程设计中采用优化设计方法,可以提高产品的设计质量,减轻设备自重,降低材料消耗与制造成本。现代计算机技术的快速发展,促进了数值计算寻优方法的发展和推广应用,设计者在建立了优化设计的数学模型

8、基础上,可通过各种语言编制优化方法程序,用计算机进行迭代计算求解。1.1 本课题的现状及其研究意义从70 年代起, 优化方法开始应用于工程设计,各个专业的优化设计研究工作有了不同程度的发展,出现了许多与各专业相联系的工程优化设计软件。在机械行业中, 有许多用于工程设计的优化软件, 目前最常见的有华中科技大学的优化方法程序库OPB-2和优化方法程序库OPB-1等。这类优化软件着重于优化方法的研究和实现, 不仅提供了一批可高效可靠地处理连续设计变量优化问题的方法及程序,而且提供了一批可处理混合离散设计变量优化问题的方法及程序, 其中优化方法程序库OPB-2包含了许多现代设计方法, 如人工智能等方法

9、。另外还有一些与专业联系紧密的优化设计软件, 如减速器的优化设计软件等, 主要是各应用单位自行研制, 有很强的针对性。这些应用软件丰富多样, 大大推动了优化方法在机械工程结构设计中的应用。在我国, 优化设计的推广和应用也遇到很多问题, 主要表现在目前的优化设计应用软件都存在一定的局限性。例如, 机械优化设计软件应把各种机械优化设计模型、各种优化方法及一些其他辅助功能集成为一个有机的整体, 以便用户使用。但现有许多通用的优化设计应用软件和专业联系并不是十分紧密, 可视性、可操作性不是很好。当用户进行实际工程结构优化设计时, 不仅必须创建自己复杂的数学模型, 而且要编制一些程序, 然后调用软件中的

10、某一优化子程序。这就要求用户除了必须熟悉编程环境外, 还要对程序库本身有一定的了解, 这使设计人员的工作量加大, 专业性加强, 阻碍了优化设计的推广和应用。有些专用的优化软件虽然与专业设计联系十分紧密, 但优化模型的针对性太强, 优化设计模型与优化方法都比较单一。同时, 现有的优化软件考虑软件的扩展性较少, 使用很不方便, 甚至无法求解。面对千差万别的工程设计问题, 要求优化模型及优化方法具有多样性。国外的优化软件目前来说较成熟和应用较广的为MATLAB的优化工具箱。MATLAB(MATrix LABoratory)是功能十分强大的工程计算及数值分析软件。80年代中期,Mathworks公司将

11、MATLAB投向市场。90年代又逐步拓展其数值计算、符号解析运算、文字处理、图形功能等等,并采用面向对象的超高级语言作为用户界面,使MATLAB成为一个多领域、多学科、多功能的优秀科技应用软件,占据了数值型软件市场的主导地位。 利用MATLAB的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。运用此工具箱进行优化求解时,要先对优化问题进行分析,建立优化数学模型,定义目标函数,对于约束优化问题要同时定义出其约束条件,列出约束函数。然后利用文件编辑器编写一个能返回函数值的m文件,即把函数表达式写入MATLAB系统中,再在命令窗口调用优化程序,就能得到优化解。 不论是国内研制的优化方法程序

12、库OPB-1、优化方法程序库OPB-2、具有很强专业性的优化设计软件,还是国外常用的matlab的优化工具箱,都没有提供图形用户界面,使用起来非常不方便,而且对于一般的院校来说,为了教学而去购买那些软件是很不现实的,基于此,开发一种用于教学的可视化优化设计软件包是很有意义的。12 本课题的主要工作利用Matlab软件开发和编写约束优化方法软件包,包括间接解法中的内点、外点和混合惩罚函数法,并提供用户可视化界面。主要做了以下工作:(1) 编写内点、外点和混合惩罚函数法源程序;(2) 制作用户图形界面(GUI),并使其有以下功能特点: 该软件易于使用,操作简单,界面友好,不需要用户具备编程能力;

13、为用户提供输入数学模型、选择算法、确定初始操作参数、显示运行结果等一系列服务; 通过良好的可视化界面,可以较直观地了解寻优求解的过程。(3) 软件具有一定的错误检测功能;(4) 优化计算结果可以达到一定的精度。2 优化算法原理“最优化设计”是在现代计算机广泛应用的基础上发展起来的一项新技术,是根据最优化原理和方法综合各方而的因素,以人机配合方式或“自动探索”方式,在计算机上进行的半自动或自动设计,以选出在现有工程条件下的最佳设计方案的一种现代设计方法。其设计原则是最优设计;设计手段是电子计算机及计算程序;设计方法是采用最优化数学方法。2.1 最优化设计的数学模型选取设计变量、列出目标函数、给定

14、约束条件后便可构造最优化设计的数学模型。任何一个最优化问题均可归结为如下的描述,即:在满足给定的约束条件(决定n维空间En中的可行域)下,选取适当的设计变量x,使其目标函数f(x)达到最忧值。其数学表达式(数学模型)为设计变量 = T,XEn在满足约束条件 v=1,2,p u=1,2,m的条件下,求目标函数f(x)的最优值。目标函数的最优值一般可用最小值(或最大值)的形式来体现,因此,最优化设计的数学模型可简化表示为min s.t.(subject to) v=1,2,p u=1,2,m建立数学模型是最优化过程中非常重要的一步,数学模型直接影响设计效果。对于复杂的问题,建立数学模型往往会遇到很

15、多困难,有时甚至比求解更为复杂。这时要抓住关键因素,适当忽略不重要的成分,使问题合理简化,以易于列出数学模型。另外,对于复杂的最优化问题,可建立不同的数学模型。这样,在求最优解时的易难程度也就不一样。有时,在建立一个数学模型后由于不能求得最优解而必须改变数学模型的型式。由此可见,在最优化设计工作中开展对数学模型的理论研究,十分重要。22约束优化算法优化问题按有无约束可分为无约束优化问题和约束优化问题。无约束优化问题指的是对设计变量的取值范围不加任何限制,无约束优化问题的一般形式为:求n维设计变量 = T使目标函数为 min x对X没有任何限制。在实际工程中,大部分问题的变量取值都有一定的限制,

16、也就是属于有约束条件的寻优问题。与无约束问题不同,约束问题目标函数的最小值是满足约束条件下的最小值,即是由约束条件所限定的可行域内的最小值。如图2-1(a)所示,而不一定是目标函数的自然最小值。另外,只要由约束条件所决定的可行域是一个凸集,目标函数是凸函数,其约束最优解就是全域最优解。否则,将由于所选择的初始点的不同,而探索到不同的局部最优解上,如图2-1 (b)所示。所以在这种情况下,探索结果经常与初始点的选择有关。为了能得到全域最优解,在探索过程中最好能改变初始点,有时甚至要改换几次。 (a) (b) 图2-1 约束最优解的解域对最优解的影响 (a)行域为凸集 (b)可行域为非凸集约束最优

17、化问题有解的条件为:(1)目标函数和约束函数为连续、可微函数,且存在一个有界的可行域;(2)可行域应是一个非空集,即存在满足约束条件的点列:(k=1,2,)。机械优化设计的问题,大多数属于约束优化设计问题,起数学模型为min s.t.(subject to) v=1,2,p u=1,2,m约束优化问题的约束条件一般有等式约束和不等式约束,根据求解方式的不同,可分为直接解法和间接解法等。221 惩罚函数内点法惩罚函数内点法是求解不等式约束最优化问题的一种十分有效的方法,但不能处理等式约束。其特点是将构造的新的无约束目标函数惩罚函数定义于可行域内,并在可行域内求惩罚函数的极值点,即求解无约束问题时

18、的探索点总是保持在可行域内部。2211 惩罚函数内点法原理对于目标函数受约束于的最优化问题,利用内点法求解时惩罚函数的一般表达式为 =或 =而对于受约束于的最优化问题,其惩罚函数的一般表达式为 =或 =式中 惩罚因子,是递减的正数序列。即0,。通常取10,01,001,0001,。 上述惩罚函数表达式的右边的第二项,称为惩罚项,有时还称为障碍项。只要设计点x在探索过程中始终保持为可行点,则惩罚项必为正值,且当设计点又由可行域内部远离约束边界处移向边界()时,则惩罚项的值就要急剧增大并趋向无穷大,于是惩罚函数亦随之急剧增大直至无穷大。这时对设计变量起惩罚作用,使其在迭代过程中始终不会触及约束边界

19、。因此,第二项使约束边界成为探索点的一个不能跳出可行域之外的障碍,所以又称为障碍项或障碍函数,也有称围墙函数的。由惩罚函数的表达式可知,对惩罚函数求无约束极值时,其结果将随给定的惩罚因子而异。为了取得约束面上的最优解,在迭代过程中就要逐渐减小惩罚因子的值,直至为零,这样才能迫使的极值点X*()收敛到原函数的约束最优点X*。可以把每次迭代所求得的的无约束极值的最优解X*()看作是以为参数的一条轨迹,当取0且时,点列X*()就沿着这条轨迹趋于的约束最优点。因此,惩罚因子又称为惩罚参数。内点法是随着惩罚参数的递减序列,使惩罚函数的无约束极值点X*()从可行域的内部向原目标函数的约束最优点逼近,直到达

20、到最优点。2212 惩罚函数内点法的迭代步骤:1) 取初始惩罚因子0(例如取1),允许误差c0;2) 在可行域内选取初始点,令kl;3) 从点出发用无约束最优化方法求解: 的极值点X*(); 4) 检验迭代终止准则:如果满足 和 则停止迭代计算,并以X*()为原目标函数的约束最忧解,否则转入下一步;5) 取C,X*(),kk+1,转向步骤3)。递减系数C01一05,常取01,亦可取002。内点法的计算程序框图如图2-2所示: 图2-2 内点法程序框图2213 应注意的问题:1) 初始点的选择因为内点法将惩罚函数定义于可行域内,故要求严格满足全部约束条件,且应避免位于边界上,即应使。在机械最优化

21、设计中,只要不顾及函数值的大小,这种点还是容易取得的。但当约束条件多而复杂时,要确定一个初始可行点也并不十分容易。为此可先对设计问题估计一个初始点,这一点可能已满足s个不等式约束条件,而剩下的(s-1)个约束条件未满足,即 先求 然后将作为目标函数,求使受约束于 (u=1,2,s) (u=s+1,s+2,m)由此构造惩罚函数并利用程序自身的惩罚函数法求它的极值点。在计算中一旦取得即可以停机以节省时间,这样得到的点作为初始点至少比原初始点要多满足一个约束条件。如此反复进行下去,直到所有约束条件均满足为止。求初始可行点的另一种常用方法,可按下述迭代计算步骤进行:I) 任取一点,(例如取),令k=0

22、;II) 定出下标集与: III) 检查是否为空集,若是则停止迭代,并取塞为初始内点,否则进行下一步;IV) 以为初始点,解问题受约束于 令所得的这个问题的最优解为,转下一步;V) 令 (C可取为01一05,常取01亦可取002),令kk+1,转向步骤II)。 还可以采用随机选择初始点的方法来寻找可行的初始点。2) 初始惩罚参数的选择 的选择对SUMT法的计算效率影响很大,在SUMT法中是个比较重要的环节,选择时需有一定的技巧和经验。若值选得太小,则在新目标函数即惩罚函数中惩罚项的作用就会很小,这时求的无约束极值,犹如求原目标函数本身的无约束极值,而这个极值点又不大可能接近的约束极值点,且有跑

23、出可行域的危险。相反,若值取得太大,则开始几次构造的惩罚函数的无约束极值点就会离约束边界很远,将使计算效率降低。可取l一50,但多数情况是取=1。通常,当初始点是一个严格的内点时,则应使惩罚项在新目标函数中所起的作用与原目标函数的作用相当,于是得 倘若约束区域是非凸的且初始点亦不靠近约束边界,则的取值可更小些,约为上式算得值的0105倍。当初姑点是一个接近边界的点时,按上式所求得的就会过小。这时应当加大值。但如果值又取得太大,则又会发生上述毛病。所以在求解时,应对做几次试算,以取得最合适值。222 DFP变尺度法惩罚函数内点法步骤3)中用到的无约束优化算法为DFP变尺度法。变尺度法是无约束最优

24、化方法在最近二十多年来发展中最有影响的研究成果之一,它被公认为求解无约束极值问题最有效的算法之一,这种方法是在牛顿法的基础上发展起来的。2221 DFP变尺度法的原理牛顿法以及修正牛顿法虽然收敛很快,但是计算较繁,需要计算二阶偏导数矩阵(Hessian矩阵)的逆矩阵,即,才能求得探索方向即牛顿方向: -如果能设法构造出一个对称正定矩阵来代替,并在迭代过程中使逐渐逼近,那末就简化了牛顿法的计算,且保持丁牛顿法收敛快的优点,这就是变尺度法的基本思想。由于这一类方法的迭代形式与牛顿法类似。 变尺度法的法代公式为 式中: 步长,可由式 求得; 探索方向 nxn阶对称正定矩阵。因为它是用来代替的,而且从

25、一次迭代到另一次迭代是变化的,故称为变尺度矩阵。其递推形式为 式中: E校正矩阵,它应只依赖于本次迭代的,和相应的梯度,向量。在迭代过程中应逐渐地逼近。如果能利用变尺度条件构造出一个矩阵来代替,再如果 能用来表示,而其中校正矩阵又可用一个统一的公式表示时,则只要知道(1)便可求出(2),并依次求出(3),(4),或者若已知,则可利用上式求出(k+1),(k+2),。计算时可取(0)I,即第l步探索是用负梯度方向。WCDavido提出并经过RF1etcher和MJDPowell修改的求校正矩阵的公式即所谓DFP公式为 因为n x n阶对称正定矩阵,故上式可写为 式中 利用上式求出校正矩阵后,便可

26、按式求出下一轮迭代的(k+1),。求出(k+1)后,便可按式的方法决定新的探索方向:可以证明,这样产生的方向也是共扼方向,而且对于非二次函数来说,它比用其它方法产生的共辆方向共扼性更好。DFP变尺度法在函数的梯度向量容易求出的情况下,是非常有效的。对于多维(n100)问题,由于收敛快、效果亦佳,被认为是无约束极值问题最好的优化方法之一。但是计算的程序较复杂,且需要较大的存贮量,特别是在有舍入误差时,也存在数值稳定性不够理想的情况。2222 DFP变尺度法的计算步骤1) 选定初始点并给定计算精度,维数n;2) 置k0,(0)I(单位矩阵),计算,这时探索方向为: =- 3) 进行一维探索求,使

27、4) 计算,如果,则即为极小点,停止迭代,否则转下一步;5)检查迭代次数,若k=n(问题的维数),则=,并转向步骤2),若kn,则进行下一步;6) 构造新的探索方向 为此应计算然后令 k=k+1,转向步骤3)。变尺度法的计算程序框图如图下所示: 图2-3 变尺度法程序框图223 惩罚函数外点法2231 惩罚函数外点法的原理与惩罚函数内点法将惩罚函数定义于可行域内且求解无约束问题的探索点总是保持在可行域内的特点不同,外点法的特点是将惩罚函数定义于约束可行域之外,且求解无约束问题的探索点是从可行域外部逼近原日标函数的约束最优解的。对于目标函数受约束于的最优化设计问题利用外点法求解时,作为无约束新目

28、标函数的惩罚函数,其一般表达式为 式中右边第二项惩罚项; 构造惩罚项函数的指数,其值将影响函数等值线在约束面处的性质,一般取2; 惩罚因子,是大于零的一个递增数列,即应满足: 0 (当时)在惩罚项中:(当时) 由此可见,当探索点在可行城内时,惩罚项为零;若不在可行域内,则不为零,且愈大,则受到的“惩罚”亦愈大。因此,要使极小,必须迫使惩罚项等于零,亦即要求满足约束条件,即迫使。这就保证了在可行域内与是等价的。当约束条件为,则函数的一般表达式为: 一般=2。同样有: 0(当时)在惩罚项中:(当时) 当约束条件中尚包括 (v1,2,p)的等式约束时,则在式中的右边尚需加进第三项惩罚项。对惩罚函数求

29、无约束极值,其结果将随给定的惩罚因子的值而异。可以将惩罚函数无约束极值问题的最优解看作是以为参数的一条轨迹,当取00应写为-x1-x20),应转变为标准格式:-x1+0*x20.4) 待所以参数录入完成后,单击按钮,软件自动寻优,计算结束后,寻优结果显示在结果输出框中;5) 对于二维数学模型,可以以图象的形式显示寻优结果,在计算完毕后,单击按钮,则可以在左边的绘图框中显示目标函数的等值线、约束条件图形线和每次迭代寻优所得的点。图形缩放条的作用是缩放图形的大小,以利于更好的理解迭代寻优的过程;6) 如果要进行下一次的寻优计算,则可单击 按钮,把输入参数、输出参数以及图形全部清除。4 优化算例与分

30、析4.1 优化算例算例一:s. t. 理论最优解:1 1T 1 分别用本课题开发的软件和matlab优化工具箱中优化函数求解,结果如表4-1所示:算法最优点最优值迭代次数罚函数内点法1 1112罚函数外点法1 10.999998罚函数混合法0.99999 1111matlab优化工具箱中优化函数fmincon1 11- 表4-1算例二:s. t. 理论最优解:3.512 0.217 3.552T 961.715分别用本课题开发的软件和matlab优化工具箱中优化函数求解,结果如表4-2所示: 算法最优点最优值迭代次数罚函数内点法-罚函数外点法3.5193 0.21847 3.5607961.5

31、4051罚函数混合法3.5121 0.21699 3.5522961.715210matlab优化工具箱中优化函数fmincon1.3845 2.6553 1.1071977.5471- 表4-2 算例二中,用matlab优化工具箱中优化函数fmincon求解时,命令窗口中出现如下提示:Maximum number of function evaluations exceeded; increase OPTIONS.MaxFunEvals.这说明优化工具箱的使用是比较烦锁的。4.2 结果分析从以上两个算例的结果可以看出:(1) 本课题开发的软件起搜索精度是高的;(2) 相对优化工具箱的优化函数

32、而言,其收敛速度不够快,还有待改进,但优化工具箱中的优化函数是matlab自带的函数,其优先级最高;(3) 在人机交互方面,本软件有着绝对的优势,图形用户界面友好、易懂,而优化工具箱中的优化函数使用起来颇费周章。5 结论 本课题研制开发了一个可视化的约束优化设计软件,适用于教学过程中帮助学生更好的理解优化算法的寻优过程,主要完成了以下工作:(1)完成了惩罚函数内点、外点和混合法程序的编制;(2)算法具有可选性,即用户可自主选择所需优化方法并设置优化参数;(3)可求解任意维的约束优化问题,对二维优化问题,提供模型等值线图和约束条件的图象以及每次寻优迭代的最优点。并可以适当的缩放生成的图形;(4)

33、本软件平台具有方便易用的图形用户界面(GUI );(5)提供了一定的错误检测功能。本软件有较好的稳定性,但是还不够成熟、完善,欲对软件进一步完善,还需要做以下方面的工作:(1) 添加完善约束优化方法;(2) 完善图形的缩放功能;(3) 优化过程的可视化,实时图形化地显示系统优化过程,让用户直观形象的了解系统的运行状态。(4) 编译成可执行文件(.exe),能脱离matlab单独运行。致谢 首先,要感谢我的导师韩文副教授,正是导师的循循善诱和悉心指导,使本课题毕业设计得以顺利完成。此外,导师严谨的学术作风和和蔼可亲的性格给我留下了深刻的印象。感谢我的同学刘正红和“振动论坛”上那些素不相识的人,在做课题期间给我无私的帮助,感谢学校为我提供了很好的做课题的环境。感谢所有的老师四年来对我的培养。最后更要感谢我的父母,多年来以他们辛勤的劳动培养并帮助我

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号