下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、用MATLAB編寫PSO算法及實(shí)例1.1 粒子群算法PSO從這種模型中得到啟示并用于解決優(yōu)化問題。PSO中,每個(gè)優(yōu)化問題的 潛在解都是搜索空間中的一只鳥, 稱之為粒子。 所有的粒子都有一個(gè)由被優(yōu)化的 函數(shù)決定的適值 ( fitness value) ,每個(gè)粒子還有一個(gè)速度決定它們飛翔的方向和 距離。然后粒子們就追隨當(dāng)前的最優(yōu)粒子在解空間中搜索。PSO初始化為一群隨機(jī)粒子(隨機(jī)解),然后通過迭代找到最優(yōu)解。在每一次迭代中,粒子通過跟蹤兩個(gè)極值來更新自己; 第一個(gè)就是粒子本身所找到的最優(yōu) 解,這個(gè)解稱為個(gè)體極值; 另一個(gè)極值是整個(gè)種群目前找到的最優(yōu)解, 這個(gè)極值 是全局極值。 另外也可以不用整個(gè)種
2、群而只是用其中一部分作為粒子的鄰居, 那 么在所有鄰居中的極值就是局部極值。假設(shè)在一個(gè)D維的目標(biāo)搜索空間中,有N個(gè)粒子組成一個(gè)群落,其中第i個(gè) 粒子表示為一個(gè) D 維的向量X i(xi1,xi2, ,xiD ) , i 1,2, ,N第i個(gè)粒子的 飛行”速度也是一個(gè)D維的向量,記為Vi (vi1,vi2, ,viD) , i 1,2, 3。第i個(gè)粒子迄今為止搜索到的最優(yōu)位置稱為個(gè)體極值,記為pbest(pi1,pi2, ,piD ), i 1,2, ,N整個(gè)粒子群迄今為止搜索到的最優(yōu)位置為全局極值,記為gbest(pg1, pg2, pgD )在找到這兩個(gè)最優(yōu)值時(shí),粒子根據(jù)如下的公式 (1.1
3、)和( 1.2)來更新自己的速度和位置:vidwvidc1r1pidxidc2r2(pgdxid )(1.1)xidxidvid(1. 2)其中:Cl和6為學(xué)習(xí)因子,也稱加速常數(shù)(acceleration constant),ri和r2為0,1范圍內(nèi)的均勻隨機(jī)數(shù)。式(1.1)右邊由三部分組成,第一部分為慣性(inertia)或”動量(momentum)”部分,反映了粒子的運(yùn)動 習(xí)慣(habit),”代表粒子有維持自己先前速度的趨勢;第二部分為 認(rèn)知(cognition)咅部分,反映了粒子對自身歷史經(jīng) 驗(yàn)的記憶(memory)或回憶(remembranee),代表粒子有向自身歷史最佳位置逼近 的
4、趨勢;第三部分為 社會(social)部分,反映了粒子間協(xié)同合作與知識共享的群 體歷史經(jīng)驗(yàn)。2.1算法設(shè)計(jì) 算法流程圖幵始4 初曲優(yōu)為嚇粒了的速惑和位S軸邃個(gè)群體的全最仇fs根扼方呈和1)對檢子旳謹(jǐn)虞進(jìn)廳進(jìn)比*根折方T玄I 對竝子旳位S道廳進(jìn)化J2.2算法實(shí)現(xiàn)算法的流程如下:初始化粒子群,包括群體規(guī)模 N,每個(gè)粒子的位置Xi和速度Vi計(jì)算每個(gè)粒子的適應(yīng)度值Fit i ;%它的適應(yīng)度就是指目標(biāo)函數(shù)的值。一般來說,目標(biāo)函數(shù)的選擇由具體問題來決定,假如是背包問題,適應(yīng)度即放入包中物體的總價(jià)格。初始粒子位置和速度的位置一般隨機(jī)產(chǎn)生。但是在某些領(lǐng)域,如果已有其他的算法可以產(chǎn)生可行解的話,可以用這個(gè)可行解
5、來初始化,這樣更容易得到最優(yōu)的解對每個(gè)粒子,用它的適應(yīng)度值Fiti和個(gè)體極值Pbest(i)比較,如果FitiPbest(i),則用 Fiti替換掉 Pbest(i);對每個(gè)粒子,用它的適應(yīng)度值Fiti和全局極值gbest比較,如果FitiPbest(i)則用 Fiti替 g best ; 根據(jù)公式( 1.1),( 1.2)更新粒子的速度 vi 和位置 xi如果滿足結(jié)束條件(誤差足夠好或到達(dá)最大循環(huán)次數(shù))退出,否則返回。2.3 參數(shù)選擇本算法中主要的參數(shù)變量為 w (慣性權(quán)值),C1,C2 (加速因子),N (種 群數(shù)),M (迭代次數(shù)),D (粒子維數(shù))。1)種群規(guī)模通常,種群太小則不能提供
6、足夠的采樣點(diǎn), 以致算法性能很差; 種群太大盡 管可以增加優(yōu)化信息, 阻止早熟收斂的發(fā)生, 但無疑會增加計(jì)算量, 造成收斂時(shí) 間太長,表現(xiàn)為收斂速度緩慢。 種群規(guī)模一般設(shè)為 1001000。本文選擇種群規(guī)模為100。2)最大迭代次數(shù)迭代次數(shù)越多能保證解的收斂性,但是影響運(yùn)算速度,本文選 1000次。3)慣性權(quán)值0.6。慣性權(quán)重w表示在多大程度上保留原來的速度。 w較大,全局收斂能力強(qiáng),局部收斂能力弱; w 較小,局部收斂能力強(qiáng),全局收斂能力弱。本文選4)加速因子加速常數(shù)C2和C2分別用于控制粒子指向自身或鄰域最佳位置的運(yùn)動。文獻(xiàn)20建議C1 C2 4.0 ,并通常取 C1c222 。本文也取C
7、1 C2 2 。5)粒子維數(shù)本文中粒子維數(shù)取決于待優(yōu)化函數(shù)的維數(shù)。需要說明的是,本文的程序允許改變這些參數(shù),因?yàn)楸疚木帉懙某绦騾⒄誱atlab工具箱,留給用戶解決這類問題一個(gè)接口函數(shù),上述的各個(gè)參數(shù)正是接口 函數(shù)的參數(shù),因此允許改變。另外對于 w和C也可采用變參數(shù)法,即隨迭代次數(shù)增加,利用經(jīng)驗(yàn)公式使它們動態(tài)調(diào)整,本文采用固定值。3.1求三維函數(shù)f=x(1)A2+x(2)A2+x(3)A2的最小值2-4 步步驟: 1.初始化 x,v; 2.求出每個(gè)粒子的適應(yīng)值; 3.初始化 pb,pg 個(gè)體最優(yōu)和全局最優(yōu); 4. 根據(jù)式子更新 x,v; 5.是否滿足條件,滿足跳出循環(huán),否則重復(fù)嘗試編碼:(1)
8、pso.m 文件%此算法是 PSO 算法,汪汪的 20161024 號版本 function xm,fv=PSO(fitness,N,c1,c2,w,M,D)%xm,fv 算法最后得到的最優(yōu)解時(shí)的 N 為種群數(shù)量, c1,c2%format long ;%初始化種群for i=1:Nx 及最優(yōu)解, fitness 為適應(yīng)度,即要優(yōu)化的目標(biāo)函數(shù),為學(xué)習(xí)因子,w為慣性權(quán)重,M為迭代次數(shù),D為粒子的維數(shù)endfor j=1:D x(i,j)=randn; v(i,j)=randn; end%隨機(jī)初始化位置%隨機(jī)初始化速度%先計(jì)算各個(gè)粒子的適應(yīng)度for i=1:Npi ,并初始化 y- 粒子個(gè)體極值,
9、 pg- 全局極值p(i)=fitness(x(i,:); y(i,:)=x(i,:);end%適應(yīng)度 問題:將 x(i,:) 改成 x(i,j) 是否可以,答不能 %個(gè)體極值pg=x(N,:);%初始化全局極值 / 最優(yōu)for i=1:N-1if fitness(x(i,:)fitness(pg)pg=x(i,:);%替換并選出全局極值endend%進(jìn)入粒子群算法主要循環(huán),更新v 及 xfor t=1:Mfor i=1:Nv(i,:)=w*v(i,:)+c1*rand*(y(1,:)-x(1,:)+c2*rand*(pg-x(i,:);x(i,:)=x(i,:)+v(i,:);if fitn
10、ess(x(i,:)p(i)p(i)=fitness(x(i,:);y(i,:)=x(i,:);endif p(i)fitness(pg) pg=y(i,:);endendpbest(t)=fitness(pg);end%皿次迭代后最優(yōu)解xm=pg; %為何要共軛轉(zhuǎn)置? fv=fitness(pg);(2) 目標(biāo)函數(shù)fitness.m文件fun cti on f=fit ness(x) f=x(1)A2+x(2)A2+x(3)A2 ;end需要說明的是,針對不同的函數(shù)優(yōu)化,只需要改變目標(biāo)函數(shù)就可以。(3)在命令行輸入或建立調(diào)用m文件在命令行先后輸入xm,fv = PSO(fitness,100,2,2,0.6,1000,3)或建立包涵該語句的m文件,運(yùn)行即可得到結(jié)果。四、結(jié)果與分析xm=1.0e-04 *-0.2857301402295650.676783696397148-0.250529540096653fv =6.024429352056337e-09fv是最優(yōu)值,xm為最優(yōu)值對應(yīng)的自變量值。3.2高斯函數(shù)x y=me
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房產(chǎn)買賣合同交房驗(yàn)收協(xié)議4篇
- 磚墻加固施工方案
- 建筑設(shè)計(jì)交付協(xié)議(2篇)
- 2025年度個(gè)人房產(chǎn)權(quán)屬轉(zhuǎn)移合同示范文本4篇
- 2025年行政事業(yè)單位合同管理制度規(guī)范與合同變更管理3篇
- 二零二五年度環(huán)保產(chǎn)業(yè)合作-環(huán)保設(shè)備讓與擔(dān)保合作協(xié)議4篇
- 2024年注冊城鄉(xiāng)規(guī)劃師考試題庫及參考答案(鞏固)
- 違規(guī)網(wǎng)上行醫(yī)自查報(bào)告(3篇)
- 屋面堵漏施工方案
- 雨傘游戲語言課程設(shè)計(jì)
- 醫(yī)療糾紛預(yù)防和處理?xiàng)l例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學(xué)寒假作業(yè)1
- 保險(xiǎn)產(chǎn)品創(chuàng)新與市場定位培訓(xùn)課件
- (完整文本版)體檢報(bào)告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護(hù)理體會
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
- 鋼結(jié)構(gòu)牛腿計(jì)算
- 2023-2024學(xué)年重慶市兩江新區(qū)四上數(shù)學(xué)期末質(zhì)量檢測試題含答案
- 體外診斷試劑工作校準(zhǔn)品產(chǎn)品校準(zhǔn)品互換性(基質(zhì)效應(yīng))Excel計(jì)算模板
評論
0/150
提交評論