PSO工具箱使用簡介_第1頁
PSO工具箱使用簡介_第2頁
PSO工具箱使用簡介_第3頁
PSO工具箱使用簡介_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、PSO算法使用簡介1 PSO工具箱簡介PSOt為PSO的工具箱,該工具箱將PSO算法的核心部分封裝起來,提供 給用戶的為算法的可調(diào)參數(shù),用戶只需要定義好自己需要優(yōu)化的函數(shù)(計算最小值或者最大值),并設(shè)置好函數(shù)自變量的取值范圍、每步迭代允許的最大變化量(稱為最大速度,Max_V)等,即可自行優(yōu)化。與遺傳算法相比,PSO僅需要調(diào)整少數(shù)幾個參數(shù)即可實(shí)現(xiàn)函數(shù)的優(yōu)化。該 算法對待優(yōu)化函數(shù)沒有任何特別的要求(如可微分、時間連續(xù)等),因而其通用性 極強(qiáng),對多變量、高度非線性、不連續(xù)及不可微的情況更加具有其優(yōu)勢。該工具箱的使用主要分為幾個步驟:1)在Matlab中設(shè)置工具箱的路徑;2)定義待優(yōu)化函數(shù);3)調(diào)用

2、PSO算法的核心函數(shù):pso_Trelea_vectorized()。其中第三步最關(guān)鍵,需要根據(jù)自己的需要設(shè)置好參數(shù),可使算法極快收斂。 下面對各個步驟一一介紹。2設(shè)置工具箱的路徑2.1在Matlab的命令窗口點(diǎn)擊“File-Set Path.”,如下圖:2.2在彈出的對話框中點(diǎn)擊“Add Folder”,然后瀏覽找到工具箱放置的位置,如下圖FileFile EliEli t t DebugDebug DesktopDesktop WindowWindow HelpHelpetet PathPathShorten.Shorten.U1U1 uhuigesuhuiges takataka afa

3、fctct iiMnfrdiiMnfrd詞覽文件夾CurrentCurrent廠nnETinnETi r r r r2.32.4Add. Folder.,1 1 AddAdd withwith Sutfolders.Sutfolders. HoveUTWovaWova VovnVovnMovMov toto BattomBattomAddAdd FflldrFflldr g g FathFathI口al_6R巴newData已plaCLCplaCLC Q QFlanarDynSi4ce_R6batTarCapSysa a ToolhoxToolhox亡)3D3D RptationsRptati

4、ons E E D DHtchinOidioHtchinOidiol+lO O m m卻Irob此tar l+l 1 Others二nS33SnS33S二hihi ddanutilsddanutils二nretnret若想用到該工具箱所帶的測試函數(shù),還需要用如上同樣的方法,設(shè)置路徑指向工具箱下的“testfu nctio ns”文件夾;若想用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,設(shè)置路徑指向工具箱下的“testfu nctions”文件夾“nnet”定義待優(yōu)化函數(shù)(參見文件用戶根據(jù)自己的需要,定義需要優(yōu)化的函數(shù)。舉個例子,若想計算如下二元 函數(shù)的最小值z= *(x-3)A2+*(y-5)A其中自變量X、y的范

5、圍均為-50, 50。可按下面的方法定義該待優(yōu)化函數(shù):%fun cti onz=test_fu nc(i n)nn=size(i n);x=in( :,1);y=in( :,2);nx=nn( 1);for i=1: nxtemp = *(x(i)-3)A2+*(y(i)-5)A; z(i,:) = temp;end%需要特別指出的是:PSO算法的核心函數(shù)機(jī)變量,因而待優(yōu)化函數(shù)test_fu nc(i n)中的輸入對應(yīng)的,函數(shù)的輸岀z為一個向量4定義待優(yōu)化函數(shù)(參見文件當(dāng)定義好待優(yōu)化函數(shù)后,設(shè)置相應(yīng)的參數(shù), 對上面優(yōu)化問題,按下面的方式進(jìn)行調(diào)用:%. %clearcicx_range=-50,

6、50;%參數(shù)x變化范圍y_range=-50,50;%參數(shù)y變化范圍range = x_range;y_range;%參數(shù)變化范圍(組成矩陣)Max_V = *(ra nge(:,2)-ra nge(:,1);%最大速度取變化范圍的10%20%n=2;%待優(yōu)化函數(shù)的維數(shù),此例子中僅x、y兩個自變量,故為2pso_Trelea_vectorized(test_func,n,Max_V,range)%調(diào)用PSO核心模塊%. %5 PSO算法中相關(guān)參數(shù)的說明5.1工具箱中相關(guān)參數(shù)的含義在該工具箱中,用戶可以設(shè)置PSO算法的13個參數(shù)(參見pso_Trelea_vectorized(的注釋部分),但實(shí)

7、際上,有些參數(shù)采用采用算法提供的默 認(rèn)值即可,算法的默認(rèn)值說明如下(在pso_Trelea_vectorized函數(shù)的定義中, 用變 量Pdef表示, 若用戶在pso_Trelea_vectorized的調(diào)用中賦以數(shù)值,則會覆蓋相應(yīng) 的參數(shù)。筆者通常直接修改P def的數(shù)值,而不在調(diào)用時指定。)。%1)P def = 100 2000 24 2 2 1500 1e-25 250 NaN 0 0;/P(1),為在matlab命令窗進(jìn)行顯示的間隔數(shù),取值為100表示每迭代100次顯示一次;若取值為0,則不顯示中間過程%2)Pdef = 1002000 24 2 2 1500 1e-25 250 N

8、aN 0 0;/%pso_Trelea_vectorizedO自動初始化一組隨in是一個矩陣,由一組x和y的值組成,然后就可以調(diào)用PSO進(jìn)行優(yōu)化了,P(2),表示最大迭代次數(shù),即即使算法不收斂,到此數(shù)后自動停止%3)P def = 100 200024 2 2 1500 1e-25 250 NaN 0 0;P(3),種子數(shù),即初始化多少個種子,如對上面的問題,初始化后in為24個x及24個y的數(shù)值組成的矩陣。種子數(shù)越多,越有可能收斂到全局最優(yōu)值,但算法收斂速度慢4)P def = 100 2000 242 21500 1e-25 250 NaN 0 0;/P(4)、P(5),算法的加速度參數(shù),

