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