粒子群優化演算法 粒子群演算法

2021-10-12 09:04:08 字數 2410 閱讀 1376

粒子群演算法(particle swarm optimization,pso),屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,從而獲得最優解。

演算法原理

pso中,每個優化問題的潛在解都是搜尋空間中的乙隻鳥,稱之為粒子。所有的粒子都有乙個由被優化的函式決定它的適值,每個粒子還有乙個速度決定它們飛翔的方向和距離。然後粒子們就追隨當前的最優粒子在解空間中搜尋。

pso初始化為一群隨機粒子,然後通過迭代找到最優解。在每一次迭代中,粒子通過跟蹤兩個極值來更新自己。第乙個就是粒子本身所找到的最優解,這個解稱為個體極值;另乙個極值是整個種群目前找到的最優解,這個極值是全域性極值。

演算法流程

1、初始化粒子群,包括群體規模,每個粒子的位置和速度。

2、計算每個粒子的適應度值。

3、對每個粒子,比較適應度值和個體極值,如果適應度值大於個體極值,則用適應度值替換掉個體極值。

4、對每個粒子,比較適應度值和全域性極值,如果適應度值大於個體極值,則用適應度值替全域性極值。

5、更新粒子的速度和位置。

6、如果滿足結束條件(誤差足夠好或到達最大迴圈次數)退出,否則返回2。

演算法**

演算法特點

1、粒子在求解空間中,由於相互影響導致的運動位置調整。整個求解過程中,加速因子和最大速度共同維護粒子對全域性和區域性搜尋能力的平衡。

2、粒子群優化演算法初期,其解群隨進化代數表現了更強的隨機性。

3、pso 的乙個優勢就是採用實數編碼,不需要像遺傳演算法一樣採用二進位制編碼。

引數分析

1、種群數量:粒子群演算法的最大特點就是速度快,初始種群越大收斂性會更好,不過太大了也會影響速度。

2、迭代次數:一般取100~4000,太少解不穩定,太多浪費時間。

3、慣性權重:一般取0.5~1,該引數反映了個體歷史成績對現在的影響。

4、學習因子:一般取0~4,要根據自變數的取值範圍來定,因為學習因子分為個體和群體兩種。

5、空間維數:粒子搜尋的空間維數即為自變數的個數。

6、位置限制:限制粒子搜尋的空間,即自變數的取值範圍。

7、速度限制:如果粒子飛行速度過快,很可能直接飛過最優解位置,但是如果飛行速度過慢,會使得收斂速度變慢,因此設定合理的速度限制就很有必要。

演算法應用

pso同遺傳演算法類似,是一種基於迭代的優化演算法。系統初始化為一組隨機解,通過迭代搜尋最優值。同遺傳演算法比較,pso的優勢在於簡單容易實現,並且沒有許多引數需要調整。目前已廣泛應用於函式優化,神經網路訓練,模糊系統控制以及其他遺傳演算法的應用領域。

粒子群優化演算法

粒子群優化演算法 1.概念 粒子群優化演算法 pso 是一種進化計算技術。源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引數的調節。目前已被廣泛應用於函式優化 神經網路訓練 模糊系統控制以及其他遺傳演...

粒子群優化演算法

與ga演算法比較 粒子群優化 clc,clear all x 0 0.01 4 y hanshu x figure plot x,y hold on w 1 慣性因子 c1 2 c2 2 maxgen 30 迭代次數 sizepop 5 粒子個數 vmax 1 vmin 1 速度限制 popmax ...

粒子群演算法

如前所述,pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。pso從這種模型中得到啟示並用於解決優化問題。ps...