




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、用MATLAB實(shí)現(xiàn)共軛梯度法求解實(shí)例康福 2021037100311 無約束優(yōu)化方法1.1 無約束優(yōu)化方法的必要性一般機(jī)械優(yōu)化設(shè)計(jì)問題,都是在一定的限制條件下追求某一指標(biāo)為最小,它們都屬于約束優(yōu)化問題。但是為什么要研究無約束優(yōu)化問題? 1有些實(shí)際問題,其數(shù)學(xué)模型本身就是一個(gè)無約束優(yōu)化問題。 2通過熟悉它的解法可以為研究約束優(yōu)化問題打下良好的根底。 3約束優(yōu)化問題的求解可以通過一系列無約束優(yōu)化方法來到達(dá)。所以無約束優(yōu)化問題的解法是優(yōu)化設(shè)計(jì)方法的根本組成局部,也是優(yōu)化方法的根底。4對于多維無約束問題來說,古典極值理論中令一階導(dǎo)數(shù)為零,但要求二階可微,且要判斷海賽矩陣為正定才能求得極小點(diǎn),這種方法有
2、理論意義,但無實(shí)用價(jià)值。和一維問題一樣,假設(shè)多元函數(shù)F(X)不可微,亦無法求解。但古典極值理論是無約束優(yōu)化方法開展的根底。 1.2共軛梯度法目前已研究出很多種無約束優(yōu)化方法,它們的主要不同點(diǎn)在于構(gòu)造搜索方向上的差異。 1間接法要使用導(dǎo)數(shù),如梯度法、阻尼牛頓法、變尺度法、共軛梯度法等。2直接法不使用導(dǎo)數(shù)信息,如坐標(biāo)輪換法、鮑威爾法單純形法等。用直接法尋找極小點(diǎn)時(shí),不必求函數(shù)的導(dǎo)數(shù),只要計(jì)算目標(biāo)函數(shù)值。這類方法較適用于解決變量個(gè)數(shù)較少的n 20問題,一般情況下比間接法效率低。間接法除要計(jì)算目標(biāo)函數(shù)值外,還要計(jì)算目標(biāo)函數(shù)的梯度,有的還要計(jì)算其海賽矩陣。 搜索方向的構(gòu)成問題乃是無約束優(yōu)化方法的關(guān)鍵。共
3、軛梯度法是沿著共軛方向進(jìn)行搜索,屬于共軛方向法中的一種,該方法中每一個(gè)共軛向量都是依賴于迭代點(diǎn)處的負(fù)梯度而構(gòu)造出來。共軛梯度法作為一種實(shí)用的迭代法,它主要有下面的優(yōu)點(diǎn):1算法中,系數(shù)矩陣的作用僅僅是用來由向量P產(chǎn)生向量W=AP,這不僅可充分利用的稀疏性,而且對某些提供矩陣較為困難而由向量P產(chǎn)生向量W=AP又十分方便的應(yīng)用問題是很有益的。2不需要預(yù)先估計(jì)任何參數(shù)就可以計(jì)算,這一點(diǎn)不像SOR等;3每次迭代所需的計(jì)算,主要是向量之間的運(yùn)算,便于并行化。共軛梯度法原理的知識(shí)較多,請?jiān)斠?機(jī)械優(yōu)化設(shè)計(jì)?第四章的第四、五節(jié)。圖1為共軛梯度法的程度框圖圖1為共軛梯度法的程度框圖2 設(shè)計(jì)題目及要求2.1設(shè)計(jì)題
4、目用共軛梯度法求二次函數(shù) 的極小點(diǎn)及極小值。2.2設(shè)計(jì)要求(1) 使用matlab編寫程序,熟練撐握matlab編程方法。(2) 學(xué)習(xí)并撐握共軛梯度法的原理、方法及應(yīng)用,并了解不同無約束優(yōu)化方法的區(qū)別、優(yōu)缺點(diǎn)及特殊要求。(3) 編寫程序,計(jì)算出二次函數(shù)的極小點(diǎn)及極小值,并適中選取不同的初始點(diǎn)及迭代精度精度,分析比擬結(jié)果。三計(jì)算步驟3.1計(jì)算求解解:初始點(diǎn)1,1T 迭代精度 1第一次沿負(fù)梯度方向搜尋計(jì)算初始點(diǎn)處的梯度:為一維搜索最正確步長,應(yīng)滿足得: 2第二次迭代 代入目標(biāo)函數(shù)由 得從而有:因收斂。3.2運(yùn)行與程序運(yùn)行:翻開matlab,確定conjugate_grad_2d.m文件夾為當(dāng)前目錄
5、。 在命令窗中輸入:f=conjugate_grad_2d(1,1,0.001) 選擇不同的初始點(diǎn)坐標(biāo)0,0,0,1,1,0,和迭代精度0.01,0.0001,進(jìn)行運(yùn)行時(shí),需要屢次調(diào)用conjugate_grad_2d函數(shù)。程序及說明:function f=conjugate_grad_2d(x0,t)%用共軛梯度法求函數(shù)f(x1,x2)=x12+2*x22-4*x1-2*x1*x2的極值點(diǎn)%初始點(diǎn)坐標(biāo):x0%收斂精度:t%求得函數(shù)的極值:fx=x0;syms xi yi a; %定義自變量,步長為符號(hào)變量f=xi2+2*yi2-4*xi-2*xi*yi; %創(chuàng)立符號(hào)表達(dá)式ffx=diff(f
6、,xi); %求表達(dá)式f對xi的一階求導(dǎo)fy=diff(f,yi); %求表達(dá)式f對yi的一階求導(dǎo)fx=subs(fx,xi,yi,x0); %代入初始點(diǎn)坐標(biāo)計(jì)算對xi的一階求導(dǎo)實(shí)值fy=subs(fy,xi,yi,x0); %代入初始點(diǎn)坐標(biāo)計(jì)算對yi的一階求導(dǎo)實(shí)值fi=fx,fy; %初始點(diǎn)梯度向量count=0; %搜索次數(shù)初始為0while double(sqrt(fx2+fy2)>t %搜索精度不滿足條件 s=-fi; %第一次搜索的方向?yàn)樨?fù)梯度方向 if count<=0 s=-fi; else s=s1; end x=x+a*s; %進(jìn)行一次搜索后的點(diǎn)坐標(biāo) f=subs
7、(f,xi,yi,x); %構(gòu)造一元搜索的一元函數(shù)(a) f1=diff(f); %對函數(shù)(a)進(jìn)行求導(dǎo) f1=solve(f1); %得到最正確步長a if f1=0 ai=double(f1); %強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型為雙精度數(shù)值 else break %假設(shè)a=0,那么直接跳出循環(huán),此點(diǎn)即為極值點(diǎn) end x=subs(x,a,ai); %得到一次搜索后的點(diǎn)坐標(biāo)值 f=xi2+2*yi2-4*xi-2*xi*yi; fxi=diff(f,xi); fyi=diff(f,yi); fxi=subs(fxi,xi,yi,x); fyi=subs(fyi,xi,yi,x); fii=fxi,fyi
8、; %下一點(diǎn)梯度向量 d=(fxi2+fyi2)/(fx2+fy2); s1=-fii+d*s; %下一點(diǎn)搜索的方向向量 count=count+1; %搜索次數(shù)加1 fx=fxi; fy=fyi; %搜索后終點(diǎn)坐標(biāo)變?yōu)橄乱淮嗡阉鞯氖键c(diǎn)坐標(biāo)endx,f=subs(f,xi,yi,x),count %輸出極值點(diǎn),極小值以及搜索次數(shù)四運(yùn)行結(jié)果及分析此程序運(yùn)行2秒后終止,結(jié)果如下:x = 4 2 極小點(diǎn)坐標(biāo)f = -8 極小值數(shù)值count = 2 迭代次數(shù)ans = -8分析可得:(1) 由結(jié)果看出,程序經(jīng)過2次迭代,得到二次函數(shù)的極小值坐標(biāo)4,2,極小值-8;說明共軛梯度法收斂速度較快,計(jì)算量較
9、小,穩(wěn)定性高。(2) 選擇不同的初始點(diǎn)坐標(biāo)0,0,0,1,1,0,1,1,都是經(jīng)過2次迭代得到一致的結(jié)果;說明共軛梯度法初始點(diǎn)的選擇不影響收斂結(jié)果。(3) 選擇迭代精度0.0001,程序?qū)⒔\(yùn)行15秒才結(jié)束;可知迭代精度越高時(shí),程序運(yùn)行的時(shí)候越長,所以在實(shí)際應(yīng)用中選擇適當(dāng)?shù)牡?,有利于提高?jì)算的效率。(4) 從共軛梯度法的計(jì)算過程可以看出,第一個(gè)搜索方向取作負(fù)梯度方向,這就是最速下降法。其余各步的搜索方向是將負(fù)梯度偏轉(zhuǎn)一個(gè)角度,也就是對負(fù)梯度進(jìn)行修正。所以共軛梯度法實(shí)質(zhì)上是對最速下降法進(jìn)行的一種改良,故它又被稱作旋轉(zhuǎn)梯度法。五結(jié)束語優(yōu)化設(shè)計(jì)是是機(jī)械行業(yè)開展起來的一門新學(xué)科,將最優(yōu)化原理和計(jì)
10、算機(jī)應(yīng)用于設(shè)計(jì)領(lǐng)域,為工程設(shè)計(jì)提供一種重要的科學(xué)設(shè)計(jì)方法。利用它,人們可以從眾多的設(shè)計(jì)方案中尋找最正確設(shè)計(jì)方案,從而大大提高設(shè)計(jì)效率和質(zhì)量,廣泛應(yīng)用于各個(gè)工業(yè)部門。在自然科學(xué)和工程技術(shù)中很多問題的解決常常歸結(jié)為約束優(yōu)化或無約束優(yōu)化的問題。首先根據(jù)實(shí)際的機(jī)械問題建立相應(yīng)的數(shù)學(xué)模型,即應(yīng)用數(shù)學(xué)形式描述實(shí)際設(shè)計(jì)問題。同時(shí)需要用專業(yè)的知識(shí)確定設(shè)計(jì)的限制條件和所追求的目標(biāo),確立各設(shè)計(jì)變量之間的相互關(guān)系等。一旦建立數(shù)學(xué)模型,應(yīng)用數(shù)學(xué)規(guī)劃理論的方法,根據(jù)數(shù)學(xué)模型的特點(diǎn)可以選擇適當(dāng)?shù)膬?yōu)化方法,進(jìn)而可以選擇適當(dāng)?shù)挠?jì)算機(jī)程序,以計(jì)算作為工具求得最正確優(yōu)化設(shè)計(jì)參數(shù)。通過學(xué)習(xí)發(fā)現(xiàn),共軛梯度法是介于最速下降法與牛頓法之
11、間的一個(gè)方法,它僅需利用一階導(dǎo)數(shù)信息,但克服了最速下降法收斂慢的缺點(diǎn),又防止了牛頓法需要存儲(chǔ)和計(jì)算Hesse矩陣并求逆的缺點(diǎn),共軛梯度法不僅是解決大型線性方程組最有用的方法之一,也是解大型非線性最優(yōu)化最有效的算法之一。其優(yōu)點(diǎn)是所需存儲(chǔ)量小,具有步收斂性,穩(wěn)定性高,而且不需要任何外來參數(shù)。如何把實(shí)際的工程技術(shù)問題轉(zhuǎn)化為理論的數(shù)學(xué)模型,進(jìn)行分析運(yùn)算求解,是檢驗(yàn)我們是否學(xué)好這一課的關(guān)鍵。這可以讓我們在以后的研究生生涯中有更加透徹的理解能力,扎實(shí)地?fù)挝諜C(jī)械知識(shí),培養(yǎng)創(chuàng)造性思維,專業(yè)技能有新的提高。文檔收集自網(wǎng)絡(luò),僅用于個(gè)人學(xué)習(xí)通過這次作業(yè)的完成,越來越覺得數(shù)學(xué)方法在機(jī)械優(yōu)化設(shè)計(jì)中的重要性。無論是優(yōu)化設(shè)計(jì),CAD,CAE,其理論支撐都是來自高等數(shù)學(xué)、數(shù)值分析、矩陣分析這幾門課程,這讓我對原本枯燥無味的數(shù)學(xué)課程,又有了新的態(tài)度,新的激情。認(rèn)真學(xué)習(xí)好數(shù)學(xué),理論聯(lián)系實(shí)踐,同時(shí)借助于強(qiáng)大的計(jì)算機(jī)工具,解決實(shí)際問題。Matlab是一種強(qiáng)大的科學(xué)計(jì)算工具,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種有力的工具。在使用Matlab編寫程序時(shí),對于編程的根本規(guī)那么及函數(shù)的調(diào)用缺乏清晰的認(rèn)識(shí),程序運(yùn)行中經(jīng)常出現(xiàn)錯(cuò)誤,一點(diǎn)一滴地調(diào)試再糾正。比方:程序運(yùn)行過程中經(jīng)常出現(xiàn)錯(cuò)誤:Error using =>Too many input arguments。查閱了些書籍,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 活動(dòng)雙節(jié)同慶活動(dòng)方案
- 活動(dòng)十二禮還愿活動(dòng)方案
- 消費(fèi)贈(zèng)券活動(dòng)方案
- 活動(dòng)方案落實(shí)方案
- 法規(guī)培訓(xùn)活動(dòng)方案
- 涉農(nóng)節(jié)目活動(dòng)方案
- 海鮮干貨活動(dòng)方案
- 海豐飲料促銷活動(dòng)方案
- 海關(guān)保護(hù)活動(dòng)方案
- 活動(dòng)每日整點(diǎn)活動(dòng)方案
- GB/T 11446.9-2013電子級水中微粒的儀器測試方法
- 外科護(hù)理學(xué)題庫及答案
- 電能質(zhì)量概念課件
- 涉爆粉塵目錄
- 木蘭詩教學(xué)設(shè)計(jì)一等獎(jiǎng)5篇
- 新譯林版初中八年級上冊英語Unit 1單元測試卷(含聽力材料及答案解析)
- 2023-浙江信息技術(shù)-學(xué)考總復(fù)習(xí)-知識(shí)點(diǎn)總結(jié)
- 集中控制中心建設(shè)(指揮中心建設(shè))
- 施工導(dǎo)流圍堰工程實(shí)例講義課件(117頁配圖豐富)
- 排水系統(tǒng)PLC控制及組態(tài)設(shè)計(jì)說明書
- 自考西方政治制度復(fù)習(xí)重點(diǎn)筆記資料整理(共30頁)
評論
0/150
提交評論