6.3有约束最优化问题计算机求解.pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;内容大纲; ◆约束条件与可行解区域;◆ 2、约束条件与可行解区域: ; [x1,x2]=meshgrid(-3:.1:3);%生成网格线 z=-x1.^2-x2;%计算出矩阵各点的高度 i=find(x1.^2+x2.^29);z(i)=NaN; i=find(x1+x21);z(i)=NaN; surf(x1,x2,z);shading interp;; ◆线性规划问题的计算机求解; 下面介绍matlab的最优化工具箱中实现的单纯形法,通过调用函数linprog()来求解,其调用格式为:;?; f=-[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=optimset;ff.LargeScale=off;%不使用大规模问题求解 ff.TolX=1e-15; ff.TolFun=1e-20; ff.TolCon=1e-20; [x,f_opt,key,c]=linprog(f,A,B,Ae,Be,xm,[],[],ff); 此例中调用了optinset函数,此函数是用来设置最优化选项的。该函数的调用格式为:;常用优化参数说明; TolX为变量误差容限,取值为正,如1e-5,默认值 为1e-10; TolFun为函数值误差容限,取值为正,如1e-9,默 认值为1e-6; MaxIter为最大迭代次数,取值为正整数,如100; TolCon为约束条件误差容限,取值为正,默认值 为1e-6; TolMaxEvals为允许进行函数最大求值次数,取值 为正整数。 ;?;?; ◆二次型规划的求解; Matlab最优化工具箱提供了求解二次型规划问题的quadprog()函数,该函数的调用格式为: ;?; ◆一般非线性规划问题求解; Matlab最优化工具箱中提供了一个fmincon()函数,专门用于求解各种约束下的最优化问题。该函数的调用格式为:;例6-23:试求解下面的有约束最优化问题。;2、写出非线性约束函数:;ff=optimset; ff.LargeScale=off; ff.TolFun=1e-30;ff.TolX=1e-15;ff.Tolcon=1E-20; x0=[1;1;1]; xm=[0;0;0];xM=[]; A=[];B=[];Aeq=[];Beq=[]; [x,f_opt,c,d]=fmincon(y,x0,A,B,Aeq,Beq,xm,xM,@opt_con1,ff);二、考虑线性和非线性;例6-24:考虑例6-23中给出的最优化问题,试利用梯度求解最优化问题,并比较和原例子中所用方法的优劣。;2、有了梯度,可把目标函数改写为:;Thank you!; ◆拉格朗日乘子法; 将上述有约束最优化问题转化为下面的无约束最优化问题:;Remark:拉格朗日乘子法也可以求解约束条件包含不等式的最优化问题。求解时可以通过引入一个松弛变量使不等式约束变为等式约束。;◆ 2、算法举例: ; x=zeros(1,2); syms x y lama; %用syms表示出转化后的无约束函数 f=x+y+lama*(x^2+y^2-2); %分别求函数关于x、y、lama的偏导 dx=diff(f,x);dy=diff(f,y);dlama=diff(f,lama); %令偏导为0,求解x、y xx=solve(dx,x); %将x表示为lama的函数 yy=solve(dy,y); %将y表示为lama的函数 ff=subs(dlama,{x,y},{xx,yy}); %代入dlama的关于lama的一元函数 lama0=solve(ff); %求解得lama0 x0=subs(xx,lama,lama0)%求得取极值处的x0 y0=subs(yy,lama,lama0)%取极值处的y0 f0=subs(f,{x,y,lama},{x0,y0,lama0})%极值点函数值; ◆惩罚函数法; 考虑如下的最优化问题:; 惩罚函数法包含以下两个步骤:;例子2:采用惩罚函数求解下面的最优化问题:; 将该约束最优化问题转化为无约束问题,构造新的目标函数:;function [fc,f,c]=f2222(x) f=((x(1)+1)^2+4*(x(2)-1.5)^2)

文档评论(0)

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

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

1亿VIP精品文档

相关文档