230 likes | 475 Views
Particle Swarm Optimization (PSO). 粒子群尋優法. 簡介. 起源 生物社會學家對鳥群捕食的行為研究。 原理 我們可以設想這樣的一個場景,一群鳥再隨機搜尋食物。這個區域裡只有一塊食物。所有的鳥都不知道食物再哪裡,但他們知道目前距離食物還有多遠,那麼找到食物的最佳策略是什麼?最簡單的方法就是找尋 距離食物最近的鳥 之周圍區域及根據自己本身 飛行的經驗 判斷食物的所在。. 鳥群覓食行為. Food. Global Best Solution. Past Best Solution. 特點. 分散式搜尋 具記憶性
E N D
簡介 • 起源 • 生物社會學家對鳥群捕食的行為研究。 • 原理 • 我們可以設想這樣的一個場景,一群鳥再隨機搜尋食物。這個區域裡只有一塊食物。所有的鳥都不知道食物再哪裡,但他們知道目前距離食物還有多遠,那麼找到食物的最佳策略是什麼?最簡單的方法就是找尋距離食物最近的鳥之周圍區域及根據自己本身飛行的經驗判斷食物的所在。
鳥群覓食行為 Food Global Best Solution Past Best Solution
特點 • 分散式搜尋 • 具記憶性 • 元件較少,容易實現 • 適合在連續性的範圍內搜尋
演算法介紹 • 每個尋優的問題解都被想像成一隻鳥,我們也稱為“Particle”。 • 所有的Particle 都有一個fitness function 以判斷目前的位置之好壞, • 每一個Particle必須賦予記憶性,能記得所搜尋到最佳位置。 • 每一個Particle 還有一個速度以決定飛行的距離與方向。
演算法流程 • Initial: 將群族做初始化,以隨機的方式求出每一Particle 之初始位置與速度。 • Evaluation: 依據fitness function 計算出其fitness value 以作為判斷每一Particle之好壞。 • Fine the Pbest: 找出每一Particle 到目前為止的搜尋過程中最佳解,這個最佳解我們將之稱為Pbest。 • Fine the Gbest: 找出所有Particle 到目前為止所搜尋到的整體最佳解,此最佳解我們稱之為Gbest。 • Update the Velocity: 依據式(1) 與式(2) 更新每一Particle之速度與位置。 • 回到步驟2. 繼續執行,直到獲得一個令人滿意的結果或符合終止條件為止。
速度更新 • Vid :每一Particle在第d維之速度 • i:Particle之編號 • d:維度 • w :Inertia Weight • c1、c2:學習常數 • Rand():一介於0至1的亂數 • Pid :每一Particle到目前為止,所出現的最佳位置 • Pgd :所有Particle到目前為止,所出現的最佳位置 • xid :每一Particle目前之所在