




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、最優(yōu)化馬昌鳳第五章作業(yè)精品資料最優(yōu)化方法及其Matlab程序設計習題作業(yè)暨實驗報告學院:數(shù)學與信息科學學院班級:12級信計一班姓名:李明學號:1201214049僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除 謝謝7第四章共軛梯度法一、上機問題與求解過程1、用DFP算法求解min f(x)1x0, H 01X12 3x2,取初始點和初始矩陣為解:將程序HESS矩陣變?yōu)镠o具體如下:仿照書上編寫DFP程序,fun cti onx,val,k=dfp(fu n,gfu n, x0)min f(x)分別是目標函數(shù)及其梯度k是迭代次數(shù)%功能:用DFP算法求解吳宇舒問題:%輸入:x0是初始點,fun,gfun%
2、輸岀:x,val分別是近似最優(yōu)點和最優(yōu)值,maxk=1e5; %給岀最大迭代次數(shù)rho=0.55;sigma=0.4;epsil on=1e-5;k=0; n=le ngth(x0);Hk=2 1;1 1;while (k<maxk)%計算梯度break ; end%計算搜索方向gk=feval(gfu n, x0);if (norm(gk)<epsilon),dk=-Hk*gk;m=0;mk=0;while (m<20) %用Armijo搜索求步長if (feval(fun,x0+rhoAm*dk)<feval(fun,x0)+sigma*rhoAm*gk'*
3、dk) mk=m;break ;endm=m+1;endx=x0+rhoAmk*dk;sk=x_x0;yk=feval(gfu n,x)-gk;if (sk'*yk>0)Hk=Hk-(Hk*yk*yk'*Hk)/(yk'*Hk*yk)+(sk*sk')/(sk'*yk);endk=k+1;x0=x;endval=feval(fu n, x0);然后仿照書上建立兩個目標函數(shù)和梯度的M文件:fun cti onf=fun(x)f=x(1)A2+3*x(2)A2;fun cti ong=gfu n(x)g=2*x(1) 6*x(2)'選取初始點為
4、1,1',調(diào)用函數(shù)程序,得出最小極值點為0.2203 10 6, 0.1599 10 6',極小值為1.2527 10 13,在界面框中輸入的 程序如下:x0=1 -1'x,val,k=dfp('fu n','gfu n',x0)x =1.0e-06 *-0.2203-0.1599val =1.2527e-13k =4從結(jié)果可以看出迭代次數(shù)為4次,如果選取不同的初值點則迭 代次數(shù)不一樣,但是極小值相同。2、用BFGS算法求f(x) X; X1X2x;的極小點,選取初始點為X。(3,2)t 解:仿照書上編寫B(tài)FGS程序具體如下:fun ct
5、i onx,val,k=bfgs(fu n,gfun, x0,vararg in)%功能:用BFGS算法求解無約束問題:min f(x) ;%輸入:x0是初始點,fun,gfun分別是目標函數(shù)及梯度;%vararg in是輸入的可變參數(shù)變量,簡單調(diào)用bfgs時可以忽略它;%但若其他程序循環(huán)調(diào)用該程序時將會發(fā)生重要的作用%輸岀:x,val分別為近似最優(yōu)點和最優(yōu)值,k是迭代次數(shù)maxk=500;rho=0.55;sigma=0.4;epsil on=1e-5;k=0; n=le ngth(x0);Bk=eye (n);while (k<maxk)gk=feval(gfu n, x0,vara
6、rg in :);if (norm(gk)<epsilon),break ; enddk=-Bkgk;%解方程組,計算搜索方向m=0;mk=0;while (m<20) %用 Armijo搜索求步長n ewf=feval(fu n,x0+rhoAm*dk,varargi n:);oldf=feval(fu n,x0,varargi n:);if (newf<oldf+sigma*rhoAm*gk'*dk)mk=m;break ;endm=m+1;end%BFGS校正x=x0+rhoAmk*dk;sk=x-x0;yk=feval(gfu n, x,vararg in :
7、)-gk;if (yk'*sk>0)Bk=Bk-(Bk*sk*sk'*Bk)/(sk'*Bk*sk)+(yk*yk')/(yk'*sk);endk=k+1;x0=x;endval=feval(fu n,xO,varargi n:);%在一開始的時候輸入格式有錯誤為:x,val,k=bfgs(' fun ','gfun ' ,xO,varargin)%后來改為x,val,k=bfgs(fun,gfun,x0)得岀正確答案建立兩個目標函數(shù)和梯度的M文件:fun cti onf=fun(x)f=x(1)A2+x (2) A
8、2+x (1)*x(2);fun cti ong=gfu n(x)g=2*x(1)+x(2) 2*x (2)+x(1)'選取初始點為3,2',調(diào)用函數(shù)程序,得出最小極值點為0.0513 10 5, 1.5555 10 5',極小值為1.8846 10 6,在界面框中輸入的 命令如下:x0=3 2'x,val,k=bfgs('fu n','gfu n',x0)x =1.0e-05 *0.0513-0.1555val =1.8846e-12k =3從結(jié)果可以看出迭代次數(shù)為3次,如果選取不同的初值點則迭代 次數(shù)不一樣,但是極小值相同。3
9、、分別利用BFGS算法和DFP算法的Matlab程序求解下列優(yōu)化問題(1) min f(x)x; x; 3捲 xm23,取 x0(0,0)T;(2) min f (x)4(1 xj2 5(x? x;)2,取 x°(2,0)T;解:(1) BFGS算法解題與前面程序相同,編寫不同的函數(shù)文件,如下:fun cti onf=fun(x)f=x(1)A2+x (2)A2-3*x(1)-x(1)*x (2)+3;fun cti ong=gfu n(x)g=2*x(1)-x(2)-3 2*x (2)-x(1)'在窗口中輸入命令并得出結(jié)果:x0=0 0'x,val,k=bfgs(&
10、#39;fu n','gfu n',x0)x =2.00001.0000val =3.4737e-12k =精品資料4由輸入的命令與現(xiàn)實的結(jié)果可以知道,極小值點為2,1,迭代的次數(shù)為4次。DFP算法解題:在上面計算的基礎之上,添加函數(shù)文件,調(diào)用第一題程序:fun cti onHe=Hess(x)He=2 ,-1;-1,2;在窗口中輸入命令并得出結(jié)果:x0=0 0'x,val,k=dfp('fu n','gfu n',xO)x =21val =0k =1由輸入的命令與現(xiàn)實的結(jié)果可以知道,極小值點為2,1,迭代的次數(shù)為1次。(2)BF
11、GS算法解題 與前面程序相同,編寫不同的函數(shù)文件,如下: fun cti onf=fun(x)f=4*(1-x(1)A2+5*(x (2)-x(1)A2);fun cti ong=gfu n(x)g=_8*(1-x(1)-10*x(1)*(x (2)-x(1)A2) 10*(x(2)-x(1)A2)'在窗口中輸入命令并得出結(jié)果:x0=2 0'x,val,k=bfgs('fu n','gfu n',xO)x =1.00001.0000val =-1.6236e-06k =31由輸入的命令與現(xiàn)實的結(jié)果可以知道,極小值點為1,1,迭代的次數(shù)為31次。D
12、FP算法解題:在上面計算的基礎之上,添加函數(shù)文件,調(diào)用第一題程序:fun cti onHe=Hess(x)He=8-10*(x(2)-x(1)A2)+20*x(1) ,-10*x(1);-10*x(1), 10;在窗口中輸入命令并得出結(jié)果:x0=2 0'x,val,k=dfp('fu n','gfu n',xO)x =1.00001.0000val =1.7009e-07k =18由輸入的命令與現(xiàn)實的結(jié)果可以知道,極小值點為1,1,迭代的次數(shù)為18次。4、分別利用BFGS算法和DFP算法的Matlab程序求Powell奇異函數(shù)的 極小值:min f (x
13、) (x1 10x2)25(x3 10x4)2 (x2 2x3)2 10(x-i x4)2,初始點取為x°(3, 1,0,1)T。解:BFGS算法解題與前面程序相同,編寫不同的函數(shù)文件,如下:fun cti onf=fun(x)f=(x(1)+10*x(2)A2+5*(x(3)-10*x(4)A2+(x (2)-2*x(3)A2+10*(x(1)-x(4)A2;fun cti ong=gfu n(x)g=20*(x(1)+10*x(2)+20*(x(1)-x)20*(x(1)+10*x (2)+2*(x (2)-2*x(3)10*(x (3)-10*x(4)-4*(x (2)-2*x
14、(3) -100*(x (3)-10*x(4)-20*(x(1)-x(4)';在窗口中輸入命令并得出結(jié)果:x0=3,-1,0,1'x,val,k=bfgs('fu n','gfu n',x0)x =1.0e-08 *-0.00620.01310.44650.0432val =8.1534e-17k =13由輸入的命令與現(xiàn)實的結(jié)果可以知道,極小值點為0.0062 10 8,0.0131 10 8,0.4465 100.0432 10 8,迭代的次數(shù)為 13次。 DFP算法解題:在上面計算的基礎之上,添加Hess矩陣文件,fun cti onHe=Hess(x)n=len gth(x);He=zeros (n,n);He=40,20,0,-20; 20,202,-4,0; 0,-4,18,-100;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園保健知識培訓課件
- 金昌電梯裝修施工方案
- 干部法律知識培訓課件
- 水塔工程施工方案
- 兒童租賃門店合同范例
- 個人勞務派遣工合同范例
- 個人田地出租合同范例
- 人工代加工合同范例
- 品牌引導消費者行為的技巧計劃
- 秘書工作任務安排計劃表
- 醫(yī)療器械醫(yī)療器械研發(fā)合同
- 2025年岳陽職業(yè)技術學院單招職業(yè)技能測試題庫及參考答案
- (二模)2024-2025學年佛山市順德區(qū)高三教學質(zhì)量檢測 (二)歷史試卷(含答案)
- 2024初級會計職稱考試題庫(附參考答案)
- 國家安全教育大學生讀本高教社2024年8月版教材講義-第一章完全準確領會總體國家安全觀
- 2025年四川省對口招生(旅游類)《前廳服務與管理》考試復習題庫(含答案)
- 2024年01月河北2024年唐山銀行社會招考筆試歷年參考題庫附帶答案詳解
- 【高++中語文++】《記念劉和珍君》課件+統(tǒng)編版高中語文選擇性必修中冊
- 2025年湖南信息職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年江西環(huán)境工程職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年世界職業(yè)院校技能大賽高職組“研學旅行組”賽項參考試題庫(含答案)
評論
0/150
提交評論