




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1黃金分割法的優(yōu)化問題(1)黃金分割法基本思路:黃金分割法適用于a,b區(qū)間上的任何單股函數(shù)求極小值問題,對(duì)函數(shù)除要求“單谷”外不做其他要求,甚至可以不連續(xù)。因此,這種方法的適應(yīng)面非常廣。黃金分割法也是建立在區(qū)間消去法原理基礎(chǔ)上的試探方法,即在搜索區(qū)間a,b內(nèi)適當(dāng)插入兩點(diǎn)a1,a2,并計(jì)算其函數(shù)值。a1,a2將區(qū)間分成三段,應(yīng)用函數(shù)的單谷性質(zhì),通過函數(shù)值大小的比較,刪去其中一段,是搜索區(qū)間得以縮小。然后再在保留下來的區(qū)間上作同樣的處理,如此迭代下去,是搜索區(qū)間無限縮小,從而得到極小點(diǎn)的數(shù)值近似解。(2) 黃金分割法的基本原理一維搜索是解函數(shù)極小值的方法之一,其解法思想為沿某一已知方向求目標(biāo)函數(shù)的
2、極小值點(diǎn)。一維搜索的解法很多,這里主要采用黃金分割法(0.618法)。該方法用不變的區(qū)間縮短率0.618代替斐波那契法每次不同的縮短率,從而可以看成是斐波那契法的近似,實(shí)現(xiàn)起來比較容易,也易于人們所接受。 黃金分割法是用于一元函數(shù)f(x)在給定初始區(qū)間a,b內(nèi)搜索極小點(diǎn)*的一種方法。它是優(yōu)化計(jì)算中的經(jīng)典算法,以算法簡(jiǎn)單、收斂速度均勻、效果較好而著稱,是許多優(yōu)化算法的基礎(chǔ),但它只適用于一維區(qū)間上的凸函數(shù)6,即只在單峰區(qū)間內(nèi)才能進(jìn)行一維尋優(yōu),其收斂效率較低。其基本原理是:依照“去劣存優(yōu)”原則、對(duì)稱原則、以及等比收縮原則來逐步縮小搜索區(qū)間7。具體步驟是:在區(qū)間a,b內(nèi)取點(diǎn):a1 ,a2 把a(bǔ),b分為
3、三段。如果f(a1)>f(a2),令a=a1,a1=a2,a2=a+r*(b-a);如果f(a1)<f(a2) ,令b=a2,a2=a1,a1=b-r*(b-a),如果(b-a)/b和(y1-y2)/y2都大于收斂精度重新開始。因?yàn)閍,b為單峰區(qū)間,這樣每次可將搜索區(qū)間縮小0.618倍或0.382倍,處理后的區(qū)間都將包含極小點(diǎn)的區(qū)間縮小,然后在保留下來的區(qū)間上作同樣的處理,如此迭代下去,將使搜索區(qū)a,b逐步縮小,直到滿足預(yù)先給定的精度時(shí),即獲得一維優(yōu)化問題的近似最優(yōu)解。黃金分割法原理如圖所示, (3) 程序流程如下:4 實(shí)驗(yàn)所編程序框圖開始r=0.618給定a=-3,b=5,收斂精
4、度=0.001結(jié)束a*=(a+b)/2a1=b-r*(b-a)y1=f(a1)b=a2a2=a1 y2=y1a2=a+r*(b-a)y2=f(a2)a=a1a1=a2 y1=y2y1>=y2a1=b-r*(b-a) y1=f(a1)a2=a+r*(b-a) y2=f(a2)否是(b-a)/b<和 (y2-y1)/y2<?否是#include math.h #include stdio.h #define f(x) x*x+2*xdouble calc(double *a,double *b,double e,int *n) double x1,x2,s; if(fabs(*b
5、-*a)<=e) s=f(*b+*a)/2); else x1=*b-0.618*(*b-*a); x2=*a+0.618*(*b-*a); if(f(x1)>f(x2) *a=x1; else *b=x2; *n=*n+1; s=calc(a,b,e,n); return s; main() double s,a,b,e; int n=0; scanf("%lf %lf %lf",&a,&b,&e); s=calc(&a,&b,e,&n); printf("a=%lf,b=%lf,s=%lf,n=%dn
6、",a,b,s,n); 5 程序運(yùn)行結(jié)果如下圖:2進(jìn)退法 (1)算法原理進(jìn)退法是用來確定搜索區(qū)間(包含極小值點(diǎn)的區(qū)間)的算法,其理論依據(jù)是:為單谷函數(shù)(只有一個(gè)極值點(diǎn)),且為其極小值點(diǎn)的一個(gè)搜索區(qū)間,對(duì)于任意,如果,則為極小值的搜索區(qū)間,如果,則為極小值的搜索區(qū)間。因此,在給定初始點(diǎn),及初始搜索步長(zhǎng)的情況下,首先以初始步長(zhǎng)向前搜索一步,計(jì)算。(1) 如果則可知搜索區(qū)間為,其中待求,為確定,后退一步計(jì)算,為縮小系數(shù),且,直接找到合適的,使得,從而確定搜索區(qū)間。(2) 如果則可知搜索區(qū)間為,其中待求,為確定,前進(jìn)一步計(jì)算,為放大系數(shù),且,知道找到合適的,使得,從而確定搜索區(qū)間。進(jìn)退法求極
7、值基本思想: 對(duì)f(x)任選一個(gè)初始點(diǎn)x1及初始步長(zhǎng)h0, 通過比較這兩點(diǎn)函數(shù)值的大小,確定第三點(diǎn)位置,比較這三點(diǎn)的函數(shù)值大小,確定是否為 “高低高” 形態(tài)。算法原理1.試探搜索: 選定初始點(diǎn)x1, x2= x1+ h0,計(jì)算 y1f(x1), y2f(x2) (a)如y1>y2,轉(zhuǎn)2向右前進(jìn); (b)如y1<y2, 轉(zhuǎn)3向左后退;圖8.12.前進(jìn)搜索 加大步長(zhǎng) h2 h ,產(chǎn)生新點(diǎn)x3= x2+ 2h0 ;(a)如y2<y3,則函數(shù)在x1,x3內(nèi)必有極小點(diǎn),令a= x1,b= x3搜索區(qū)間為a,b ;(b)如y2>y3, 令x1=x2 ,y1=y2 ; x2=x3 ,
8、y2=y3 ; h=2h 重新構(gòu)造新點(diǎn)x3=x2+h,并比較y2、y3的大小,直到y(tǒng)2<y3。 圖8.23.后退搜索 令 h-h0 ,令x3=x1 ,y3=y1 ;x1=x2 ,y1=y2 ;x2=x3 ,y2=y3 ;h=2h;產(chǎn)生新點(diǎn)x3= x2+ h ; (a)如y2<y3,則函數(shù)在x1,x3內(nèi)必有極小點(diǎn),令a= x3,b= x1,搜索區(qū)間為a,b (b)如y2>y3, 令x1=x2 ,y1=y2 ; x2=x3 ,y2=y3 ;h=2h重新構(gòu)造新點(diǎn)x3=x2+h,并比較y2、y3的大小,直到y(tǒng)2<y3。令a= x1,b= x3,搜索區(qū)間為a,b ; 圖8.3(2
9、)算法步驟用進(jìn)退法求一維無約束問題的搜索區(qū)間(包含極小值點(diǎn)的區(qū)間)的基本算法步驟如下:(1) 給定初始點(diǎn),初始步長(zhǎng),令,;(2) 令,置;(3) 若,則轉(zhuǎn)步驟(4),否則轉(zhuǎn)步驟(5);(4) 令,令,轉(zhuǎn)步驟(2);(5) 若,則轉(zhuǎn)步驟(6)否則轉(zhuǎn)步驟(7);(6) 令,轉(zhuǎn)步驟(2);(7) 令,停止計(jì)算,極小值點(diǎn)包含于區(qū)間(3)算法的MATLAB實(shí)現(xiàn)在MATLAB中編程實(shí)現(xiàn)的進(jìn)退函數(shù)為:功能:用進(jìn)退法求解一維函數(shù)的極值區(qū)間。調(diào)用格式:其中,:目標(biāo)函數(shù); :初始點(diǎn); :初始步長(zhǎng); :精度; :目標(biāo)函數(shù)取包含極值的區(qū)間左端點(diǎn); :目標(biāo)函數(shù)取包含極值的區(qū)間又端點(diǎn)。進(jìn)退法的MATLAB程序代碼如下:function minx,maxx=minJT(f,x0,h0,eps)%目標(biāo)函數(shù):f;%初始點(diǎn):x0;%初始步長(zhǎng):h0;%精度:eps;%目標(biāo)函數(shù)取包含極值的區(qū)間左端點(diǎn):minx;%目標(biāo)函數(shù)取包含極值的區(qū)間又端點(diǎn):maxx;format long;if nargin=3 eps=1.0e-6;endx1=x0;k=0;h=h0;while 1 x4=x1+h; %試探步 k=k+1; f4=subs(f,findsym(f),x4); f1=subs(f,findsym(f),x1); if f4<f1 x2=x1; x1=x4; f2=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷鏈?zhǔn)称焚?gòu)銷合同范例
- 內(nèi)蒙古經(jīng)貿(mào)外語(yǔ)職業(yè)學(xué)院《大數(shù)據(jù)金融》2023-2024學(xué)年第二學(xué)期期末試卷
- 廈門軟件職業(yè)技術(shù)學(xué)院《中學(xué)生物測(cè)量與評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 右江民族醫(yī)學(xué)院《基礎(chǔ)俄語(yǔ)四中方》2023-2024學(xué)年第一學(xué)期期末試卷
- 北京政法職業(yè)學(xué)院《藥理學(xué)與毒理學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧特殊教育師范高等??茖W(xué)?!渡锝y(tǒng)計(jì)與數(shù)學(xué)模型》2023-2024學(xué)年第一學(xué)期期末試卷
- 校園文化藝術(shù)節(jié)暨田徑運(yùn)動(dòng)會(huì)活動(dòng)總結(jié)范文
- 2025年貴陽(yáng)市息烽縣小升初總復(fù)習(xí)數(shù)學(xué)精練含解析
- 加盟合作合同書
- 通化縣2024-2025學(xué)年數(shù)學(xué)四年級(jí)第二學(xué)期期末經(jīng)典試題含解析
- CJT487-2015 城鎮(zhèn)供熱管道用焊制套筒補(bǔ)償器
- 哈醫(yī)大研究生復(fù)試題外科題
- JT-T-905.2-2014出租汽車服務(wù)管理信息系統(tǒng)第2部分:運(yùn)營(yíng)專用設(shè)備
- 飲料購(gòu)買購(gòu)銷合同各類合同范本
- DL5190.4-2019電力建設(shè)施工技術(shù)規(guī)范第4部分:熱工儀表及控制裝置
- 2024年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 六年級(jí)語(yǔ)文下冊(cè)第五單元教材解析
- 《通信電源培訓(xùn)》課件
- 《CT檢查技術(shù)》課件-CT圖像后處理
- 水產(chǎn)生物遺傳育種學(xué)課件
- 婦產(chǎn)科醫(yī)患溝通護(hù)理課件
評(píng)論
0/150
提交評(píng)論