首页 理论教育 基本原理:粒子群算法中的速度和位置更新

基本原理:粒子群算法中的速度和位置更新

时间:2023-06-26 理论教育 版权反馈
【摘要】:在算法迭代搜索过程中,各粒子的速度和位置分别不断地根据式(5.1)和式(5.2)进行更新,即式中:k为迭代次数;w为惯性权重系数,用于权衡算法的局部搜索能力和全局搜索能力;xi为粒子i第k次迭代的位置;vi为粒子i第k次迭代的飞行速度;c1、c2表示加速系数,用于调节当前粒子最优位置向种群最优位置飞行的最大步长。式(5.2)中,粒子通过式(5.1)更新的飞行速度寻找最新的粒子位置。

基本原理:粒子群算法中的速度和位置更新

粒子群算法的寻优手段是依据种群中个体之间的信息交互。算法中每个粒子都受其当前动量项、个体认知部分及群体认知部分的影响;每个粒子都是解空间的一个候选解;每个粒子的优劣程度都通过目标函数得到的适应度来衡量;每个粒子都有自己的位置和速度来决定飞行的方向和距离,通过跟踪2个极值点(个体极值点和全局极值点)不断更新自己的位置,寻求目标函数的最优解。在优化过程中,主要涉及以下几个重要概念。

1.种群

种群中粒子个数即种群规模。设种群的目标搜索空间为n维,则粒子的长度为n。种群规模的大小直接影响算法的计算速度,一般种群规模不宜过大。

2.粒子位置

种群中第i(i=1,2,…,m)个粒子的位置向量可表示为Xi=(xi1,xi2,…,xin)且Xi∈(Ln,Un),其中Ln、Un分别表示搜索空间的上下限。

3.速度向量

第i个粒子的速度向量表示为Vi=(vi1,vi2,…,vin)且vin∈[vmin,vmax],其中vmax、vmin分别表示飞行速度的上下限。vmax作为粒子速度的上限阈值,取值的大小直接影响算法的搜索精度。若取值过小导致解空间搜索不够充分,易陷入局部最优;若取值过大,容易使粒子在搜索过程中跳过最优解。vmin作为粒子速度的下限阈值,一般取vmin=-vmax

4.适应度

每个粒子的位置向量可以看成是一个解,通过目标函数计算这个位置的适应值,判断该粒子当前位置的优劣程度。(www.xing528.com)

5.个体极值点

第i个粒子迄今为止搜索到的自身最优位置,代表粒子自身的认知能力,向量式表示为Pi=(pi1,pi2,…,pin)。

6.全局极值点

种群迄今为止搜索到的全局最优位置,代表种群中各粒子之间协作能力,向量式表示为Pg=(pg1,pg2,…,pgn)。

在算法迭代搜索过程中,各粒子的速度和位置分别不断地根据式(5.1)和式(5.2)进行更新,即

式中:k为迭代次数;w为惯性权重系数,用于权衡算法的局部搜索能力和全局搜索能力;xi(k)为粒子i第k次迭代的位置;vi(k)为粒子i第k次迭代的飞行速度;c1、c2表示加速系数(或称为学习因子),用于调节当前粒子最优位置向种群最优位置飞行的最大步长。若赋值太小,则粒子可能远离目标区域;若赋值太大,则可能导致突然向目标区域飞去,或飞过目标区域,通常取c1=c2=2;r1、r2是[0,1]之间的随机数,用于保持种群多样性。

式(5.1)由粒子上一次迭代的飞行速度、粒子自身的历史最优值(“认知”)以及种群搜索到的历史最优值(“社会”)三部分构成。“认知”代表粒子个体的自身学习以及最优记忆,“社会”代表种群中的个体之间通过信息交互不断地向更优秀的个体靠近。式(5.2)中,粒子通过式(5.1)更新的飞行速度寻找最新的粒子位置。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