離散的粒子群優(yōu)化算法_粒子群算法和鳥類覓食_niuyongjie的專欄
本文關鍵詞:粒子群算法,由筆耕文化傳播整理發(fā)布。
粒子群算法簡介
一、粒子群算法的歷史
粒子群算法源于復雜適應系統(tǒng)(Complex Adaptive System,CAS)。CAS理論于1994年正式提出,CAS中的成員稱為主體。比如研究鳥群系統(tǒng),每個鳥在這個系統(tǒng)中就稱為主體。主體有適應性,它能夠與環(huán)境及其他的主體進行交流,并且根據(jù)交流的過程“學習”或“積累經(jīng)驗”改變自身結構與行為。整個系統(tǒng)的演變或進化包括:新層次的產(chǎn)生(小鳥的出生);分化和多樣性的出現(xiàn)(鳥群中的鳥分成許多小的群);新的主題的出現(xiàn)(鳥尋找食物過程中,不斷發(fā)現(xiàn)新的食物)。
所以CAS系統(tǒng)中的主體具有4個基本特點(這些特點是粒子群算法發(fā)展變化的依據(jù)):
粒子群算法就是對一個CAS系統(tǒng)---鳥群社會系統(tǒng)的研究得出的。
粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于對鳥群覓食行為的研究。設想這樣一個場景:一群鳥在隨機搜尋食物,在這個區(qū)域里只有一塊食物,所有的鳥都不知道食物在哪里,,但是它們知道當前的位置離食物還有多遠。那么找到食物的最優(yōu)策略是什么呢?最簡單有效的就是搜尋目前離食物最近的鳥的周圍區(qū)域。
PSO算法就從這種生物種群行為特性中得到啟發(fā)并用于求解優(yōu)化問題。在PSO中,每個優(yōu)化問題的潛在解都可以想象成d維搜索空間上的一個點,我們稱之為“粒子”(Particle),所有的粒子都有一個被目標函數(shù)決定的適應值(Fitness Value ),每個粒子還有一個速度決定他們飛翔的方向和距離,然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索。Reynolds對鳥群飛行的研究發(fā)現(xiàn)。鳥僅僅是追蹤它有限數(shù)量的鄰居但最終的整體結果是整個鳥群好像在一個中心的控制之下.即復雜的全局行為是由簡單規(guī)則的相互作用引起的。
二、粒子群算法的具體表述
上面羅嗦了半天,那些都是科研工作者寫論文的語氣,不過,PSO的歷史就像上面說的那樣。下面通俗的解釋PSO算法。
PSO算法就是模擬一群鳥尋找食物的過程,每個鳥就是PSO中的粒子,也就是我們需要求解問題的可能解,這些鳥在尋找食物的過程中,不停改變自己在空中飛行的位置與速度。大家也可以觀察一下,鳥群在尋找食物的過程中,開始鳥群比較分散,逐漸這些鳥就會聚成一群,這個群忽高忽低、忽左忽右,直到最后找到食物。這個過程我們轉化為一個數(shù)學問題。尋找函數(shù) y=1-cos(3*x)*exp(-x)的在[0,4]最大值。該函數(shù)的圖形如下:
下面演示一下這個算法運行一次的大概過程:
第一次初始化
第一次更新位置
第二次更新位置
第21次更新
最后的結果(30次迭代)
最后所有的點都集中在最大值的地方。
呵呵,現(xiàn)在粒子群算法的大概思想就說到這里。下節(jié)介紹標準的粒子群算法。
本文關鍵詞:粒子群算法,由筆耕文化傳播整理發(fā)布。
本文編號:66734
本文鏈接:http://sikaile.net/jianzhugongchenglunwen/66734.html