粒子群算法(PSO)数学原理
一种启发式的优化方法,具体的例子就是:在一片区域内只有一块食物(极值),所有的鸟都不知道食物在哪里(初始化的粒子),但是它们能够感受到当前的位置距离食物多远(根据当前的最优值进行优化)。数学化的算法原理:初始化一组随机粒子,每一次迭代的粒子通过跟踪两个极值进行更新自己,这两个极值是关键,一个是根据自身找到的最优解,另一个是整个种群目前找到的最优值。
下面展开具体分析:
假设在第一个D维目标搜索空间中(D元函数),有N个粒子组成一个群落,其中第i个粒子是一个N维向量:
X i = ( x i 1 , x i 2 , x i 3 , . . . x i D ) , i = 1 , 2 , 3... , N X_i=(x_{i1},x_{i2},x_{i3},...x_{iD}),i=1,2,3...,N Xi=(xi1,xi2,xi3,...xiD),i=1,2,3...,N
每一个粒子都有自己的速度,也是一个N维向量:
V i = ( v i 1 , v i 2 , v i 3 , . . . v i D ) , i = 1 , 2 , 3... , N V_i=(v_{i1},v_{i2},v_{i3},...v_{iD}),i=1,2,3...,N Vi=(v