目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2023年,Y Gao受到PID控制理论启发,提出了PID搜索算法(PID-based Search Algorithm, PSA)。
2.算法原理
2.1算法思想
PID算法是控制领域的经典算法,分为增量PID控制和位置PID控制,它通过偏差的比例(P)、积分(I)和微分(D)进行控制。PSA通过连续调整系统偏差将整个种群收敛到最优状态。
2.2算法过程
增量PID控制
计算系统偏差对于最小化问题,迭代次数t处的最佳个体x*(t)是对应于总体历史最小值的个体。多次迭代t的总体偏差ek(t):
e
k
(
t
)
=
x
∗
(
t
−
1
)
−
x
(
t
−
1
)
(1)
\mathbf e_k(t)=\mathbf x^*(t-1)-\mathbf x(t-1)\tag{1}
ek(t)=x∗(t−1)−x(t−1)(1)
为了便于计算和迭代更新:
e
k
−
1
(
t
)
=
e
k
(
t
−
1
)
+
x
∗
(
t
)
−
x
∗
(
t
−
1
)
(2)
\mathbf{e}_{k-1}(t)=\mathbf{e}_k(t-1)+x^*(t)-x^*(t-1)\tag{2}
ek−1(t)=ek(t−1)+x∗(t)−x∗(t−1)(2)
PID调节
在现实问题中,比例、积分和微分因子会根据不同的情况和问题进行调整。当迭代次数为t时,PID调节的输出值Δu(t):
Δ
u
(
t
)
=
K
p
⋅
r
2
⋅
[
e
k
(
t
)
−
e
k
−
1
(
t
)
]
+
K
i
⋅
r
3
⋅
e
k
(
t
)
+
K
d
⋅
r
4
⋅
[
e
k
(
t
)
−
2
e
k
−
1
(
t
)
+
e
k
−
2
(
t
)
]
(3)
\begin{aligned}\Delta\mathbf{u}(t)=K_{p}\cdot\mathbf{r}_{2}\cdot[\mathbf{e}_{k}(t)-\mathbf{e}_{k-1}(t) ]+K_{i}\cdot\mathbf{r}_{3}\cdot\mathbf{e}_{k}(t)+K_{d}\cdot\mathbf{r}_{4}\cdot[\mathbf{e}_{k}(t)-2\mathbf{e}_{k-1}(t)+\mathbf{e}_{k-2}(t) ]\end{aligned}\tag{3}
Δu(t)=Kp⋅r2⋅[ek(t)−ek−1(t)]+Ki⋅r3⋅ek(t)+Kd⋅r4⋅[ek(t)−2ek−1(t)+ek−2(t)](3)
其中r2、r3和r4是n行1列中从0到1的随机数的矢量;Kp、Ki和Kd分别是比例、积分和微分的调整系数,论文中分别设置为1、0.5和1.2。
在传统的PID算法中,输出调节值为0意味着实际值在某个点上已经达到设定值。但是,随着时间的增加,如果不调整受控对象,则真实值很快将不等于设定值。因此,增加了一个称为零输出的条件因子,以防止算法陷入局部最优:
o
(
t
)
=
(
cos
(
1
−
t
/
T
)
+
λ
r
5
⋅
L
)
⋅
e
k
(
t
)
(4)
\mathbf{o}(t)=(\cos(1-t/T)+\lambda\mathbf{r}_5\cdot\mathbf{L})\cdot\mathbf{e}_k(t)\tag{4}
o(t)=(cos(1−t/T)+λr5⋅L)⋅ek(t)(4)
其中,r5是n行和d列中从0到1的随机数的矢量,λ是调整系数:
λ
=
[
ln
(
T
−
t
+
2
)
/
ln
(
T
)
]
2
(5)
\lambda=\left[\ln(T-t+2)/\ln(T)\right]^2\tag{5}
λ=[ln(T−t+2)/ln(T)]2(5)
λ随着t的增加而缓慢减小,这有前期算法充分探索。在后期,λ迅速下降,这有助于算法从探索转向开发。个体的更新都与Δu(t)和o(t)有关:
x
(
t
+
1
)
=
x
(
t
)
+
η
⋅
Δ
u
(
t
)
+
(
1
−
η
)
⋅
o
(
t
)
(6)
\mathbf{x}(t+1)=\mathbf{x}(t)+\eta\cdot\Delta\mathbf{u}(t)+(1-\eta)\cdot\mathbf{o}(t)\tag{6}
x(t+1)=x(t)+η⋅Δu(t)+(1−η)⋅o(t)(6)
其中,η是n行1列的矩阵:
η
=
r
6
cos
(
t
/
T
)
(7)
\eta=\mathbf{r}_6\cos(t/T)\tag{7}
η=r6cos(t/T)(7)
流程图
伪代码
3.结果展示
使用测试框架,测试PSA性能 一键run.m
- 【智能算法】省时方便,智能算法统计指标——一键运行~
CEC2017-F6
4.参考文献
[1] Gao Y. PID-based search algorithm: A novel metaheuristic algorithm based on PID algorithm[J]. Expert Systems With Applications, 2023, 232: 120886.