首页 > 编程知识 正文

粒子群算法模型,粒子群算法公式

时间:2023-05-06 12:49:23 阅读:61166 作者:2216

标准的粒子群算法

在前一节的描述中,唯一没有介绍的是函数的这些随机点(粒子)是如何工作的,只是根据一定的公式进行更新。 该公式是粒子群算法中的位置速度更新公式。 这个公式介绍什么。 在前一节中,求出了函数y=1-cos(3*x)*exp(-x)在[ 0,4 ]下的最大值。 在[ 0,4 ]之间设置两个随机点,假设这些点的坐标为x1=1.5; x2=2.5; 这里的点是标量,但我们经常遇到的问题可能是更常见的情况,例如二维情况下z=2*x1 3*x22,其中x是向量。 此时,我们的各粒子是二维的,粒子p1=(x11、x12 )、p1=(x11、x22 )、p1=(x11、x32 )、……pn=(xn1、xn2 )。 这里n是粒子群集的规模,也就是该群中粒子的个数,每个粒子的维数为2。 更一般地说,粒子的维数为q,这样该种群中有n个粒子,每个粒子都是q维。

由n个粒子组成的集团探索q维(各粒子的维数)空间。 每个粒子可以表示为Xi=(Xi1、xi2、xi3、xiQ ),并且与每个粒子相对应的速度可以表示为VI=) VI1、vi2、vi3、viQ。 每个粒子在搜索时必须考虑两个因素。

1。 自己检索到的历史最佳值pi,pi=(pi1,pi2,piQ ),I=1,2,3,n。

2。 请注意,所有粒子搜索到的最佳值pg,pg=(pg1,pg2,pgQ ),这里的pg只有一个。

粒子群算法的位置、速度更新公式如下所示。

这里需要记住几个重要的参数。 因为在今后的说明中经常使用。

这些如下。

因为是保持原始速度的系数,所以称为惯性权重。

粒子是跟踪自己历史上最佳值的权重系数,表示粒子自身的认识,所以被称为“认知”。 通常设定为2。

粒子跟踪是粒子跟踪群体最佳值的权重因子,代表粒子对整个群体知识的认识,因此被称为“社会知识”,常被称为“社会”。 通常设定为2。

是在[ 0,1 ]区间内均匀分布的随机数。

更新位置时附加在速度之前的系数,此系数称为约束系数。 通常设定为1。

标准粒子群算法到此结束。

用简单的图表给出了整个基本粒子群的过程。

判断结束条件可以设定自适应值是达到一定值,还是循环一定次数。

注意:这里的粒子同时跟踪自己的历史最佳值和全局(群体)最佳值,改变自己位置的预速度,所以也称为全局版本的标准粒子群优化算法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。