粒子群算法(PSO)基本原理

一、、基本概念
每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。

  • 所有的粒子都由一个fitness-function确定适应值以判断目前的位置好坏。
  • 每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。
  • 每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。

二、基本公式
a. D维空间中,有m个粒子;
粒子ii位置:
xi=(xi1,xi2,…xiD)
xi=(xi1,xi2,…xiD)

粒子ii速度:
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D

粒子ii经历过的历史最好位置:
pi=(pi1,pi2,…piD)
pi=(pi1,pi2,…piD)

群体内(或领域内)所有粒子所经历过的最好位置:
pg=(pg1,pg2,…pgD)
pg=(pg1,pg2,…pgD)

一般来说,粒子的位置和速度都是在连续的实数空间内进行取值。
b. 基本公式
vk+1iD=vkiD+c1r1(pkiD−xkiD)+pkgD−xkiD
viDk+1=viDk+c1r1(piDk−xiDk)+pgDk−xiDk

xk+1iD=xkiD+vk+1iD
xiDk+1=xiDk+viDk+1

其中,c1c1, c2c2 是学习因子和加速因子,r1r1, r2r2 取值范围是[0,1][0,1], 是该区间范围内的随机数,vmaxvmax是例子速度能达到的最大值

你可能感兴趣的:(数学建模)