粒子群算法怎么用_niuyongjie的專欄
本文關(guān)鍵詞:粒子群算法,由筆耕文化傳播整理發(fā)布。
標準的粒子群算法
在上一節(jié)的敘述中,唯一沒有給大家介紹的就是函數(shù)的這些隨機的點(粒子)是如何運動的,只是說按照一定的公式更新。這個公式就是粒子群算法中的位置速度更新公式。下面就介紹這個公式是什么。在上一節(jié)中我們求取函數(shù)y=1-cos(3*x)*exp(-x)的在[0,4]最大值。并在[0,4]之間放置了兩個隨機的點,這些點的坐標假設為x1=1.5; x2=2.5;這里的點是一個標量,但是我們經(jīng)常遇到的問題可能是更一般的情況--x為一個矢量的情況,比如二維的情況 z=2*x1+3*x22的情況。這個時候我們的每個粒子為二維,記粒子P1=(x11,x12),P2=(x21,x22),P3=(x31,x32),......Pn=(xn1,xn2)。這里n為粒子群群體的規(guī)模,也就是這個群中粒子的個數(shù),,每個粒子的維數(shù)為2。更一般的是粒子的維數(shù)為q,這樣在這個種群中有n個粒子,每個粒子為q 維。
由n個粒子組成的群體對Q維(就是每個粒子的維數(shù))空間進行搜索。每個粒子表示為:xi=(xi1,xi2,xi3,...,xiQ),每個粒子對應的速度可以表示為vi=(vi1,vi2,vi3,....,viQ),每個粒子在搜索時要考慮兩個因素:
1。自己搜索到的歷史最優(yōu)值 pi ,pi=(pi1,pi2,....,piQ),i=1,2,3,....,n。
2。全部粒子搜索到的最優(yōu)值pg,pg=(pg1,pg2,....,pgQ),注意這里的pg只有一個。
下面給出粒子群算法的位置速度更新公式:
這里有幾個重要的參數(shù)需要大家記憶,因為在以后的講解中將會經(jīng)常用到:
它們是:
這樣一個標準的粒子群算法就結(jié)束了。
下面對整個基本的粒子群的過程給一個簡單的圖形表示:
判斷終止條件可是設置適應值到達一定的數(shù)值或者循環(huán)一定的次數(shù)。
注意:這里的粒子是同時跟蹤自己的歷史最優(yōu)值與全局(群體)最優(yōu)值來改變自己的位置預速度的,所以又叫做全局版本的標準粒子群優(yōu)化算法。
本文關(guān)鍵詞:粒子群算法,由筆耕文化傳播整理發(fā)布。
本文編號:120486
本文鏈接:http://sikaile.net/jianzhugongchenglunwen/120486.html