多目標優化 粒子群演算法 PSO 1

2021-10-25 08:10:22 字數 1340 閱讀 4174

1 背景

2 演算法介紹

3 演算法流程

4 例子說明

粒子群演算法( particle swarm optimization, pso)最早是由eberhart和kennedy在2023年提出來的, 粒子群演算法的特點是簡單易行,收斂速度快,設定引數少, 已經成為現代優化領域的熱點。

粒子群演算法的概念源於對 鳥群覓食行為 的研究。設想這樣乙個場景:一群鳥在隨機搜尋食物,在這個區域裡只有一塊食物,所有的鳥都不知道食物在**,但是它們知道當前的位置離食物還有多遠。採用最簡單有效的策略尋找鳥群中離食物最近的個體來進行搜尋

每個問題的解,想象成為乙隻鳥,稱為「粒子」,所有粒子在n維空間中搜尋, 每個粒子只有兩個屬性:位置和速度,速度代表移動的快慢,位置代表移動的方向。 粒子的當前位置為對應優化問題的乙個候選解,粒子的飛行過程為該個體的搜尋過程.粒子的飛行速度可根據粒子歷史最優位置和種群歷史最優位置進行動態調整.每個粒子單獨搜尋的最優解叫做個體極值,粒子群中最優的個體極值作為當前全域性最優解。不斷迭代,更新速度和位置。最終得到滿足終止條件的最優解。

下面的鏈結演示了pso演算法過程,非常的形象直觀,我是在這個大佬的部落格裡看到的

粒子群演算法大佬的部落格

動態演示pso演算法過程

初始化首先,初始化粒子的速度和位置

個體極值與全域性最優解

定義適應度函式,確定每個粒子的個體最優解,並從這些個體最優解找到乙個全域性最優值

更新速度和位置的公式

粒子通過下面的公式來更新自己的速度和位置

vi是粒子的速度

rand():是在(0,1)之間的隨機數

xi是粒子的當前位置

c1,c2是加速因子,一般情況下c1=c2=2

終止條件

(1)達到設定迭代次數;(2)代數之間的差值滿足最小界限

我自己又推了一遍,對這個過程更加的清晰

MOPSO 多目標粒子群優化演算法

近年來,基於啟發式的多目標優化技術得到了很大的發展,研究表明該技術比經典方法更實用和高效。有代表性的多目標優化演算法主要有nsga nsga ii spea spea2 paes和pesa等。粒子群優化 pso 演算法是一種模擬社會行為的 基於群體智慧型的進化技術,以其獨特的搜尋機理 出色的收斂效能...

粒子群優化演算法 PSO

粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引...

粒子群優化演算法 PSO

粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引...