第一范文网 - 专业文章范例文档资料分享平台

优化方法上机作业

来源:用户分享 时间:2025/5/17 20:54:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

if(index(j)>0), Aee=[Aee; Ai(j,:)]; end end

gk=H*x+c;

[m1,n1] = size(Aee);

[dk,lamk]=qsubp(H,gk,Aee,zeros(m1,1)); if(norm(dk)<=err) y=0.0; if(length(lamk)>ne)

[y,jk]=min(lamk(ne+1:length(lamk))); end if(y>=0) exitflag=0; else

exitflag=1; for(i=1:ni)

if(index(i) & (ne+sum(index(1:i)))==jk) index(i)=0; break; end end end

k=k+1; else

exitflag=1;

alpha=1.0; tm=1.0; for(i=1:ni)

if((index(i)==0)&(Ai(i,:)*dk<0))

tm1=(bi(i)-Ai(i,:)*x)/(Ai(i,:)*dk); if(tm1

alpha=min(alpha,tm); x = x+alpha*dk; if(tm<1), index(ti)=1; end end

if(exitflag==0), break; end k=k+1; end

output.fval=0.5*x'*H*x+c'*x; output.iter=k;

qsubp.m文件

function [x,lambda]=qsubp(H,c,Ae,be)

11 / 13

ginvH=pinv(H); [m,n]=size(Ae); if (m>0)

rb = Ae*ginvH*c + be;

lambda = pinv(Ae*ginvH*Ae')*rb; x = ginvH*(Ae'*lambda-c); else

x = -ginvH*c; lambda = zeros(m,1); end

callqpact.m文件 function callqpact H=[2 0; 0 2]; c=[-2 -5]';

Ae=[ ]; be=[ ];

Ai=[1 -2; -1 -2; -1 2;1 0;0 1]; bi=[-2 -6 -2 0 0]'; x0=[0 0]';

[x, lambda, exitflag,output]=qpact(H,c,Ae,be,Ai,bi,x0)文档来自于网络搜索

运行结果: >>callqpact x =

1.4000 1.7000 lambda = 0.8000 exitflag = 0 output =

fval: -6.4500 iter: 7

第七题

fun文件

function f=fun(x)

f=abs(x(1))+abs(x(2))+abs(x(3))+abs(x(4));

主程序

x0=[1;1;1;1]; A=[]; b=[];

12 / 13

Aeq=[1 0 0 0.5;0 1 0.2 0.3;0 0.1 1 0.2];beq=[-1;0.2;1]; 文档来自于网络搜索 VLB=[]; VUB=[];

[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB)

运行结果

x =

-1.0000 -0.0000 1.0000 0.0000 fval =

2.0000

/ 13

13

搜索更多关于: 优化方法上机作业 的文档
优化方法上机作业.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2snor76eed1jxus0hkxz44s0w0d4pn00w2e_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top