1.簡(jiǎn)介
粒子群優(yōu)化算法(PSO)是一種進(jìn)化計(jì)算技術(shù)(evolutionary computation)裹匙,1995 年由Eberhart 博士和kennedy 博士提出母债,源于對(duì)鳥群捕食的行為研究 邪狞。該算法最初是受到飛鳥集群活動(dòng)的規(guī)律性啟發(fā)挖垛,進(jìn)而利用群體智能建立的一個(gè)簡(jiǎn)化模型。粒子群算法在對(duì)動(dòng)物集群活動(dòng)行為觀察基礎(chǔ)上婉支,利用群體中的個(gè)體對(duì)信息的共享使整個(gè)群體的運(yùn)動(dòng)在問題求解空間中產(chǎn)生從無序到有序的演化過程鸯隅,從而獲得最優(yōu)解。
2.算法
2.1問題抽象
鳥被抽象為沒有質(zhì)量和體積的微粒向挖,并延伸到N維空間滋迈,粒子i在N維空間的位置表示為矢量Xi=(x1,x2,...,xn),飛行速度表示為矢量Vi=(v1,v2,...,vn)。每個(gè)粒子都有一個(gè)目標(biāo)函數(shù)決定的適應(yīng)值(fitness value),并且知道自己目前為止發(fā)現(xiàn)的最好位置(pbest)和現(xiàn)在的位置Xi户誓。這個(gè)可以看做是粒子的飛行經(jīng)驗(yàn)饼灿。除此之外,每個(gè)粒子還知道到目前為止整個(gè)群體中所有粒子發(fā)現(xiàn)的最好位置(gbest--gbest是所有pbest中最佳值)帝美,這個(gè)可以看做是粒子同伴的經(jīng)驗(yàn)碍彭。粒子就是通過自己的經(jīng)驗(yàn)和同伴中的最好經(jīng)驗(yàn)來決定下一步運(yùn)動(dòng)。
2.2更新規(guī)則
PSO初始化為一群隨機(jī)粒子(隨機(jī)解)。然后通過迭代找到最優(yōu)解庇忌。每一次迭代中舞箍,粒子通過跟蹤兩個(gè)“極值”(pbest,gbest)來更新自己。在找到這兩個(gè)最優(yōu)值后皆疹,粒子通過下面的下面的公式來更新自己的速度和位置疏橄。
公式(1)的第一部分稱為【記憶項(xiàng)】,表示上次速度大小和方向影響略就;公式(1)的第二部分稱為【自身認(rèn)知項(xiàng)】捎迫,從當(dāng)前點(diǎn)指向粒子自身經(jīng)驗(yàn)最好點(diǎn)的一個(gè)矢量;公式(1)的第三部分稱為【群體認(rèn)知項(xiàng)】表牢,是一個(gè)從當(dāng)前點(diǎn)指向種群最好點(diǎn)的矢量窄绒。
公式(1)和(2)形成了PSO的標(biāo)準(zhǔn)形式。
公式(2)和(3)被視為標(biāo)準(zhǔn)PSO算法崔兴。
2.3PSO算法的流程圖和偽代碼
以上摘錄于其他博客