大连理工优化方法增广拉格朗日方法MATLAB程序

上传人:ai****ue 文档编号:50629280 上传时间:2022-01-21 格式:DOC 页数:4 大小:28KB
收藏 版权申诉 举报 下载
大连理工优化方法增广拉格朗日方法MATLAB程序_第1页
第1页 / 共4页
大连理工优化方法增广拉格朗日方法MATLAB程序_第2页
第2页 / 共4页
大连理工优化方法增广拉格朗日方法MATLAB程序_第3页
第3页 / 共4页
资源描述:

《大连理工优化方法增广拉格朗日方法MATLAB程序》由会员分享,可在线阅读,更多相关《大连理工优化方法增广拉格朗日方法MATLAB程序(4页珍藏版)》请在装配图网上搜索。

1、上机大作业 II定义目标函数 funfunction f=fun(x) x1=x(1); x2=x(2);f=4*x1-x2A2-12;定义目标函数梯度函数 dfun function f=dfun(x) x2=x(2);f=4;-2*x2;定义等式约束函数 hf function qua=hf(x) qua=25-x(1)A2-x(2)A2;定义等式约束函数梯度函数 dhf function qua=dhf(x) qua=-2*x(1);-2*x(2);定义不等式约束函数 gfun function inq=gfun(x) inq=10*x(1)-x(1)A2+10*x(2)-x(2)A2-

2、34;定义不等式约束梯度数 dgf function inq=dgf(x)inq=10-2*x(1);10-2*x(2);定义增广拉格朗日函数 mpsifunction psi=mpsi(x,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma) f=feval(fun,x);he=feval(hf,x); gi=feval(gfun,x); l=length(he);m=length(gi);psi=f;s1=0;for i=1:l psi=psi-he(i)*mu(i); s1=s1+he(i)A2;endpsi=psi+0.5*sigma*s1;s2=0.0;

3、for i=1:ms3=max(0.0, lambda(i) - sigma*gi(i);s2=s2+s3A2-lambda(i)A2;endpsi=psi+s2/(2.0*sigma);定义增广拉格朗日函数梯度函数 dmpsifunction dpsi=dmpsi(x,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma) dpsi=feval(dfun,x);he=feval(hf,x);gi=feval(gfun,x);dhe=feval(dhf,x);dgi=feval(dgf,x);l=length(he);m=length(gi);for i=1:ldp

4、si=dpsi+(sigma*he(i)-mu(i)*dhe(:,i);endfor i=1:m dpsi=dpsi+(sigma*gi(i)-lambda(i)*dgi(:,i);end定义BFGS法函数函数bfgsfunction x,val,k=bfgs(mpsi,dmpsi,x0,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma) maxk=1000;rho=0.5;sigma1=0.4;epsilon1=1e-4;k=0;n=length(x0);Bk=eye(n);while(kmaxk) gk=feval(dmpsi,x0,fun,hf,gfun,

5、dfun,dhf,dgf,mu,lambda,sigma); if(norm(gk)epsilon1)break;enddk=-Bkgk;m=0;mk=0; while(m20)newf=feval(mpsi,x0+rhoAm*dk,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma); oldf=feval(mpsi,x0,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma);if(n ewf0)Bk=Bk-(Bk*sk)*sk*Bk)/(sk*Bk*sk)+(yk*yk)/(yk*sk);endk=k+1;x0=x;end val

6、=feval(mpsi,x0,fun,hf,gfun,dfun,dhf,dgf,mu,lambda,sigma);定义增广拉格朗日乘子法函数 multphrfunction answer=multphr(fun,hf,gfun,dfun,dhf,dgf,x0) maxk=5000;sigma=2.0;eta=2.0;theta=0.8;k=0;ink=0;epsilon=1e-4;x=x0;he=feval(hf,x);gi=feval(gfun,x);l=length(he);m=length(gi);mu=0.1*ones(l,1);lambda=0.1*ones(m,1);btak=10

7、;btaold=10;while(btakepsilon&kepsilonif(k=2&btak theta*btaold) sigma=eta*sigma;endfor i=1:l mu(i)=mu(i)-sigma*he(i);endfor i=1:m lambda(i)=max(0.0,lambda(i)-sigma*gi(i);endendk=k+1;btaold=btak;x0=x;endf=feval(fun,x);xfmulambdak运行求解 x0=0;0x0 =00 multphr(fun,hf,gfun,dfun,dhf,dgf,x0)x =1.001281489564374.89871784708758f =-31.9923105871169mu =1.01559644571312lambda =0.7544511679772284

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!