9、分別影響局部最優(yōu)值和全局最優(yōu)值,據(jù)說 數(shù)情況來說都是挺好的選擇,所以一般不需要修改。1500 1e-25 250 NaN 0 0;/P(6)、P,初始時刻和收斂時刻的加權(quán)值,在最早的PSO算法中,沒有此參數(shù),靠其它幾個參數(shù)的調(diào)整來保證收斂, 但收斂速度和收斂精度難以同時滿足, 后來在改進(jìn)算法中, 加入此權(quán)值,使得兼顧收斂速度和收斂精度成為可能, 筆者認(rèn)為,對大多數(shù)情況來說仍不需 要修改。1500 1e-25 250 NaN 0 0; /P(8),指定的當(dāng)?shù)螖?shù)超過此值時, 加權(quán)值取其最小1e-25 250 NaN 0 0; /P(9),用于終止算法的閾值。當(dāng)連續(xù)的兩次迭代中對應(yīng)的種群最優(yōu)值小

10、于此閾值時, 算法停止250 NaN 0 0;/P(10),用于終止算法的閾值。當(dāng)連續(xù)250次迭代中函數(shù)的梯度之仍然沒有變化,則推出迭代。NaN 0 0;/P(11),用于說明優(yōu)化的情況,取NaN時表示為非約束下的優(yōu)化問題(即沒有附加約束方程)10) Pdef = 100 2000 24 2 2 1500 1e-25 250 NaNP(12),用于指定采用何種PSO類型,0表示通常的PSO算法。2對大多5)P def = 100 2000 24 2 2%6)P def = 100 2000 24 2 2(如上面的。%7)P def = 100 2000 24 2 2 15008)P def = 100 2000 24 2 2 1500 1e-259)P def = 100 2000 24 2 2 1500 1e-25 2500 0;%11) Pdef = 100 2000 24 2 2 1500 1e-25 250 NaN 05.2工具箱中重要參數(shù)的說明如上所述,上面的13個參數(shù)中, 其默認(rèn)值即可。用戶真正需要用心設(shè)定的參數(shù)為:1)待定參數(shù)變化范圍;2)參數(shù)的每步迭代最大允許值,越小, 收斂的分辨率越高, 即不容易跳過最優(yōu)值,但收斂慢;越大,收 斂速度快,但可能跳出全局最優(yōu)值。因此用戶需要小心。6 PSO算法使用舉例按如上說明的編寫好matlab文件和后,直接執(zhí)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論