matlab已知梯度条件情况下的优化.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 1 已知梯度条件情况下的优化 学会使用fmincon()的option参数设置; 确定目标函数: 约束条件: 加入目标函数梯度约束: 加入约束函数梯度约束: 这些都作为参数被调用到fmincon() 例子: ; 约束条件 解: 目标函数: 目标函数梯度: 约束函数梯度: Fmincon调用格式 [x,fval,exitflag,output]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) function [x,fval]=opfgrad x0=[-1,1];%初始值如何设置 A=[];b=[];%Ax<b Aeq=[];beq=[];%Aeq.x=beq lb=[];ub=[];%搜索范围 options=optimset('Largescale','off'); options=optimset(options,'gradobj','on','gradconstr','on'); %LargeScale指大规模搜索,off表示在规模搜索模式关闭,Simplex指单纯形算法,on表示该算法打开 [x,fval]=fmincon(@fobj,x0,A,b,Aeq,beq,lb,ub,@confgrad,options); function [f,g]=fobj(x)%目标函数以及相应的梯度 f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);%目标函数 fx1=f+exp(x(1))*(8*x(1)+4*x(2));%目标函数的梯度1 fx2=exp(x(1))*(4*x(1)+4*x(2)+2);%目标函数的梯度2 g=[fx1;fx2];%目标函数的梯度 function [c,ceq,gcon,gceq]=confgrad(x) fcon1=1.5+x(1)*x(2)-x(1)-x(2);%约束函数1 gxcon1=[x(2)-1,-x(2)];%约束函数1梯度 fcon2=-x(1)*x(2)-10;%约束函数2 gxcon2=[x(1)-1,-x(1)];%约束函数2梯度 c=[fcon1;fcon2];%约束函数 gcon=[gxcon1;gxcon2];%约束函数梯度 ceq=[];%约束函数的等式约束 gceq=[];%约束函数梯度的等式约束

文档评论(0)

gpcjc1996 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档