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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

a03共轭梯度法编程.docx

1、a03共轭梯度法编程MK7FCCK282Z3SVMK6CZBW26Q6LZ9 MKHMNXTJJQ4S83MKMDE2RESG33HSP90 第二章 11 ( 2)用大M法求解min w=2X1+X2-X3-X4 s.t x1-x2+2x3-x4=22x1+x2-3x3+x4=6 x1+x2+x3+x4=7Xi 0, 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 1 0;1 1 1 1 0 0 1; b=2 6 7;lb=zeros(7,1); X,fval,eXitflag,o

2、utput,lambda=linprog(f,a,b,lb) Optimization terminated.运行结果如下:3.00000.00001.00003.00000.00000.00000.0000 fval =2.0000 exitflag =1 output =iterations: 7algorithm: large-scale: interior point cgiterations: 0message: Optimization terminated. lambda =ineqlin: 0X1 double eqlin: 3X1 double upper: 7X1 doub

3、le lower: 7X1 double从上述运行结果可以得出:最优解为 X= ,最小值约为 f*=2 。P151第三章 26用共轭梯度算法求 f(x) = (x1-1)A2+5*(x2-x1A2)A2 的极小点,取初始点 xO=。26 题用 matlab 求解如下: function mg=MG() % %共轭梯度法求解习题三第 %clc; clear;n=2;x=2 O;max_k=1OO; count_k=1;trace(1,1)=x(1);trace(2,1)=x(2); trace(3,1)=f_fun(x); k=O;g1=f_dfun(x);s=-g1;while count_k

4、=max_k if k=ng0=f_dfun(x);s=-g0;k=0;elser_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*yk)+(sk*sk)/(sk*yk)+w1;p=-H1*g1;H0=H1;endx00=x0;result=Usearch1

5、(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;kx0 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;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,x

6、2,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(2,1);while (f1-f2 0g2(x) = x1 0用 matlab 求解如下:function sumt=SUMT(x0,e0,max_k0

7、)%SUM内点法 global x s M x=x0;e=e0; max_k=max_k0;trace(1,1)=x(1); trace(2,1)=x(2); M=100;c=3;e_FR=10A-10;max_FR=200;for k=0:max_kx=FR(x,e_FR,max_FR);trace(1,k+2)=x(1);trace(2,k+2)=x(2);if f_pfun(x)ebreak;endM=c*M;endx f=f_fun(x) k tracefunction f=FR(xO,e,max_k)global x s;count_k=1;k=O;x=xO;g1=f_dfun(x)

8、;s=-g1;while count_k=max_kif k=ng0=f_dfun(x); s=-g0;k=0;elser_min=fminbnd(t) f_fun(x+t*s),-100,100); x=x+r_min*s;%g0=g1; g1=f_dfun(x) if norm(g1)=O&b=Og(1,1)=1;g(2,1)=1; elseif a=0g(1,1)=1+2*M*(-x(1)A2+x(2)*(-2*x(1);g(2,1)=1+2*M*(-x(1)A2+x (2);elseif a=0&b=0&b=0p=0;elseif a=0&b0p=b2;elseif a=0p=a2;e

9、lsep=a2+b2;end懑 8(1) 运行结果如下:1.0e-004 *-0.2058-0.2058f = -2.0576e-005 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从上述运行结果可以得出:最优解为 x= ,最小值约为 f*=0 。(2) min f(x) = x12+x22S.t 2x1+x2-2 w 0-x2+1 w 0用 matlab 求解如下: 主程序与( 1 )相同; 注意:以下

10、三个函数体在运行计算习题四第 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=0g(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=0p=0;elseif a=0&b0p=b2;elseif a=0p=a2;elsep=a2+b2;end懑 8(2) 运行结果如下:

11、x =-0.00001.00001.0000trace =100.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.00000.9999 1.0000 1.0000-0.0000 3.0000 0.9901 0.9967 0.9989 0.9996从上述运行结果可以得出:最优解为 x=,最小值约为 f*=1 。P232 第四章 25用梯度投影法求解下列线性约束优化问题min f(x) = x1A2+x1*x2+2*x2A2+2*x3A2+2*x2*x3+4*x1+6*x2+12*x3s.t x1 + x2 + x3 w 6-x1 - x2 +2x3 2 xi

12、0 , 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,)运行结果如下:fval =14 exitflag =1 output =iterations: 2funcCount: 14stepsize: 1algorithm: medium-scale: SQP, Quasi

13、-Newton, line-search firstorderopt: 0cgiterations: message: 1x144 char lambda =lower: 3x1 doubleupper: 3x1 double eqlin: 0x1 double eqnonlin: 0x1 double ineqlin: 2x1 double ineqnonlin: 0x1 double grad =4.00008.000016.0000hessian =1.1146 0.6771 0.60420.6771 3.3646 2.47920.6042 2.4792 3.4583从上述运行结果可以得

14、出:最优解为 x= ,最小值约为 f*=14 。P234 第四章 34 ( 1)用乘子法求解max f(x) = 10x1+4.4x22 +2x3s.t x1+4x2+5x3x1+3x2+2x3x32/2+x22x1 2, x2用 matlab 求解如下: function x,minf = ymh434(l) format long;syms x1 x2 x3f=10*(x1)+4.4*(x2)A2+2*(x3);h=-x1-4*x2-5*x3+32,-x1-3*x2-2*x3+29,(x3)A2)/2+(x2)A2-3,x1-2,x2,x3;x0=2 2 0; v=1 0 0 0 0 0;

15、M=2; alpha=2; gama=0.25; var=x1 x2 x3; eps=1.0e-4; if nargin = 8 eps = 1.0e-4;end m1 = transpose(x0); m2 = inf;while lFE = 0;u=subs(h,x1,x2,x3,m1(1),m1(2),m1(3);for i=1:length(h)if (v(i)+M*u(i)=0FE = FE +(v(i)+M*u(i)A2-(v(i)A2);elseFE=FE+(v(i)A2;endendSumF = f + (1/(2*M)*FE;m2,minf = minNT(SumF,tran

16、spose(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) = gamaM = alpha*M; x1 = x2;elsev = v - M*transpose(Hx2); x1 = x2;endend endminf = Funval(f,var,x); format short;运行结果如下:x =19.75 0 2.45 minf =-20

17、2.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心+x6)-10(1-2eA-x7+eA-2x7) s.t g1(x)=2x4+x5+0.8x6+x7-5=0g2(x)=x2A2+x3A2+x5A2+x6A2-5=0g3(x)=x1+x2+x3+x4+x5+x6+x7g4(x)=x1+x2+x3+x4 w 5g5(x)=x1+x3+x5+x62-x72-5

18、xi 0, 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(1)+x(3)+x(5)+x(6)A2-x(7)A2-5;clc clear x0=1,1,1,1,1,1,1;aeq=0,0,0,2,1,0.8,1;beq

19、=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,l b,ub,confun35,options) c,ceq=confun35(x)运行结果如下:derivative optimalityIter F-count f(x) constraint Step-sizeProcedure08-31.4958Infeasible start point1 17 -41.71750.

20、86421-6.31.62226-43.03090.53581-1.090.924335-44.51990.83481-1.40.438444-44.45430.0462110.1260.247553-44.46360.0043541-0.004560.127662-44.46970.0053241-0.00070.00717771-44.46871.631e-00510.0009840.0005239 89 -44.4687 4.308e-0131.25e-009 4.11e-0070.8896 1.2402 2.8702x = 3.2418 0.0000 1.6342 0.1240 fva

21、l = -44.4687hessian =0.57380.3772-0.23690.1036-0.1250-0.0757-0.17390.37720.68980.47690.0641-0.0816-0.0879-0.0803-0.23690.47691.45900.06280.06570.1229-0.00550.10360.06410.06280.88110.07210.01200.0699-0.1250-0.08160.06570.07211.7848-0.2129-0.0244-0.0757-0.08790.12290.0120-0.21291.4472-0.1761-0.1739-0.0803-0.00550.0699-0.0244-0.17611.0268c = -5.9342 ceq = 4.3077e-013 从上述运行结果可以得出:

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

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