




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于MTLAB環(huán)境下實(shí)現(xiàn)最優(yōu)化方法阻尼牛頓法1 優(yōu)化設(shè)計(jì)法優(yōu)化設(shè)計(jì)(Optimal Design)是現(xiàn)代先進(jìn)的設(shè)計(jì)方法,這種設(shè)計(jì)方法是把數(shù)學(xué)規(guī)劃理論與計(jì)算方法應(yīng)用于實(shí)際設(shè)計(jì)中,按照預(yù)定的目標(biāo),借助計(jì)算機(jī)的運(yùn)算尋求最優(yōu)設(shè)計(jì)方案的有關(guān)參數(shù),從而獲得最好的技術(shù)經(jīng)濟(jì)效果。優(yōu)化設(shè)計(jì)反映出人們對(duì)于設(shè)計(jì)規(guī)律這一客觀世界認(rèn)識(shí)的深化。設(shè)計(jì)上的“最優(yōu)值”是指一定條件影響下所能得到的最佳設(shè)計(jì)值。最優(yōu)值是一個(gè)相對(duì)的概念,在大多數(shù)的情況下,可以用最大值或最小值來(lái)表示。概括起來(lái),優(yōu)化設(shè)計(jì)的工作包括以下兩部分內(nèi)容:(1)將實(shí)際的設(shè)計(jì)問(wèn)題的物理模型抽象為數(shù)學(xué)模型(用數(shù)學(xué)公式來(lái)表示)。建立數(shù)學(xué)模型時(shí)要
2、選取設(shè)計(jì)變量,列出目標(biāo)函數(shù),并且給出約束條件。目標(biāo)函數(shù)是設(shè)計(jì)問(wèn)題所需求的最優(yōu)指標(biāo)與設(shè)計(jì)變量之間的函數(shù)關(guān)系式。(2)選取適當(dāng)?shù)淖顑?yōu)化方法,求解數(shù)學(xué)模型。也可歸結(jié)為在給定的條件(即約束條件)下,求出目標(biāo)函數(shù)的極值或者最優(yōu)值問(wèn)題。最優(yōu)化問(wèn)題的一般形式為:其中為決策變量,f (x)為目標(biāo)函數(shù),為約束集或可行域。如果,則上述問(wèn)題稱(chēng)為無(wú)約束最優(yōu)化問(wèn)題,否則,稱(chēng)為約束最優(yōu)化問(wèn)題。對(duì)于無(wú)約束最優(yōu)化問(wèn)題,也已經(jīng)提出了不少數(shù)值求解方法。例如共扼梯度法、牛頓法、Guass牛頓法、牛頓型方法、擬牛頓法、非精確牛頓法、廣義擬牛頓法等。2 牛頓法與阻尼牛頓法牛頓法是求解無(wú)約束優(yōu)化問(wèn)題最古老的算法之一。但到目前為止,它的改
3、進(jìn)形式仍不失為最有效的算法之一,因?yàn)樗畲蟮膬?yōu)點(diǎn)是收斂速度比較快。由于一個(gè)函數(shù)在一點(diǎn)附近的性態(tài)與二次函數(shù)很接近,所以往往通過(guò)建立二次摸型來(lái)構(gòu)造有效的算法,最直接而自然的二次模型,顯然就是它的泰勒展開(kāi)式中只到二次項(xiàng)的部分。由此,牛頓法的基本思想是:設(shè)已知f (x)的極小點(diǎn)x*的一個(gè)近似,在附近將f(x)作泰勒展開(kāi)有:其中:若正定,則有極小點(diǎn)存在,設(shè)其為,并令便得到f (x)的極小點(diǎn)的一個(gè)新的近似,由于為二次凸函數(shù),它的極小點(diǎn)很容易求,事實(shí)上,令則有:當(dāng)用迭代式時(shí),且其中由上式定義時(shí),這種迭代便稱(chēng)為牛頓迭代,而算法稱(chēng)為牛頓法。由牛頓法的導(dǎo)出過(guò)程可知,牛頓法面臨兩個(gè)主要的困難。一是Hessian矩陣
4、不正定。這時(shí)二次模型不一定有極小點(diǎn),甚至沒(méi)有平穩(wěn)點(diǎn)。當(dāng)不定時(shí),二次模型函數(shù)是無(wú)界的。為了克服這一困難,人們提出了若干修正措施。Goldstein和Price提出一種修正牛頓辦法:當(dāng)非正定時(shí),采用最速下降方向。Giu和Murray 提出了一個(gè)數(shù)值穩(wěn)定的處理方法,從的修改Cholesky分解形式。 牛頓法的另一困難是,它在實(shí)際執(zhí)行的過(guò)程中,每次迭代都需要精確計(jì)算Hessian矩陣的值,這就需要大量的計(jì)算,有時(shí)甚至?xí)?dǎo)致數(shù)值實(shí)驗(yàn)的失敗。后來(lái),有人提出能否定義一種牛頓型方法來(lái)避免每次迭代都計(jì)算Hessian陣的值。這樣就導(dǎo)致了人們對(duì)經(jīng)典牛頓法的修正。 其中阻尼牛頓法(修正牛頓法)具有一定的代表性。其基
5、本思想是:為了改變?cè)寂nD法定步長(zhǎng)的搜索方式,以牛頓方向?yàn)樗阉鞣较蜻M(jìn)行一維最優(yōu)化搜索,求該方向上的最優(yōu)步長(zhǎng)因子,即迭代式改為:當(dāng)用迭代式時(shí),這種迭代便稱(chēng)為阻尼牛頓迭代,而算法稱(chēng)為阻尼牛頓法,稱(chēng)為阻尼因子。顯然,阻尼牛頓法仍然保持了原始牛頓法的二次收斂性質(zhì),同時(shí)對(duì)于非二次函數(shù)又具有函數(shù)值穩(wěn)定下降的特點(diǎn)。3 MATLAB介紹自1994年美國(guó)Math Works公司推出MATLAB以來(lái),目前MATLAB己發(fā)展成為國(guó)際上最優(yōu)秀的科技應(yīng)用軟件之一,它以強(qiáng)大的科學(xué)計(jì)算與可視化功能、簡(jiǎn)單易用、開(kāi)放式可擴(kuò)展環(huán)境,特別是所附帶的30多種面向不同領(lǐng)域的工具箱支持,使得MATLAB在許多科學(xué)領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)
6、利分析、算法研究和應(yīng)用開(kāi)發(fā)的基本功聚合首選平臺(tái)。MATLAB最初用于自動(dòng)控制系統(tǒng)的輔助設(shè)計(jì),而后采用了開(kāi)放性開(kāi)發(fā)的思想,不斷吸收各學(xué)科領(lǐng)域所開(kāi)發(fā)的實(shí)用程序,形成了一套規(guī)模大、覆蓋面積廣的工具箱,包括信號(hào)處理、工程優(yōu)化、圖像處理、小波分析、系統(tǒng)識(shí)別、通信仿真、模糊控制、神經(jīng)網(wǎng)絡(luò)、統(tǒng)計(jì)分析等許多現(xiàn)代工程技術(shù)學(xué)科的內(nèi)容,它的應(yīng)用范圍涵蓋了當(dāng)今所有的工業(yè)、電子、醫(yī)療、建筑等各領(lǐng)域。對(duì)于優(yōu)化工具箱(Optimization Toolbox),是將工程上的優(yōu)化方法進(jìn)行編譯并設(shè)定為固定函數(shù),使人們從繁瑣的程序代碼中解放出來(lái),其豐富的函數(shù)使開(kāi)發(fā)者無(wú)需重復(fù)編程,用戶(hù)只需要按照要求進(jìn)行調(diào)用相應(yīng)函數(shù)即可,使得整個(gè)過(guò)
7、程簡(jiǎn)單、直接。本文將分別按兩種方式進(jìn)行編程計(jì)算案例,一種是按照牛頓法的運(yùn)算法則進(jìn)行編程,另一種是直接調(diào)用優(yōu)化工具箱函數(shù)計(jì)算,將體現(xiàn)出優(yōu)化工具箱極大的優(yōu)勢(shì)。4 程序設(shè)計(jì)思路和程序模塊根據(jù)牛頓法和阻尼牛頓法的計(jì)算法則,并依照Matlab的特點(diǎn),阻尼牛頓法程序設(shè)計(jì)思路一般步驟如下:(1) 根據(jù)目標(biāo)函數(shù),任意選取初始迭代點(diǎn),給定計(jì)算精度,并初始化k=0;(2) 判斷迭代次數(shù)是否超出設(shè)定迭代次數(shù),若超出迭代次數(shù),則跳出迭代運(yùn)算,返回迭代次數(shù)、最終迭代點(diǎn)和該點(diǎn)的函數(shù)值,并計(jì)算目標(biāo)函數(shù)f(x)在點(diǎn)處的梯度以及,其中;(3) 檢驗(yàn)終止條件,若時(shí),則說(shuō)明是在精度下的最優(yōu)值,計(jì)算并輸出,否則轉(zhuǎn)入第(4)步;(4)
8、 計(jì)算f(x)在點(diǎn)的Hessian矩陣,并求其逆矩陣,;(5) 確定牛頓方向,并沿方向按照Armjijo準(zhǔn)則做一維沸精確線搜索,得到步長(zhǎng)因子,計(jì)算:并令k=k+1,轉(zhuǎn)入第(2)步,繼續(xù)運(yùn)算。按照上面的程序設(shè)計(jì)思路,阻尼牛頓法的程序模塊和程序說(shuō)明如下:function x,f,k=dampnm(fun,gfun,Hess,x0)maxk=500;%設(shè)定最大迭代次數(shù)rho=0.55;sigma=0.4;k=0;epsilon=1e-5;%給定計(jì)算精度while(k<maxk)%判斷迭代次數(shù)是否滿足是定值gk=feval(gfun,x0);%計(jì)算函數(shù)f在x0的梯度Gk=feval(Hess,x
9、0);% 計(jì)算函數(shù)f在x0的海瑟矩陣(Hessian)dk=-Gkgk;%計(jì)算搜索方向,解方程組-gk=Gk*dkif(norm(gk)<epsilon),break;%判斷終止迭代準(zhǔn)則,是否滿足設(shè)定精度end;m=0;mk=0;while(m<20)%運(yùn)用Armijo法做非精度線搜索,確定步長(zhǎng)因子if(feval(fun,x0+rhom*dk)<feval(fun,x0)+sigma*rhom*gk'*dk)mk=m;break;endm=m+1;endx0=x0+rhomk*dk;k=k+1;endx=x0;%賦值最后迭代點(diǎn),以便輸出f=feval(fun,x);
10、計(jì)算最后迭代點(diǎn)x的函數(shù)值上面的程序保存為dampnm.m文件,以便在案例中調(diào)用。5 計(jì)算案例(1) 已知無(wú)約束優(yōu)化問(wèn)題的目標(biāo)函數(shù)是,求在初始迭代點(diǎn)下,迭代次數(shù)不超過(guò)500次的目標(biāo)函數(shù)最優(yōu)值。因?yàn)楦玫倪m應(yīng)不同的目標(biāo)函數(shù),以便在求不同目標(biāo)函數(shù)的最優(yōu)值調(diào)用程序,所以在程序模塊中沒(méi)有存儲(chǔ)具體的函數(shù),調(diào)用該程序時(shí)還需建立目標(biāo)函數(shù)、梯度和海瑟矩陣的M文件。 目標(biāo)函數(shù)的M文件:function f=fun(x)f=100*(x(1)2-x(2)2+(x(1)-1)2;目標(biāo)函數(shù)梯度的M文件:function g=gfun(x)g=400*x(1)*(x(1)2-x(2)+2*(x(1)-1),-200*(x
11、(1)2-x(2)'目標(biāo)函數(shù)海瑟矩陣的M文件:function He=Hess(x)n=length(x);He=zeros(n,n);He=1200*x(1)2-400*x(2)+2,-400*x(1);-400*x(1),200;調(diào)用上面的程序方式為:>> x0=0 0'>> x,f,k=dampnm('fun','gfun','Hess',x0)分別在下程序運(yùn)行結(jié)果如圖一所示。運(yùn)用Matlab優(yōu)化工具箱的fminunc函數(shù),可以很輕松的實(shí)現(xiàn)上述結(jié)果。為了要調(diào)用fminunc函數(shù),首先得編寫(xiě)關(guān)于f(x)的M文件,其程序代碼如下:圖一 初始點(diǎn)分別在下按照阻尼牛頓法編寫(xiě)模塊程序運(yùn)行的結(jié)果圖二 運(yùn)用Matlab優(yōu)化工具箱的fminunc函數(shù),調(diào)用計(jì)算結(jié)果目標(biāo)函數(shù)的M文件:function f=myfun(x)f=100*(x(1)2-x(2)2+(x(1)-1)2;函數(shù)調(diào)用計(jì)算:>> x0=0 0;>> x,fval=fminunc(myfun,x0)fminunc函數(shù)在下運(yùn)行結(jié)果如圖二所示。6 小結(jié)優(yōu)化設(shè)計(jì)的各種方法,如最速下
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客服話務(wù)知識(shí)培訓(xùn)課件
- 供貨合同補(bǔ)充協(xié)議
- 交通運(yùn)輸行業(yè)智能化交通規(guī)劃與建設(shè)方案
- 湖北省武漢市2024-2025學(xué)年高一上學(xué)期1月期末地理試題 含解析
- 云南省昭通市昭通一中教研聯(lián)盟2024-2025學(xué)年高一上學(xué)期期中質(zhì)量檢測(cè)生物學(xué)B試題(含答案)
- 吉林省長(zhǎng)春市榆樹(shù)市2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 小學(xué)低年級(jí)數(shù)學(xué)故事讀后感
- 會(huì)議記錄表格:會(huì)議記錄臺(tái)賬分類(lèi)
- 季度采購(gòu)管理計(jì)劃與工作推進(jìn)安排
- 辦公用品采購(gòu)與供應(yīng)鏈管理協(xié)議
- 新能源概論新能源及其材料課件
- 化學(xué)化工專(zhuān)業(yè)英語(yǔ)1課件
- 裝配式建筑裝配率計(jì)算評(píng)分表
- 1.1北京市基本概況與主要文旅資源《地方導(dǎo)游基礎(chǔ)知識(shí)》(第四版)PPT
- 綜述的寫(xiě)作方法與技巧課件
- 零售藥店實(shí)施GSP情況的內(nèi)審報(bào)告
- 機(jī)械設(shè)計(jì)基礎(chǔ)網(wǎng)考題庫(kù)答案 吉林大學(xué)
- 新蘇教版科學(xué)六年級(jí)下冊(cè)全冊(cè)教案(含反思)
- 觸電事故應(yīng)急處置卡
- 國(guó)際貿(mào)易運(yùn)輸方式課件
- 南陽(yáng)理工學(xué)院畢業(yè)論文格式規(guī)范
評(píng)論
0/150
提交評(píng)論