好文档 - 专业文书写作范文服务资料分享网站

优化方法上机作业

天下 分享 时间: 加入收藏 我要投稿 点赞

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

优化方法上机作业

if(index(j)>0),Aee=[Aee;Ai(j,:)];endendgk=H*x+c;[m1,n1]=size(Aee);[dk,lamk]=qsubp(H,gk,Aee,zeros(m1,1));if(norm(dk)ne)<
推荐度:
点击下载文档文档为doc格式
2snor76eed1jxus0hkxz44s0w0d4pn00w2e
领取福利

微信扫码领取福利

微信扫码分享