標準的粒子群演算法
在上一節的敘述中,唯一沒有給大家介紹的就是函式的這些隨機的點(粒子)是如何運動的,只是說按照一定的公式更新。這個公式就是粒子群演算法中的位置速度更新公式。下面就介紹這個公式是什麼。在上一節中我們求取函式y=1-cos(3*x)*exp(-x)的在[0,4]最大值。並在[0,4]之間放置了兩個隨機的點,這些點的座標假設為x1=1.5; x2=2.5;這裡的點是乙個標量,但是我們經常遇到的問題可能是更一般的情況--x為乙個向量的情況,比如二維的情況 z=2*x1+3*x22的情況。這個時候我們的每個粒子為二維,記粒子p1=(x11,x12),p2=(x21,x22),p3=(x31,x32),......pn=(xn1,xn2)。這裡n為粒子群群體的規模,也就是這個群中粒子的個數,每個粒子的維數為2。更一般的是粒子的維數為q,這樣在這個種群中有n個粒子,每個粒子為q 維。
由n個粒子組成的群體對q維(就是每個粒子的維數)空間進行搜尋。每個粒子表示為:xi=(xi1,xi2,xi3,...,xiq),每個粒子對應的速度可以表示為vi=(vi1,vi2,vi3,....,viq),每個粒子在搜尋時要考慮兩個因素:
1。自己搜尋到的歷史最優值 pi ,pi=(pi1,pi2,....,piq),i=1,2,3,....,n。
2。全部粒子搜尋到的最優值pg,pg=(pg1,pg2,....,pgq),注意這裡的pg只有乙個。
下面給出粒子群演算法的位置速度更新公式:
是保持原來速度的係數,所以叫做慣性權重。
是粒子跟蹤自己歷史最優值的權重係數,它表示粒子自身的認識,所以叫「認知」。通常設定為2。
是粒子跟蹤群體最優值的權重係數,它表示粒子對整個群體知識的認識,所以叫做「社會知識」,經常叫做「社會」。通常設定為2。
是[0,1]區間內均勻分布的隨機數。
是對位置更新的時候,在速度前面加的乙個係數,這個係數我們叫做約束因子。通常設定為1。
這樣乙個標準的粒子群演算法就結束了。
下面對整個基本的粒子群的過程給乙個簡單的圖形表示:
判斷終止條件可是設定適應值到達一定的數值或者迴圈一定的次數。
注意:這裡的粒子是同時跟蹤自己的歷史最優值與全域性(群體)最優值來改變自己的位置預速度的,所以又叫做全域性版本的標準粒子群優化演算法。
粒子群優化演算法 粒子群演算法
粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...
粒子群演算法
如前所述,pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。pso從這種模型中得到啟示並用於解決優化問題。ps...
粒子群演算法
一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程 學習 或 積累經驗...