第7章-MATLAB辅助优化计算

上传人:su****e 文档编号:243374924 上传时间:2024-09-22 格式:PPT 页数:57 大小:381.50KB
返回 下载 相关 举报
第7章-MATLAB辅助优化计算_第1页
第1页 / 共57页
第7章-MATLAB辅助优化计算_第2页
第2页 / 共57页
第7章-MATLAB辅助优化计算_第3页
第3页 / 共57页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7,章,MATLAB,辅助优化计算,MATLAB,优化工具箱函数选用,工程优化算法及,MATLAB,实现,7.1 MATLAB,优化工具箱函数选用,MATLAB 6.5,中,的优化工具箱(Optimization,Toolbox)中含有一系列的优化算法函数,这些函数拓展了MATLAB,6.5数字计算环境的处理能力,可以用于解决以下工程实际问题,:,求解无约束条件非线性极小值;,求解约束条件非线性极小值,包括目标逼近问题、极大极小值问题,以及半无 限极小值问题;,求解一次规划和线性规划问题;,非线性最小二乘逼近和曲线拟合:,非线性系统的方程求解;,约束条件下的线性最小二乘优化;,求解复杂结构的大规模优化问题。,说明:,优化工县箱中的所有函数都对应于一个,MATLAB 6.5,的,-M,文件,这些,-M,文件通过使用,MATLAB 6.5,的基本语句实现了具体的优化算法。,1,优化工具箱的工程应用步骤,用,MATLAB 6.5,优化工具箱解决实际工程应用问题可概括为以下,3,个步骤:,根据所提出的最优化问题,建立优化问题的数学模型,确定变量,列出约束条件和目标函数;,对所建立的模型进行具体分析和研究,选择合适的最优化求解方法;,根据最优化方法的算法,列出程序框图、选择优化函数和编写语言程序,用计算机求解。,2,线性规划及其优化工具箱函数选用,规划问题的数学模型包含三个组成要素:,(1),决策变量,,指决策者为实现规划目标采取的方案、措施,是问题中要确定的未知量:,(2),目标函数,,指问题要达到的目的要求,表示为决策变量的函数;,(3),约束条件,,指决策变量取值时受到的各种可用资源的限制,表示为含决策变量的等式或不等式。,如果在规划问题的数学模型中,决策变量为可控的连续变量,目标函数和约束条件都是线性的,这类模型称为线性规划问题的数学模型。,规定线性规划的标准型为,上述线性规划问题可简写为,对于标准形式的线性规划的可行解等价于线性方程组,Ax,=,b,的非负解。,在,MATLAB 6.5,优化工具中,用于求解线性规划的函数节有,linprog,,用法如下,例,结果输出,程序,E0102,3,无约束非线性规划,线性规划的目标函数和约束条件部是其自变量的线性函数,如果目标函数或约束条件中包含自变量的非线性函数,则这样的规划问题就属于非线性规划。有些实际问题可以表达成线性规划问题,但有些实际问题则需用非线性规划的模型来表达,借助于非线性规划的解怯来求解。有约束问题与无约束问题是非线性规划的两大类问题,它们在处理方法上有明显的不同。,在,MATLAB 6.5,优化工具箱中用于求解无约束非线性规划的函数有:,fminsearch,和,fminunc,,用法介绍如下。,fminsearch,函数,【,工程应用背景,】,【,实例分析,】,m,文件,结果输出,主程序,Eyh01,fminunc,函数,【,工程应用背景,】,【,实例分析,】,m,文件,Eyh02,结果输出,主程序,注意:,求解无约束条件下多变量函数的最小值,fminsearch,函数和,fminunc,函数意义相同。,4,约束最优化,由于线性规划和二次规划问题都比较容易求解、所以人们很自然地想到:把要求解的一般非线性约束优化问题线性化然后用线性规划来逐步求其近似解这种方法称为线性逼近法或序列线件规划法,(SLP),。但是线性逼近法的精度差,收敛速度慢,而近二十年二次规划的解法得到很大发展,有了比较有效的算法,因此近十年来用二次规划的方法即序列二次规划法获得了突出的进展,成为当前世界上,最流行的重要的约束优化算法之一。,在,MATLAB 6.5,优化工具箱中用于求解约束最优化问题的函数有:,fminbnd,、,fmincon,、,fsemcnf,、,quadprog,和,fminmax,,用法介绍如下。,fminbnd,函数,【,工程应用背景,】,【,实例分析,】,m,文件,结果输出,主程序,Eyh03,fmincon,函数,【,工程应用背景,】,已知约束条件,求解函数,f,(,x,),的极小值,,其中,x,,,b,,,beq,,,lb,和,ub,均是向量;,A,和,Aeq,是矩阵;,c,(,x,),和,ceq,(,x,),是返回值为向量的函数;,f,(,x,),是一个返回值为标量的函数;而且,c,(,x,),,,ceq,(,x,),和,f,(,x,),可以是非续性函数。,【,实例分析,】,分析:,将约束条件化为两个不等式:,从而可将它们写成矩阵不等式的形式:,结果输出,主程序,m,文件,Eyh04,fsemcnf,函数,quadprog,函数,fminmax,函数,5,多目标规划,多目标最优化问题的最早出现,应追溯到,1972,年,,Franklin,提出了多目标问题矛盾如何协调的问题。但国际上一般认为多目标最优化问题是由法国经济学家,V.,Pareto,在,1896,年提出的,当时从政治经济学角度提出多目标最优决策问题。,1938,年,,Cournot,从经济学的角度提出了多目标问题的模型;,1944,年,,Von Neumann,等人从对策论(博弈论)的角度,提出具有多个决策者、而又有彼此互相矛盾的多目标决策问题。,1951,年,,T. C.,Koopman,从生产和分配的的活动分析中,提出了多目标最优化问题,并正式使用,Pareto,最优概念。同年,,H. W.,Kuhn,和,A. W.,Tucher,从数学规划的角度,提出向量极值的,Pareto,最优概念,并给出了有效解的充分必要条件。,1963,年,,L. A.,Zadeh,又从控制论的角度,提出了多准则问题。,1968,年,,Z.,Johnsen,系统地提出了关于多目标决策模型的研究报告,这是多目标最优化这门学科开始发展的一个转折点。,多目标规划的一般形式为,或者记为,求解多目标规划的最基本方法为评价函数法,评价函数法的基本思想是:借助于几何或应用中的直观背景,构造所谓的评价函数,从而将多目标优化问题转化为单目标优化问题。然后利用单目标优化的求解方法求出最优解,并把这种最优解当作多目标规划的最优解。,在,MATLAB 6.5,优化工具箱中,用于求解多目标最优化问题的函数有:,fgoalattain,,用法介绍如下。,具体的参数含义如下:,fun,:代表要优化的目标函数,它的变量为向量,x,、返回庄,x,点处向量值,F,。在实际编程中,,fun,可以有两种形式:,一是,fun,为一个函数句柄,如,x=fgoalattain(myfun,x0,goal,weight),,其中,myfun,是用户自定义的,MATLAB,函数,即:,function F=,myfun(x,),F,计算函数在,x,点的值。,二是,fun,为一个内联对象,(inline object,)。如,x=,fgoalattain(inline(sin(x,), x0, goal, weight),;,goal,:代表函数,fun,要逼近的目标值,是一个向量,它的维数大小等于目标函数,fun,返回向量,F,的维数大小。,fgoalattain,的优化过程就是使得,F,逼近,goal,;,weight,:代表给定的权值向量,用于控制目标逼近过程的步长;,nonlcon,:函数由每一个输入变量,x,计算出,c,和,ceq,,用于估计给定,x,点的非线性不等式,c,(x),0,和非线件等式,ceq,(x,)=0,。,nonlcon,可以是一个函数句柄,含义同“,myfun,”,。,options,:,设置优化选项参数,具体意义解释如下:,Display,设置显示算法返回值的类别,“,off”,表示不实现结果,“,iter,”,表示每次迭 代都显示返回值,“,final”,表示只显示最后返回值;,MaxFunEval,:设置算法中函数估计的最大数目;,MaxIter,:设置算法迭代的最大次数;,TolX,:设置使算法终止的,x,值。,fval,:返回目标函数在最优解,x,点的函数值:,Exitflag,:返回算法的终止标志。,Exitflag,0,表示算法因求得了最小值而停止;,Exitflag,=0,表示算法因迭代次数越限而停止;,Exitflag,0,表示算法因函数值发散而停止;,Output,:是一个返回优化算法信息的结构,它的成员,iterations,返回迭代的次数。,funCount,返回算法中函数估汁值的数目,,algorithm,使用的算法。,7.2,工程优化算法及,MATLAB,实现,在,MATLAB 6.5,优化工具箱中,针对无约束优化问题,,fminunc,函数使用了,拟牛顿法,。,【,范例分析,】,考虑如下问题:求解,x,=,x,1,x,2,,使得,m,文件,主程序,结果输出,在,MATLAB 6.5,优化工具箱中,针对无约束优化问题,,fmincon,、,fminimax,、,fseminf,和,fgoalattain,函数使用了,SQP,(,Sequential Quadratic Programming,)算法。,【,范例分析,】,这部分是有约束优化问题的几个例子,并给出了详细的,MATLAB,源代码。,1,非线性不等式约束,分析,:,这样的非线性约束优化问题可以用,MATLAB,优化工具箱中的,fminncon,函数来求解因为约束为非线性约束,所以不可能将约束条件信息直接包含再函数的输入参数中,必须编写函数返回在每一个点,x,处的约束值,然后再调用优化函数,fminncon,;,另一方面,,fminncon,函数要求的约束条件一般为,c(x,) 0,,所以将约束改为:,m,文件,m,文件,主程序,结果输出,2,边界约束问题,分析,:,此问题在非线性约束的基础上增加了变量,x,的边界条件,在,fmincon,函数输入参数中加上,lb,和,ub,参数即可,。,主程序,结果输出,3,等式问题,m,文件,结果输出,习题,-1,习题,-2,习题,-3,习题,-4,习题,-5,习题,-6,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!