ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:19.74KB ,
资源ID:7128647      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7128647.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(整理共轭梯度法编程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

整理共轭梯度法编程.docx

1、整理共轭梯度法编程共轭梯度法编程.txt16生活,就是面对现实微笑,就是越过障碍注视未来;生活,就是用心灵之剪,在人生之路上裁出叶绿的枝头;生活,就是面对困惑或黑暗时,灵魂深处燃起豆大却明亮且微笑的灯展。17过去与未来,都离自己很遥远,关键是抓住现在,抓住当前。P90 第二章 11(2)用大M法求解min w=2x1+x2-x3-x4s.t x1-x2+2x3-x4=2 2x1+x2-3x3+x4=6 x1+x2+x3+x4=7 xi0, i = 1, 2, 3, 4用matlab求解如下:f=2,1,-1,-1,200,200,200;a=1 -1 2 -1 1 0 0;2 1 -3 1 0

2、 1 0;1 1 1 1 0 0 1;b=2 6 7;lb=zeros(7,1);x,fval,exitflag,output,lambda=linprog(f,a,b,lb)Optimization terminated.运行结果如下:x = 3.0000 0.0000 1.0000 3.0000 0.0000 0.0000 0.0000fval = 2.0000exitflag = 1output = iterations: 7 algorithm: large-scale: interior point cgiterations: 0 message: Optimization term

3、inated.lambda = ineqlin: 0x1 double eqlin: 3x1 double upper: 7x1 double lower: 7x1 double从上述运行结果可以得出:最优解为x= ,最小值约为f*=2。P151 第三章 26用共轭梯度算法求f(x) = (x1-1)2+5*(x2-x12)2的极小点,取初始点x0= 。用matlab求解如下:function mg=MG()%共轭梯度法求解习题三第26题%clc;clear;n=2;x=2 0;max_k=100;count_k=1;trace(1,1)=x(1);trace(2,1)=x(2);trace(

4、3,1)=f_fun(x);k=0;g1=f_dfun(x);s=-g1;while count_k=max_k if k=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); if norm(g1)0.001 & k300) if k=0 p=-H0*g1; else vk=sk/(sk*yk)-(H0*yk)/(yk*H0*yk); w1=(yk*H0*yk)*vk*vk; H1=H0-(H0*yk*yk*H0)/(yk*H0*y

5、k)+(sk*sk)/(sk*yk)+w1; p=-H1*g1; H0=H1; end x00=x0; result=Usearch1(f,x1,x2,df,x0,p); arf=result(1); x0=x0+arf*p; g0=g1; g1=subs(df,x1,x2,x0(1,1),x0(2,1); p0=p; yk=g1-g0; sk=x0-x00; k=k+1; end; k x0 f0=subs(f,x1,x2,x0(1,1),x0(2,1)function result=Usearch1(f,x1,x2,df,x0,p)mu=0.001;sgma=0.99;a=0;b=inf;

6、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-f20) if(gk2*pksgma*gk1*pk) a=arf;a=min(2*arf,(a+b)/2);x4=x3+arf*pk;f2=subs(f,x1,x2,x4(1,1),x4(2,1);gk2=subs(df,x1,x2,x4(1,1),x4(

7、2,1); while (f1-f2=-mu*arf*gk1*pk) b=arf;arf=(a+arf)/2;x4=x3+arf*pk;f2=subs(f,x1,x2,x4(1,1),x4(2,1);gk2=subs(df,x1,x2,x4(1,1),x4(2,1); end; else break; endend;result=arf;运行结果如下:k = 19x0 = 1.0000 1.0000f0 =4.4505e-013从上述运行结果可以得出:最优解为x= ,最小值约为f*=0。P229 第四章 10用SUMT内点法求解(1) min f(x) = x1+x2 s.t g1(x) =

8、-x12+x20 g2(x) = x10用matlab求解如下:function sumt=SUMT(x0,e0,max_k0)%SUMT内点法global x s Mx=x0;e=e0;max_k=max_k0;trace(1,1)=x(1);trace(2,1)=x(2);M=100;c=3;e_FR=10-10;max_FR=200;for k=0:max_k x=FR(x,e_FR,max_FR); trace(1,k+2)=x(1); trace(2,k+2)=x(2); if f_pfun(x)e break; end M=c*M;endxf=f_fun(x)ktracefunct

9、ion f=FR(x0,e,max_k)global x s;count_k=1;k=0;x=x0;g1=f_dfun(x);s=-g1;while count_k=max_k if k=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) if norm(g1)=0&b=0 g(1,1)=1; g(2,1)=1;elseif a=0 g(1,1)=1+2*M*(-x(1)2+x(2)*(-2*x(1); g(2,1)=1+2*M*(

10、-x(1)2+x(2);elseif a=0&b=0&b=0 p=0;elseif a=0&b0 p=b2;elseif a=0 p=a2;else p=a2+b2;end%题8(1)运行结果如下:x = 1.0e-004 * -0.2058 -0.2058f = -2.0576e-005k = 5trace = 100.0000 -0.0050 -0.0017 -0.0006 -0.0002 -0.0001 -0.00003.0000 -0.0050 -0.0017 -0.0006 -0.0002 -0.0001 -0.0000从上述运行结果可以得出:最优解为x= ,最小值约为f*=0。(2

11、) min f(x) = x12+x22 S.t 2x1+x2-20 -x2+10用matlab求解如下:主程序与(1)相同;注意:以下三个函数体在运行计算习题四第8(2)题时使用%*function g=f_dfun(x)global M;a=-2*x(1)-x(2)+2;b=x(2)-1;if a=0&b=0 g(1,1)=2*x(1); g(2,1)=2*x(2);elseif a=0 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);elseif a=0&b=0&b=0 p=

12、0;elseif a=0&b0 p=b2;elseif a=0 p=a2;else p=a2+b2;end%题8(2)运行结果如下:x = -0.0000 1.0000f = 1.0000k = 6trace = 100.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.00003.0000 0.9901 0.9967 0.9989 0.9996 0.9999 1.0000 1.0000从上述运行结果可以得出:最优解为x= ,最小值约为f*=1。P232 第四章 25用梯度投影法求解下列线性约束优化问题min f(x) = x12+

13、x1*x2+2*x22+2*x32+2*x2*x3+4*x1+6*x2+12*x3s.t x1 + x2 + x3 6x1x2 +2x3 2xi0 , i = 1, 2, 3取x1= , 用matlab求解如下:f=x12+x1*x2+2*x22+2*x32+2*x2*x3+4*x1+6*x2+12*x3;a=1 1 1;1 1 -2;b=6;-2;l=zeros(3,1);x0=1 1 3;x,fval,exitflag,output,lambda,grad,hessian=fmincon(f,x0,a,b,l,)运行结果如下:x = 0 0 1fval = 14exitflag = 1ou

14、tput = iterations: 2 funcCount: 14 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 0 cgiterations: message: 1x144 charlambda = lower: 3x1 double upper: 3x1 double eqlin: 0x1 double eqnonlin: 0x1 double ineqlin: 2x1 double ineqnonlin: 0x1 doublegrad = 4.0000 8.0000

15、16.0000hessian = 1.1146 0.6771 0.6042 0.6771 3.3646 2.4792 0.6042 2.4792 3.4583从上述运行结果可以得出:最优解为x= ,最小值约为f*=14。P234 第四章 34(1)用乘子法求解max f(x) = 10x1+4.4x22 +2x3s.t x1+4x2+5x332 x1+3x2+2x329 x32/2+x223 x12, x20, x30用matlab求解如下:function x,minf = ymh434(l)format long;syms x1 x2 x3f=10*(x1)+4.4*(x2)2+2*(x3

16、);h=-x1-4*x2-5*x3+32,-x1-3*x2-2*x3+29,(x3)2)/2+(x2)2-3,x1-2,x2,x3;x0=2 2 0;v=1 0 0 0 0 0;M=2;alpha=2;gama=0.25;var=x1 x2 x3;eps=1.0e-4;if nargin = 8 eps = 1.0e-4;endm1 = transpose(x0);m2 = inf;while l FE = 0; u=subs(h,x1,x2,x3,m1(1),m1(2),m1(3);for i=1:length(h) if (v(i)+M*u(i)=0 FE = FE +(v(i)+M*u(

17、i)2-(v(i)2); else FE=FE+(v(i)2; endend 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); if norm(Hx2) = gama M = alpha*M; x1 = x2; else v = v - M*transpo

18、se(Hx2); x1 = x2; end endendminf = Funval(f,var,x);format short;运行结果如下:x = 19.75 0 2.45minf = -202.42maxf1 = 202.42从上述运行结果可以得出:最优解为x= ,最大值约为f*=202.42, 最小值约为f*=-202.42。P235 第四章 35(2)用序列二次规划法求解min f(x)=-5x1-5x2-4x3-x1x3-6x4-5x5/(1+x5)-8x6/(1+x6)-10(1-2e-x7+e-2x7)s.t g1(x)=2x4+x5+0.8x6+x7-5=0 g2(x)=x22

19、+x32+x52+x62-5=0 g3(x)=x1+x2+x3+x4+x5+x6+x710 g4(x)=x1+x2+x3+x45 g5(x)=x1+x3+x5+x62-x72-50 xi0, i=1,2,7用matlab求解如下:function f=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(

20、1)+x(3)+x(5)+x(6)2-x(7)2-5;clcclearx0=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)运行结果如下:Iter F-count f(x) constraint Step-size

21、 derivative optimality Procedure 0 8 -31.4958 1 Infeasible start point 1 17 -41.7175 0.8642 1 -6.3 1.62 2 26 -43.0309 0.5358 1 -1.09 0.924 3 35 -44.5199 0.8348 1 -1.4 0.438 综合性规划 (1)土地利用的有关规划; 4 44 -44.4543 0.04621 1 0.126 0.247 (2)辨识和分析评价对象可能存在的各种危险、有害因素,分析危险、有害因素发生作用的途径及其变化规律。 5 53 -44.4636 0.0043

22、54 1 -0.00456 0.127 疾病成本法和人力资本法将环境污染引起人体健康的经济损失分为直接经济损失和间接经济损失两部分。直接经济损失有:预防和医疗费用、死亡丧葬费;间接经济损失有:影响劳动工时造成的损失(包括病人和非医务人员护理、陪住费)。这种方法一般通常用在对环境有明显毒害作用的特大型项目。 6 62 -44.4697 0.005324 1 -0.0007 0.00717 7 71 -44.4687 1.631e-005 1 0.000984 0.000523 8 80 -44.4687 6.735e-009 1 3.03e-006 7.25e-006 安全评价可针对一个特定的对

23、象,也可针对一定的区域范围。9 89 -44.4687 4.308e-013 1 1.25e-009 4.11e-007 另外,环境影响评价三个层次的意义,环境影响评价的资质管理、分类管理,建设项目环境影响评价的内容,规划环境影响评价文件的内容,环境价值的衡量还可能是将来考试的重点。x = 3.2418 0.0000 1.6342 0.1240 0.8896 1.2402 2.8702规划审批机关在审批专项规划草案时,应当将环境影响报告书结论以及审查意见作为决策的重要依据。fval = -44.46872)间接使用价值。间接使用价值(IUV)包括从环境所提供的用来支持目前的生产和消费活动的各种功能中间接获得的效益。hessian = 0.5738 0.3772 -0.2369 0.1036 -0.1250 -0.0757 -0.1739 0.3772 0.6898 0.4769 0.0641 -0.0816 -0.0879 -0.0803(6)列出选定的评价方法,并作简

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

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