问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

智能优化算法应用:基于算术优化算法PID参数优化 - 附代码

创作时间:
作者:
@小白创作中心

智能优化算法应用:基于算术优化算法PID参数优化 - 附代码

引用
CSDN
1.
https://blog.csdn.net/u011835903/article/details/139843838

本文主要介绍如何使用算术优化算法对PID控制器的参数进行优化。通过设计适应度函数,利用算术优化算法寻找最优的PID参数组合,以实现对二阶系统的精确控制。文章包括PID控制器的简介、算术优化算法的原理、适应度函数的设计、算法实验与结果以及MATLAB代码实现。

PID简介

PID(Proportion-Integration-Differentiation)控制器通过比例单元P、积分单元I和微分单元D的线性组合构成控制量来实现对被控对象的控制,主要适用于基本线性和动态特性不随时间变化的系统。不同的控制规律适用于不同的生产过程,必须合理选择相应的控制规律,否则PID控制器将达不到预期的控制效果。当PID控制器采样周期较小时,可以将连续系统离散化,即以一阶差分代替微商,求和代替积分,矩形积分近似代替连续积分,得到如下差分方程:

$$
\Delta u(t)=K_p \Delta e(k) + K_i \Delta e(k) + K_d \Delta ^2e(k)
$$

其中,$e$为输入,$K_p$为比例系数,$K_i$为积分时间常数,$K_d$为微分时间常数。

算术优化算法简介

算术优化算法是一种启发式优化算法,其原理类似于自然界的生物进化过程。算法通过模拟生物种群的繁殖、竞争和淘汰过程,寻找问题的最优解。具体来说,算法将问题的解空间表示为一个种群,每个个体代表一个可能的解。算法通过迭代更新种群中的个体,使得种群逐渐向最优解收敛。

算术优化算法的具体步骤包括:

  1. 初始化种群:随机生成一定数量的个体作为初始种群。
  2. 适应度评估:根据问题的目标函数计算每个个体的适应度。
  3. 选择操作:根据个体的适应度选择部分个体作为父代。
  4. 交叉操作:通过算术交叉操作生成子代个体。
  5. 变异操作:对子代个体进行随机变异,增加种群的多样性。
  6. 更新种群:用子代个体替换部分父代个体,形成新的种群。
  7. 终止条件判断:如果满足终止条件(如达到最大迭代次数),则输出最优解;否则返回步骤2继续迭代。

算术优化算法的原理请参考:算术优化算法原理

适应度函数设计

在此算法中,目标函数设置如下:

$$
F = \int_{0}^{\infty}(w_1|e(t)|+w_2u^2(t))dt
$$

其中,$e(t)$为输入值与输出值之间的误差,考虑到迭代过程的动态特性,采取其绝对值的积分;$u(t)$为控制值,加入此项是为了避免控制幅度过大;$w_1$和$w_2$为权重,取值范围[0,1]。

此外,还需采取限制措施防止超调,即当出现超调时,在目标函数中额外引入超调项,此时的设置如下:

$$
F =\int_{0}^{\infty}(w_1|e(t)| + w_2u^2(t)+w_3|e(t)|)dt, e(t)<0
$$

其中,$w_3$为权值,且$w_3 >> w_1$,一般情况下,$w_1 =0.999$,$w_2 =0.001$,$w_3 =100$。

所以算术优化算法的目标就是找到一组PID值,使得F误差最小。

算法实验与结果

本文选择二阶系统的传递函数:

$$
G(s) = \frac{50}{0.125s^2+7s}
$$

算术优化算法参数设置如下:

SearchAgents_no=50; % 种群数量
Max_iteration=100; % 设定最大迭代次数
lb = -5; % 下边界
ub = 5;  % 上边界
dim = 3; % 维度pid3个参数
S = 1;% 1为单位阶跃响应,其他为正弦输入
fobj = @(X) PID_controller(X,S);% 适应度函数

单位阶跃响应寻优结果:

正弦函数输入结果:

从收敛曲线来看,单位阶跃和正弦输入,算法都在不断寻优。从单位阶跃响应来看,系统上升时间和超调均较小,控制效果明显。从正弦输入结果来看,输入与输出控制量误差较小。

参考文献

[1] 贺圣彦, 曹中清, 余胜威. 基于花授粉算法的PID参数优化[J]. 计算机工程与应用, 2016.

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号