pso粒子群優(yōu)化算法

pso粒子群優(yōu)化算法

ID:26104654

大?。?45.00 KB

頁數(shù):22頁

時間:2018-11-24

pso粒子群優(yōu)化算法_第1頁
pso粒子群優(yōu)化算法_第2頁
pso粒子群優(yōu)化算法_第3頁
pso粒子群優(yōu)化算法_第4頁
pso粒子群優(yōu)化算法_第5頁
資源描述:

《pso粒子群優(yōu)化算法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、PSO粒子群優(yōu)化算法摘自:人工智能論壇1.引言粒子群優(yōu)化算法(PSO)是一種進化計算技術(shù)(evolutionarycomputation),有Eberhart博士和kennedy博士發(fā)明。源于對鳥群捕食的行為研究PSO同遺傳算法類似,是一種基于疊代的優(yōu)化工具。系統(tǒng)初始化為一組隨機解,通過疊代搜尋最優(yōu)值。但是并沒有遺傳算法用的交叉(crossover)以及變異(mutation)。而是粒子在解空間追隨最優(yōu)的粒子進行搜索。詳細的步驟以后的章節(jié)介紹同遺傳算法比較,PSO的優(yōu)勢在于簡單容易實現(xiàn)并且沒有許多參數(shù)需要調(diào)整。目前已廣泛應用于函數(shù)

2、優(yōu)化,神經(jīng)網(wǎng)絡(luò)訓練,模糊系統(tǒng)控制以及其他遺傳算法的應用領(lǐng)域2.背景:人工生命"人工生命"是來研究具有某些生命基本特征的人工系統(tǒng).人工生命包括兩方面的內(nèi)容1.研究如何利用計算技術(shù)研究生物現(xiàn)象2.研究如何利用生物技術(shù)研究計算問題我們現(xiàn)在關(guān)注的是第二部分的內(nèi)容.現(xiàn)在已經(jīng)有很多源于生物現(xiàn)象的計算技巧.例如,人工神經(jīng)網(wǎng)絡(luò)是簡化的大腦模型.遺傳算法是模擬基因進化過程的.現(xiàn)在我們討論另一種生物系統(tǒng)-社會系統(tǒng).更確切的是,在由簡單個體組成的群落與環(huán)境以及個體之間的互動行為.也可稱做"群智能"(swarmintelligence).這些模擬系統(tǒng)利用

3、局部信息從而可能產(chǎn)生不可預測的群體行為例如floys和boids,他們都用來模擬魚群和鳥群的運動規(guī)律,主要用于計算機視覺和計算機輔助設(shè)計.在計算智能(computationalintelligence)領(lǐng)域有兩種基于群智能的算法.蟻群算法(antcolonyoptimization)和粒子群算法(particleswarmoptimization).前者是對螞蟻群落食物采集過程的模擬.已經(jīng)成功運用在很多離散優(yōu)化問題上.粒子群優(yōu)化算法(PSO)也是起源對簡單社會系統(tǒng)的模擬.最初設(shè)想是模擬鳥群覓食的過程.但后來發(fā)現(xiàn)PSO是一種很好的優(yōu)

4、化工具.3.算法介紹如前所述,PSO模擬鳥群的捕食行為。設(shè)想這樣一個場景:一群鳥在隨機搜索食物。在這個區(qū)域里只有一塊食物。所有的鳥都不知道食物在那里。但是他們知道當前的位置離食物還有多遠。那么找到食物的最優(yōu)策略是什么呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區(qū)域。PSO從這種模型中得到啟示并用于解決優(yōu)化問題。PSO中,每個優(yōu)化問題的解都是搜索空間中的一只鳥。我們稱之為“粒子”。所有的例子都有一個由被優(yōu)化的函數(shù)決定的適應值(fitnessvalue),每個粒子還有一個速度決定他們飛翔的方向和距離。然后粒子們就追隨當前的最優(yōu)粒子

5、在解空間中搜索PSO初始化為一群隨機粒子(隨機解)。然后通過疊代找到最優(yōu)解。在每一次疊代中,粒子通過跟蹤兩個"極值"來更新自己。第一個就是粒子本身所找到的最優(yōu)解。這個解叫做個體極值pBest.另一個極值是整個種群目前找到的最優(yōu)解。這個極值是全局極值gBest。另外也可以不用整個種群而只是用其中一部分最為粒子的鄰居,那么在所有鄰居中的極值就是局部極值。在找到這兩個最優(yōu)值時,粒子根據(jù)如下的公式來更新自己的速度和新的位置v[]=v[]+c1*rand()*(pbest[]-present[])+c2*rand()*(gbest[]-pr

6、esent[])(a)present[]=persent[]+v[](b)v[]是粒子的速度,persent[]是當前粒子的位置.pbest[]andgbest[]如前定義rand()是介于(0,1)之間的隨機數(shù).c1,c2是學習因子.通常c1=c2=2.程序的偽代碼如下Foreachparticle____InitializeparticleENDDo____Foreachparticle________Calculatefitnessvalue________Ifthefitnessvalueisbetterthanthebe

7、stfitnessvalue(pBest)inhistory____________setcurrentvalueasthenewpBest____End____ChoosetheparticlewiththebestfitnessvalueofalltheparticlesasthegBest____Foreachparticle________Calculateparticlevelocityaccordingequation(a)________Updateparticlepositionaccordingequation(

8、b)____EndWhilemaximumiterationsorminimumerrorcriteriaisnotattained在每一維粒子的速度都會被限制在一個最大速度Vmax,如果某一維更新后的速度超過用戶設(shè)定的Vmax,那么這一維的速度就

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。