整理共轭梯度法编程Word格式文档下载.docx

上传人:b****6 文档编号:20224430 上传时间:2023-01-21 格式:DOCX 页数:17 大小:19.74KB
下载 相关 举报
整理共轭梯度法编程Word格式文档下载.docx_第1页
第1页 / 共17页
整理共轭梯度法编程Word格式文档下载.docx_第2页
第2页 / 共17页
整理共轭梯度法编程Word格式文档下载.docx_第3页
第3页 / 共17页
整理共轭梯度法编程Word格式文档下载.docx_第4页
第4页 / 共17页
整理共轭梯度法编程Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

整理共轭梯度法编程Word格式文档下载.docx

《整理共轭梯度法编程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《整理共轭梯度法编程Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

整理共轭梯度法编程Word格式文档下载.docx

lambda=

ineqlin:

[0x1double]

eqlin:

[3x1double]

upper:

[7x1double]

lower:

从上述运行结果可以得出:

最优解为x=,最小值约为f*=2。

 

P151第三章26

用共轭梯度算法求f(x)=(x1-1)^2+5*(x2-x1^2)^2的极小点,取初始点x0=。

functionmg=MG()

%

%共轭梯度法求解习题三第26题

clc;

clear;

n=2;

x=[20]'

;

max_k=100;

count_k=1;

trace(1,1)=x

(1);

trace(2,1)=x

(2);

trace(3,1)=f_fun(x);

k=0;

g1=f_dfun(x);

s=-g1;

whilecount_k<

=max_k

ifk==n

g0=f_dfun(x);

s=-g0;

k=0;

else

r_min=fminbnd(@(t)f_fun(x+t*s),-100,100);

x=x+r_min*s;

g0=g1;

g1=f_dfun(x);

ifnorm(g1)<

10^(-6)

break;

end

m=(norm(g1)^2)/(norm(g0)^2);

s=-g1+m*s;

count_k=count_k+1;

trace(1,count_k)=x

(1);

trace(2,count_k)=x

(2);

trace(3,count_k)=f_fun(x);

k=k+1;

end

count_k

x

f=f_fun(x)

functiong=f_dfun(x)

g(1,1)=20*x

(1)^3-20*x

(1)*x

(2)+2*x

(1)-2;

g(2,1)=10*x

(2)-10*x

(1)^2;

functionf=f_fun(x)

f=5*x

(1)^4-10*x

(1)^2*x

(2)+x

(1)^2-2*x

(1)+1+5*x

(2)^2;

k=

59

x0=

f0=

最优解为x=,最小值约为f*=0。

P151第三章26

用BFGS算法求f(x)=(x1-1)^2+5*(x2-x1^2)^2的极小点,取初始点x0=。

symsx1x2;

f=(x1-1)^2+5*(x2-x1^2)^2;

v=[x1,x2];

df=jacobian(f,v);

df=df.'

x0=[2,0]'

g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});

H0=[1,0;

0,1];

while(norm(g1)>

0.001&

k<

300)

ifk==0

p=-H0*g1;

vk=sk/(sk'

*yk)-(H0*yk)/(yk'

*H0*yk);

w1=(yk'

*H0*yk)*vk*vk'

H1=H0-(H0*yk*yk'

*H0)/(yk'

*H0*yk)+(sk*sk'

)/(sk'

*yk)+w1;

p=-H1*g1;

H0=H1;

x00=x0;

result=Usearch1(f,x1,x2,df,x0,p);

arf=result

(1);

x0=x0+arf*p;

g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});

p0=p;

yk=g1-g0;

sk=x0-x00;

end;

k

x0

f0=subs(f,{x1,x2},{x0(1,1),x0(2,1)})

functionresult=Usearch1(f,x1,x2,df,x0,p)

mu=0.001;

sgma=0.99;

a=0;

b=inf;

arf=1;

pk=p;

x3=x0;

x4=x3+arf*pk;

f1=subs(f,{x1,x2},{x3(1,1),x3(2,1)});

f2=subs(f,{x1,x2},{x4(1,1),x4(2,1)});

gk1=subs(df,{x1,x2},{x3(1,1),x3(2,1)});

gk2=subs(df,{x1,x2},{x4(1,1),x4(2,1)});

while(f1-f2<

=-mu*arf*gk1'

*pk)

b=arf;

arf=(a+arf)/2;

end;

while(1>

0)

