一.粒子群优化算法概念
- 基本思想
粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了最优解,即问题收敛。 - 流程
标准PSO的算法流程如下:
<1>初始化一群微粒(群体规模为m),包括随机的位置和速度;
<2>评价每个微粒的适应度;
<3>对每个微粒,将它的适应值和它经历过的最好位置pbest的作比较,如果较好,则将其作为当前的最好位置pbest;
<4>对每个微粒,将它的适应值和全局所经历最好位置gbest的作比较,如果较好,则重新设置gbest的索引号;
<5>变化微粒的速度和位置;
<6>如未达到结束条件(通常为足够好的适应值或达到一个预设最大代数Gmax),回到2)。
二. 代码实现及结果分析
%% 清空环境
clc
clear
%% 参数初始化
%粒子群算法