![【學(xué)習(xí)課件】第六章控制系統(tǒng)參數(shù)優(yōu)化及仿真_第1頁](http://file4.renrendoc.com/view/6bf098050bc530382496291b27c9a849/6bf098050bc530382496291b27c9a8491.gif)
![【學(xué)習(xí)課件】第六章控制系統(tǒng)參數(shù)優(yōu)化及仿真_第2頁](http://file4.renrendoc.com/view/6bf098050bc530382496291b27c9a849/6bf098050bc530382496291b27c9a8492.gif)
![【學(xué)習(xí)課件】第六章控制系統(tǒng)參數(shù)優(yōu)化及仿真_第3頁](http://file4.renrendoc.com/view/6bf098050bc530382496291b27c9a849/6bf098050bc530382496291b27c9a8493.gif)
![【學(xué)習(xí)課件】第六章控制系統(tǒng)參數(shù)優(yōu)化及仿真_第4頁](http://file4.renrendoc.com/view/6bf098050bc530382496291b27c9a849/6bf098050bc530382496291b27c9a8494.gif)
![【學(xué)習(xí)課件】第六章控制系統(tǒng)參數(shù)優(yōu)化及仿真_第5頁](http://file4.renrendoc.com/view/6bf098050bc530382496291b27c9a849/6bf098050bc530382496291b27c9a8495.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六章 控制系統(tǒng)參數(shù)優(yōu)化及仿真 仿真是將已知系統(tǒng)在計算機上進行復(fù)現(xiàn),它是分析,設(shè)計系統(tǒng)的一種重要實驗手段。怎樣才能使設(shè)計出來的系統(tǒng)在滿足一定的約束條件下,使某個指標(biāo)函數(shù)達到極值,這就需要優(yōu)化的仿真實驗。所以仿真技術(shù)與優(yōu)化技術(shù)兩者關(guān)系十分密切。 編輯ppt第六章 控制系統(tǒng)參數(shù)優(yōu)化及仿真 優(yōu)化技術(shù)包括內(nèi)容很多,本章主要介紹與系統(tǒng)最優(yōu)化技術(shù)有關(guān)的參數(shù)優(yōu)化技術(shù)方法。 第一節(jié)首先對控制系統(tǒng)常用的優(yōu)化技術(shù)做一概括性的敘述。 第二節(jié)介紹單變量技術(shù)的分割法和插值法。 第三節(jié)為多變量尋優(yōu)技術(shù),介紹工程中常用的最速下降法,共軛梯法和單純形法。 第四節(jié)為隨機尋優(yōu)法。 第五節(jié)簡單介紹具有約束條件的尋優(yōu)方法。 第六節(jié)介
2、紹含函數(shù)尋優(yōu)的基本方法。 最后向讀者介紹了Matlab優(yōu)化工具箱的使用方法。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化 優(yōu)化技術(shù)是系統(tǒng)設(shè)計中帶有普遍意義的一項技術(shù),本節(jié)首先討論優(yōu)化技術(shù)中的一些基本定義和問題.一、優(yōu)化問題數(shù)學(xué)模型的建立 用優(yōu)化方法解決實際問題一般分三步進行: (1) 提出優(yōu)化問題,建立問題的數(shù)學(xué)模型。 (2)分析模型,選擇合適的求解方法。 (3)用計算機求解,并對算法,誤差,結(jié)果進行 評價。 顯然,提出問題,確定目標(biāo)函數(shù)的數(shù)學(xué)表達式是優(yōu)化問題的第一步,在某種意義上講也是最困難的一步。以下分別說明變量,約束和目標(biāo)函數(shù)的確定。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化 (1) 變量的確定變量一
3、般指優(yōu)化問題或系統(tǒng)中待確定的某些量。例如,在電機的優(yōu)化設(shè)計中,變量可能為電流密度J,磁通密度 B,軸的長度,直徑以及其他幾何尺寸等。電路的優(yōu)化設(shè)計中要確定的變量主要是電路元件(R,L,C)的數(shù)值。對產(chǎn)品設(shè)計問題來說,一般變量數(shù)較少(例如,幾個到幾十個)。變量數(shù)的多少以及約束的多少表示一個優(yōu)化問題的規(guī)模大小。因此,工程上最優(yōu)設(shè)計問題屬于中小規(guī)模的優(yōu)化問題,而生產(chǎn)計劃,調(diào)度問題中變量數(shù)可達幾百個幾千個,屬于大規(guī)模優(yōu)化問題。變量用X表示,磁通密度表示,。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化(2) 約束條件求目標(biāo)函數(shù)極值時的某些限制稱為約束。例如,要求變量為非負(fù)或為整數(shù)值,這是一種限制;可用的資源常常
4、是有限的(資源泛指人力,設(shè)備,原料,經(jīng)費,時間等等);問題的求解應(yīng)滿足一定技術(shù)要求,這也是一種限制(如產(chǎn)品設(shè)計中規(guī)定產(chǎn)品性能必須達到的某些指標(biāo))。此外,還應(yīng)滿足物理系統(tǒng)基本方程和性能方程(如電路設(shè)計必須服從電路基本定律KCL和KVL)??刂葡到y(tǒng)優(yōu)化設(shè)計則用狀態(tài)方程和高階微分和差分方程來描述其物理性質(zhì)。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化如果列寫出來的約束式,越接近實際系統(tǒng),則所求得的優(yōu)化問題的解,也越接近于實際的最優(yōu)解。等式約束 :不等式約束: 或 編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化(3) 目標(biāo)函數(shù)優(yōu)化有一定的標(biāo)準(zhǔn)和評價方法,目標(biāo)函數(shù) 是這種標(biāo)準(zhǔn)的數(shù)學(xué)描述。目標(biāo)函數(shù)可以是效果函數(shù)或費用函數(shù),
5、 。用效果作為目標(biāo)函數(shù)時,優(yōu)化問題是要求極大值,而費用函數(shù)不得超過某個上界成為這個優(yōu)化問題的約束;反之,最優(yōu)函數(shù)是費用函數(shù)時,問題變成了求極小值,而效果函數(shù)不得小于某個下界就成為這個極小值問題的約束了,這是對偶關(guān)系。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化 費用和效果都是廣義的,如費用可以是經(jīng)費,也可以是時間、人力、功率、能量、材料、占地面積或其他資源。而效果可以是性能指標(biāo)、利潤、效益、精確度、靈敏度等等。也可以將效果與費用函數(shù)統(tǒng)一起來,以單位費用的效果函數(shù)或單位效果的費用函數(shù)為目標(biāo)函數(shù),前者是求極大值,后者是求極小值。 求極大值和極小值問題實際上沒有什么原則的區(qū)別。因為求 的極小值相當(dāng)于求- 的
6、極大值,即 。兩者的最優(yōu)值均當(dāng) 時得到。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化綜上所述,優(yōu)化問題的數(shù)學(xué)模型可以表示成如下形式: (6.1.1) 約束條件 編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化二、優(yōu)化問題的分類優(yōu)化問題可以按下述情況分類:(1)有沒有約束?有約束的話是等式約束還是不等式約束?(2)所提問題是確定性的還是隨機性的?(3)目標(biāo)函數(shù)和約束式是線性的還是非線性的?(4)是參數(shù)最優(yōu)還是函數(shù)最優(yōu),即變量是不是時間的函數(shù)?(5)問題的模型是用數(shù)學(xué)解析公式表示還是用網(wǎng)絡(luò)圖表示?在網(wǎng)絡(luò)上的尋優(yōu)稱為網(wǎng)絡(luò)優(yōu)化。限于本書的內(nèi)容要求,在此只介紹參數(shù)優(yōu)化和函數(shù)優(yōu)化。 編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化(1)
7、 參數(shù)優(yōu)化在控制對象已知,控制器的結(jié)構(gòu)、形式已確定的情況下,通過調(diào)整控制器的某些參數(shù),使得某個目標(biāo)函數(shù)最優(yōu),這就是參數(shù)優(yōu)化問題。例如,圖6.1.1所示的控制系統(tǒng),在某個給定函數(shù) 的作用下,測量給定 與輸出量 之間的偏差 ,用 作為指標(biāo)函數(shù),要求調(diào)整控制器的參數(shù),使得該指標(biāo)函數(shù)達到最小。 圖6.1.1 控制器參數(shù)的調(diào)整 編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化假定控制器有 個可調(diào)整參數(shù) 顯然上述指標(biāo)是這些參數(shù)的函數(shù),即 (6.1.2)現(xiàn)在的問題就是要尋求使 達到極小值的 ,其中 是一個向量。 從數(shù)學(xué)上講,參數(shù)優(yōu)化問題是屬于普通極值問題。尋找的最優(yōu)參數(shù)不隨時間變化,故也屬于靜態(tài)尋優(yōu)問題。其一般問題形式
8、是: 有一個物理系統(tǒng),它的數(shù)學(xué)模型為 ,其中 為 維狀態(tài)向量; 為 維被尋優(yōu)參數(shù)的向量; 為 維系統(tǒng)運動方程結(jié)構(gòu)向量。要求在滿足下列條件下:編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化 不等式限制 q維 等式限制 p維 等式終端限制 維(是終端時間)找到一組參數(shù) ,使指標(biāo)函數(shù) (2) 函數(shù)優(yōu)化 函數(shù)優(yōu)化是控制對象已知,要找最優(yōu)控制作用 ,以使某個函數(shù)指標(biāo)達到最小,也包括要尋找最優(yōu)控制器的結(jié)構(gòu)、形式和參數(shù)。編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化由于最優(yōu)控制作用 為時間函數(shù),所以這類問題稱為函數(shù)優(yōu)化問題,在數(shù)學(xué)上稱為泛函極值問題,這類問題的一般形式是: 有一個物理系統(tǒng),它的數(shù)學(xué)模型為 ,其中 為 維狀態(tài)向量
9、; 為 維被尋優(yōu)參數(shù)的向量; 為 維系統(tǒng)運動方程結(jié)構(gòu)向量。要求在滿足條件下:不等式限制 q維 等式限制 p維 等式終端限制 維找到m維函數(shù) 使指標(biāo)函數(shù)編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化函數(shù)優(yōu)化問題從理論上講可以用變分或極大值原理或動態(tài)規(guī)劃求解。但是在仿真研究中,由于采用的是數(shù)值求解,所以通常將其轉(zhuǎn)化為參數(shù)優(yōu)化問題加以解決。出于以上原因,本章的重點主要討論參數(shù)優(yōu)化問題。三、參數(shù)優(yōu)化方法 系統(tǒng)的參數(shù)優(yōu)化問題求解方法,按其求解方式可分為兩類:間接尋優(yōu)和直接尋優(yōu)。 (1) 間接尋優(yōu) 間接尋優(yōu)就是把一個優(yōu)化問題用數(shù)學(xué)方程描述出來,然后按照優(yōu)化的充分必要條件用數(shù)學(xué)分析的方法求出解析解,故又稱其為解析法。
10、編輯ppt6.1 參數(shù)優(yōu)化與函數(shù)優(yōu)化數(shù)學(xué)中的變分法,拉格朗日乘子法和最大值原理,動態(tài)規(guī)劃等都是解析法,所以也都是間接尋優(yōu)法。由于在大部分控制系統(tǒng)中目標(biāo)函數(shù)J一般很難寫出解析式,而只能在計算動態(tài)相應(yīng)過程中計算出來,所以仿真中一般較少采用間接尋優(yōu)方法。 (2) 直接尋優(yōu)法 直接尋優(yōu)法就是直接在變量空間搜索一組最佳控制變量(又稱決策變量,設(shè)計變量)。這是一種數(shù)值方法,具體辦法是,利用目標(biāo)函數(shù)在一局部區(qū)域初始狀態(tài)的性質(zhì)和已知數(shù)值,來確定下一步計算的點,這樣一步步搜索逼近,最后接近最優(yōu)點。編輯ppt6.2 單變量尋優(yōu)技術(shù)單變量尋優(yōu)技術(shù)是多變量尋優(yōu)技術(shù)的基礎(chǔ),多變量參數(shù)尋優(yōu)的算法中常常要用到它,因此單變量
11、的尋優(yōu)方法是解決多變量優(yōu)化問題的基本方法。本節(jié)主要介紹常用的兩種單變量尋優(yōu)方法:分割法和插值法。編輯ppt6.2 單變量尋優(yōu)技術(shù) 6.2.1 黃金分割法( 法)分割法是單變量函數(shù)無約束極值較為有效的一種直接搜索法。這種方法實質(zhì)上是在搜索過程中不斷縮小最優(yōu)點存在的區(qū)域,即通過搜索區(qū)間的逐步隨小來確定最優(yōu)點。對多變量函數(shù)來說,分割法不十分有效,因為這時消去的不是線段,而是平面、立體或多維空間的一部分。黃金分割法是分割法中的一種有效方法。假定目標(biāo)函數(shù) ,已知它在區(qū)間 有一極小值存在,如圖6.2.1(a)所示。為了找到這個極小點 ,可以在距 各 處找兩點 ,然后比較它們的目標(biāo)函數(shù)值,如果 ,則令 ,形
12、成新區(qū)間 ,然后對這個新區(qū)間在距 各 處找兩點。由于每次分割區(qū)間縮小為原來的 倍( ),若原來區(qū)間 為 ,而經(jīng)過n次分割后區(qū)間為 。 編輯ppt6.2 單變量尋優(yōu)技術(shù)那么 。 選多大適合呢?如果要求 應(yīng)該是 的對稱點,即 ,如圖6.2.1(b)所示,則也可以寫成下面關(guān)系式:圖6.2.1 黃金分割圖編輯ppt6.2 單變量尋優(yōu)技術(shù) 且希望經(jīng)過分割后其保留點仍處于留下區(qū)間的相應(yīng)位置上,即 在 中的位置與 在 中相仿,且比值相等 (6.2.2)故: , , 因此可以得到: = (6.2.3)取正值 =0.6180339這樣,若計算分割后的函數(shù)值,則由計算兩個點的函數(shù)值變?yōu)橛嬎阋粋€點的函數(shù)值,在一定分
13、割次數(shù)內(nèi),減少了計算函數(shù)的次數(shù)。這種分割方法稱為黃金分割法。 編輯ppt6.2 單變量尋優(yōu)技術(shù) 圖6.2.2表示了黃金分割法程序框圖。編輯ppt6.2 單變量尋優(yōu)技術(shù)例6.2.1 求目標(biāo)函數(shù) 的最小值,區(qū)間縮短的精度 。使用符號:A:初始區(qū)間的起點, ; B:初始區(qū)間的終點, ; E:允許的精度, 用C語言編寫的計算程序清單如下:#include “math.h” #include “stdio.h” main( ) 編輯ppt6.2 單變量尋優(yōu)技術(shù) float x0, x1, x2, x3, x4, e1, e2, q1, q2, q3, q4, q5, m, h0, h, c1, c2;i
14、nt n;printf(“intput x0, H0,E1, E2, M”);scanf(“%f, %f, %f, %f, %f ”,&x0, &h0, &e1, &e2, &m ); x1=x0, q1=x1 *x1-10 x1+36;p2: n=0; h=h0; x2=x1+h;q2=x2*x2-10 x2+36;if(q1q2) h=h+h; n=n+1;else h= -h;x3=x1;q3=q1;編輯ppt6.2 單變量尋優(yōu)技術(shù)p1: x1=x2; q1=q2; x2=x3; q2=q3; x3=x2+h; q3=x3*x3 -10 x3+36; if(q2q3) h=h+h; n=
15、n+1; go to p1; else if(n0)x4=0.5*(x2+x3); q4=x4*x4 10*x4+36;if(q4q2) x3=x4; q3=q4;elsex1=x2; q1=q2; x2=x4; q2=q4; c1=(q3-q1)/(x3-x1) c2=(q2-q1)/(x2-x1)-c1)/(x2-x3);編輯ppt6.2 單變量尋優(yōu)技術(shù) if(fabs(c2)e1) x1=x2; q1=q2; h0=m*h0; go to p2;elsex4=0.5*(x1+x3-c1/c2); q4=x4*x4 10*x4+36; if(q2e1) if(q4q2) x1=x2; q1
16、=q2; elsex1=x4; q1=q4; h0=m*h0; go to p2; 編輯ppt6.2 單變量尋優(yōu)技術(shù) printf(“OPTIM X=%fn”,x4); printf(“OBJ.FUNC=%f”,q4); 計算結(jié)果: Q=11, x1=5.000 67, A=5.007 5, B=5.000 63。 編輯ppt6.2 單變量尋優(yōu)技術(shù)6.2.2 二次插值法 二次插值法是多項式近似法的一種,即用二次的插值多項式擬合目標(biāo)函數(shù),并用這個多項式的極小點作為目標(biāo)函數(shù)極值的近似。1二次插值法的計算公式假設(shè)目標(biāo)函數(shù) 在三個點 的函數(shù)值分別為 ??梢岳眠@三個點及相應(yīng)的函數(shù)值作為二次插值公式,令
17、 (6.2.4) 為所求的插值多項式,它應(yīng)滿足條件 (6.2.5)編輯ppt6.2 單變量尋優(yōu)技術(shù)對多項式(6.2.4)式求導(dǎo)數(shù),并令其為零,得 (6.2.6) (6.2.7) (6.2.7)式就是計算近似極小點的公式。為了確定這個極小點只需算出a1和a2,其算法如下。 從(6.2.5)可求出 (6.2.8)編輯ppt6.2 單變量尋優(yōu)技術(shù)如果設(shè)三個點等距離,即則式(6.2.8)又可寫為 (6.2.9)設(shè) 為坐標(biāo)原點,則 (6.2.10)編輯ppt6.2 單變量尋優(yōu)技術(shù)2. 用外推法求尋優(yōu)區(qū)間外推法是一種尋優(yōu)極點范圍的方法。用二次插值法巡優(yōu),有時其最優(yōu)點存在的范圍事先沒有給出,因此作為尋優(yōu)的第
18、一步,首先就是確定尋優(yōu)區(qū)間。其方法如下:設(shè)從某點 開始,原始步長為 ,則 ,求目標(biāo)函數(shù) 和 并進行比較。若 ,則將步長加倍,求在, , ,等點處目標(biāo)函數(shù) 的值,直至函數(shù)值增加為止,如圖6.2.3(a)所示。 編輯ppt6.2 單變量尋優(yōu)技術(shù)若 ,則求在 , , ,等點處的的值,直至函數(shù)值增加為止,如圖.2.3(b) 對凸函數(shù)來說,最小點必落在 之間,即 , 而且有 (6.2.11)圖6.2.3 外推法圖示 編輯ppt6.2 單變量尋優(yōu)技術(shù) 此時,若在 與 之間的中點進行第k+1點的計算,即取 (6.2.12)這樣共得四個等間距的點 ,它們之間的間距為 當(dāng) 時 ,;當(dāng) 時 , 。比較這四個點的函
19、數(shù)值,取函數(shù)值最小的 ,則 ,這樣就可以得三點 ,以便于構(gòu)成二次插值函數(shù),并且可以判定 一定在 和 之間。 編輯ppt6.2 單變量尋優(yōu)技術(shù) 3外推二次插值法的程序框圖為便于分析將圖6.2.4所示的框圖分為三部分。其中,圖6.2.4(a)為外推法最優(yōu)點存在的區(qū)間;圖6.2.4(b)為二次插值法求近似的最有點;圖6.2.4(c)是比較 與 ,其比較小者為新的起點,同時縮短步長 ,再重復(fù)圖6.2.4(a)及(b)兩部分。例6.2.2 求目標(biāo)函數(shù) 的最小值。 用C語言編寫的程序清單如下: #include “math.h” #include “stdio.h” 編輯ppt6.2 單變量尋優(yōu)技術(shù)mai
20、n( ) float x0, x1, x2, x3, x4, e1, e2, q1, q2, q3, q4, q5, m, h0, h, c1, c2;int n;printf(“input x0, H0, E1, E2, M”);scanf(“%f, %f, %f, %f, %f”,&x0, &h0, &e1, &e2, &m);x1=x0; q1=x1*x1-10*x1+36;p2: n=0; h=h0; x2=x1+h; q2=x2*x2-10*x2+36; if(q1q2) h=h+h; n=n+1; else h= -h;x3=x1;q3=q1;編輯ppt6.2 單變量尋優(yōu)技術(shù)p1:
21、 x1=x2; q1+q2; x2=x3; q2=q3; x3=x2+h; q3=x3*x3-10*x3+36; if(q2q3) h=h+h; n=n+1; go to p1;else if(n0) x4=0.5*(x2+x3); q4=x4*x4-10*x4+36; if(q4q2) x3=x4; q3=q4;elsex1=x2; q1=q2; x2=x4;q2=q4; c1=(q3-q1)/(x3-x1); c2=(q2-q1)/(x2-x1)-c1)/(x2-x3 編輯ppt6.2 單變量尋優(yōu)技術(shù) if(fabs(c2)e1) x1=x2; q1=q2; h0=m*h0; go to
22、p2;elsex4=0.5*(x1+x3-c1/c2); q4=x4*x4-10*x4+36; if(q2=e1) if(q4q2) x1=x2; q1=q2; elsex1=x4;q1=q4; h0=m*h0; go to p2; printf(“OPTIM X=%fn”, x4); printf(“OBJ.FUNC=%f ”,q4); 編輯ppt圖6.2.4 外推二次插值法的程序框圖當(dāng) x0=0.5, h0=1, 0, e1=0.001, e2=1, m=0.1 時,計算結(jié)果: optim x=5.0, obj.fucn=11.0編輯ppt6.3 多變量尋優(yōu)技術(shù)單變量尋優(yōu)技術(shù),由于只有一個
23、變量,因此只要在一條線上搜索最優(yōu)參數(shù)就可以了。在變量超過一個以后,就要在多維空間搜索一組最優(yōu)參數(shù),因此確定尋優(yōu)方向及尋優(yōu)步長的問題就比較突出了。根據(jù)尋優(yōu)方向及尋優(yōu)步長的不同,就有不同的尋優(yōu)方法。本節(jié)將介紹三種方法:最速下降法,共軛梯度法和單純形法。 編輯ppt6.3 多變量尋優(yōu)技術(shù).3.1 最速下降法一、最速下降法的基本思想為了弄清這種尋優(yōu)方法的基本思想,可以舉一個盲人下山的例子。當(dāng)盲人下山時,眼睛看不見山谷的方位,如何能沿最短路線迅速下降呢?一般盲人只好靠手前后探索試探著前進的方向,哪兒最陡?一定下降的最快,這種尋求最速下降的方向作為搜索的方向,一步步逼近最低點就是最速下降的基本思想。要求多
24、變量函數(shù) 的極小點 ,其中 為 維方向,首先從給定的起始點 出發(fā),沿某個有利的方向 進行一維搜索,求得 在方向 上的極小點 ,然后再從 出發(fā),沿某個新的有利方向 進行搜索,求得 在 方向上的近似極小點 。如此繼續(xù),直至滿足給定的精度為止。 編輯ppt6.3 多變量尋優(yōu)技術(shù)二、最速下降法的計算方法設(shè)目標(biāo)函數(shù) ,求使目標(biāo)函數(shù) 為最小值的變量 。設(shè) 為 維向量,對 存在二階偏導(dǎo)數(shù)。現(xiàn)假設(shè)已經(jīng)迭代到第 步,得到此時刻的 ,考慮 有一個微小的變化,即 (6.3.1) 為 附近的點,其兩點的距離為: (6.3.2) 編輯ppt6.3 多變量尋優(yōu)技術(shù)因為 的微小變化,必然引起目標(biāo)函數(shù) 也有一個變化: (6.
25、3.3)所謂 下降最快,及最大變化的問題,經(jīng)過上述變換,就轉(zhuǎn)化為以下具有約束的極值問題。在下列約束條件下: (6.3.4)通過適當(dāng)選擇 ,使下式極大化 (6.3.5) 編輯ppt6.3 多變量尋優(yōu)技術(shù)具有約束的極值問題可以采樣拉格朗日乘子,化為無約束極值問題。設(shè) 為拉格朗日乘子,則 (6.3.6)式(6.3.5)對 求偏微分,并令其等于零,有 解出 為 (6.3.7) 將方程(6.3.7)代入(6.3.2),計算出 因子為 編輯ppt6.3 多變量尋優(yōu)技術(shù)令: (6.3.9)則 (6.3.10)將(6.3.10)代入(6.3.7)得到 (6.3.11)即,我們可以得到第 步時的 為 (6.3.
26、12)編輯ppt6.3 多變量尋優(yōu)技術(shù)下面,確定(6.3.12)的正負(fù)號。將(6.3.8)式代入(6.3.7)式,得到 (6.3.13)再將上式代入(6.3.5)式得到即: (6.3.14) 因為 是距離,故為正,因此取“”號時,目標(biāo)函數(shù)增加,而取“”號時,對應(yīng)的目標(biāo)函數(shù)減小。換句話說,沿著目標(biāo)函數(shù)的負(fù)梯度方向走,目標(biāo)函數(shù)是減小的。 編輯ppt6.3 多變量尋優(yōu)技術(shù)又因為,式(6.3.6)對 的二階偏微分等于 ,為了保證式(6.3.5)中的 沿著負(fù)數(shù)方向有最大值,即式(6.3.5)有極小值,因此只有 等于正數(shù)。我們可在式(6.3.10)中取負(fù)號,來保證(6.3.6)對 的二階偏微分大于零,也就
27、保證式(6.3.5)有極小值。 其中 為迭代步長, 不能選擇太小,否則目標(biāo)函數(shù) 下降太慢,但如果 很大,目標(biāo)函數(shù) 可能會出現(xiàn)“上下起伏”現(xiàn)象,因此選擇最優(yōu)步長 應(yīng)使 在方向的目標(biāo)函數(shù)數(shù)值最小,即編輯ppt6.3 多變量尋優(yōu)技術(shù) (6.3.15)顯然,這是一個單變量尋優(yōu)問題,即尋找最佳步長 ??梢岳蒙弦还?jié)所介紹的方法。最速下降法的一般計算關(guān)系式為:若出發(fā)點為,則 (6.3.16) 編輯ppt6.3 多變量尋優(yōu)技術(shù)式中 梯度向量; 梯度向量模; 梯度方向上的單位向量。 控制迭代的收斂要求可以為 =或 (6.3.17) 式中 梯度誤差,它是很小的正數(shù); 目標(biāo)函數(shù)誤差,它也是很小的正數(shù)。編輯ppt6
28、.3 多變量尋優(yōu)技術(shù)最速下降法的程序框圖如圖6.3.1所示。圖6.3.1 最速下降法的程序框圖編輯ppt6.3 多變量尋優(yōu)技術(shù)用C語言編寫的最速下降法的程序清單如下。其中R是梯度模 ;P是梯度方向的單位向量 ;h是步長 ;f是目標(biāo)函數(shù) 。#include “math.h”#include “stdio.h” float x10, y10, p10, f, h; int n; vod fun( ) int i; for(i=1, in; i+) xi=yi-h*pi;編輯ppt6.3 多變量尋優(yōu)技術(shù)f=x1*x1+x2*x2-x1*x2-10*x1-4*x2;f=f+60;return;main
29、( )float g10, d10, q, r, e, h1, h2, h3, h4, t, t0, c1, c2, f1, f2, f3, f4, f5, v;int i, k, u;printf(“input n, en”);scanf(“%d, %f”, &n, &e);編輯ppt6.3 多變量尋優(yōu)技術(shù)x1=0; x2=0;p4: g1=2*x1-x2-10;g2=2*x2-x1-4;q=0;for(i=1; in;i+) q=gi*gi+q;r=sqrt(q);for(i=1; in;i+) yi=xi;pi=gi/r;if(rf2) t=t+t; u=u+1; elset=-t; h
30、3=h1; f3=f1; h1=h2;f1=f2;h2=h3;f2=f3; p1: h3=h2+t; h=h3; fun( );f3=f;編輯ppt6.3 多變量尋優(yōu)技術(shù)if(f2f3) t=t+t; u=u+1;h1=h2;f1=f2;h2=h3;f2=f3;goto p1; elseif(u0)h4=0.5*(h2+h3); h=h4; fun( ); f4=f; if(f4f2) h3=h4; f3=f4; elseh1=h2; f1=f2; h2=h4; f2=f4; c1=(f3-f1)/(h3-h1);c2=(f2-f1)/(h2-h1)-c1)/(h2-h3);編輯ppt6.3
31、多變量尋優(yōu)技術(shù)if(fabs(c2)e) h1=h2;f1=f2;t0=v*t0; goto p2;elseh4=0.5*(h1+h3-(c1/c2); h=h4;fun( ); f4=f;if(f21) f5=1;else f5=f2;if(fabs(f4-f2)/f5)e)for(i=1; if2) h1=h2;f1=f2; else h1=h4;f1=f4; t0=v*t0; goto p2; p3: h=0; fun( );printf(“OBJ.FUNC F=%fn”, f);for(i=1; in; i+)編輯ppt6.3 多變量尋優(yōu)技術(shù)printf(“X(%d”, I);prin
32、tf(“)=%fn”, xi); 最速下降法的搜索方向是所謂的最速下降方向,但是也只能逐次地接近最優(yōu)點 ,對本例來說,開始搜索時,每次的步長大,目標(biāo)函數(shù)下降也較快,但愈接近極值點,步長 愈來愈小,目標(biāo)函數(shù)的改進也小,其搜索路徑如圖6.3.2所示。編輯ppt6.3 多變量尋優(yōu)技術(shù)圖6.3.2 最速下降法收斂曲線編輯ppt6.3 多變量尋優(yōu)技術(shù)最速下降法從表面看是個最好的方法,但實際上并非如此。大量的計算實踐說明,最速下降法收斂的速度并不快。這主要是因為最速下降法的方向僅僅是指某點附近而言,是一個局部的性質(zhì),一旦離開了該點原先的方向就不再保證是最速下降方向了。因此對整個過程來說,它并不總是具有最速
33、下降的性質(zhì)。盡管如此,最速下降法仍然不失為一種最常用的基本尋優(yōu)方法。這不僅因為最速下降法每次迭代計算比較簡單,記憶容量小,適合計算機運算,而且對初值要求也比較低,在遠離極值點時收斂快,所以它也經(jīng)常與其他尋優(yōu)方向共同配合,加快尋優(yōu)速度。編輯ppt6.3 多變量尋優(yōu)技術(shù)6.3.2 共軛梯度法軛梯度法是解優(yōu)化問題的有效方法之一,特別是用于二次泛函指標(biāo)系統(tǒng)。共軛梯度法程序清單容易實現(xiàn),具有梯度法優(yōu)點,而在收斂速度方面比梯度法快。下面分三部分較詳細(xì)地介紹這種方法,并給出一個實用程序。一、共軛梯度法設(shè) 為定義在 維歐氏空間內(nèi)區(qū)域 中的 元函數(shù)。向量 的分量 是函數(shù)的自變量。設(shè) 為 域內(nèi)的一個點,則函數(shù) 可
34、在這個點的附近以泰勒級數(shù)展開,且只取其二階導(dǎo)數(shù)項,即:編輯ppt6.3 多變量尋優(yōu)技術(shù) (6.3.18)其中: , 分別為: (6.3.19)編輯ppt6.3 多變量尋優(yōu)技術(shù) 是 在點 處的二階偏導(dǎo)數(shù)矩陣,又稱赫森矩陣。 極值點存在的必要條件。 元函數(shù)在 域內(nèi)極值點 存在的必要條件為 (6.3.20)即每個一階偏導(dǎo)數(shù)值都必須為零,或梯度為 維零向量。但這只是必要條件,而不是充分條件,滿足上式的點稱為駐點。 極值點存在的充分條件。設(shè) 為 的駐點,將(6.3.20)式代入(6.3.18)式得編輯ppt6.3 多變量尋優(yōu)技術(shù) (6.3.21)欲使 為極小點,只要在 附近,其差 所以必須有 (6.3.
35、22)這就是說,在點 處的赫森矩陣 為正定的,即 為極小點的充分條件。因此利用處的赫森矩陣 的性質(zhì)即可判斷是駐點還是極值點。 二、共軛梯度法的基本思想編輯ppt6.3 多變量尋優(yōu)技術(shù)為了改進在極值點附近尋優(yōu)的收斂速度,就要尋求更好的尋優(yōu)方法。共軛梯度法是一種有效算法。 首先舉例說明共軛方向的意義。如果兩個2維向量 與 相互正交,見圖6.3.3(a),則其內(nèi)積 0,也可以寫成 0, 為單位矩陣。于是可以稱 與 以單位矩陣互為共軛,可記為 。圖6.3.3 共軛方向編輯ppt6.3 多變量尋優(yōu)技術(shù)設(shè)有二階對稱矩陣 ,如 成立,即 與 相互正交,如圖6.3.3(b)所示,則稱 與 以 互為共軛,可記為
36、 (6.3.23)對于任意形式的目標(biāo)函數(shù) ,如將其在 附近展開稱泰勒級數(shù),且只取到二次導(dǎo)數(shù)項,則得 (6.3.24)式中: 為 在 處的二階偏導(dǎo)數(shù)矩陣,即赫森矩陣。編輯ppt6.3 多變量尋優(yōu)技術(shù) 因為在極值點 處 ,故 (6.3.25)此式表示函數(shù)為二次函數(shù)。由此可以看出:任意形式得函數(shù) 在極值點附近的特性都近似于一個二次函數(shù)。對于二次函數(shù) ,如圖6.3.4所示,在初始點 做 的切線向量。設(shè)最優(yōu)點為 ,則連接 與 的向量 與切線 互為共軛。這一點可證明如下。編輯ppt6.3 多變量尋優(yōu)技術(shù)在最優(yōu)點,Q(x*)=0,在 點的梯度切線向量 與梯度向量 互為正交,即而編輯ppt6.3 多變量尋優(yōu)技
37、術(shù) 即 顯然, 與 ,可寫成下式:即 與 以 互為共軛。上述性質(zhì)表明,如果對二次函數(shù),從某點出發(fā),沿共軛方向搜索,可以很快得到函數(shù)的極值點.編輯ppt6.3 多變量尋優(yōu)技術(shù)三、共軛梯度法的計算方法設(shè) 元函數(shù) 在極值點附近可用一個二次函數(shù)逼近: (6.3.26)式中: 為 維對稱矩陣。 = (6.3.27) (6.3.28) 編輯ppt6.3 多變量尋優(yōu)技術(shù) 對于兩個變量問題,可以用等高線來表示,見圖6.3.5。設(shè)從某點 出發(fā)以 的方向搜索,使 達到極小的點 ,則 為該處等高線的切點。切點的梯度方向為等高線的法線方向,因此 圖6.3.4 二次函數(shù)中的共軛方向 圖6.3.5 兩個變量的等高線圖 編
38、輯ppt6.3 多變量尋優(yōu)技術(shù)若從另一點 出發(fā),也以 方向搜索,又得到一個極小點 ,同理也應(yīng)有 (6.3.29)(6.3.28)式與(6.3.29)式之差為 (6.3.30)若令 ,則 (6.3.31)這就說明 與 以 互為共軛。而 正是 與 兩切點連線方向,此方向上的極小點即Q(x)的極小點。編輯ppt6.3 多變量尋優(yōu)技術(shù)例 6.3.1目標(biāo)函數(shù) 式中:C=10 4T;A= ,從 出發(fā)搜索,求極小點。 解:如果第一次的搜索方向為 ,則它與共軛方向的關(guān)系為一個向量的方向可以用單位方向向量E來表示,若 的單位方向向量 即 與軸 平行,因 ,則 (6.3.32)編輯ppt6.3 多變量尋優(yōu)技術(shù)為了
39、求最優(yōu)步長 ,將(6.3.31)式代入目標(biāo)函數(shù),得 (6.3.33)將(6.3.33)式對求導(dǎo)并令其等于零,得 (6.3.34)故: 因此,第一次搜索的結(jié)果為 編輯ppt6.3 多變量尋優(yōu)技術(shù)第二次搜索的方向應(yīng)為 的共軛方向,即 (6.3.35)得 又有單位向量 (6.3.36)解聯(lián)立方程(6.3.35)式及(6.3.36)式,得 編輯ppt6.3 多變量尋優(yōu)技術(shù)因此: (6.3.37)為求最優(yōu)步長 ,將式(6.3.37)式代入目標(biāo)函數(shù)得 (6.3.38)將(6.3.38)式對 求導(dǎo),并令其等于零,得 (6.3.39)編輯ppt6.3 多變量尋優(yōu)技術(shù)得: 因此: 由此可見,因是一個二元的二次函
40、數(shù),只要搜索兩個方向 , 就可以達到極小點,即 8, 6。對于一個 元的二次函數(shù),可以用不超過 次的搜索方向,就可以達到極小點。從上例可知,計算共軛方向時要用矩陣 ,如果已知 ,則計算共軛方向是容易的。例如,當(dāng)函數(shù)為二次函數(shù)時, 為二次項的常系數(shù)矩陣。但當(dāng)函數(shù)為非二次時, 為二階偏導(dǎo)數(shù)矩陣(赫森矩陣),求起來相當(dāng)麻煩,尤其當(dāng)維數(shù)很高時更加麻煩。因此,能否避免矩 陣 的直接計算,而用間接的方法確定共軛方向呢?下面介紹一種間接求共軛方向的方法。編輯ppt6.3 多變量尋優(yōu)技術(shù)設(shè)目標(biāo)函數(shù)為元的二次函數(shù) (6.3.40)設(shè) 為n維向量; 為任意給定的起點。 為 次迭代中要尋求得對的共軛方向。依次為沿這
41、些方向求得的近似極小點。因此有 (6.3.41) (6.3.42) 為最優(yōu)步長,它滿足 (6.3.43) 編輯ppt6.3 多變量尋優(yōu)技術(shù)當(dāng)然,對 也有 (6.3.44)將(6.3.44)式與(6.3.41)式相減,并將(6.3.42)式代入,得 (6.3.45)根據(jù)共軛的定義,應(yīng)有 (6.3.46)將(6.3.45)式代入(6.3.46)式,得 (6.3.47)從(6.3.47)式看出,不計算矩陣A可以求出共軛的方向。編輯ppt6.3 多變量尋優(yōu)技術(shù)現(xiàn)從點 開始進行搜索,在確定第一個搜索方向 時,因為除了梯度 可以直接計算外,沒有其他有用的信息,因此可取 (6.3.48)將沿 方向作為一位搜
42、索,求最優(yōu)步長 ,使 (6.3.49) 由此得一新的點 ,并算出 。因為 是點 的法線方向, 而 是 點的切線方向,所以 與 正交,從而也和 正交,即編輯ppt6.3 多變量尋優(yōu)技術(shù)為在 和 構(gòu)成的正交系中尋求共軛方向 ,可令 (6.3.51)共軛方向 為該次的反梯度方向與上次搜索方向得線性組合,這里的問題是選擇一個 ,使 與 共軛。根據(jù)(6.3.47)式,有 (6.3.52)將(6.3.50)式與(6.3.51)式代入(6.3.52)式中,化簡得編輯ppt6.3 多變量尋優(yōu)技術(shù)所以有: = (6.3.53)把(6.3.53)式代入(6.3.51)式, 得 (6.3.54)由此可見,通過 與
43、即可求出共軛方向 .沿此 方向在進行一維搜索求最優(yōu)步長 ,得到 ,如此進行下去,一般來說有以下的迭代方向: (6.3.55) (6.3.56)所得到的 即為共軛方向。 編輯ppt6.3 多變量尋優(yōu)技術(shù) 按照(6.3.55)式及(6.3.56)式確定搜索方向的算法成為共軛梯度法。其程序框圖如圖6.3.6所示。圖 6.3.6 共軛梯度法的程序框圖編輯ppt6.3 多變量尋優(yōu)技術(shù)例6.3.2目標(biāo)函數(shù) ,設(shè)起點為 ,試用共軛梯度法求最小值。解:第一次迭代計算: 編輯ppt6.3 多變量尋優(yōu)技術(shù) 求 得本例題中的 可以用解析法求得 經(jīng)兩次迭代即達到極值點。與一階梯度法相比其收斂速度較快。編輯ppt6.3
44、 多變量尋優(yōu)技術(shù)用C語言編寫的共軛梯度法計算程序清單如下: #include “math.h” #include “stdio.h”float x10,y10,p10,f,h;int n;void fun()int i; for(I=1;In,I+) xI=yI+h*pI;f=x1*x1+x2*x2-x1*x2-10*x1-4*x2;f=f+60;return;編輯ppt6.3 多變量尋優(yōu)技術(shù)main()float g10,q1,q0,e,h1,h2,h3,h4,t,t0,c1,c2,f1,f2,f3,f4,f5,v;int I,k,u;printf(“INPUT N,En”); scanf(
45、“%d,%d”,&n,&e”);for (I=1;In,k+) printf(“INPUT X%d”,I); printf(“=”); scanf(“%f”,&xI); p4: for(k=1;kn;k+);g1=2*x1-x2-10;g2=2*x2-x1-4;q1=0;編輯ppt6.3 多變量尋優(yōu)技術(shù)for(i=1;In;I+) yI=xI,q1=gI*gI+q1;if(q1e)goto p3;elsefor(I=1;If2) t=t+t;u=u+1;else t=-t;h3=h1;f3=f1;h1=h2;f1=f2;h2=h3;f2=f3; 編輯ppt6.3 多變量尋優(yōu)技術(shù) p1: h3=
46、h2+t;=h3; fun( );f3=f; if(f2f3) t=t+t;u=u+1;h1=h2;f1=f2;h2=h3;f2=f3;goto p1; else if(u0)h4=0.5*(h2+h3);h=h4; fun( );f4=f; if(f4f2) h3=h4;f3=f4; elseh1=h2;f1=f2;h2=h4;f2=f4; c1=(f3-f1)/(h3-h1); c2=(f2-f1)/(h2-h1)-c1)/(h2-h3); 編輯ppt6.3 多變量尋優(yōu)技術(shù) if(f21) f5=1; else f5=f2; if(fabs(f4-f2)/f5)e) for(I=1;If2
47、)h1=h2;f1=f2;else h1=h4;f1=f4;t0=v*t0;goto p2; 編輯ppt6.3 多變量尋優(yōu)技術(shù)goto p4;p3: h=0;fun( );printf(“OBJ.FUNC F=%fn”,f);for(I=1;In;I+) printf(“X%d”,I); printf(“=%fn”,xI);編輯ppt6.3 多變量尋優(yōu)技術(shù) 6.3.3 單純形法函數(shù) 的導(dǎo)數(shù)是函數(shù) 特性的重要反映,但在許多實際問題中,常常得不到計算 導(dǎo)數(shù)的解析式,而只能采用近似的方法,常用方法是有限差分法。用有限差分法計算 的導(dǎo)數(shù)不僅誤差大,而且要多次計算目標(biāo)函數(shù),計算工作量很大。為了克服求 導(dǎo)
48、數(shù)所帶來的問題,提出了松弛法、單純形法、隨機搜索法等方法。這一節(jié)介紹工程中常用的單純形法。從直觀上看,如果不計算導(dǎo)數(shù),則可以先算出 在若干個點處的函數(shù)值,然后將它們進行比較,從它們之間的大小關(guān)系就可以看出函數(shù)變化的大致趨勢,這樣也能為尋求函數(shù)的下降方向提供參考。編輯ppt6.3 多變量尋優(yōu)技術(shù)例如,圖6.3.7所示的情況,變量有兩個 , ,圖中畫出了 的等高線簇。若先計算1,2,3三點(他們構(gòu)成一個三角形)的函數(shù)值,然后對它們的大小進行比較,其中 最大,故將1點拋棄,在1點的對面取一點4,則構(gòu)成一個新的三角形再比較各點 的大小,其中 最大,故將2點拋棄,在2點的對面取一點5,這樣3,4,5又構(gòu)
49、成一個新的三角。如此一直循環(huán)下去最后可找到最小點。單純形尋優(yōu)方法的思想是很簡單明了的,但是為了使其比較使用,同時能加快它收斂速度,還要解決一下幾個主要問題。 編輯ppt6.3 多變量尋優(yōu)技術(shù)一、單純形應(yīng)由幾個點構(gòu)成 對于一般的n元函數(shù) ( 為 維向量),可取 維空間中 個點, ,構(gòu)成初始單純形。這 個點,應(yīng)使n個向量, , , 為線性獨立。這就是說,在平面上( )取不同一直線的三點構(gòu)成單純形(三角形),在三維空間( )內(nèi)取不同的四個點(4面體)。如果點取得少,或n個向量有一部分線性相關(guān),那么就會使搜索極小點的范圍局限在一個低維空間內(nèi),如果極小點不在這個空間內(nèi),就搜索不到了。 編輯ppt6.3
50、多變量尋優(yōu)技術(shù)二、單純形的形狀 為了簡單起見,單純形取n個向量為“等長”。 具體來講,若已選定 ,則 這n個點為 (6.3.57) 其中, 為第 個單位坐標(biāo)向量,即 (6.3.58) 只有第 個元素為1,其他均為0。編輯ppt6.3 多變量尋優(yōu)技術(shù)三、新點的選取根據(jù)經(jīng)驗及考慮到計算方便 ,一般新的點取在被拋棄的點的“對面”,稱為反射點。以圖6.3.8所示為例,假定為要拋棄的點,則新點的坐標(biāo)應(yīng)為,坐標(biāo)可以這樣來求:圖6.3.7 單純形法尋優(yōu)過程 圖6.3.8 反射點的確定編輯ppt6.3 多變量尋優(yōu)技術(shù)先求出 及 兩個點的中心 ,則 (6.3.59)然后再求其反射點 ,即 (6.3.60)推廣到
51、多變量(n維)的情況,則有 , 共 個點,假定其中 點是被拋棄的,那么, 反射點 為 (6.3.61)其中: 編輯ppt6.3 多變量尋優(yōu)技術(shù)四、關(guān)于新點的擴張壓縮及單純形的收斂問題對組成單純形的(n1)個點,可以定義: 為最壞點(即目標(biāo)函數(shù) 最大的點) 為最好點(即 最小的點); 為次壞點(即 比 小,但比其他各點的目標(biāo)函數(shù)都大)。如果新的點 的函數(shù)值 小于 ,這說明點可能前進得不夠,此時可以沿反射方向再多前進一些(稱為擴張),即 (6.3.62)編輯ppt6.3 多變量尋優(yōu)技術(shù)反之,若按(6.3.61)式找到 ,而 大于 ,這說明 點前進得太遠了,需要壓縮,即要在 與 的延長線上(即沿原來
52、的反射方向)后退一些,得 (6.3.63) 為壓縮因子,它是01之間的一個常數(shù),為了避免 與 重合(即 ),要求 ( 與 重合會使單純形的空間維數(shù)降低,這不利于搜索)。 如果壓縮后 仍然大于 ,這說明原先的單純形取得太大了,可以將他們所有的邊都縮小,構(gòu)成新的單純形,這叫單純形的收縮。具體辦法是: (6.3.64)編輯ppt6.3 多變量尋優(yōu)技術(shù)五、什么時候停止搜索若 則說明搜索成功,此時可以認(rèn)為 即為極小點,而 為極小值。如果經(jīng)過K次搜索,仍然不能滿足上式,說明搜索失敗。根據(jù)上面的介紹,可畫出單純形法的程序框圖,如圖6.3.9所示。這個程序基本上包括以下7個部分:(1)計算原始的單純形;(2)
53、計算原始的單純形各點的目標(biāo)函數(shù)值;(3)找到最好點 ,最壞點 ,以及次壞點 ;(4)尋優(yōu)次數(shù) 加1,并判斷計算是否收斂,若收斂,則打印出結(jié)果;編輯ppt6.3 多變量尋優(yōu)技術(shù)(5)搜索次數(shù)是否超過規(guī)定,若已超過,則說明搜索失敗,打印出結(jié)果,并停止搜索,若未超過,則計算反射點;(6)判斷是否要壓縮,若要,則進行壓縮計算,若壓縮失敗,則進行收縮計算,然后轉(zhuǎn)(3)或(4);(7)判斷是否要擴張,若要,則進行擴張計算,并評價擴張效果,然后轉(zhuǎn)(4);關(guān)于單純形法的詳細(xì)程序可參看本書配套的程序,該程序除考慮了上述諸點之外,還考慮到參數(shù)變量上下界限制,這樣在使用時就更為方便了。編輯ppt6.3 多變量尋優(yōu)技
54、術(shù) 圖6.3.9 單純形法程序框圖編輯ppt6.4 隨機尋優(yōu)法在第三節(jié)中已分別介紹了兩種多變量尋優(yōu)的方法。梯度法雖然每一步尋優(yōu)方向十分明確沿著梯度所給的信息來確定尋優(yōu)方向,但是這種方法每一步都要計算目標(biāo)函數(shù)的梯度,這常常占用相當(dāng)長的計算時間。而單純形法則不同梯度這個信息,它是利用對參數(shù)點的目標(biāo)函數(shù)值的比較來確定尋優(yōu)方向。這種方法對于變量較多,目標(biāo)函數(shù)的形態(tài)比較復(fù)雜的情況(比如有好幾個極值點)收斂都不十分快。隨著統(tǒng)計仿真方法的發(fā)展,近年來隨機尋優(yōu)法也得到了發(fā)展,當(dāng)變量數(shù)目較多,目標(biāo)函數(shù)的形態(tài)又比較復(fù)雜時,用此法一般較好。 編輯ppt6.4 隨機尋優(yōu)法尤其是當(dāng)采用混合仿真系統(tǒng)來進行控制系統(tǒng)參數(shù)尋優(yōu)
55、時,可以用模擬機部分來計算系統(tǒng)的運動方程,即計算目標(biāo)函數(shù);而用數(shù)字機部分來做尋優(yōu)搜索,此時采用隨機尋優(yōu)法更為有效。隨機尋優(yōu)法的種類很多,這里向讀者介紹的是三種用得較多的隨機尋優(yōu)法。它們是:隨機貫尋優(yōu),隨機搜索尋優(yōu)以及隨機模式搜索尋優(yōu)。 編輯ppt6.4 隨機尋優(yōu)法一、隨機序貫尋優(yōu)法對參數(shù) 給出一個求解區(qū)間 (通常它就是該參數(shù)的上下限)。每次分別獨立的產(chǎn)生n個上述區(qū)間上的均勻分布的隨機數(shù) ,并令 (6.4.1)作為一組嘗試值,代入系統(tǒng)求出 ,反復(fù)產(chǎn)生 ,反復(fù)計算 ,可得如下一個序列: 這里的 是 的第一組嘗試值, 式滿足下式中最先出現(xiàn)得一組嘗試值 :編輯ppt6.4 隨機尋優(yōu)法不滿足上式的 就被
56、舍棄,不再編寫, 式滿足下式中最先出現(xiàn)的 : 其余類推,故得 (6.4.2)可以證明,只要 是獨立的均勻的隨機數(shù),總可以得到使 為最小的 值,當(dāng)然此時 將是相當(dāng)大的。上面介紹的隨機序貫尋優(yōu)由于在得到(6.4.2)式這個序列式,曾舍棄掉許多 點,并沒有充分利用這些點所帶來的信息,同時也沒有充分利用這個序列給出的信息,因此計算量是十分之大的。顯然,搜索區(qū)間的大小將直接影響尋優(yōu)的效率,因此,如果能在隨機尋優(yōu)的過程中充分利用前面計算所得的信息,不斷縮小搜索區(qū)間,將有可能大大減少尋優(yōu)次數(shù),因而大大節(jié)省計算時間,具體做法如下。 編輯ppt6.4 隨機尋優(yōu)法(1)給定一個不太大的正整數(shù) (比如為5),按照上
57、述方法求出 組 它們滿足 (2) 求出新的 (6.4.3)其中 稱為第 組的權(quán),即第 組的權(quán)為1,其他組的權(quán)均小于1。 編輯ppt6.4 隨機尋優(yōu)法3)求出新的 (6.4.4)其中,C是一個正數(shù),一般取23。一般來講,這個新的 比原來最初給定的 將更接近于 ,而 也比原來的大為縮小。(4)用計算出的 及 來代替原來的,并重復(fù)上述步驟,直到求出 為止。采用上述改進后,隨機序慣尋優(yōu)才有了更加實用的價值,但是實際使用這種尋優(yōu)法時仍有相當(dāng)?shù)募记伞O旅鎸⒘谐鰩c,供讀者在使用時參考。 編輯ppt6.4 隨機尋優(yōu)法(1)關(guān)于 的大小問題。若 取得過大,則起不到收縮區(qū)間的作用。但若 取得過小,則容易使新搜索
58、區(qū)間中不包括極小點,因此造成失誤。一般來講,第一輪 可取4(或5,6),以后只要有了兩組新的 值就可收縮,不足部分用上一輪最后出現(xiàn)的補足,這樣既可保證T不過小,又不會由于為形成一個具有 組 的序列而使計算次數(shù)過多。(2)關(guān)于 的問題。實際證明 是很重要的一組參數(shù),為使尋優(yōu)收斂得較快往往不是取 的第一組嘗試值(因為它的隨機性太大),而是取前 次嘗試中最優(yōu)值( 一般取 的幾倍到十幾倍)。 編輯ppt6.4 隨機尋優(yōu)法(3)關(guān)于強行收斂問題。在采用此法時,常常會遇到這樣一種情況,即在取得某組 后,雖然經(jīng)過很多嘗試,仍不能得到 ,此時,往往是由于 已比較接近 而搜索區(qū)間仍較大的緣故。為了不至于在此浪費
59、太多的計算時間,可以進行強行收縮,即令 ,并以當(dāng)前的 的1/5為新的 ,強行使搜索區(qū)間縮小,這樣一來,往往就能很快找到 。(4)關(guān)于隨機數(shù)的性質(zhì)問題。對于給定的搜索區(qū)間 一般總認(rèn)為最優(yōu)值 落在該區(qū)間的中間部分的可能性大,尤其是在經(jīng)過對 組 進行了統(tǒng)計處理,使搜索區(qū)間縮小為新的區(qū)間 之后。然而,獨立均勻分布隨機數(shù)卻不能反映這一點。為此可以交替地使用獨立均勻分布隨機數(shù)和獨立地三角形分布隨機數(shù)。關(guān)于獨立均勻分布地隨機數(shù)及獨立的三角形分布隨機數(shù)的產(chǎn)生方法可參看有關(guān)資料。 編輯ppt6.4 隨機尋優(yōu)法隨機序貫尋優(yōu)的程序框圖如圖6.4.1所示。圖6.4.1 隨即序貫尋優(yōu)程序框圖編輯ppt6.4 隨機尋優(yōu)法
60、二、隨機搜索尋優(yōu)隨機序貫尋優(yōu)法是在一個限定的參數(shù)空間里用隨機方法來找出一個 的序號,然后對它們進行統(tǒng)計處理,使被搜索的參數(shù)空間收縮,繼而再用隨機方法去尋找出一個新的 序列,直到最優(yōu)點找到為止。從前面的介紹中可知,這種方法,在使用時有一定的經(jīng)驗性,弄不好就會不收斂。 如果改為以初始點 為中心,在一個半徑為 的小空間中用隨機法來進行搜索,若成功(指隨機產(chǎn)成一個新的 ,它的目標(biāo)函數(shù)比 的目標(biāo)函數(shù)小),則將中心轉(zhuǎn)移到新點,因為 較小,而且采用如下手段,即當(dāng)搜索失敗時,則在反方向再試探一次,所以成功率較大。這樣一來,移動雖然緩慢一些,但比較穩(wěn)妥,另外,為了加快收斂,可以在連續(xù)成功時加大 ,而在連續(xù)失敗時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 參加涉密培訓(xùn)承諾書范文范本
- 2025-2030全球止吠項圈行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球新能源車和充電樁高壓直流繼電器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國消費后回收 (PCR) 薄膜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球可回收金屬瓶蓋和封口行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國平板電動貨車行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國制冷空調(diào)熱力膨脹閥行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球電動門遙控器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球高精度事件計時器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國相機腕帶行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 文檔協(xié)同編輯-深度研究
- 七年級數(shù)學(xué)新北師大版(2024)下冊第一章《整式的乘除》單元檢測習(xí)題(含簡單答案)
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)高一(上)期末數(shù)學(xué)試卷(含答案)
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 高考日語基礎(chǔ)歸納總結(jié)與練習(xí)(一輪復(fù)習(xí))
- 煤場用車輛倒運煤的方案
- 《預(yù)防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車集團中的應(yīng)用研究案例7300字(論文)】
- 《民航服務(wù)溝通技巧》教案第6課巧妙化解沖突
- 化學(xué)用語專項訓(xùn)練
評論
0/150
提交評論