目录
1.1背景
粒子群优化算法(Particle Swarm Optimization,简称PSO)是一种群体智能算法,灵感来自于鸟群或鱼群等群体在搜索食物或迁徙时的行为。PSO算法通过模拟这种群体行为来进行优化问题的求解。
粒子群算法最早由Russell Eberhart和James Kennedy在1995年提出,灵感来自于社会心理学中群体协同行为的研究。算法中的每个解被表示为一个粒子,这些粒子在解空间中搜索并迭代更新自己的位置和速度。
PSO算法的基本思想是,通过模拟粒子的个体学习和社会学习,找到最优解。每个粒子在解空间中根据自己的历史最优解(个体学习)和整个群体的历史最优解(社会学习)来调整自己的速度和位置。粒子的速度和位置的更新过程通过使用速度和位置更新公式来实现,这些公式结合了个体和社会信息。
粒子群算法有几个重要的概念和步骤:
- 粒子表示解空间中的一个解,具有位置和速度属性。
- 适应度函数用于评价每个粒子的解的质量。
- 个体最优解是每个粒子自身历史上最好的解。
- 全局最优解是整个群体历史上最好的解。
- 速度更新公式用于调整粒子的速度。
- 位置更新公式用于更新粒子的位置。
- 迭代过程中,整个群体共同搜索解空间,并逐步逼近最优解。
PSO算法具有以下特点:
- 算法简单易实现,不需要求解目标函数的梯度信息。
- 并行性好,适合解决高维优化问题。
- 全局搜索能力强,能够较好地避免陷入局部最优解。
- 算法参数较少,调参相对简单。
由于其简单性和有效性,粒子群算法在很多领域得到了广泛应用。它被用于解决各种优化问题,如函数优化、组合优化、神经网络训练等。
1.2基础知识
问:已知A为全局最优,B和C如何移动才能到达A处?
这个过程如何用数学表达式描述?
1.某个粒子(点)的移动,是有大小,有方向
的。
2.有大小,有方向的东西叫向量。
3.位置就是坐标。
(1,1)=(2,3)+𝛼 → 𝛼 = (1,1) − (2,3) = (−1, −2)
(1,1)=(2,3)+(−1, −2)
(x,y)=(2,3)+𝑟𝑎𝑛𝑑 ∗ (−1, −2)
2.算法原理
2.1 基本原理
假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一
个D维的向量:
第i个粒子的“飞行”速度也是一个D维的向量,记为: