求解無約束最優(yōu)化問題的共軛梯度法

求解無約束最優(yōu)化問題的共軛梯度法

ID:6708214

大?。?2.50 KB

頁數(shù):3頁

時間:2018-01-23

求解無約束最優(yōu)化問題的共軛梯度法_第1頁
求解無約束最優(yōu)化問題的共軛梯度法_第2頁
求解無約束最優(yōu)化問題的共軛梯度法_第3頁
資源描述:

《求解無約束最優(yōu)化問題的共軛梯度法》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。

1、首次試做實驗記錄年月日實驗課程名稱最優(yōu)化方法面向專業(yè)信息與計算科學總學時數(shù)實驗項目名稱求解無約束最優(yōu)化問題的共軛梯度法實驗學時一、實驗目的、要求目的:進一步掌握解無約束最優(yōu)化問題的共軛梯度法的基本思想,熟悉關于極小化正定二次函數(shù)以及非二次函數(shù)的共軛梯度法的算法,了解它們的特點,加強編程能力和編程技巧,能夠上機求解一些多變量函數(shù)最優(yōu)化問題。要求:針對給定的實驗題目,根據(jù)共軛梯度法的算法,能夠熟練地使用某種語言上機編程,給出實驗結果,注意上機編程的正確性。二、實驗原理共軛梯度法是介于最速下降法與牛頓法之間的一個方法,它僅需利用一階導數(shù)信

2、息,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣并求逆的特點。共軛梯度法具有二次終止性,即對于正定二次函數(shù),在精確線搜索的條件下,方法有限步終止。關于正定二次函數(shù)和非二次函數(shù)的共軛梯度法詳見教材中的算法4.3.4和算法4.3.8。需要寫算法三、實驗內容:極小化函數(shù),其中。四、實驗過程原始記錄(數(shù)據(jù)、圖表、計算等)%首先我們給出給出針對正定二次函數(shù)的共軛梯度法的程序%該程序具有一定的適應性,適合一般的正定二次函數(shù)function[x,iter]=cgopt(G,b,x0,max_iter,tol)%Con

3、jugategradientmethodforthefollowingpositivedefinitequadratic%function%x0:startingpoint%max_iter:maximumnumberofiterations%tol:toleranceofthegradientx=x0;fprintf('x0=');fprintf('%10.6f',x0);r=G*x-b;d=-r;fork=1:max_iterifnorm(r)<=toliter=k-1;fprintf('Algorithmfindsas

4、olution!');returnendalpha=(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('x%d=',k);fprintf('%10.6f',x);enditer=max_iter;return%下面我們給出利用共軛梯度法法求解本實驗題目的主程序%該程序具有針對性,需針對具體的題目進行適當?shù)男薷膄unctionCG_main()G=[101234;19-12-3;2-173-

5、5;32312-1;4-3-5-115];b=[12-2714-1712]';x0=[00000]';max_iter=1000;tol=1e-6;fprintf('');fprintf('ConjugateGradientMethod:');fprintf('=============');[x,iter]=cgopt(G,b,x0,max_iter,tol);fprintf('Iterativenumber:%d',iter);fprintf('Solution:');fprintf('%10.6f',x

6、);fprintf('=============');五、實驗結果及分析我們在工作窗口輸入命令CG_main(),運行后得結果ConjugateGradientMethod:=============x0=0.0000000.0000000.0000000.0000000.000000x1=1.073560-2.4155101.252487-1.5208771.073560x2=1.305605-2.6279812.146636-1.6942700.442393x3=1.446618-2.2253842.448048-1.9

7、706910.620722x4=1.086550-2.0635742.792911-2.1016450.836386x5=1.000000-2.0000003.000000-2.0000001.000000Algorithmfindsasolution!Iterativenumber:5Solution:1.000000-2.0000003.000000-2.0000001.000000=============結果分析:我們根據(jù)解針對正定二次函數(shù)的共軛梯度法的算法編寫了Matla程序。上機運行后經(jīng)過5次迭代后得到了精確最優(yōu)解。本題

8、中的目標函數(shù)是正定二次函數(shù),未知變量的維數(shù)為5,理論上共軛梯度法經(jīng)過5次迭代后即可得到最優(yōu)解,而上機數(shù)值實驗的結果也是如此。結果說明了用共軛梯度法求解無約束最優(yōu)化問題的可行性,同時也表明了我們編寫的程序的正確性。

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。