粒子群演算法(1)—-粒子群演算法簡介

來源:互聯網
上載者:User

粒子群演算法簡介

一、粒子群演算法的曆史

        粒子群演算法源於複雜適應系統(Complex Adaptive System,CAS)。CAS理論於1994年正式提出,CAS中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程“學習”或“積累經驗”改變自身結構與行為。整個系統的演變或進化包括:新層次的產生(小鳥的出生);分化和多樣性的出現(鳥群中的鳥分成許多小的群);新的主題的出現(鳥尋找食物過程中,不斷髮現新的食物)。

    所以CAS系統中的主體具有4個基本特點(這些特點是粒子群演算法發展變化的依據):

  • 首先,主體是主動的、活動的。
  • 主體與環境及其他主體是相互影響、相互作用的,這種影響是系統發展變化的主要動力。
  • 環境的影響是宏觀的,主體之間的影響是微觀的,宏觀與微觀要有機結合。
  • 最後,整個系統可能還要受一些隨機因素的影響。

粒子群演算法就是對一個CAS系統---鳥群社會系統的研究得出的。

       粒子群演算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy於1995年提出,它的基本概念源於對鳥群覓食行為的研究。設想這樣一個情境:一群鳥在隨機搜尋食物,在這個地區裡只有一塊食物,所有的鳥都不知道食物在哪裡,但是它們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢?最簡單有效就是搜尋目前離食物最近的鳥的周圍地區。   

      PSO演算法就從這種生物種群行為特性中得到啟發並用於求解最佳化問題。在PSO中,每個最佳化問題的潛在解都可以想象成d維搜尋空間上的一個點,我們稱之為“粒子”(Particle),所有的粒子都有一個被目標函數決定的適應值(Fitness Value ),每個粒子還有一個速度決定他們飛翔的方向和距離,然後粒子們就追隨當前的最優粒子在解空間中搜尋。Reynolds對鳥群飛行的研究發現。鳥僅僅是追蹤它有限數量的鄰居但最終的整體結果是整個鳥群好像在一個中心的控制之下.即複雜的全域行為是由簡單規則的相互作用引起的。

二、粒子群演算法的具體表述

      上面羅嗦了半天,那些都是科研工作者寫論文的語氣,不過,PSO的曆史就像上面說的那樣。下面通俗的解釋PSO演算法。

       PSO演算法就是類比一群鳥尋找食物的過程,每個鳥就是PSO中的粒子,也就是我們需要求解問題的可能解,這些鳥在尋找食物的過程中,不停改變自己在空中飛行的位置與速度。大家也可以觀察一下,鳥群在尋找食物的過程中,開始鳥群比較分散,逐漸這些鳥就會聚成一群,這個群忽高忽低、忽左忽右,直到最後找到食物。這個過程我們轉化為一個數學問題。尋找函數  y=1-cos(3*x)*exp(-x)的在[0,4]最大值。該函數的圖形如下:

當x=0.9350-0.9450,達到最大值y=1.3706。為了得到該函數的最大值,我們在[0,4]之間隨機的灑一些點,為了示範,我們放置兩個點,並且計算這兩個點的函數值,同時給這兩個點設定在[0,4]之間的一個速度。下面這些點就會按照一定的公式更改自己的位置,到達新位置後,再計算這兩個點的值,然後再按照一定的公式更新自己的位置。直到最後在y=1.3706這個點停止自己的更新。這個過程與粒子群演算法作為對照如下:

  • 這兩個點就是粒子群演算法中的粒子。
  • 該函數的最大值就是鳥群中的食物 
  • 計算兩個點函數值就是粒子群演算法中的適應值,計算用的函數就是粒子群演算法中的適應度函數。
  • 更新自己位置的一定公式就是粒子群演算法中的位置速度更新公式。

下面示範一下這個演算法運行一次的大概過程:

第一次初始化

第一次更新位置

第二次更新位置

第21次更新

最後的結果(30次迭代)

最後所有的點都集中在最大值的地方。

呵呵,現在粒子群演算法的大概思想就說到這裡。下節介紹標準的粒子群演算法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.