智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码

文章目录

  • 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码
  • 1.PID简介
  • 2.麻雀搜索算法简介
  • 3.适应度函数设计
  • 4.算法实验与结果
  • 5.参考文献:
  • 6.Matlab 代码



摘要:本文主要介绍如何用麻雀搜索算法进行PID参数的优化。

1.PID简介

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

2.麻雀搜索算法简介


3.适应度函数设计

在此算法中,目标函数设置如下:
智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_人工智能_05

其中, 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_深度学习_06 为输入值与输出值之间的误差,考虑到迭代过程的动态特性,采取其绝对值的积分; 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_人工智能_07 为控制值,加入此项是为了避免控制幅度过大;智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_深度学习_08智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_深度学习_09

此外,还需采取限制措施防止超调,即当出现超调时,在目标函数中额外引入超调项,此时的设置如下:
智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_算法_10
其中, 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_算法_11为权值,且 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_参数优化_12 ,一般情况下,智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_人工智能_13

所以麻雀算法的目标就是找到一组pid值,使得F误差最小。

4.算法实验与结果

本文选择二阶系统的传递函数:
智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_算法_14
麻雀算法参数设置如下:

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

单位阶跃响应寻优结果:

智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_参数优化_15

kp,ki,kd的值为:5 0.047998 0.045294

正弦函数输入结果:

智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码_参数优化_16

kp,ki,kd的值为:5 -5 2.0404

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

5.参考文献:

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

6.Matlab 代码

基于麻雀搜索算法PID参数优化
粒子群优化的PID参数优化
灰狼优化的PID参数优化
鲸鱼优化的PID参数优化
人工蜂群优化的PID参数优化
萤火虫优化的PID参数优化
布谷鸟优化的PID参数优化
海鸥优化的PID参数优化
鸡群优化的PID参数优化
花授粉优化的PID参数优化
头脑风暴优化的PID参数优化
蝗虫优化的PID参数优化
鸟群优化的PID参数优化
差分进化优化的PID参数优化
遗传算法优化的PID参数优化
樽海鞘算法优化的PID参数优化
教与学算法优化的PID参数优化

个人资料介绍