今天博主为大家讲解粒子群算法(PSO),还是和往常一样,我的目的是为了带领大家快速入门,是为了让大家在最短的时间内上手粒子群算法。
首先讲一下PSO算法的思想,还是由一个很常规的例子引入:
设想一群鸟在随机搜索食物,已知在这块区域只有一块食物,所有的鸟都不知道食物在哪,但它们能感受到当前的位置离食物有多远,那么找到食物的最优策略是什么呢?
搜寻目前离食物最近的鸟的周围区域,根据自己的飞行经验判断食物的所在。这个策略的意思就是说只要找到最“厉害”的那只鸟,跟着那只鸟就能找到食物。
粒子群算法的基本思想就是根据各个粒子在搜索过程中的个体最优和在每次搜索过程中最优的那个粒子(群体最优)更新个体位置。在这里不想介绍太多的基本概念,说实话感觉介绍那么多基本概念用处不大。
主要想传递的是PSO的思想,在实际用的时候,PSO大多数与其他算法结合使用,比如说在求解TSP问题时,可以引进遗传算法中交叉和变异的概念。在更新个体粒子和群体粒子的时候,个体粒子如何根据个体最优和群体最优更新自己???敲黑板划重