粒子群算法

如果遇到的优化问题特别复杂的话,启发式算法就是我们求解问题的一大法宝。

启发式搜索与盲目搜索的区别:利用中间信息改进搜索策略

连续优化:连续型变量

组合优化:离散型变量

今天我们就来学习第一个智能优化算法:粒子群算法,其全称为粒子群优化算法(Particle Swarm Optimization,PSO) 。它是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的搜索算法。

它的核心思想是利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得问题的可行解。

设想这样一个场景:一群鸟在搜索食物

首先,离食物最近的鸟会对其他的鸟说:

兄弟们,你们快往我这个方向来,我这离食物最近;

与此同时,每只鸟在搜索食物的过程中,它们的位置也在不停变化,因此每只鸟也知道自己离食物最近的位置,这也是它们的一个参考;

最后,鸟在飞行中还需要考虑一个惯性。

一堆废话版:

正常版:

粒子群算法流程:

  1. 初始化参数
  2. 计算适应度
  3. 更新例子的速度和位置
  4. 重复执行2、3直到达到迭代次数或者达到适应度要求

+++++++++++++++++++++++++++++

+++

+++++++++

++++++

++++++

粒子群算法的核心公式:

预设参数:

1. 学习因子c1,c2

2. 惯性权重

posted @ 2021-09-05 16:02  TR_Goldfish  阅读(282)  评论(0编辑  收藏  举报