优化方法MATLAB编程大连理工大学文档格式.docx

上传人:b****1 文档编号:13589302 上传时间:2022-10-11 格式:DOCX 页数:17 大小:278.42KB
下载 相关 举报
优化方法MATLAB编程大连理工大学文档格式.docx_第1页
第1页 / 共17页
优化方法MATLAB编程大连理工大学文档格式.docx_第2页
第2页 / 共17页
优化方法MATLAB编程大连理工大学文档格式.docx_第3页
第3页 / 共17页
优化方法MATLAB编程大连理工大学文档格式.docx_第4页
第4页 / 共17页
优化方法MATLAB编程大连理工大学文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

优化方法MATLAB编程大连理工大学文档格式.docx

《优化方法MATLAB编程大连理工大学文档格式.docx》由会员分享,可在线阅读,更多相关《优化方法MATLAB编程大连理工大学文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

优化方法MATLAB编程大连理工大学文档格式.docx

k=0;

whilek<

100

lanmed=-(g0)'

*s0/(s0'

*A*s0);

x=x0+lanmed*s0;

g=g(x);

k=k+1;

ifnorm(g)<

yimuxulong

zy_x=x;

fprintf('

After%diterations,obtaintheoptimalsolution.\n\nTheoptimalsolutionis\n%f.\n\nTheoptimal"

x"

is"

ans"

.'

k,f(x))

break;

end

miu=norm(g)^2/norm(g0)^2;

s=-g+miu*s0;

g0=g;

s0=s;

end

functionf=f(x)

f=(x'

*ones(100,1))^2-x'

*ones(100,1);

 

functiong=g(x)

g=(2*x'

*ones(100,1))*ones(100,1)-ones(100,1);

代入x0,运行结果如下:

>

x=zeros(100,1);

di1ti(x)

After1iterations,obtaintheoptimalsolution.

Theoptimalsolutionis

-0.250000.

Theoptimal"

.

ans=0.005*ones(100,1).

第二题

1.最速下降法。

functionzy_x=di2titidu(x)

%该函数用来解大作业第二题。

yimuxulong=1e-5;

k=0;

s0=-g0;

whilek>

=0

ifnorm(g0)<

else

lanmed=10;

c=0.1;

i=0;

whilei>

=0&

i<

iff(x)>

(f(x0)+c*lanmed*g0'

*s0)

lanmed=lanmed/2;

i=i+1;

x0=x;

g0=g(x);

zy_x=x;

zyj=f(x);

fprintf('

after%diterations,obtaintheoptimalsolution.\n\nTheoptimalsolutionis%f.\n\nTheoptimal"

.\n'

k,zyj);

x1=[1000]*x;

x2=[0100]*x;

x3=[0010]*x;

x4=[0001]*x;

f=(x1-1)^2+(x3-1)^2+100*(x2-x1^2)^2+100*(x4-x3^2)^2;

g=[2*(x1-1)-400*x1*(x2-x1^2);

200*(x2-x1^2);

2*(x3-1)-400*x3*(x4-x3^2);

200*(x4-x3^2)];

x=[-1.21-1.21]'

;

di2titidu(x)

after5945iterations,obtaintheoptimalsolution.

Theoptimalsolutionis0.000000.

Theoptimal"

ans=

1.0000

1.0000

2.牛顿法

functionzy_x=di2tinewton(x)

h0=h(x0);

s0=-inv(h0)*g0;

k<

1000

else

x=x0+s0;

h0=h(x);

s0=-inv(h0)*g0;

functionh=h(x)

h=[2+1200*x1^2-400*x2-400*x100;

-400*x120000;

002+1200*x3^2-400*x4-400*x3;

00-400*x3200];

代入初始值,运行结果如下:

di2tinewton(x)

after6iterations,obtaintheoptimalsolution.

可以看出,用Newton法经过6次迭代就能求出最优解。

3.BFGS法

functionzy_x=di2tiBFGS(x)

H0=eye(4);

s0=-H0*g0;

dete_x=x-x0;

dete_g=g(x)-g0;

miu=1+dete_g'

*H0*dete_g/(dete_x'

*dete_g);

H=H0+(miu*dete_x*dete_x'

-H0*dete_g*dete_x'

-dete_x*dete_g'

*H0)/(dete_x'

s=-H*g(x);

H0=H;

代入初始值,计算结果如下:

di2tiBFGS(x)

after53iterations,obtaintheoptimalsolution.

第三题

1.惩罚函数法

functionzy_x=di3ti(x)

%该函数用来解大作业第三题。

M=100;

c=4;

m=1;

whilem>

g0=g(x0,M);

s0=-inv(H(x0,M))*g0;

whilek>

%牛顿法;

g0=g(x,M);

s0=-inv(H(x0,M))*g0;

ifmax([abs(h(x)),g1(x),g2(x),g3(x)])<

0.5

M=M*c;

m=m+1;

m,zyj);

functionF=F(x,M)

x1=[10]*x;

x2=[01]*x;

F=4*x1-x2^2-12+M*(h^2+g1^2+g2^2+g3^2);

functiong=g(x,M)

x

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1