优化算法——粒子群算法(PSO)原理及 MATLAB 代码
一、粒子群算法的概述
粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行
为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最
优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,
通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的
协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递
给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的
找到了最优解,即问题收敛。
二、粒子群算法的流程
粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅
具有两个属性:速度 和位置 ,速度代表移动的快慢,位置代表移动
的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前
个体极值 ,并将个体极值与整个粒子群里的其他粒子共享,找到
最优的那个个体极值作为整个粒子群的当前全局最优解 ,粒子群
中的所有粒子根据自己找到的当前个体极值 和整个粒子群共享的
当前全局最优解 来调整自己的速度和位置。粒子群算法的思想相
对比较简单,主要分为:1、初始化粒子群;2、评价粒子,即计算适
应值;3、寻找个体极值 ;4、寻找全局最优解 ;5、修改粒
子的速度和位置。下面是程序的流程图: