用最速下降法求解無約束非線性規(guī)劃問題_第1頁
用最速下降法求解無約束非線性規(guī)劃問題_第2頁
用最速下降法求解無約束非線性規(guī)劃問題_第3頁
用最速下降法求解無約束非線性規(guī)劃問題_第4頁
用最速下降法求解無約束非線性規(guī)劃問題_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、百度文庫-讓每個(gè)人平等地提升自我運(yùn)名:號(hào):專業(yè)班級(jí):xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2 0 1 3年7月0 4日題目:用最速下降法求解無約束非線性規(guī)劃問題摘要:無約束最優(yōu)化問題的求解方法分為解析法和直接法兩大類。解析法需要計(jì) 算函數(shù)的梯度,其中最速下降法就屬于解析法中的一種。對于一個(gè)無約束非線性 規(guī)劃利用最速下降法求解,首先需要確定其優(yōu)化方向,此優(yōu)化方向應(yīng)該選擇為f 在當(dāng)前點(diǎn)處的負(fù)梯度方向,利用一維搜索法找出沿此方向上的最小值及其對應(yīng) 點(diǎn),此后將該點(diǎn)作為新的出發(fā)點(diǎn)重復(fù)上述過程,直到達(dá)到允許的誤差為止。本文 通過理論的計(jì)算方法,進(jìn)一步分析,最后用C+編程實(shí)現(xiàn)求出

2、允許誤差內(nèi)的最優(yōu) 解。此編程可用于計(jì)算符合下列形式的函數(shù)求最優(yōu)解過程:f(x)=a0 x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5其 中:ai (i=0,1,2,3,4,5)為 函數(shù)的系數(shù)。本文以“李占利 主編,中國礦業(yè)大學(xué)出版社出版”的最優(yōu)化理論與方 法第五章“無約束最優(yōu)化方法,最速下降法”例51為實(shí)例,首先利用 上述迭代的方法,計(jì)算出各迭代點(diǎn)的函數(shù)值,梯度及其模。然后應(yīng)用C+語言編 程,得到在精度范圍內(nèi)的精確最優(yōu)解。C+編程計(jì)算的最優(yōu)解為L* = %=一0.00823045 ,0.0329218 2 -1即轉(zhuǎn)化為分?jǐn)?shù)結(jié)果為:* = %=243 4廿 士( II p(

3、3)11= 0.0736154 v 滿足精度要求的模為:10。關(guān)鍵詞:無約束非線性規(guī)劃解析法最速下降法 梯度模最優(yōu)解一、算法思想無約束最優(yōu)化方法中的最速下降法首先需要確定其優(yōu)化方向,此優(yōu)化方向 應(yīng)該選擇為f在當(dāng)前點(diǎn)處的負(fù)梯度方向,利用一維搜索法找出沿此方向上的最小 值及其對應(yīng)點(diǎn),此后將該點(diǎn)作為新的出發(fā)點(diǎn)重復(fù)上述過程,直到達(dá)到允許的誤差 為止。主要依據(jù)解無約束非線性規(guī)劃問題的最速下降法計(jì)算步驟進(jìn)行設(shè)計(jì)算法。具體步驟如下:第1步 選取初始點(diǎn)戒,給定終止誤差e 0,令k=0;第2步 計(jì)算W3D,若W(x叫&,停止迭代,輸出x,否則進(jìn)行第3 步;第 3 步取 pk =-W(k) ;(xk +人 pk)

4、 = min f (xk +人 pk)第4步 進(jìn)行一維搜索,求,使得k 性,令x+1 = xk+pk,k=k+1。轉(zhuǎn)第 2 步。由以上計(jì)算步驟可知,最速下降法迭代終止時(shí),求得的是目標(biāo)函數(shù)駐點(diǎn)的一個(gè)近 似點(diǎn)。 依據(jù)以上步驟就可以用C+編程實(shí)現(xiàn)最速下降法求解最優(yōu)解的算法。二、算法流程圖三、程序代碼#include#includedouble lamda(double x2,double p2,double a2)double lam1,lam2;lam1=(pow(a0,3)*x0*x0+pow(a1,3)*x1*x1);lam2=-(pow(a0*x0,2)+pow(a1*x1,2);doubl

5、e s;s=-lam2/(2*lam1);return s;void main()cout”endl;cout最速下降法求解最優(yōu)解程序運(yùn)行結(jié)果endl;cout”endl;coutendl;double lamd,x3,a6;double p2,g2,e,y,m,n;int i=0;cout請輸入精度 ee;cout請輸入初始點(diǎn) x0,x1的值:nm;cinn;x0=m;x1=n;cout函數(shù)通式為 f(x)=a0 x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5endl;cout請依次輸入函數(shù)的系數(shù):a0、a1、a2、a3、a4、a5:endl;for(i=0;iai;p

6、0=(2*a0*x0+a2*x1+a3);p1=(2*a1*x1+a2*x0+a4);g0=-p0;g1=-p1;i=0;coute&i=200)lamd=lamda(x,g,a);x0=x0+lamd*g0;x1=x1+lamd*g1;p0=2*a0*x0;p1=2*a1*x1;g0=-p0;g1=-p1;i+;1. _ f f “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ 11 一 一 11cout*endl;cout第i”次迭代結(jié)果:endl;coutp 的模為:sq

7、rt(g0*g0+g1*g1)endl;coutx 的值x0 x1endl;1. _ f f “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ 11 一 一 11cout*endl;coutendl;y=(a0*x0*x0+a1*x0*x1+a2*x0*x1+a3*x0+a4*x1+a5);cout此時(shí)滿足精度要求的 p 的模為:sqrt(g0*g0+g1*g1)endl; coutendl;cout滿足精度的最優(yōu)近似結(jié)果x1,x2分別為:endl;coutx1=x0endl;

8、coutx2=x1endl;coutendl;cout”滿足進(jìn)度要求所得的最優(yōu)值為:endl;coutminf(x)=yendl;四、例子與結(jié)果例子為“李占利主編,中國礦業(yè)大學(xué)出版社出版”的最優(yōu)化理論與方法 第五章無約束最優(yōu)化方法,最速下降法”例51。用最速下降法求解 min f (x) = 2x2 + x;,初始迭代點(diǎn)x(0) = 1 ,精度為e = 0.1。則體現(xiàn)在程序 中很明顯有:a0=2,a1=1,a2=a3=a4=a5=0;e=; x0=x1=1;則程序運(yùn)行結(jié)果為:1F :七字符串學(xué)習(xí) y u n chouxu 巳 4 Debugyu n4.exe *曲 最速下降法求解最優(yōu)解程序運(yùn)行

9、結(jié)果 職?p?p?e eeeee|青輸入精度e9.1請輸入初始點(diǎn)xtBKxEU的值:1 1函款通式為 f =aE0 Jxl *xl +a El Jx2*x2 +at2 3x1 *x2 *aL3 Jxl +aL41x2 +at5 請儂密輸AfflS的系數(shù):a0 x MIL a2K a3K aE4K a5:2 10 0 0 0第L性迭代結(jié)果:P 的槌為:0-993808k 的值一 .111111 0.444444第Z性迭代結(jié)果:p 的懣為:0.33126907407410.0740741KKKMIMZMIMZMIMZKKKKKKKKKKKKKJCIMJCIMJCIMXXXXXXXXHXHXHXXX

10、XMZMZMZMZMZMZWXWXWXWXWXWXWJCJCJCJCJCJCJCJCJCJCJCJCJOtXXXXXX第,汽迭代結(jié)臬P 的卷為:0-0736154008 23 0450.0329216此時(shí)滿足精度要求的P的模為=0.0736154滿足精度的最伐近似結(jié)果XEH.XE2 分別為:xEll=-0.00823045xE21=0.0329218茜足進(jìn)度要求所得的最優(yōu)值為:ninfCx)=-0.000135481Piess any key to cont inue即在允許的精度范圍內(nèi)min f (x) = 2xi + x;,初始迭代點(diǎn)x(0) = 1 ,精度為e = 0.1。得到在精度范圍

11、內(nèi)的精確最優(yōu)解為:即 x* = x (3) T即243 4滿足精度要求的模為:II p 11= 0.0736154e=10。x* = x=-0.00823045 ,0.0329218 t五、結(jié)論與總結(jié)最速下降法為最優(yōu)化萬千方法中的一種,要想更好地利用最優(yōu)化方法解決我 們身邊的問題,光靠這一種方法遠(yuǎn)遠(yuǎn)不夠。因此我必須要好好掌握其他的各種方 法。還有通過這次實(shí)習(xí)讓我深深認(rèn)識(shí)到,并不是所有的問題都能夠手工完成的, 我們平常接觸的例題,都非常基礎(chǔ),那完全可以手工計(jì)算得到答案,但如果問題 比較復(fù)雜時(shí),我們是沒有辦法用手工完成的。所以我們必須借助計(jì)算機(jī)來解決那 些復(fù)雜的問題。因此這就要求我們必須要熟練掌握編程技巧,要能夠把實(shí)際的復(fù) 雜問題通過編寫程序來解決它。還有此次用最速下降法求解最優(yōu)解的程序,我編 的還不夠完美,還有很多不足之處,只能用于研究二元函數(shù)的最優(yōu)解問題,不能 進(jìn)行其他的更深入的研究,所以還有很多改進(jìn)的地方,以后我還要繼續(xù)努力。對于編程一定要多練、多動(dòng)手操作,通過這次實(shí)習(xí)讓我深深地認(rèn)識(shí)到,光靠 理論知識(shí)是不行的,理論知道再多,如果不動(dòng)手實(shí)踐的話照樣編不出程序,只有 在實(shí)踐中,在編寫程序的過程中我們才能發(fā)現(xiàn)自己的不足,才能知道問題出在

溫馨提示

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

評(píng)論

0/150

提交評(píng)論