MATLAB辅助优化设计.ppt_第1页
MATLAB辅助优化设计.ppt_第2页
MATLAB辅助优化设计.ppt_第3页
MATLAB辅助优化设计.ppt_第4页
MATLAB辅助优化设计.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第7章MATLAB辅助优化设计,7.1辅助优化设计7.2线性规划7.3无约束非线性规划7.4约束最优化7.5方程求解,7.1辅助优化设计,设x=(x1,x2,xn)T为n维欧氏空间En的一点,f(x),gi(x)(i=1,2,m),hi(x)(i=m+1,p)为给定的n元函数,则一般最优化问题的提法是在约束条件:gi(x)=0,i=1m和hi(x)=0,i=m+1p之下,求向量x使函数f(x)取最小值(或极大值)。这里f(x)称为目标函数,gi(x)=0;,线性规划的标准形式要求目标函数最小化,不符合条件的线性模型首先转换成标准形式。在MATLAB工具箱中,可用linprog函数求解线性规划问题数学建模如下minf(x)A*x=bAeq*x=beqlb=x=x4x1+x2+x3+x4=1x1,x2,x3,x4=0,f(x)=-(0.15x1+0.1x2-0.08x3+0.12x4)-x1+x2+x3+x4=0,f=-0.15,-0.1,-0.08,-0.12;A=1,-1,-1,-1;0,-1,-1,1;b=0;0;Aeq=1111;beq=1;lb=0,0,0,0;x,fval=linprog(f,A,b,Aeq,beq,lb),Optimizationterminatedsuccessfully.x=0.50000.25000.00000.2500fval=-0.1300,7.3无约束非线性规划,目标函数或约束条件中包含自变量的非线性函数,则这类问题属于非线性规划。求解无约束非线性规划的常用方法为数值解法,数值解法中常用的是迭代法,它的基本思想是在给出极小点位置的一个初始估计x0后,计算一系列的xk(k=1,2,),希望点列xk的极限x*就是f(x)的极小点。,迭代法一般用xk+1-xk=ckdk其中dk为一个向量,ck为步长。由dk可以唯一确定dk+1。从而得到一个点列xk。如果这个点列逼近我们的极小点,便称他为极小化序列。各种迭代方法的区别在于ck和dk的选取不同,特别是方向的产生起着关键作用。选取的方法很多,但不是随机的,必须满足序列对应的函数值是逐渐减小的。其次算法应该收敛,即产生的序列具有收敛性,或者序列中的某一点本身就是f(x)的极小点,或者极限点就是极小点。这个要求是必须的,因为极小化序列不能收敛到极小点,那么我们构造的序列与极小点无关也就失去了意义。,一般最优化算法的迭代过程分四步(1)选择初始点x0各种方法、各类函数对初始点的要求不尽相同,但越靠近最优解越好(2)如果得到的迭代点xk不是最优解则要建立一套以产生方向dk使目标函数f(x)从xk开始有所下降。(3)选取步长ck。在多数算法中,ck的选取使f(x)下降最多,即沿射线xk+ckdk求f(x)极小值,这是单变量c的函数极小点问题,称为一维搜索。(4)检验新的迭代点是否为最优解或其近似解,如果不是继续迭代。,一维搜索方法试探法:通过一系列点的比较来确定极小点函数逼近法:用简单的曲线来代替原来的曲线,用近似曲线的极小点来代替原来曲线的极小点。常用方法:牛顿法、抛物线法、三次插值法。,函数格式:fminsearch函数x=fminsearch(fun,x0)x,fval=fminsearch()fun目标函数fval返回目标函数在最优解x点的函数值,例求函数f(x)=sin(x)+3f=inline(sin(x)+3);x0=2;x,fval=fminsearch(f,x0)x=4.7124fval=2.0000,fminuncx=fminunc(fun,x0)x=fminunc(fun,x0,options)x,fval=fminunc()x,fval,exitflag=fminunc()x,fval,exitflag,output=fminunc()x,fval,exitflag,output,grad=fminunc()x,fval,exitflag,output,grad,hessian=fminunc()fun目标函数options设置优化选项参数fval返回目标函数在最优解x点的函数值exitflag返回算法中止标志output返回优化算法信息的一个数据结构grad返回目标函数在最优解x点的梯度hessian返回目标函数在最优解x点的hessian矩阵值,例f(x)=3x(1)2+4x(1)x(2)+x(2)2f=inline(3*x(1)2+4*x(1)*x(2)+x(2)2);x0=1,1;x,val=fminunc(f,x0)x=1.0e-008*-0.75120.2479fval=1.3818e-016,7.4约束最优化,约束最优化的数学模型c(x),ceq(x)为函数,可以线性或非线性函数,求解约束最优化的函数:fminbnd,fmincon,fseminf,quadprog,fminimax(1)fminbnd已知函数f(x),fminbnd求解其在区间内的最小值,即。其中,均是标量,f(x)返回一个标量值。x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)x,val=fminbnd()fun目标函数x1,x2设置最优化变量给定区间的上下界options设置优化选项参数fval返回目标函数在最优解x点的函数值,例求函数在区间(0,5)的最小值f=inline(x-3)2-1);x,val=fminbnd(f,0,5)x=3val=-1,fmincon函数格式:x=fmincon(f,x0,A,b)x=fmincon(f,x0,A,b,Aeq,beq)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub)x,fval,exitflag=fmincon()x,fval,exitflag,output=fmincon()x,fval,exitflag,output,grad=fmincon(),例:取最小值的x值,设x0=10;10;10约束条件为f=inline(-x(1)*x(2)*x(3);A=-1,-2,-2;1,2,2;b=0;72;x0=10;10;10;x,val=fmincon(f,x0,A,b);x=24.000012.000012.0000val=-3.4560e+003,7.7方程求解,线性方程和方程组非线性方程非线性方程组,非线性方程函数格式:fzero求单变量连续函数的零点。x=fzero(fun,x0)fun目标函数x,fval=fzero()fval返回目标函数在最优解x点的函数值x,fval,exitflag=fzero()x,fval,exitflag,output=fzero(),例求在x=2附近的零点y=inline(x.3-2*x-5);z=fzero(y,2)z=2.0946,非线性方程组函数格式:x=fsolve(fun,x0);x=fsolve(fun,x0,options);x,fval=fsolve();x,fval,exitflag=fsolve();x,fval,exitflag,output=fsolve();,求

温馨提示

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

评论

0/150

提交评论