首页 理论教育标准粒子算法的应用与实践

标准粒子算法的应用与实践

【摘要】:粒子群算法和其他的进化算法类似, 也是根据群体对环境的适应度, 将个体选择更好的区域进行移动。在标准的粒子群算法中, 粒子的速度和位置的变化可由公式(6-1)和公式(6-2)计算获得。标准的粒子群算法流程分为以下几个步骤:初始化种群。需要随机产生群体中所有粒子的初始速度和位置, 确定粒子的pbest 和gbest。

粒子群算法和其他的进化算法类似, 也是根据群体对环境的适应度, 将个体选择更好的区域进行移动。 粒子群算法将群体中的每个个体看成是问题空间中没有体积和质量的粒子, 这些粒子在问题解空间中以一定的速度进行飞行, 通过个体和群体的飞行经验来综合分析, 动态地调整飞行速度和位置, 产生新的群体。 在标准的粒子群算法中, 粒子的速度和位置的变化可由公式(6-1)和公式(6-2)计算获得。

公式(6-1)和公式(6-2)中vt 和xt 代表t 时刻粒子的速度和位置;w 代表惯性权重;r1 和r2加速度常数, 也称为认知系数和社会系数;rand() 为均匀分布在[0, 1]区间上的随机数;Pt 代表t 时刻粒子自身飞过的最好位置pbest,Gt 代表t 时刻群体在全局出现过的最好位置gbest。 对于粒子的飞行速度需要设置最大值Vmax, 表示粒子的飞行速度不能超过该值。

标准的粒子群算法流程分为以下几个步骤:

(1)初始化种群。 需要随机产生群体中所有粒子的初始速度和位置, 确定粒子的pbest 和gbest。

(2)更新粒子的pbest。 将每个粒子的当前位置与该粒子经过的最好位置pbest 比较, 如果当前位置比pbest 更好, 用当前位置替代pbest; 否则保持pbest 不变。

(3)更新粒子群gbest。 将每个粒子的当前位置与群体中所有粒子经过的最好位置gbest 进行比较, 如果粒子的当前位置比gbest 更好, 则用该粒子的当前位置替换gbest; 否则保持gbest 不变。

(4)更新所有粒子的速度和位置, 形成新的种群。

(5)判断是否到达迭代次数或运算精度, 若没有到达, 则转至(2); 若到达, 取当前的gbest 为最优解。