ImageVerifierCode 换一换
格式:PPT , 页数:46 ,大小:728KB ,
资源ID:15492692      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15492692.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最优化问题的matlab求解_精品文档PPT资料.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最优化问题的matlab求解_精品文档PPT资料.ppt

1、,f=inline(x(1)2-2*x(1)*exp(-x(1)2-x(2)2-(1)*x(2),x);x0=0,0;ff=optimset;ff.Display=iter;x=fminsearch(f,x0,ff)x=fminunc(f,x0,ff),基本用法:x=fminunc(fun,x0)x=fminunc(fun,x0,options,P1,P2,.),fun.m f(x)的m文件名x0 初始点;x 最优解P1,P2,传给fun的参数中间输入项缺省用占据位置,function y=fun071(x,a,b)y=x(1)2/a+x(2)2/b;,x0=1,1;a=2;b=2;x=fmi

2、nunc(fun071,x0,a,b),3、全局最优解和局部最优解,例:,f=inline(exp(-2*t)*cos(10*t)+exp(-3*(t+2)*sin(2*t),t);t0=1;t1,f1=fminsearch(f,t0),t1=0.92275390625000,f1=-0.15473299821860,t0=0.1;t2,f2=fminsearch(f,t0),t2=0.29445312500000,f2=-0.54362463738706,目标函数:,约束条件:,约束最优化,1、线性规划,目标函数:,其中:,价值向量,资源向量,决策变量向量,目标函数:,命令形式2:X,f,f

3、lag,c=linprog(C,A,b,Aeq,Beq,xm,xM,x0,opt)功能:各个参数的解释如前,若各个约束条件不存在,则用空矩阵来代替。,c=-2,-1,-4,-3,-1;A=0 2 1 4 2;3 4 5-1-1;b=54;62;Ae=;Be=;xm=0,0,3.32,0.678,2.57;ff.LargeScale=off;%是否采用大规模算法 ff.TolX=1e-15;%解的控制精度 ff.Display=iter;%显示信息的级别 X,f,flag,c=linprog(c,A,b,Ae,Be,xm,ff),目标函数:,2、二次规划,命令形式:X,f,flag,c=quad

4、prog(H,C,A,b,Aeq,Beq,xm,xM,x0,opt)功能:求解,H=4,-4;-4,8;C=-6,-3;A=1,1;4,1;b=3;9;ff.TolX=1e-15;X,f,flag,c=quadprog(H,C,A,b,Ae,Be,zeros(2,1),ff),定义 如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题,一般形式:(1)其中,是定义在 En 上的实值函数,简记:,其它情况:求目标函数的最大值或约束条件为大于等于零的情况,都可通过取其相反数化为上述一般形式,非线性规划,其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量

5、,其它变量的含义与线性规划、二次规划中相同.,(1)间接法(2)直接法,直接搜索法以梯度法为基础的间接法,非线性规划的求解算法,间接法,在非线性最优化问题当中,如果目标函数能以解析函数表示,可行域由不等式约束确定,则可以利用目标函数和可行域的已知性质,在理论上推导出目标函数为最优值的必要条件,这种方法就称为间接法(也称为解析法)。一般要用到目标函数的导数。,直接法,直接法是一种数值方法。这种方法的基本思想是迭代,通过迭代产生一个点序列 X(k),使之逐步接近最优点。只用到目标函数。如黄金分割法、Fibonacci、随机搜索法。,迭代法一般步骤,注意:数值求解最优化问题的计算效率取决于确定搜索方

6、向P(k)和步长 的效率。,最速下降法(steepest descent method)由法国数学家Cauchy于1847年首先提出。在每次迭代中,沿最速下降方向(负梯度方向)进行搜索,每步沿负梯度方向取最优步长,因此这种方法称为最优梯度法。特点:方法简单,只以一阶梯度的信息确定下一步的搜索方向,收敛速度慢;越是接近极值点,收敛越慢;它是其它许多无约束、有约束最优化方法的基础。该法一般用于最优化开始的几步搜索。,最速下降法算法:,1.首先建立M文件fun.m,定义目标函数F(X):function f=fun(X);f=F(X);,用Matlab求解上述问题,基本步骤分三步:,Matlab求解

7、步骤,3.建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下:(1)x=fmincon(fun,X0,A,b)(2)x=fmincon(fun,X0,A,b,Aeq,beq)(3)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon)(5)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon,options)(6)x,fval=fmincon(.)(7)x,fval,exitflag=fmincon(.)(8)x,fval,e

