MATLAB最优化.doc免费

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB最优化.doc

二次规划问题 二次规划问题(quadratic programming)的标准形式为: sub.to? ? ? ??? ? ??? 其中,H、A、Aeq为矩阵,f、b、beq、lb、ub、x为向量 其它形式的二次规划问题都可转化为标准形式。 MATLAB5.x版中的qp函数已被6.0版中的函数quadprog取代。 函数??quadprog 格式??x = quadprog(H,f,A,b)? ?%其中H,f,A,b为标准形中的参数,x为目标函数的最小值。 x = quadprog(H,f,A,b,Aeq,beq)? ?%Aeq,beq满足等约束条件 。 x = quadprog(H,f,A,b,Aeq,beq,lb,ub)? ?% lb,ub分别为解x的下界与上界。 x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)? ?%x0为设置的初值 x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)? ?% options为指定的优化参数 [x,fval] = quadprog(…)? ?%fval为目标函数最优值 [x,fval,exitflag] = quadprog(…)? ?% exitflag与线性规划中参数意义相同 [x,fval,exitflag,output] = quadprog(…)? ?% output与线性规划中参数意义相同 [x,fval,exitflag,output,lambda] = quadprog(…)? ?% lambda与线性规划中参数意义相同 例5-8??求解下面二次规划问题 sub.to 解: 则 , , 在MATLAB中实现如下: H = [1 -1; -1 2] ; f = [-2; -6]; A = [1 1; -1 2; 2 1]; b = [2; 2; 3]; lb = zeros(2,1); [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[ ],[ ],lb) 结果为: x =? ???%最优解 ? ? 0.6667 ? ? 1.3333 fval =? ???%最优值 ? ?-8.2222 exitflag =? ? %收敛 ? ???1 output = ? ?? ? iterations: 3 ? ?? ???algorithm: medium-scale: active-set ? ? firstorderopt: [ ] ? ???cgiterations: [ ] lambda = ? ?? ?lower: [2x1 double] ? ?? ?upper: [2x1 double] ? ?? ?eqlin: [0x1 double] ? ? ineqlin: [3x1 double] lambda.ineqlin ans = ? ? 3.1111 ? ? 0.4444 ? ?? ?? ?0 lambda.lower ans = ? ???0 ? ???0 说明??第1、2个约束条件有效,其余无效。 例5-9??求二次规划的最优解 max? ?f (x1, x2)=x1x2+3 sub.to? ? x1+x2-2=0 解:化成标准形式: sub.to? ? x1+x2=2 在Matlab中实现如下: H=[0,-1;-1,0]; f=[0;0]; Aeq=[1 1]; b=2; [x,fval,exitflag,output,lambda] = quadprog(H,f,[ ],[ ],Aeq,b) 结果为: x = ? ? 1.0000 ? ? 1.0000 fval = ? ?-1.0000 exitflag = ? ???1 output = ? ? firstorderopt: 0 ? ?? ? iterations: 1 ? ???cgiterations: 1 ? ?? ???algorithm: [1x58 char] lambda = ? ?? ?eqlin: 1.0000 ? ? ineqlin: [ ] ? ?? ?lower: [ ] ? ?? ?upper: [ ] 5.4??“半无限”有约束的多元函数最优解 “半无限”有约束多元函数最优解问题的标准形式为 sub.to? ?? ? … 其中:x、b、beq、lb、ub都是向量;A、Aeq是矩阵;C(x)、Ceq(x)、 是返回向量的函数,f(x)为目标函数;f(x)、C(x)、Ceq(x)是非线性函数; 为半无限约束, 通常是长度为2的向量。 在MTALAB5.x中,使用函数seminf解决这类问题。 函数??fsemi

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档