- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matla优化系列入门教程PPT优化问题
2。二阶梯度方法 这类方法很多,最简单的称为Newton-Raphson方法, 而最常用的是Quasi-Newton方法。 Quasi-Newton方法: use an approximation of the inverse Hessian. Form of approximation differs among methods 牛顿-拉夫逊法 BFGS method Broyden-Fletcher-Golfarb-Shanno DFP method Davidon-Fletcher-Powell 优化问题及matlab实现入门视频教程一 By考拉 2008.11 1、各种优化模型介绍 2、典型优化函数的使用方法 (线性、非线性、有约束、无约束、多目标规划,以及一般性非线性整型优化函数的使用和实例讲解) 3、优化中参数设置 4、matlab帮组系统的使用 5、工具箱的安装方法 优化问题分类 约束型 (constrained) 非约束型 (Unconstrained) 线性(linear) 非线性(Nonlinear) 整数型(integer) 混合型 (mixed integer) 多目标 (multiple objectives ) 非约束型规划问题 [x,fval,exitflag,output]= fminsearch(fun,x0) 实例:求函数 f=8x-4y+x^2+3y^2的最小值 f=8*x(1)-4*x(2) +x(1)^2+3*x(2)^2; 确定一个初始点的方法:[x,y]=meshgrid(-10:.5:10); f= 8*x-4*y +x.^2+3*y.^2; surf(x,y,f) 选初始点:x0=(0,0) x0=[0,0]; [x,fval,exitflag]=fminunc(@f,x0) 本例matlab代码example_1 可以从获得。 fminsearch和fminunc是matlab中关于无约束非线性 优化问题的两个函数,用来求解函数的极小值。 fminsearch()和fminunc(),前者适合处理阶次低但是间断点多的函数,后者则对于高阶连续的函数比较有效。 根据它们各自的实现原理来看(其中,前者是利用了单纯形法的原理,后者是利用了拟牛顿法的原理),这两个函数 都容易陷入局部优化,并且结果的正确与否还要取决于初值点x0的选取。?? ???? 有约束线性优化 [x,fval,exitflag,output,lambda] =linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 当我们用MATLAB软件作优化问题时, 所有求maxf 的问题化为求min(-f )来作。 约束g (x)≥0,化为 –g (x)≤0来作。 实例:生产计划问题 假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。 建立数学模型:设x1、x2分别为生产甲、乙 产品的件数。f为该厂所获总润。 max f=70*x(1)+120*x(2) ??s.t? 9*x(1)+4*x(2)≤3600 ??????? 4*x(1)+5*x(2)≤2000 ??????? 3*x(1)+10*x(2)≤3000 ??????? x(1),x(2)≥0 Matlab求解模型: ?????? min f=-(70*x(1)+120*x(2)) ?? s.t? 9*x(1)+4*x(2)≤3600 ??????? 4*x(1)+5*x(2)≤2000 ??????? 3*x(1)+10*x(2)≤3000 ??????? -x(1),-x(2) ≤ 0 linprog模型: ?????? f=[-70 -120] ??s.t A=[9 4;4 5;3 10] B=[3600;2000;3000] Aeq=[]; Beq=[] lb=[0 0];ub=[inf inf] x0=[1 1] Code:example_2 可以从 下载 ? linprog(f,A,b,Aeq,beq,lb,ub,x0,options) options的参数描述:Display?? 显示水平。 选择’off’ 不显示输出;选择’iter’显示每一 步迭代过程的输出;选择’final’ 显示最终结果。 M
文档评论(0)