中北大學(xué)最優(yōu)化實(shí)驗(yàn)報(bào)告_第1頁(yè)
中北大學(xué)最優(yōu)化實(shí)驗(yàn)報(bào)告_第2頁(yè)
中北大學(xué)最優(yōu)化實(shí)驗(yàn)報(bào)告_第3頁(yè)
中北大學(xué)最優(yōu)化實(shí)驗(yàn)報(bào)告_第4頁(yè)
中北大學(xué)最優(yōu)化實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、優(yōu)質(zhì)文本中北大學(xué)實(shí)驗(yàn)報(bào)告課 程 名: 最優(yōu)化方法 任課教師: 李卉 專 業(yè): 數(shù)學(xué)與應(yīng)用數(shù)學(xué)學(xué) 號(hào): 14080141 姓 名: 2015/2016學(xué)年 第2學(xué)期中北大學(xué) 理學(xué)院?最優(yōu)化方法?課程實(shí)驗(yàn) 第1次實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)內(nèi)容及根本要求實(shí)驗(yàn)工程名稱:黃金分割法程序設(shè)計(jì)實(shí)驗(yàn)類型:設(shè)計(jì)型每組人數(shù):1實(shí)驗(yàn)內(nèi)容及要求:內(nèi)容:能夠應(yīng)用MATLAB或C+設(shè)計(jì)黃金分割法的程序,并用實(shí)例進(jìn)行驗(yàn)證要求:能夠獨(dú)立完成程序的設(shè)計(jì)及驗(yàn)證二、實(shí)驗(yàn)題目利用黃金分割法求函數(shù)在上的極小點(diǎn)。取容許誤差,三、實(shí)驗(yàn)步驟及結(jié)果1)、建立y函數(shù)M文件fun_gs.mfunction y= fun_gs(x)y=3*x2-2*tan(

2、x);end2)、建立求解極小值點(diǎn)的M文件Untitled5.mfunction gs(x)a=0;b=1;eps=0.0001;i=100;a1=b-0.618*(b-a);a2=a+0.618*(b-a);y1=fun_gs(a1);y2=fun_gs(a2);for k=1:i; if (abs(b-a)<=eps) y=fun_gs(b+a)/2); break; else if (y1<=y2) y2=fun_gs(a1); b=a2; a2=a1; a1=b-0.618*(b-a); y1=fun_gs(a1); else y1=fun_gs(a2); a=a1; a1

3、=a2; a2=a+0.618*(b-a); y2=fun_gs(a2); end i=i+1; endendia0=(b+a)/2y=fun_gs(b+a)/2)end實(shí)驗(yàn)結(jié)果:根據(jù)實(shí)驗(yàn)結(jié)果可知:迭代次數(shù)i =120 ,極小值點(diǎn)a0 =0.3895 ,在極小點(diǎn)處的函數(shù)值為y =-0.3658.?最優(yōu)化方法?課程實(shí)驗(yàn) 第2次實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)內(nèi)容及根本要求實(shí)驗(yàn)工程名稱:牛頓法程序設(shè)計(jì)實(shí)驗(yàn)類型:設(shè)計(jì)型每組人數(shù):1實(shí)驗(yàn)內(nèi)容及要求:內(nèi)容:能夠應(yīng)用MATLAB或C+設(shè)計(jì)牛頓法的程序,并用實(shí)例進(jìn)行驗(yàn)證要求:能夠獨(dú)立完成程序的設(shè)計(jì)及驗(yàn)證二、實(shí)驗(yàn)題目利用牛頓法程序求解該問題有精確解。三、實(shí)驗(yàn)步驟及結(jié)果通過牛頓

4、迭代思想編寫c+程序如下: #include<stdio.h>#include<math.h>double f1(double x,double y)return(4*pow(x*x-y,2)+3*pow(x-1,2);void main()double h=3,x0=2,x1,y0=2,y1,s,r0,r1;double e0=0.000001,e1=0.000001;int k=0;s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+pow(-8*x0*x0+8*y0,2);printf("%d x=%f y=%f s=%f

5、n",k,x0,y0,s);while (s>e1)x1=x0;y1=y0;r0=f1(x0,y0);h=3;while (fabs(h)>e0)r1=f1(x1-h*(16*x1*(x1*x1-y1)+6*(x1-1),y1-h*(-8*(x1*x1-y1);if (r1<r0)x0=x1-h*(16*x1*(x1*x1-y1)+6*(x1-1);y0=y1-h*(-8*(x1*x1-y1);r0=r1;h=h+h;else if(fabs(h)>e0) h=-1*h/4;s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+p

6、ow(-8*x0*x0+8*y0,2);k+;printf("%d x=%f y=%f s=%fn",k,x0,y0,s);printf("x=%f y=%f",x0,y0);實(shí)驗(yàn)結(jié)果:通過c的程序運(yùn)行結(jié)果可得知,用牛頓法迭代需要進(jìn)行110次迭代可以求得最優(yōu)解,最優(yōu)解為。?最優(yōu)化方法?課程實(shí)驗(yàn) 第3次實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)內(nèi)容及根本要求實(shí)驗(yàn)工程名稱:共軛梯度法程序設(shè)計(jì)實(shí)驗(yàn)類型:設(shè)計(jì)型每組人數(shù):1實(shí)驗(yàn)內(nèi)容及要求:內(nèi)容:能夠應(yīng)用MATLAB或C+設(shè)計(jì)共軛梯度法的程序,并用實(shí)例進(jìn)行驗(yàn)證要求:能夠獨(dú)立完成程序的設(shè)計(jì)及驗(yàn)證二、實(shí)驗(yàn)題目利用線性共軛梯度程序求解無(wú)約束優(yōu)化問

7、題式中:該問題有精確解,n=10,初始向量為零向量,終止準(zhǔn)那么為。三、實(shí)驗(yàn)步驟及結(jié)果1、建立M文件cg.mfunction x,iter = cg(G,b,x0,max_iter)x=x0;tolerance=1.0e-5;fprintf('n x0= ');fprintf(' %10.6f',x0);r=G*x-b;d=-r;for k=1:max_iter if norm(r,2)<=tolerance iter=k-1; fprintf('n Algorithm finds a solution!'); return end alph

8、a=(r'*r)/(d'*G*d); xx=x+alpha*d; rr=r+alpha*G*d; beta=(rr'*rr)/(r'*r); d=-rr+beta*d; x=xx; r=rr; fprintf('n x%d= ',k); fprintf(' %10.6f',x);enditer=max_iter;returnend2、建立M文件CG_main.mfunction CG_main()G=4 -1 0 0 0 0 0 0 0 0;. -1 4 -1 0 0 0 0 0 0 0;. 0 -1 4 -1 0 0 0 0 0

9、 0;. 0 0 -1 4 -1 0 0 0 0 0;. 0 0 0 -1 4 -1 0 0 0 0;. 0 0 0 0 -1 4 -1 0 0 0;. 0 0 0 0 0 -1 4 -1 0 0;. 0 0 0 0 0 0 -1 4 -1 0;. 0 0 0 0 0 0 0 -1 4 -1;. 0 0 0 0 0 0 0 0 -1 4; b=3 2 2 2 2 2 2 2 2 3' x0=0 0 0 0 0 0 0 0 0 0' max_iter=1000; fprintf('n'); fprintf('Conjugate Gradient Metho

10、d: n'); fprintf('= n'); y,iter=cg(G,b,x0,max_iter); fprintf('n'); fprintf('Iterative number :n %d n',iter); fprintf('Solution: n'); fprintf('%10.6f',y); fprintf('nn=nn');實(shí)驗(yàn)結(jié)果:通過上面的計(jì)算結(jié)果可以看出,用共軛梯度法迭代5次求得最優(yōu)解,其中最優(yōu)解為。?最優(yōu)化方法?課程實(shí)驗(yàn) 第4次實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)內(nèi)容及根本要求實(shí)驗(yàn)工程名稱

11、:BFGS算法程序設(shè)計(jì)實(shí)驗(yàn)類型:設(shè)計(jì)型每組人數(shù):1實(shí)驗(yàn)內(nèi)容及要求:內(nèi)容:能夠應(yīng)用MATLAB或C+設(shè)計(jì)BFGS算法的程序,并用實(shí)例進(jìn)行驗(yàn)證要求:能夠獨(dú)立完成程序的設(shè)計(jì)及驗(yàn)證二、實(shí)驗(yàn)題目利用BFGS算法求解無(wú)約束優(yōu)化問題該問題有唯一極小點(diǎn),極小值三、實(shí)驗(yàn)步驟及結(jié)果1)、建立函數(shù)的M文件fun.m:function f = fun(x)f=2*(x(1)-x(2)2)2+(x(2)-2)2;建立M文件gradient.m function g=gradient(x) g=4*(x(1)-x(2)2); 2*(x(2)-2);2)、建立搜索函數(shù)的M文件wolfe_search.m function

12、alphak=wolfe_search(x,g,d) alphamax=inf; ruo=0.1; sigma=0.6; alpha1=0; alpha2=alphamax; fai1=fun(x); dfai1=g'*d; alpha=1; faialpha=fun(x+alpha*d); afai=gradient(x+alpha*d)'*d; while 1 if faialpha-fai1>ruo*alpha*dfai1 while faialpha-fai1>ruo*alpha*dfai1 alphaba=alpha1+(alpha-alpha1)/. (

13、2*(1+(fai1-faialpha/(alpha-alpha1)*dfai1); alpha2=alpha; alpha=alphaba; faialpha=fun(x+alpha*d); end dfai=gradient(x+alpha*d)'*d; end if dfai>=sigma*dfai1 alphak=alpha; return else alphaba=alpha+(alpha-alpha1)*dfai)/(dfai1-dfai); alpha1=alpha; fai1=faialpha; dfai1=dfai; alpha=alphaba; faialph

14、a=fun(x+alpha*d); dfai=gradient(x+alpha*d)'*d; end end3)、建立BFGS算法的M文件bfgs.mfunction x,iter = bfgs(H,x0,max_iter,TOL)k=0;fprintf('n x0= ');fprintf(' %10.6f',x0);x=x0;g=gradient(x);while norm(g)>TOL & k<=max_iterd=-H*g;afa=wolfe_search(x,g,d);s=afa*d;x=x+s;fprintf('n

15、x%2d= ',k+1);fprintf(' %10.6f ',x);gnew=gradient(x);y=gnew-g;H=H+(s-H*g)*s'+s*(s-H*y)')/(s'*y)-(s-H*y)'*y*y*y'/(s'*y)2);g=gnew;k=k+1;endif norm(g)<=TOL fprintf('n Algorithm finds a solution! n');else fprintf('n Number of iterations exceeds max_iter. n');enditer=k;end4、建立求最優(yōu)解的M文件bfgs_main.mfunction bfgs_main()x0=3 2'n=length(x0);H=eye(n);max_iter=1000;tolerance=1.0e-6;fprintf('n');fprintf('BFGS Method: n');fprintf('= n');x,iter=bfgs(H,x0,max_iter,tolerance);fprintf('Iter

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論