8、xitflag,output=fmincon(.),输出极值点,M文件,迭代的初值,参数说明,变量上下限,输入参数的几点说明,模型中如果没有A,b,Aeq,beq,VLB,VUB的限制,则以空矩阵 作为参数传入;nonlcon:如果包含非线性等式或不等式约束,则将这些函数编写一个Matlab函数,nonlcon就是定义这些函数的程序文件名;不等式约束 G(x)=0等式约束 Ceq(x)=0.如果nonlcon=mycon;则myfun.m定义如下function G,Ceq=mycon(x)G=.%计算非线性不等式约束在点x处的函数值Ceq=.%计算非线性等式约束在点x处的函数值,对参数non

9、lcon的进一步示例,2个不等式约束,2个等式约束3个决策变量x1,x2,x3如果nonlcon以mycon1作为参数值,则程序mycon1.m如下,对照约束条件编写myfun1.m,function G,Ceq=mycon1(x)G(1)=x(1)*x(1)+x(2)*x(2)+x(3)*x(3)-100G(2)=60-x(1)*x(1)+10*x(3)*x(3)Ceq(1)=x(1)+x(2)*x(2)+x(3)-80Ceq(2)=x(1)3+x(2)*x(2)+x(3)-80,注意:1 fmincon函数提供了大型优化算法和中型优化算法。默认时,若在fun函数中提供了梯度(options

10、参数的GradObj设置为on),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。2 fmincon函数可能会给出局部最优解,这与初值X0的选取有关。,1、写成标准形式:s.t.,2x1+3x2 6 s.t x1+4x2 5 x1,x2 0,例,2、先建立M-文件 fun3.m:function f=fun3(x);f=-x(1)-2*x(2)+(1/2)*x(1)2+(1/2)*x(2)2,3、再建立主程序youh2.m:x0=1;1;A=2 3;1 4;b=6;5;Aeq=;beq=;VLB=0;0;VUB=;x,fval=f

11、mincon(fun3,x0,A,b,Aeq,beq,VLB,VUB),4、运算结果为:x=0.7647 1.0588 fval=-2.0294,1先建立M文件 fun4.m,定义目标函数:function f=fun4(x);f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);,x1+x2=0 s.t.1.5+x1x2-x1-x2 0-x1x2 10 0,例,2再建立M文件mycon.m定义非线性约束:function g,ceq=mycon(x)g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;ceq=;,3主程

12、序为:x0=-1;A=;b=;Aeq=1 1;beq=0;vlb=;vub=;x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),3.运算结果为:x=-1.2250 1.2250 fval=1.8951,非负条件下线性最小二乘 lsqnonneg,适合如下模型:,注意:约束只有非负约束,语法:,x=lsqnonneg(c,d)x=lsqnonneg(c,d,x0)x=lsqnonneg(c,d,x0,options),语法:,x=lsqlin(C,d,A,b)x=lsqlin(C,d,A,b,Aeq,beq)x=lsqlin(C,d,A,b,Ae

13、q,beq,lb,ub)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)x,resnorm=lsqlin(.)x,resnorm,residual=lsqlin(.)x,resnorm,residual,exitflag=lsqlin(.)x,resnorm,residual,exitflag,output=lsqlin(.)x,resnorm,residual,exitflag,output,lambda=lsqlin(.),非线性最小二乘lsqnonlin,适合模型:,语法:,x=lsq

14、nonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,lb,ub,options)x=lsqnonlin(fun,x0,options,P1,P2,.)x,resnorm=lsqnonlin(.)x,resnorm,residual=lsqnonlin(.)x,resnorm,residual,exitflag=lsqnonlin(.)x,resnorm,residual,exitflag,output=lsqnonlin(.)x,resnorm,residual,exitflag,output,lambda=lsqnonlin(.)x,resnorm,residual,exitflag,output,lambda,jacobian=lsqnonlin(.),例:求解x,使得下式最小,resnorm 等于 norm(C*x-d)2residual 等于C*x-d,返回参数说明,编写M文件myfun.m计算向量F,function F=myfun(x)k=1:10;F=2+2*k-exp(k*x(1)-exp(k*x(2);,调用优化函数lsqnonlin,%给定搜索起点x0=0.3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1