if(gk2'

*pk<

sgma*gk1'

a=arf;

a=min(2*arf,(a+b)/2);

while(f1-f2<

else

result=[arf];

19

f0=

4.4505e-013

P229第四章10

用SUMT内点法求解

(1)minf(x)=x1+x2

s.tg1(x)=-x1^2+x2≥0

g2(x)=x1≥0

functionsumt=SUMT(x0,e0,max_k0)

%SUMT内点法

globalxsM

x=x0;

e=e0;

max_k=max_k0;

M=100;

c=3;

e_FR=10^-10;

max_FR=200;

fork=0:

max_k

x=FR(x,e_FR,max_FR);

trace(1,k+2)=x

(1);

trace(2,k+2)=x

(2);

iff_pfun(x)<

e

M=c*M;

k

trace

functionf=FR(x0,e,max_k)

globalxs;

g1=f_dfun(x)

count_k=count_k-1

f=x

注意:

以下三个函数体在运行计算习题四第8

(1)题时使用

%*****************************************************

globalM;

f=x

(1)+x

(2)+M*f_pfun(x);

%题8

(1)

a=-x

(1)^2+x

(2);

b=x

(1);

ifa>

=0&

b>

=0

g(1,1)=1;

g(2,1)=1;

elseifa<

0&

g(1,1)=1+2*M*(-x

(1)^2+x

(2))*(-2*x

(1));

g(2,1)=1+2*M*(-x

(1)^2+x

(2));

elseifa>

b<

g(1,1)=1+2*M*x

(1);

else

g(1,1)=1+2*M*(-x

(1)^2+x

(2))*(-2*x

(1))+2*M*x

(1);

end%题8

(1)

functionp=f_pfun(x)

%罚函数

p=0;

p=b^2;

p=a^2;

p=a^2+b^2;

1.0e-004*

-0.2058

f=

-2.0576e-005

k=

5

trace=

100.0000-0.0050-0.0017-0.0006-0.0002-0.0001-0.0000

3.0000-0.0050-0.0017-0.0006-0.0002-0.0001-0.0000

(2)minf(x)=x1^2+x2^2

S.t2x1+x2-2≤0

-x2+1≤0

主程序与

(1)相同;

以下三个函数体在运行计算习题四第8

(2)题时使用

a=-2*x

(1)-x

(2)+2;

b=x

(2)-1;

g(1,1)=2*x

(1);

g(2,1)=2*x

(2);

g(1,1)=2*x

(1)+2*M*(-2*x

(1)-x

(2)+2)*(-2);

g(2,1)=2*x

(2)+2*M*(-2*x

(1)-x

(2)+2)*(-1);

g(2,1)=2*x

(2)+2*M*(x

(2)-1);

g(2,1)=2*x

(2)+2*M*(-2*x

(1)-x

(2)+2)*(-1)+2*M*(x

(2)-1);

end%题8

(2)

f=x

(1)^2+x

(2)^2+M*f_pfun(x);

%题8

(2)

-0.0000

6

100.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000

3.00000.99010.99670.99890.99960.99991.00001.0000

最优解为x=,最小值约为f*=1。

P232第四章25

用梯度投影法求解下列线性约束优化问题

minf(x)=x1^2+x1*x2+2*x2^2+2*x3^2+2*x2*x3+4*x1+6*x2+12*x3

s.tx1+x2+x3≤6

﹣x1﹣x2+2x3≥2

xi≥0,i=1,2,3

取x1=,

f=‘x1^2+x1*x2+2*x2^2+2*x3^2+2*x2*x3+4*x1+6*x2+12*x3’;

a=[111;

11-2];

b=[6;

-2];

l=zeros(3,1);

x0=[113];

[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(f,x0,a,b,[],[],l,[])

001

14

2

funcCount:

stepsize:

medium-scale:

SQP,Quasi-Newton,line-search'

firstorderopt:

[]

[1x144char]

eqnonlin:

[2x1double]

ineqnonlin:

grad=

4.0000

8.0000

16.0000

hessian=

1.11460.67710.6042

0.67713.36462.4792

0.60422.47923.4583

最优解为x=,最小值约为f*=14。

P234第四章34

(1)

用乘子法求解

maxf(x)=10x1+4.4x2^2+2x3

s.tx1+4x2+5x3≤32

x1+3x2+2x3≤29

x3^2/2+x2^2≥3

x1≥2,x2≥0,x3≥0

function[x,minf]=ymh434(l)

formatlong;

symsx1x2x3

f=10*(x1)+4.4*(x2)^2+2*(x3);

h=[-x1-4*x2-5*x3+32,-x1-3*x2-2*x3+29,((x3)^2)/2+(x2)^2-3,x1-2,x2,x3];

x0=[220];

v=[100000];

M=2;

alpha=2;

gama=0.25;

var=[x1x2x3];

eps=1.0e-4;

ifnargin==8

eps=1.0e-4;

m1=transpose(x0);

m2=inf;

whilel

FE=0;

u=subs(h,{x1,x2,x3},[m1

(1),m1

(2),m1(3)]);

fori=1:

length(h)

if(v(i)+M*u(i))<

FE=FE+((v(i)+M*u(i))^2-(v(i))^2);

FE=FE+(v(i))^2;

SumF=f+(1/(2*M))*FE;

[m2,minf]=minNT(SumF,transpose(m1),var,eps);

Hm2=subs(h,{x1,x2,x3},[m2

(1),m2

(2),m2(3)]);

Hm1=subs(h,{x1,x2,x3},[m1

(1),m1

(2),m1(3)]);

Hx2=Funval(h,var,x2);

Hx1=Funval(h,var,x1);

ifnorm(Hx2)<

eps

x=x2;

ifHx2/Hx1>

=gama

M=alpha*M;

x1=x2;

v=v-M*transpose(Hx2);

minf=Funval(f,var,x);

formatshort;

19.7502.45

minf=

-202.42

maxf1=

202.42

最优解为x=,最大值约为f*=202.42,最小值约为f*=-202.42。

P235第四章35

(2)

用序列二次规划法求解

minf(x)=-5x1-5x2-4x3-x1x3-6x4-5x5/(1+x5)-8x6/(1+x6)-10(1-2e^-x7+e^-2x7)

s.tg1(x)=2x4+x5+0.8x6+x7-5=0

g2(x)=x2^2+x3^2+x5^2+x6^2-5=0

g3(x)=x1+x2+x3+x4+x5+x6+x7≤10

g4(x)=x1+x2+x3+x4≤5

g5(x)=x1+x3+x5+x6^2-x7^2-5≤0

xi≥0,i=1,2,…,7

functionf=objfun35(x)

f=-5*x

(1)-5*x

(2)-4*x(3)-x

(1)*x(3)-6*x(4)-5*x(5)/(1+x(5))-8*x(6)/(1+x(6))-10*(1-2*exp(-x(7))+exp(-2*x(7)));

function[c,ceq]=confun35(x)

ceq=[x

(2)^2+x(3)^2+x(5)^2+x(6)^2-5];

c=[x

(1)+x(3)+x(5)+x(6)^2-x(7)^2-5];

clc

clear

x0=[1,1,1,1,1,1,1];

aeq=[0,0,0,2,1,0.8,1];

beq=5;

a=[1,1,1,1,1,1,1;

1,1,1,1,0,0,0];

b=[10,5]'

lb=[0,0,0,0,0,0,0];

ub=[];

[x,fval,exitflag,output,lambda,grad,hessian]=fmincon('

objfun35'

x0,a,b,aeq,beq,lb,ub,'

confun35'

options)

[c,ceq]=confun35(x)

IterF-countf(x)constraintStep-sizederivativeoptimalityProcedure

08-31.49581Infeasiblestartpoint

117-41.71750.86421-6.31.62

226-43.03090.53581-1.090.924

335-44.51990.83481-1.40.438

综合性规划

(1)土地利用的有关规划;

444-44.45430.0462110.1260.247

(2)辨识和分析评价对象可能存在的各种危险、有害因素,分析危险、有害因素发生作用的途径及其变化规律。

553-44.46360.0043541-0.004560.127

疾病成本法和人力资本法将环境污染引起人体健康的经济损失分为直接经济损失和间接经济损失两部分。

直接经济损失有:

预防和医疗费用、死亡丧葬费;

间接经济损失有:

影响劳动工时造成的损失(包括病人和非医务人员护理、陪住费)。

这种方法一般通常用在对环境有明显毒害作用的特大型项目。

662-44.46970.0053241-0.00070.00717

771-44.46871.631e-00510.0009840.000523

880-44.46876.735e-00913.03e-0067.25e-006

安全评价可针对一个特定的对象,也可针对一定的区域范围。

989-44.46874.308e-01311.25e-0094.11e-007

另外,环境影响评价三个层次的意义,环境影响评价的资质管理、分类管理,建设项目环境影响评价的内容,规划环境影响评价文件的内容,环境价值的衡量还可能是将来考试的重点。

x=3.24180.00001.63420.12400.88961.24022.8702

规划审批机关在审批专项规划草案时,应当将环境影响报告书结论以及审查意见作为决策的重要依据。

fval=-44.4687

2)间接使用价值。

间接使用价值(IUV)包括从环境所提供的用来支持目前的生产和消费活动的各种功能中间接获得的效益。

……

0.57380.3772-0.23690.1036-0.1250-0.0757-0.1739

0.37720.68980.47690.0641-0.0816-0.0879-0.0803

(6)列出选定的评价方法,并作简

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

当前位置:首页 > 解决方案 > 学习计划

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

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