PSO gbest and lbest
在粒子群优化(Particle Swarm Optimization,PSO)算法中,lbest模型和gbest模型是两种不同的策略,用于更新粒子的位置和速度。
自2006年以来,三种连续的标准PSO版本已在Particle Swarm Central线上发布,分别是SPSO 2006、2007和2011。这些版本的基本原理大致相同,但由于设计时利用了当时最新的理论分析,其具体公式略有不同。
PSO 的计算过程主要是在迭代的过程中逐步优化问题的解 — 以一簇粒子群为初始步骤, 逐步迭代, 群中的每个粒子都知道截至当前迭代步的解空间中, 群内的 全局最佳位置 和 个体最佳位置, 故而 PSO 中的 群 和 个体 是有记忆的.
在每一步的迭代中, 群中的每个粒子 位置 和 速度 受所在群中全局和个体的 记忆最优解 影响, 通过重复 “变动” 的过程来, 比对解空间的 “适应度” 函数, 来渐进逼近问题的真实最优解;
算法的描述:
[SPSO2007]
[SPSO2011]
粒子群中的每个粒子在搜索空间内随机初始化位置和速度
[SPSO2006]
[SPSO2007]
[SPSO2011]
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
puts("Hello World!");
return EXIT_SUCCESS;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
puts("Hello World!");
return EXIT_SUCCESS;
}
using namespace math
int main(void)
{
puts("Hello World!");
return EXIT_SUCCESS;
}
\(\omega_1\),和 \(\omega_2\) 为 加速系数, 来控制全局和个体最佳位置对粒子的 移动速度 和 移动方向 的影响程度
\(R_1\) 和 \(R_2\) 是符合均匀随机分布的单位向量, 用于来维护群体的各异性
\(\vec{p}_t^i\)是群中 \(粒子_i\) 在 \(t\)代迭代的个体最优位置
\(\vec{g}_t^i\)是群中 \(粒子_i\) 在 \(t\)代迭代的全局最优位置
记 \(\vec{x}_0^i\) 和 \(\vec{V}_0^i\) 是符合均匀随机分布的初始量, 其中,个体最优位置的初始化与它的初始位置相同: \(\vec{p}_0^i = \vec{x}_0^i\)
因此它有非常广泛的应用场景,因为运行算法所需的唯一信息是适应度评估每个候选解决方案(有时候会增加问题的约束集)
在粒子群优化(Particle Swarm Optimization,PSO)算法中,lbest模型和gbest模型是两种不同的策略,用于更新粒子的位置和速度。
非常接近 1995 版本的算法, 所以一般说 SPSO2006 版本指(w=0.8)
这与原始版本(1995)非常接近,基于最近的一些工作,只做了一些改进。
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.