版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。PSO工具箱使用簡介-PSO算法使用簡介PSO工具箱簡介PSOt為PSO的工具箱,該工具箱將PSO算法的核心部分封裝起來,提供給用戶的為算法的可調(diào)參數(shù),用戶只需要定義好自己需要優(yōu)化的函數(shù)(計(jì)算最小值或者最大值),并設(shè)置好函數(shù)自變量的取值范圍、每步迭代允許的最大變化量(稱為最大速度,Max_V)等,即可自行優(yōu)化。與遺傳算法相比,PSO僅需要調(diào)整少數(shù)幾個(gè)參數(shù)即可實(shí)現(xiàn)函數(shù)的優(yōu)化。該算法對(duì)待優(yōu)化函數(shù)沒有任何特別的要求(如可微分、時(shí)間連續(xù)等),因而其通用性極強(qiáng),對(duì)多變量、高度非線性、不連續(xù)及不可微的情況更加具有其
2、優(yōu)勢(shì)。該工具箱的使用主要分為幾個(gè)步驟:在Matlab中設(shè)置工具箱的路徑;定義待優(yōu)化函數(shù);調(diào)用PSO算法的核心函數(shù):pso_Trelea_vectorized()。其中第三步最關(guān)鍵,需要根據(jù)自己的需要設(shè)置好參數(shù),可使算法極快收斂。下面對(duì)各個(gè)步驟一一介紹。設(shè)置工具箱的路徑在Matlab的命令窗口點(diǎn)擊“FileSetPath.”,如下圖:在彈出的對(duì)話框中點(diǎn)擊“AddFolder”,然后瀏覽找到工具箱放置的位置,如下圖若想用到該工具箱所帶的測(cè)試函數(shù),還需要用如上同樣的方法,設(shè)置路徑指向工具箱下的“testfunctions”文件夾;若想用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,設(shè)置路徑指向工具箱下的“testfunct
3、ions”文件夾“nnet”定義待優(yōu)化函數(shù)(參見文件test_func.m)用戶根據(jù)自己的需要,定義需要優(yōu)化的函數(shù)。舉個(gè)例子,若想計(jì)算如下二元函數(shù)的最小值z(mì)=0.5*(x-3)2+0.2*(y-5)2-0.1其中自變量x、y的范圍均為-50,50。可按下面的方法定義該待優(yōu)化函數(shù):%-%functionz=test_func(in)nn=size(in);x=in(:,1);y=in(:,2);nx=nn(1);fori=1:nxtemp=0.5*(x(i)-3)2+0.2*(y(i)-5)2-0.1;z(i,:)=temp;end%-%需要特別指出的是:PSO算法的核心函數(shù)pso_Trelea
4、_vectorized()自動(dòng)初始化一組隨機(jī)變量,因而待優(yōu)化函數(shù)test_func(in)中的輸入in是一個(gè)矩陣,由一組x和y的值組成,對(duì)應(yīng)的,函數(shù)的輸出z為一個(gè)向量定義待優(yōu)化函數(shù)(參見文件test_main.m)當(dāng)定義好待優(yōu)化函數(shù)后,設(shè)置相應(yīng)的參數(shù),然后就可以調(diào)用PSO進(jìn)行優(yōu)化了,對(duì)上面優(yōu)化問題,按下面的方式進(jìn)行調(diào)用:%-%clearclcx_range=-50,50;%參數(shù)x變化范圍y_range=-50,50;%參數(shù)y變化范圍range=x_range;y_range;%參數(shù)變化范圍(組成矩陣)Max_V=0.2*(range(:,2)-range(:,1);%最大速度取變化范圍的10%
5、20%n=2;%待優(yōu)化函數(shù)的維數(shù),此例子中僅x、y兩個(gè)自變量,故為2pso_Trelea_vectorized(test_func,n,Max_V,range)%調(diào)用PSO核心模塊%-%PSO算法中相關(guān)參數(shù)的說明工具箱中相關(guān)參數(shù)的含義在該工具箱中,用戶可以設(shè)置PSO算法的13個(gè)參數(shù)(參見pso_Trelea_vectorized()的注釋部分),但實(shí)際上,有些參數(shù)采用采用算法提供的默認(rèn)值即可,算法的默認(rèn)值說明如下(在pso_Trelea_vectorized函數(shù)的定義中,用變量Pdef表示,若用戶在pso_Trelea_vectorized的調(diào)用中賦以數(shù)值,則會(huì)覆蓋相應(yīng)的參數(shù)。筆者通常直接修改
6、Pdef的數(shù)值,而不在調(diào)用時(shí)指定。)。%1)Pdef=100200024220.90.415001e-25250NaN00;P(1),為在matlab命令窗進(jìn)行顯示的間隔數(shù),取值為100表示每迭代100次顯示一次;若取值為0,則不顯示中間過程%2)Pdef=100200024220.90.415001e-25250NaN00;P(2),表示最大迭代次數(shù),即即使算法不收斂,到此數(shù)后自動(dòng)停止%3)Pdef=100200024220.90.415001e-25250NaN00;P(3),種子數(shù),即初始化多少個(gè)種子,如對(duì)上面的問題,初始化后in為24個(gè)x及24個(gè)y的數(shù)值組成的矩陣。種子數(shù)越多,越有可能
7、收斂到全局最優(yōu)值,但算法收斂速度慢。4)Pdef=100200024220.90.415001e-25250NaN00;P(4)、P(5),算法的加速度參數(shù),分別影響局部最優(yōu)值和全局最優(yōu)值,據(jù)說2對(duì)大多數(shù)情況來說都是挺好的選擇,所以一般不需要修改。5)Pdef=100200024220.90.415001e-25250NaN00;P(6)、P(7),初始時(shí)刻和收斂時(shí)刻的加權(quán)值,在最早的PSO算法中,沒有此參數(shù),靠其它幾個(gè)參數(shù)的調(diào)整來保證收斂,但收斂速度和收斂精度難以同時(shí)滿足,后來在改進(jìn)算法中,加入此權(quán)值,使得兼顧收斂速度和收斂精度成為可能,筆者認(rèn)為,對(duì)大多數(shù)情況來說仍不需要修改。%6)Pdef
8、=100200024220.90.415001e-25250NaN00;P(8),指定的當(dāng)?shù)螖?shù)超過此值時(shí),加權(quán)值取其最小(如上面的0.4)。%7)Pdef=100200024220.90.415001e-25250NaN00;P(9),用于終止算法的閾值。當(dāng)連續(xù)的兩次迭代中對(duì)應(yīng)的種群最優(yōu)值小于此閾值時(shí),算法停止8)Pdef=100200024220.90.415001e-25250NaN00;P(10),用于終止算法的閾值。當(dāng)連續(xù)250次迭代中函數(shù)的梯度之仍然沒有變化,則推出迭代。9)Pdef=100200024220.90.415001e-25250NaN00;P(11),用于說明優(yōu)化的
9、情況,取NaN時(shí)表示為非約束下的優(yōu)化問題(即沒有附加約束方程)10)Pdef=100200024220.90.415001e-25250NaN00;P(12),用于指定采用何種PSO類型,0表示通常的PSO算法。%11)Pdef=100200024220.90.415001e-25250NaN00;P(13),用于說明是否認(rèn)為指定種子,0表示隨機(jī)產(chǎn)生種子,1表示用戶自行產(chǎn)生種子。工具箱中重要參數(shù)的說明如上所述,上面的13個(gè)參數(shù)中,并不是每個(gè)都需要用戶細(xì)心指定,多半用其默認(rèn)值即可。用戶真正需要用心設(shè)定的參數(shù)為:待定參數(shù)變化范圍;參數(shù)的每步迭代最大允許值,即Max_V,一般取變化范圍的10%20%,越小,收斂的分辨率越高,即不容易跳過最優(yōu)值,但收斂慢;越大,收斂速度快,但可能跳出全局最優(yōu)值。因此用戶需要小心。PSO算法使用舉例按如上說明的編寫好matlab文件test_func.m和test
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2180-2024嬰兒輻射保暖臺(tái)校準(zhǔn)規(guī)范
- 語文工作計(jì)劃
- 電商工作計(jì)劃范文
- 十一國慶節(jié)七天假期安全教案
- 工作前安全分析管理規(guī)定
- 2025年AE活性酯市場調(diào)查報(bào)告
- 買賣合同五篇
- 七年級(jí)班務(wù)工作計(jì)劃
- 制定班級(jí)德育個(gè)人工作計(jì)劃
- 企業(yè)培訓(xùn)心得體會(huì)
- 互聯(lián)網(wǎng)+創(chuàng)新商業(yè)模式考核試卷
- 江蘇省揚(yáng)州市梅嶺中學(xué)2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含答案)
- 克羅恩病病例分析
- Lesson-1.-spring-festival(雙語課件-春節(jié))
- 消防聯(lián)動(dòng)調(diào)試記錄(2)
- 追求“真實(shí)、樸實(shí)、扎實(shí)”的語文課堂
- 螺桿空壓機(jī)操作規(guī)程完整
- 702班素質(zhì)評(píng)價(jià)觀測(cè)學(xué)生填寫完成情況檢查
- 大學(xué)學(xué)院成績單(模板)
- 奧林燃燒器說明書(GP130-150H)
- 績效管理模塊-績效管理與績效考核制度
評(píng)論
0/150
提交評(píng)論