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