版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、粒子群算法工具箱應(yīng)用簡介,,1。引言,粒子群算法(PSO算法)定義:粒子群算法,又稱粒子群優(yōu)化算法(Partical Swarm Optimization),縮寫為 PSO, 是近年來發(fā)展起來的一種新的進化算法(Evolutionary Algorithm - EA),由Eberhart 博士和kennedy 博士于1995年提出,其源于對鳥群捕食的行為研究。,2。算法思想,PSO模擬鳥群的捕食行為。 設(shè)想這樣一個場景:一群鳥
2、在隨機搜索食物,在這個區(qū)域里只有一塊食物,所有的鳥都不知道食物在那里,但是它們知道當(dāng)前的位置離食物還有多遠,那么找到食物的最優(yōu)策略是什么呢? 最簡單有效的就是搜尋目前離食物最近的鳥的周圍區(qū)域。都向這片區(qū)域靠攏。,3。抽象,PSO中,將問題的搜索空間類比于鳥類的飛行空間,將每只鳥抽象為一個無質(zhì)量無體積的微粒,用以表征優(yōu)化問題的一個候選解,我們稱之為“粒子”,優(yōu)化所需要尋找的最優(yōu)解則等同于要尋找的食物。所有的粒子都有一個由被優(yōu)化的函
3、數(shù)決定的適應(yīng)值(fitness value),每個粒子還有一個速度決定他們飛翔的方向和距離,然后粒子們就追隨當(dāng)前的最優(yōu)粒子在解空間中搜索。,3。抽象,PSO初始化為一群隨機粒子(隨機解、一群鳥),然后通過迭代找到最優(yōu)解。在每一次迭代中,粒子(鳥)通過跟蹤兩個“極值”來更新自己的位置。一個就是粒子本身所找到的最優(yōu)解,這個解叫做個體極值pBest,另一個極值是整個種群目前找到的最優(yōu)解,這個極值是全局極值gBest。(gBest是pBest中
4、最好值),3。算法介紹,在找到這兩個最優(yōu)值時,粒子根據(jù)如下的公式來更新自己的速度和位置: 其中 ,V 是粒子的速度,Present 是粒子的當(dāng)前位置 ,pBest 與 gBest見前面定義。rand ( )是(0 ,1)之間的隨機數(shù) ,c1和c2被稱作學(xué)習(xí)因子。通常 ,c1 = c2 = 2。w 是加權(quán)系數(shù)(慣性權(quán)重),取值在 0. 1到0. 9之間。粒子通過不斷學(xué)習(xí)更新 ,最終飛至解空間中最優(yōu)解所在的位置 ,搜索過程結(jié)
5、束。最后輸出的 gBest 就是全局最優(yōu)解。在更新過程中 ,粒子每一維的最大速率限被限制為 Vmax ,如果某一維更新后的速度超過設(shè)定的Vmax,那么這一維的速度就被限定為Vmax。,3。算法介紹,將粒子延伸到N維空間,粒子i在N維空間里的位置表示為一個矢量,每個粒子的飛行速度也表示為一個矢量。粒子數(shù)(鳥的個數(shù)): 一般取 1~40. 其實對于大部分的問題10個粒子已經(jīng)足夠可以取得好的結(jié)果;粒子的長度(維度): 這是由優(yōu)化問
6、題決定, 就是問題解的長度(決策變量個數(shù));粒子的范圍: 由優(yōu)化問題決定,每一維可以設(shè)定不同的范圍;,Vmax: 最大速度,決定粒子在一個循環(huán)中最大的移動距離, 通常設(shè)定為粒子的范圍寬度,例如,粒子 (x1, x2, x3) ,x1 屬于 [-10, 10], 那么 Vmax 的大小就是 20。學(xué)習(xí)因子: 使粒子具有自我總結(jié)和向群體中優(yōu)秀個體學(xué)習(xí)的能力,從而向群體內(nèi)或鄰域內(nèi)最優(yōu)點靠近,c1 和 c2 通常等于2,并且范圍在 0 和
7、4 之間。中止條件: 最大循環(huán)數(shù)以及最小錯誤要求。慣性權(quán)重w :決定了對粒子當(dāng)前速度繼承多少,合適的選擇可以使粒子具有均衡的探索能力和開發(fā)能力,慣性權(quán)重的取法有常數(shù)法、線性遞減法、自適應(yīng)法等。,3。算法介紹,例:對于問題 f(x) = x1^2 + x2^2+x3^2 求解,粒子可以直接編碼為 (x1, x2, x3),而適應(yīng)度函數(shù)就是f(x),接著我們就可以利用前面的過程去尋優(yōu),尋優(yōu)過程是一個迭代過程, 中止條件一般為設(shè)置為達到最
8、大循環(huán)數(shù)或者最小錯誤要求。,3。算法介紹,PSO框架圖,粒子群優(yōu)化算法Matlab工具箱簡介,Matlab粒子群工具箱(PSOt)提供了非常先進的粒子群優(yōu)化算法 ,可指定慣性因子的起始值和中止值 ,可約定各維變量的取值范圍 、粒子在遇到邊界時是否反彈等各種參數(shù) 。除此以外 ,粒子群工具箱既可以在用戶約定的范圍內(nèi)自動隨機生成指定群體規(guī)模的初始粒子群 ,也可人工輸入小于群體規(guī)模的任意數(shù)目的初始粒子 ,具備非常強的靈活性 。,粒子群優(yōu)化算法M
9、atlab工具箱簡介,粒子群優(yōu)化算法Matlab工具箱簡介,PSOt具有非常強的靈活性,在實際計算中,用戶只要根據(jù)需求編寫好目標(biāo)函數(shù),并設(shè)置好函數(shù)自變量的取值范圍和每步迭代允許的最大變化量,PSOt即可自動進行優(yōu)化計算。,該工具箱的使用方法主要分為一下幾個步驟:(1)在MATLAB的命令窗口中點擊“File”,“Set Path”,設(shè)置工具箱的路徑。(2)編寫待優(yōu)化的函數(shù)(test_func),保存為同名m文件,粒子群優(yōu)化算法Mat
10、lab工具箱簡介,(3)調(diào)用粒子群算法的核心模塊:pso_Trelea_vectorized.m,其調(diào)用格式為:pso_Trelea_vectorized(functname, D, mv, VarRange , minmax, PSOparams, plotfcn, PSOseedValue),pso_Trelea_vectorized(functname, D, mv, VarRange, minmax,
11、 PSOparams, plotfcn, PSOseedValue)Functname:目標(biāo)函數(shù)名D:待優(yōu)化問題的維數(shù);mv:粒子飛行的最大速度;VarRange:參數(shù)變化范圍矩陣;Minmax:尋優(yōu)類型,取0代表求目標(biāo)函數(shù)最小值,取1代表求目 標(biāo)函數(shù)最大值);PSOparams:參數(shù)矩陣,包括最大迭代次數(shù)、粒子群規(guī)模、慣性因子、學(xué)習(xí)因子、終止
12、迭代條件等;Plotfcn:尋優(yōu)過程中用于展示尋優(yōu)過程的畫圖函數(shù);PSOseedValue:可允許用戶輸入任意多組初始粒子。,求非線性函數(shù)極大值,工具箱應(yīng)用實例,工具箱應(yīng)用實例,(1)編寫待優(yōu)化函數(shù)程序function z = test_func(in)nn=size(in); %輸入的是矩陣 ,即算法中隨機產(chǎn)生一組x和y ,按[x(nn, 1), y(nn, 1)]排列x=in(:,1);y=in(:,2);nx=n
13、n(1);for i=1:nx temp=sin(sqrt(x(i)^2+y(i)^2))/sqrt(x(i)^2+y(i)^2)+exp((cos(2*pi*x(i))+cos(2*pi*y(i)))/2)-2.71289;z(i,:)=temp;end,工具箱應(yīng)用實例,(2)編寫調(diào)用函數(shù)x_range=[-2,2];y_range=[-2,2];range=[x_range; y_range];Max_V=0.2*
14、(range(:,2) - range(:,1)); %最大速度取范圍的 10%~ 20%n=2; %粒子維數(shù)PSOparams=[10 300 20 2 2 0.9 0.4 1500 1e-25 250 NaN 0 0] %個體數(shù)目 20 ,進化次數(shù) 300 PSO_Trelea_vectorized('test_func', n, Max_V, range, 1, PSOp
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab遺傳算法工具箱函數(shù)及實例講解
- matlab遺傳算法工具箱函數(shù)及實例講解
- creator建模工具箱的使用方法
- matlab遺傳算法工具箱函數(shù)及實例講解(轉(zhuǎn)引).txt
- matlab遺傳算法工具箱及應(yīng)用
- matlab優(yōu)化工具箱的使用
- matlab工具箱簡介
- matlab工具箱總匯
- matlab 工具箱函數(shù)
- matlab擬合工具箱
- matlab工具箱介紹
- matlab擬合工具箱cftool使用指南
- matlab工具箱函數(shù)匯總
- matlab工具箱函數(shù)匯總
- matlab工具箱命令匯總
- matlab統(tǒng)計工具箱
- matlab部分工具箱
- matlab相機定標(biāo)工具箱程序的算法原理
- 使用matlab遺傳算法工具實例(詳細)
- matlab的曲線擬合工具箱cftool使用簡介
評論
0/150
提交評論