




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基本粒子群算法算法原理基本粒子群算法采用常數(shù)因子 c和c2及常慣性權(quán)重可,粒子根據(jù)如下的公式來更新自 己的速度和新的位置。匕(t 1) = wVj,j(t) cVm(t)%-滄(t)x 餌 1) = X.(t) V.(t 1),j =1,2,.d算法步驟基本粒子群算法的基本步驟如下:隨機初始化種群中各微粒的位置和速度;評價每個微粒的適應(yīng)度,將當(dāng)前各微子的位置和適應(yīng)值存儲在各微子的pbest中,將所有的pbest中適應(yīng)最優(yōu)個體的位置和適應(yīng)值存儲在gbest中;用下式更新粒子的速度和位移:V (t 1) = wV (t) CrP X (t) gr P X (t)i,jj,j i i i,j- j,
2、j g 2L g,j- i,jX.,j(t 1)=Xi,j(t) V,j(t 1),j-1,2,d對每個微粒,將其適應(yīng)值與其經(jīng)歷的最好位置作比較,如果較好,將其作為當(dāng)前的最好位 置;比較當(dāng)前所有pbest和gbest的值,更新gbest ;若滿足停止條件(通常為預(yù)設(shè)的運算精度或迭代次數(shù)),搜索停止,輸出結(jié)果,否知返回(3)繼續(xù)搜索。算法MATLAB實現(xiàn)在MATLAB中編程實現(xiàn)的基本粒子群算法優(yōu)化函數(shù)為:PSO。功能:用基本粒子群算法求解無約束優(yōu)化問題。調(diào)用格式:xm, fv = PSO( fitness N,c1,c2,w, M , D)其中,fitness :待優(yōu)化的目標(biāo)函數(shù);N :粒子數(shù)目
3、;G:學(xué)習(xí)因子1 ;C2:學(xué)習(xí)因子2;w :慣性權(quán)重;M :最大迭代次數(shù);D :自變量的個數(shù);xm :目標(biāo)函數(shù)取最小值時的自變量值;fv :目標(biāo)函數(shù)的最小值?;玖W尤核惴ǖ腗ATLAB 代碼如下:function xm,fv=PSO(fitness,N,c1,c2,w,M,D)% fitn ess :待優(yōu)化的目標(biāo)函數(shù);% N:粒子數(shù)目;% cl:學(xué)習(xí)因子1;% c2:學(xué)習(xí)因子2;% w:慣性權(quán)重;% M:最大迭代次數(shù);%。:自變量的個數(shù);% xm:目標(biāo)函數(shù)取最小值時的自變量值;% fv :目標(biāo)函數(shù)的最小值。format long;for i=1:Nforj=1:Dx(i,j)=randn;%
4、隨機初始化位置v(i,j)=randn ;%隨機初始化速度endendfor i=1:Np(i)=fitness(x(i,:);y(i,:)=x(i,:);endpg=x(N,:); %pg為全局最優(yōu)for1:(N-1)if fitness(x(i,:)fitness(pg)pg=x(i,:);endendfor t=1:Mfor i=1:N%速度、位移更新v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:)+c2*rand*(pg-x(i,:); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:)p(i)p(i)=fitness(x(i,:
5、);y(i,:)=x(i,:);endif p(i)fitness(pg)pg=y(i,:);end endendxm=pg;fv=fit ness(pg);例30采用基本粒子群算法求取 Sphere Model函數(shù)f(x)-7 x2的最小值。i 3解:本例題中函數(shù)的最小點為(為X2心)=(0 00),最小值為0,現(xiàn)在用PSO算法求最小值,首先看看不同迭代數(shù)對結(jié)果的影響,粒子群規(guī)模為40,學(xué)習(xí)因子都是2,慣性權(quán)重取0.5,迭代數(shù)分別取1000,5000,10000.首先建立目標(biāo)函數(shù)文件fitness.m,輸入下列內(nèi)容:function F=fit ness(x)F=0;for i=1:30F=
6、F+x(i)A2;end在MATLAB命令窗口中輸入:xm,fv=PSO(fit ness,40,2,2,0.5,1000,30)xm,fv=PSO(fit ness,40,2,2,0.5,5000,30)xm,fv=PSO(fit ness,40,2,2,0.5,10000,30)將上面求得的結(jié)果列表比較如下:迭代步數(shù)1000500010000 x1-0.1248159610.076616990.012519205x20.002098544-0.0344413010.023225914x30.3342652920.079611320.006409382x40.020930663-0.0205
7、89443-0.01245984x5-0.0223425970.0519288970.01045483x60.0710595280.0146866-0.002044968x7-0.0102492010.071374031-0.021047682x8-0.173703820.0539362690.074049957x90.044030849-0.0227154410.034692645x100.1152608770.014670858-0.014452009x11-0.0338816130.142809736-0.039527693x120.246496620.0062825960.008809
8、395x130.106152816-0.030329827-0.003126436x14-0.041429312-0.0750854530.007888331x15-0.0923389240.001383922-0.01880419x160.165928197-0.016592079-0.074531144x17-0.300160719-0.0934554250.055319274x18-0.2536121490.00385701-0.008023665x190.1897073210.027221239-0.019769054x20-0.126004501-0.0701443590.00844
9、6675x21-0.253708939-0.014838222-0.008821635x22-0.0491421820.034546978-0.033772348x230.1242394570.0188413610.010630827x24-0.068640510.012666381-0.016788305x250.193477783-0.047085223-0.019466059x26-0.082514364-0.0439247480.049907028x270.030547537-0.063624144-0.007000314x280.034872683-0.0150186970.0112
10、33546x290.017222532-0.002414611-0.023183183x300.062528682-0.0725939270.04341795函數(shù)極值0.6335670050.0827690110.026632793從上面的求解結(jié)果可以看出,在其他參數(shù)不變的情況下,一般迭代步數(shù)越大,求得的解得精度越高,但 這并不是絕對的,因為PSO算法本質(zhì)上也是一種隨機算法,即使用同樣的參數(shù),每一次求解也可能得出不 同的結(jié)果,同時如果對于多峰函數(shù),PSO算法還可能陷入局部最優(yōu)點。下面看看粒子群規(guī)模對結(jié)果的影響,學(xué)習(xí)因子都是2,慣性權(quán)重都是0.5,迭代步數(shù)都是10000,粒子種群規(guī)模分別取50,
11、60,80和100.在MATLAB命令窗口中輸入:xm,fv=PSO(fitness,50,2,2,0.5,10000,30)xm,fv=PSO(fitness,60,2,2,0.5,10000,30)xm,fv=PSO(fitness,80,2,2,0.5,10000,30) xm,fv=PSO(fitness,100,2,2,0.5,10000,30)將上面求得點的結(jié)果列表比較如下:粒子規(guī)模506080100 x1-0.0038516160.009602536-0.021677781-0.01417639x20.028916006-0.00399180.0020802390.0066393
12、52x3-0.020816339-0.029155107-0.0146794980.006570414x4-0.013996327-0.032994703-0.023606005-0.009206691x5-0.0611956080.0153159820.0106670870.004333063x60.0594251370.0045642580.0052266920.000746219x70.025469967-0.00507466-0.0073936420.024755412x8-0.0581338050.0312299710.0111372730.001984843x9-0.0454399
13、76-0.0187316480.009383178-0.056376597x10-0.0220096990.036518558-0.0140111470.015999913x110.0565898640.005337156-0.001308054-0.026670753x120.041709956-0.0098912050.028213036-0.031919309x13-0.0107801540.0025090070.010189469-0.028577535x14-0.0061500350.0296137270.0100253470.004485906x15x16x17x18x19x20
14、x21x22x23x24x25x26x27x28x29x30函數(shù)極值-0.048458880.0063039080.009540240.0477722780.0173931080.0049338590.010141597-0.0197414150.0007111520.025022711-0.026329590.05270640.065753630.0205180430.0385902750.001238250.036343855-0.026871907 0.001120755 0.00642773 -0.022967437 -0.004758758-0.028100017 -0.000726
15、7440.0135315030.0190519490.0021108210.028880996-0.0185979560.0049487770.0063944370.006699072-0.0170227330.0102328770.0064641450.0072406060.0046881560.0040298950.009560694-0.0028791570.0077468230.005322445-0.012783715-0.008991788-0.012629268-0.017530155-0.039854583-0.026901063-0.019755395-0.0524164540.0093345340.003708717 -0.002
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華律合同范本
- 國有農(nóng)村土地使用權(quán)收購合同范本
- 吊車月結(jié)合同范例
- 通遼租賃合同范本
- 吊車工程合同范本
- 企業(yè)保安勞務(wù)合同范本
- 吊車經(jīng)營合同范本
- 模具外發(fā)加工合同范本
- 醫(yī)院基建合同范本
- 南寧雅閣購車合同范例
- 煤質(zhì)化驗員測試題(附參考答案)
- 全電發(fā)票樣式
- (完整版)供應(yīng)商審核表
- 饅頭工藝流程圖
- (二次供水單位)生活飲用水衛(wèi)生許可證延續(xù)申請表
- 石化公司建設(shè)項目竣工文件整理歸檔規(guī)范
- 鈉電池正極材料PPT
- 體能訓(xùn)練概論(NSCA)
- 青島版三年級數(shù)學(xué)下冊《美麗的街景》教學(xué)課件7
- 液壓傳動全套ppt課件(完整版)
- 內(nèi)部控制五要素圖解
評論
0/150
提交評論