首页 > 编程语言 >智能优化算法应用:基于平衡优化器算法PID参数优化 - 附代码

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

时间:2024-06-23 15:01:01浏览次数:20  
标签:积分 PID 算法 平衡 优化 输入

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

文章目录


摘要:本文主要介绍如何用平衡优化器算法进行PID参数的优化。

1.PID简介

PID(Proportion-Integration-Differentiation)控 制 器通过比例单元 P、积分单元 I和微分单元 D 的线性组合构成控制量来实现对被控对象的控制,主要适用于基本线性和动态特性不随时间变化的系统。不同的控制规律适用于不同的生产过程,必须合理选择相应的控制规律,否则PID控制器将达不到预期的控制效果当PID控制器采样周期较小时,可以将连续系统离散化,即以一阶差分代替微商,求和代替积分,矩形积分近似代替连续积分,得到如下差分方程:
Δ u ( t ) = K p Δ e ( k ) + K i Δ e ( k ) + K d Δ 2 e ( k ) (1) \Delta u(t)=K_p \Delta e(k) + K_i \Delta e(k) + K_d \Delta ^2e(k)\tag{1} Δu(t)=Kp​Δe(k)+Ki​Δe(k)+Kd​Δ2e(k)(1)
其中e为输入, K p K_p Kp​ 为比例系数, K i K_i Ki​ 为积分时间常数, K d K_d Kd​ 为微分时间常数。

2.平衡优化器算法简介

平衡优化器算法原理请参考:https://blog.csdn.net/u011835903/article/details/111388552

3.适应度函数设计

在此算法中,目标函数设置如下:
F = ∫ 0 ∞ ( w 1 ∣ e ( t ) ∣ + w 2 u 2 ( t ) ) d t (2) F = \int_{0}^{\infty}(w_1|e(t)|+w_2u^2(t))dt \tag{2} F=∫0∞​(w1​∣e(t)∣+w2​u2(t))dt(2)

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

此外,还需采取限制措施防止超调,即当出现超调时,在目标函数中额外引入超调项,此时的设置如下:
F = ∫ 0 ∞ ( w 1 ∣ e ( t ) ∣ + w 2 u 2 ( t ) + w 3 ∣ e ( t ) ∣ ) d t , e ( t ) < 0 (3) F =\int_{0}^{\infty}(w_1|e(t)| + w_2u^2(t)+w_3|e(t)|)dt,e(t)<0 \tag{3} F=∫0∞​(w1​∣e(t)∣+w2​u2(t)+w3​∣e(t)∣)dt,e(t)<0(3)
其中, w 3 w_3 w3​为权值,且 w 3 > > w 1 w_3 >>w_1 w3​>>w1​ ,一般情况下, w 1 = 0.999 , w 2 = 0.001 , w 3 = 100 w_1 =0.999,w_2 =0.001 , w_3 =100 w1​=0.999,w2​=0.001,w3​=100。

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

4.算法实验与结果

本文选择二阶系统的传递函数:
G ( s ) = 50 / ( 0.125 s 2 + 7 s ) (4) G(s) = 50/(0.125s^2+7s) \tag{4} G(s)=50/(0.125s2+7s)(4)
平衡优化器算法参数设置如下:

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

单位阶跃响应寻优结果:

正弦函数输入结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

5.参考文献:

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

6.Matlab 代码

标签:积分,PID,算法,平衡,优化,输入
From: https://blog.csdn.net/u011835903/article/details/139754413

相关文章

  • 分类判决界面---W-H、H-K算法
        本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在AI学习笔记:   AI学习笔记(9)---《分类判决界面---W-H、H-K算法......
  • 海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFl
    一、介绍海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物(‘蛤蜊’,‘珊瑚’,‘螃蟹’,‘海豚’,‘鳗鱼’,‘水母’,‘龙虾’,‘海蛞蝓’,‘章鱼’,‘水獭’,‘企鹅’,‘河豚’,‘魔鬼鱼’,‘......
  • 聚类算法(2)--- ISODATA算法
           本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在AI学习笔记:      AI学习笔记(8)---《聚类算法(2)---ISODATA算......
  • 基于协同过滤算法的智能推荐系统基础介绍
    协同过滤算法概述协同过滤算法的核心思想是通过用户或物品的相似性进行推荐。该算法主要分为两类:基于用户的协同过滤(User-basedCollaborativeFiltering):寻找相似的用户群体,推荐他们喜欢的产品给目标用户。基于物品的协同过滤(Item-basedCollaborativeFiltering):根据用户的历......
  • 关联规则分析:Apriori算法及其应用
    关联规则分析基础在数据挖掘领域,关联规则分析是一种发现变量之间有趣关系的技术。这种关系通常被描述为“如果...那么...”的模式,例如,“如果一个顾客购买了面包,那么他们也很可能会购买黄油”。Apriori算法是最著名的关联规则挖掘算法之一,广泛应用于市场篮子分析。本事务库与项集......
  • AcWing算法基础课笔记——求组合数3
    求组合数Ⅲ20万组数据,1≤b≤a≤1......
  • 【数据结构与算法】图论 详解
    何为完全图、稀疏图、稠密图。完全图:完全图是一种简单的无向图,其中每对不同的顶点之间都恰好有一条边。对于有n个顶点的完全图,它包含n(n-1)/2条边。在有向图中,如果任意两个顶点之间都存在方向相反的两条边,包含n(n-1)条边,则该图被称为有向完全图。稀疏图:稀疏图是边数相......
  • 【数据结构与算法】图的存储(邻接矩阵,邻接表)详解
    图的邻接矩阵数据结构typedefenum{NDG,DG,NDN,DN}GraphKind;usingVRType=int;usingInfoType=int;typedefstructArcCell{ VRTypeadj; InfoType*info;}Arc[N][N];structMGraph{ ElemTypevexs[N]; Arcarc; intvexnum,arcnum; GraphKi......
  • 聊聊最近比较火的AI产品做互联网算法备案
    今年AI......
  • 如何选择机器学习算法性能指标-续
    序言选择用于评估机器学习算法的指标非常重要。指标的选择会影响机器学习算法性能的衡量方式并比较。它们会影响我们如何权衡不同特征的重要性结果以及选择哪种算法的最终选择。算法评估指标针对分类和回归类型的机器学习问题,我们将演示了各种不同的算法评估指标。对于分......