14.2.2 算法流程
14.2.2.1 优化过程
利用粒子群算法对 PID 控制器的参数进行优化设计,其过程如图 14-3 所示。
粒子群算法(PSO)
开始
结束
产生粒子群
满足终止条件吗?
否
是
Simulink
粒子依次赋值给Kp、Ki、Kd
运行控制系统模型
输出性能指标
粒子群
更新操作
图 14-3 PSO 优化 PID 的过程示意图
图中,粒子群算法与 Simulink 模型之间连接的桥梁是粒子(即 PID 控制器参数)和该粒子对应的适
应值(即控制系统的性能指标)。优化过程如下:PSO 产生粒子群(可以是初始化粒子群,也可以是更
新后的粒子群),将该粒子群中的粒子依次赋值给 PID 控制器的参数 Kp、Ki、Kd,然后运行控制系统的
Simulink 模型,得到该组参数对应的性能指标,该性能指标传递到 PSO 中作为该粒子的适应值,最后判
断是否可以退出算法。
14.2.2.2 粒子群算法实现
粒子群算法的基本原理在 14.1.1 中已经述及,进一步地,粒子在搜索空间中的速度和位置根据如下
公式确定:
1 1 1 2 2
( ) ( )
t t t t t t
v wv c r P x c r G x
(14-4)
11t t t
x x v
(14-5)
其中,
x
表示粒子的位置,
v
表示粒子的速度,
w
为惯性因子,
1
c
、
2
c
为加速常数,
1
r
、
2
r
为[0,1]
之间的随机数,
t
P
是粒子迄今为止搜索到的最优位置,
t
G
是整个粒子群迄今为止搜索到的最优位置。
PSO 的流程如下:
(1)初始化粒子群,随机产生所有粒子的位置和速度,并确定粒子的
t
P
和
t
G
;
(2)对每个粒子,将其适应值与该粒子所经历过的最优位置
t
P
的适应值进行比较,如较好,则将其
作为当前的
t
P
;
(3)对每个粒子,将其适应值与整个粒子群所经历过的最优位置
t
G
的适应值进行比较,如较好,则
将其作为当前的
t
G
;
(4)按式(14-4)和式(14-5)更新粒子的速度和位置;
(5)如果没有满足终止条件(通常为预设的迭代次数和适应值下限值),则返回步骤(2),否则,
退出算法,得到最优解。