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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

大连理工优化作业matlab源程序.docx

1、大连理工优化作业matlab源程序2000年11月9日%第二章第17题,修正单纯形法解习题11(1)clc;clear;A=2 1 2;3 3 1;m,n=size(A);b=4;3;r=4 1 1;c=4 1 1;bs=2:3; nbs=1:1; a1=A(:,1);T=A(:,bs);a2=inv(T)*a1;b=inv(T)*b;A=a2,eye(m);B=eye(m);xb=Bb;cb=c(bs);%cn=c(nbs);con=1;M=zeros(1);while con M=M+1; t=cb/B; r=c-t*A; if all(r=0) x(bs)=xb; x(nbs)=0; f

2、x=cb*xb; disp(当前解是最优解,minz=,num2str(fx) disp(当前解为) disp(x) break end rnbs=r(nbs); kk=find(rnbs=min(rnbs); k=kk(1); Anbs=A(:,nbs); yik=BAnbs(:,k);%yik xb=Bb;%yi0 if all(yik0); w=abs(xb(i,1)./yik(i,1); l=find(w=min(w); rr=min(l); yrrk=yik(rr,1); Abs=A(:,bs); D=Anbs(:,k); Anbs(:,k)=Abs(:,rr); Abs(:,rr)

3、=D; F=bs(rr); bs(rr)=nbs(k); nbs(k)=F; AA=Anbs,Abs; EE=eye(m); EE(:,rr)=-yik./yrrk; Errk=EE; Errk(rr,rr)=1/yrrk; BB=Errk/B; B=inv(BB); cb=c(:,bs); xb=Errk*xb; x(bs)=xb; x(nbs)=0; fx=cb*xb; end if M=1000 disp(此问题无有限最优解) break endend%第二章第17题修正单纯型法解第11(2)A=1 -1 2 -1;2 1 -3 1;1 1 1 1;m,n=size(A);b=2;6;7

4、;r=2 1 -1 -1;c=2 1 -1 -1;bs=1:3; nbs=4:4; a1=A(:,4);T=A(:,bs);a2=inv(T)*a1;b=inv(T)*b;A=eye(m),a2;B=eye(m);xb=Bb;cb=c(bs);%cn=c(nbs);con=1;M=zeros(1);while con M=M+1; t=cb/B; r=c-t*A; if all(r=0) x(bs)=xb; x(nbs)=0; fx=cb*xb; disp(当前解是最优解,minz=,num2str(fx) disp(对应的最优解为,x=) disp(x) break end rnbs=r(n

5、bs); kk=find(rnbs=min(rnbs); k=kk(1); Anbs=A(:,nbs); yik=BAnbs(:,k); xb=Bb;%yi0 if all(yik0); w=abs(xb(i,1)./yik(i,1); l=find(w=min(w); rr=min(l); yrrk=yik(rr,1); Abs=A(:,bs); D=Anbs(:,k); Anbs(:,k)=Abs(:,rr); Abs(:,rr)=D; F=bs(rr); bs(rr)=nbs(k); nbs(k)=F; AA=Anbs,Abs; EE=eye(m); EE(:,rr)=-yik./yrr

6、k; Errk=EE; Errk(rr,rr)=1/yrrk; BB=Errk/B; B=inv(BB); cb=c(:,bs); xb=Errk*xb; x(bs)=xb; x(nbs)=0; fx=cb*xb; end if M=1000 disp(此问题无有限最优解) break endend%这是第三章十一题%f(x)=x2+exp(-x);%x=-2,3%采用0.618法clc;clear;a=-2; b=3;%cout=1; MAX=100; k=0.618; e=0.00001; x1=a+(1-k)*(b-a);x2=a+k*(b-a);while(coutMAX)if(b-a

7、e) if(x12+exp(-x1)(x22+exp(-x2) a=x1; b=b; x1=x2; x2=a+k*(b-a); cout=cout+1; elseif(x12+exp(-x1)=(x22+exp(-x2) a=a; b=x2; x2=x1; x1=a+(1-k)*(b-a); cout=cout+1; endendend%这是第三章第15题,要求采用不精确一维搜索算法二解问题clc;clear;syms x1 x2 ky=100*(x2-x12)2+(1-x1)2; v=x1 x2;%X(i)g=jacobian(y,v); z=subs(y,x1,x2,x1+k,x2+k);

8、%X(i)+k*S(i)z1=subs(z,x1,x2,-1,1); z2=diff(z1,k); k1=0;k2=100;k3=inf;cout=1; MAX=1000;c1=0.1;c2=0.5;T=0.1;s=1;1;while(cout=(-c1*k2*(g1*s)&(g2*s)=c2*(g1*s) KK=k2; disp(最小步长=) disp(KK) break;elseif(y1-y2)(-c1*k2*(g1*s)|(g2*s)k1&u=k2&uk3) k1=k2; k2=u; elseif(u=k3) u=k3-T*(k3-k1); k2=u; end m=k1 k2 k3 u

9、 cout; cout=cout+1;endend%这是第三章第19题,要求采用阻尼牛顿法计算函数的极小值clc;clear;syms x1 x2 km=3;n=2;e=0.000000000000000000000001; MAX=10; cout=1; %y=x12+x22+x1*x2-3*x1;y=ff(x1,x2);y1=diff(y,x1); y2=diff(y,x2); y11=diff(y1,x1); y12=diff(y1,x2);y21=diff(y2,x1);y22=diff(y2,x2);while(coute) A=y11 y12; y21 y22; B=df1;df2

10、; C=inv(A); S=-C*B; z=ff(x1+k*S(1,1),x2+k*S(2,1); z1=subs(diff(z,k),x1,x2,m,n); kk=solve(z1,k); S2=m+kk*S(1,1);n+kk*S(2,1); m=S2(1,1); n=S2(2,1); cout=cout+1; elseif(double(df1)2+(double(df2)2=e) X=eye(2)*S2; disp(最优解,x=) disp(X); disp(最优值,f(x)=) disp(subs(y,x1,x2,X(1,1),X(2,1) cout=cout+1; break; e

11、ndend%函数文件,单独成文件function y=ff(a,b)y=a2+b2+a*b-3*a;clc;clear;syms x1 x2 ke=0.000001; MAX=300; cout=1; m=2;n=0;X0=m;n;temp=1;y=myBFGS(x1,x2);H0=eye(2); y1=diff(y,x1);y2=diff(y,x2);mmm=0;G0=subs(y1;y2,x1,x2,m,n);while(coute) S0=-H0*G0; z=myBFGS(x1+k*S0(1,1),x2+k*S0(2,1); z1=diff(z,k); z2=subs(z1,x1,x2,

12、m,n); k1=double(solve(z2,k); kk=1; for i=1:numel(k1) if(imag(k1(i)=0) if(k1(i)0) if(k1(i)kk) kk=k1(i); end end end end X1=m+kk*S0(1,1);n+kk*S0(2,1); XX=subs(X1-X0,x1,x2,m,n); G1=subs(y1;y2,x1,x2,X1(1,1),X1(2,1); GG=G1-G0; u=1+GG*H0*GG/(XX*GG); H1=H0+(u*XX*XX-H0*GG*XX-XX*GG*H0)/(XX*GG); G0=G1; X0=X1;

13、 H0=H1; cout=cout+1; elseif(double(df1)2+(double(df2)2=e) disp(最优解为,x=) disp(X0); break; endendfunction y=myBFGS(a,b)y=(a-1)2+5*(b-a2)2;%这是26题的函数%第三章第31题,BFGS法解习题27clc;clear;syms x1 x2 ke=0.000001; MAX=300;cout=1; m=1;n=0;X0=m;n;y=myBFGS(x1,x2);H0=eye(2); y1=diff(y,x1);y2=diff(y,x2);mmm=0;G0=subs(y1

14、;y2,x1,x2,m,n);while(coute) S0=-H0*G0; z=myBFGS(x1+k*S0(1,1),x2+k*S0(2,1); z1=diff(z,k); z2=subs(z1,x1,x2,m,n); k1=double(solve(z2,k); kk=0; for i=1:numel(k1) if(imag(k1(i)=0) kk=k1(i); end end X1=m+kk*S0(1,1);n+kk*S0(2,1); XX=subs(X1-X0,x1,x2,m,n); G1=subs(y1;y2,x1,x2,X1(1,1),X1(2,1); GG=G1-G0; u=1+GG*H0*GG/(XX*GG); H1=H0+(u*XX*XX-H0*GG*XX-XX*GG*H0)/(XX*GG); G0=G1; X0=X1; H0=H1; cout=cout+1; elseif(double(df1)2+(double(df2)2=e) disp(最优解为,x=) disp(X0); break; endend%M函数文件,单独文件function y=myBFGS(a,b)y=a+2*b2+exp(a2+b2);%这是27题的函数

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

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