基于人工蜂群算法优化BP神经网络的PID控制算法
扫描二维码
随时随地手机看文章
1. 引言
PID控制器作为一种经典的控制算法,在工业自动化、过程控制以及工程设备管理中具有广泛的应用,其简单、高效和鲁棒性使其成为控制领域的核心工具。然而,在实际生产环境中,由于环境参数复杂且难以精确量化,现有的整定参数理论难以满足不同场景的需求[1]。这种局限性导致目前尚未形成一种适用于所有生产环境的泛用、精确的参数整定方案[2]。现有理论知识不足以全面应对复杂环境下的多样化控制需求,也难以实现控制参数的精准量化和最优整定。因此,如何优化参数整定方案,特别是在复杂动态环境中实现更智能化的PID控制策略,已成为工程控制领域的重要研究方向[3] [4]。
在PID参数整定方法中,Ziegler-Nichols (Z-N)法是应用最广泛的经典技术之一。该方法通过观察被控系统的Nyquist曲线,利用临界增益ks和临界振荡频率ω180的关系,通过经验公式整定比例(P)、积分(I)和微分(D)参数,从而实现系统闭环响应具备良好动态特性,例如阶跃响应达到1/4衰减比的振荡特性[5]。尽管Z-N法在很多场景中表现出较好的性能,但其依赖经验法则的特点也带来了显著的局限性。在复杂多变的控制环境下,Z-N法的参数调整难以满足高精度需求,容易导致系统出现超调、振荡,或在动态响应过程中表现不佳。此外,该方法对复杂非线性系统和多变量系统的适应性较差,使其在动态变化或高复杂度场景中的应用效果受限。这些问题表明,现有整定方法在复杂控制场景中仍有较大优化空间[6] [7]。
近年来,随着群智能技术的发展,粒子群算法、遗传算法、海鸥优化算法和麻雀搜索算法等智能优化方法在各个领域得到了广泛应用[5]。这些技术为PID参数整定提供了新的解决思路。例如,宋娟等人提出的基于果蝇优化算法(FOA)的PID参数整定方法[8],通过果蝇的全局搜索能力显著提高了参数整定效率,尤其在初期能够快速找到较优解,有效弥补了Z-N法在复杂环境中精度不足的缺陷。然而,该算法在优化后期存在收敛速度较慢、易陷入局部最优的问题,难以适应复杂非线性或多变量系统[9]。因此,如何进一步提高FOA的全局搜索能力和优化效率,仍是需要解决的关键问题。
为了克服上述问题,改进的人工蜂群优化算法(ABC-PID)结合BP神经网络的自适应学习能力,为PID参数整定提供了新的解决方案[10] [11]。BP神经网络通过实时调整控制器参数,增强了系统对非线性特性的处理能力和适应性[12] [13]。同时,结合人工蜂群算法的全局搜索策略,有效避免了优化过程陷入局部最优的问题,大幅提高了参数整定的精度和效率。
2. BP神经网络PID控制算法
2.1. 传统PID控制算法
在复杂的工业控制环境下,自适应上网调整比固定的P、I、D参数整定更符合实际情况。传统的PID控制器本质上是一种线性控制器[14],其优点是其构造特性简单易实现。该方法的基本原理是通过比例、积分和微分的线性组合,根据系统实际输出值和期望输出值的差异生成控制信号,从而达到反馈控制目标的目的。控制性能取决于参数整定的精确度,但稳定性差、控制精确度不佳等挑战会出现,因为传统PID控制的参数需要事先根据经验设定,难以实时调整(图1)。
Figure 1. Flowchart of the PID control algorithm
图1. PID控制算法流程图
2.2. BP神经网络PID控制算法
本模板可直接用于论文及其文字的编排,有的页边距、行距、字体都严格符合规定,请勿修改!尤其是页边距,由于期刊在后期制作过程中需要在页眉、页脚添加各种信息,所以所有论文务必确保现有的页边距不被修改,页面空白不被占用。
BP神经网络是一种多层前反馈神经网络,在复杂系统中被广泛应用,其并行计算和自适应学习能力出色,可以接近各种非线性函数,精度很高[15]。结合传统PID控制器的BP神经网络,能够增强系统的控制精确性和适应性,从而实现非线性系统控制的更高效[16]。通过BP神经网络进行PID控制器比例、积分和微分参数的自适应调整,增强控制系统的灵活性和坚固性[17]。该方法实现了自适应在线调整PID控制器参数,使其在非平滑和非线性系统中显示出更好的稳定性和控制精确性。特别是在系统条件改变的情况下,操控性能能够得到有效的提升[16]。
融合了BP神经网络和传统PID控制器的BP-PID控制器,采用了结构设计为4-5-3的轻量化3层BP神经网络结构。输入层有控制系统期望输出值、控制系统误差与控制量、控制系统输入值等4个变量,对系统输入值进行控制;由5个神经元组成的中间层;与输出层对应的是PID控制器的三个参数Kp、Ki和Kd。
BP神经网络通过对PID控制器参数的实时调整来应对系统的动态变化,并利用其自适应学习能力(Adaptability Learning)来提高控制精度。通过这种组合,控制器在复杂工况下表现出更强的稳定性和响应能力,显著增强了系统对非线性动态变化的适应性,BP神经网络如图2所示。
Figure 2. Structure of a BP neural network
图2. BP神经网络结构
BP神经网络具有至少三层节点:输入层(j)、隐藏层(i)和输出层(l)。每个节点代表神经元,节点之间的连接代表信息的流动和权重的传递。BP神经网络的优化过程通过反向传播算法完成,主要包括几个步骤。首先是前向传播,数据从输入层传递到输出层,经过加权和激活函数处理得到预测结果。然后,计算损失,根据预测值与真实值的差异,使用损失函数计算误差。接着,反向传播,通过链式法则计算损失函数对权重和偏置的梯度,并反向传播更新参数。参数更新使用梯度下降法(或其变种,如Adam)调整权重和偏置。最后,迭代训练,网络通过多次训练周期,优化参数,直到损失函数收敛或达到停止条件。
PID控制器的输出u(t) 可以表示为当前时刻误差e(t) 的三个部分之和,分别为:比例、积分和微分,其控制律为:PID控制器的输出u(t) 可以表示为e(t) 当前时刻误差e(t) 的三个部分之和。
u(t) 是控制器的输出;
e(t)=r(t)−y(t),是设定值r(t) 与实际输出y(t) 之间的误差;
Kp 比例系数;
Ki 是积分系数;
Kd 是微分系数;
为了自适应调节Kp 、Ki 和Kd ,使用BP神经网络,BP神经网络通过以下步骤来调整PID参数:
1) 输入层:BP神经网络的输入层通常输入与控制误差相关的信息,常见的输入量有:
当前误差:e(t) ;
误差变化率:Δe(t)=e(t)−e(t−1) 。
2) 隐层:输入层经过隐层的权重连接,并通过激活函数(如Sigmoid函数)进行非线性映射,得到各隐层神经元的输出。对于神经网络的隐层,定义其输出为:
wji 是输入层神经元与中间层神经元之间的加权系数;
xi是输入;
bj 是隐层神经元的偏置;
f是权重函数函数此处取值为ex−e−x/ex+e−x 。
3) 输出层KP、KI、KD的动态整定值是由输出层通过隐层计算得到的。
h(x)=ex−e−x/ex+e−x 为非负的Sigmoid函数。
PID控制量u(k)的值可以通过增量式PID控制算法计算,当系统实际输出与预期输出的偏差表示为e(k)=Oi−xj时。离散后的收益结果是:
对误差函数e(k)=1/2(Oi−xj)2进行求解,具体更新公式如式(5)所示:
BP-PID控制流程图如图3所示。
Figure 3. BP-PID control network flowchart
图3. BP-PID控制网络流程图
2.3. ABC算法的BP-PID控制器
BP神经网络使用梯度下降算法进行参数更新和适应性学习[12],对迭代结果影响显著的是学习率和初始权重的选择。ABC算法对PID控制器进行优化的原理是选择合适的KP、KI、KD参数,在保证系统稳定的基础上实现控制系统的最佳性能[18] [19]。不恰当的初始值设置可能会使算法陷入局部极值,造成网络振荡,使控制性能下降[20]。为了解决这一问题,本文采用ABC算法结合BP神经网络,利用ABC算法对初始权重参数和学习率进行迭代过程中的全局性优化,使算法性能达到最佳化[21]。图4为人工蜂群算法流程图。
Figure 4. Artificial Bee Colony (ABC) algorithm structure diagram
图4. 人工蜂群算法结构图
ABC算法是一种模拟蜜蜂觅食行为的智能优化算法,属于群体智能算法的一种。在自然界中,蜜蜂通过“工蜂”负责探索新的食物源,“侦察蜂”则负责在已知区域中寻找可能的优质食物源,而“跟随蜂”通过观察工蜂的行为来跟随并采集蜜蜂已知的食物源。这一行为通过信息交流和合作使得蜜蜂群体能够高效地寻找并利用最优资源。
ABC算法将这一过程映射到优化问题中,目标是通过模拟蜜蜂的觅食行为来寻找问题的最优解。具体而言,ABC算法包括三种类型的蜜蜂:
1. 工蜂:在蜜蜂群体中执行主要的搜索任务,探索和评估不同的解空间,选择概率较高的食物源进行详细搜索。
2. 侦察蜂:负责随机探索未被发现的解空间区域,寻找新的可能解。
3. 跟随蜂:通过观察工蜂的采集行为,跟随到一个优质的食物源,从而获得较好的解。
在ABC算法的优化过程中,工蜂和侦察蜂交替探索解空间,侦察蜂负责跳出局部最优解,广泛搜索新的解区域,而工蜂则进一步在已知的好解区域进行详细搜索。跟随蜂则通过采集信息,引导算法向更优的解逼近。
ABC算法在全局搜索能力上表现优异,能够有效避免陷入局部最优解,其适用于连续和离散优化问题。通过模拟蜜蜂觅食的协作行为,ABC算法能够在复杂的优化任务中找到全局最优解,因此在工程优化、机器学习、图像处理等多个领域得到了广泛应用。图5为ABC-BP-PID流程图。
Figure 5. ABC optimized PID controller block diagram
图5. ABC优化PID控制器原理图
以下流程是根据定义的传统人工蜂群算法,并结合PID算法的特点而制定的。
步骤1初始化部分:
初始化蜂群,包括蜜蜂采集量及采集地、观察蜜蜂及侦查蜂等。每个粒子最初的位置和速度都是在D维的搜索空间初始化的。
D=H×IN+Out×H是神经网络权重空间的维度,代表要优化的参数个数。初始化的权重被限定在较小范围内,以防止权重初始值过大影响神经网络训练。
population代表整个蜜蜂群体的矩阵。nbees 是蜜蜂的数量,dim 是每个蜜蜂个体(即解)的维度。
lb 和ub 分别是搜索空间的下界和上界,表示解的范围。每个蜜蜂个体的值在这个范围内随机生成。
rand(nbees,dim) 表示生成一个大小为nbees× dim 的随机矩阵,所有元素都是在[0, 1]之间的均匀随机数。
population (i, :)的每一行代表一个蜜蜂个体的解。
步骤2定义适应度函数:
计算每个蜜蜂个体的适应度值:
该函数计算每个粒子在当前权重下的BP神经网络性能,适应度通常定义为误差函数,如均方误差(MSE):
yi 是真实值,yˆi 是神经网络的预测值。
步骤3采蜜蜂阶段:
采蜜蜂在当前食物源(PID参数)附近进行局部搜索,更新食物源位置。在PID控制中,这意味着在当前参数附近微调参数,以寻找更好的控制性能。
步骤4观察蜂阶段:
观察蜂根据采蜜蜂的信息选择跟随哪个采蜜蜂,并在该食物源附近进行随机搜索。在PID控制中,这相当于尝试不同的参数组合,以改善控制效果。
步骤5更新个体最优位置和全局最优位置:
根据食物源的质量更新信息素浓度。在ABC中,信息素浓度反映了食物源的吸引力,即参数解的优劣。在PID控制中,这意味着根据控制性能的好坏调整参数的权重。每个粒子的位置xi 如果表现比之前更好,则更新个体最优位置yi 。
全局最优位置更新:更新全局最优位置Pg :
速度与位置更新:
w:惯性权重,用于控制粒子的飞行速度。
c1,c2:学习因子,控制粒子朝向个体最优位置和全局最优位置权重。
r:随机数,用于增加搜索的随机性。
步骤7迭代:
在满足停止条件之前进行上述操作,例如达到设定的迭代次数或达到设定阈值的解的质量。
步骤8参数优化:
在每次迭代中,根据适应度函数和信息素浓度更新PID参数,以实现最佳的控制性能。
步骤9终止条件:
算法停止运行,当迭代次数达到预定值或找到PID参数设置符合要求时。在实际应用中,可能需要对ABC算法进行一些调整,以更好地适应PID参数优化的问题。并且可以进一步研究调整蜜蜂的行为策略,找到并且引入特定的启发式规则来指导蜜蜂的搜索过程。此外,还可以考虑将ABC算法与其他优化技术结合,如模糊逻辑或遗传算法,以进一步提高PID参数优化的性能。
3. 实验结果分析
在本实验中,首先定义了一个典型的动态系统,其连续时间传递函数为:
为适配数字控制算法,采用离散化处理将G(s)转换为离散时间模型G(z)。实验选择采样时间步长为0.01秒,确保离散化后的模型在时间精度和计算效率之间取得平衡。随后,基于该模型,依次采用传统Z-N调参方法、BP神经网络(BPNN)方法、以及结合人工蜂群算法优化的BP神经网络(ABC-BPNN)方法,其中,采样时间为0.01秒,最大迭代次数为100次,蜜蜂数量为100只,隐藏层神经元数量为5,输入层节点数为4,输出层节点数为3,对控制器进行设计与优化。
实验结果通过超调量、调节时间、稳态误差及控制能量四个关键性能指标进行评估,具体表现如表1所示。
Table 1. Performance comparison of three methods
表1. 三种方法性能表现
从控制性能指标的量化对比来看,传统Z-N调参法、BPNN法和ABC-BPNN法在控制系统中的表现存在显著差异(图6)。
Figure 6. Step response comparison of systems
图6. 系统阶跃响应对比图
在超调量方面,ABC-BPNN法表现最佳,超调量为0.00%,有效抑制了过冲,确保了系统平稳响应,非常适合精密控制应用。BPNN法的超调量为27.48%,明显较高,导致系统响应不平稳,可能无法满足高精度控制需求。传统Z-N调参法超调量为7.85%,虽然较低,但仍可能影响系统平稳过渡,特别在高精度要求下。综上,ABC-BPNN法在超调量控制上最为优秀,BPNN法存在明显不足,传统Z-N调参法表现中规中矩。
在稳态误差方面,三种方法均实现了零稳态误差,表明系统能够精确跟踪输入信号并达到期望稳态输出,因此,所有方法在稳态误差上表现完美。
在调节时间方面,BPNN法和ABC-BPNN法表现较好,调节时间为0.17秒和0.18秒,明显快于传统Z-N调参法的0.49秒,适合快速响应场合。
在控制能量方面,ABC-BPNN法的控制能量最低,为1.9,表明该方法在调整过程中更加高效,减少了不必要的能量消耗。BPNN法和传统Z-N调参法的控制能量分别为2.01和2.02,能量消耗相对较高。
综合来看,ABC-BPNN法在所有性能指标上均表现出色,尤其在超调量和控制能量方面,几乎实现了零超调且能量消耗最少,展现出其高效稳定的控制特性。尽管BPNN法在调节时间上表现较快,但ABC-BPNN法仅稍慢,且在稳态误差上均为零,证明其能够精确到达目标值且具有快速响应的优势。相比之下,传统Z-N调参法的超调量较大,调节时间较长,且能量消耗最高。因此,ABC-BPNN法在本实验中的表现无疑最为优越,尤其适用于对超调量和能量消耗有严格要求的控制系统,展示了其在高效精确控制中的巨大潜力。
4. 结论
本文对传统Z-N调参法、BPNN法和ABC-BPNN法进行了控制性能对比分析,考察了超调量、稳态误差、调节时间和控制能量。结果表明,ABC-BPNN法在所有指标上表现优异,尤其在超调量和能量消耗上,几乎实现了零超调且最节能,展现了高效稳定的控制特性。虽然BPNN法在调节时间上较快,但ABC-BPNN法响应速度接近,且精确度更高。相比之下,传统Z-N调参法的超调量较大、调节时间长、能量消耗高。综上所述,ABC-BPNN法具备优越的动态响应和精确控制,是高精度、高响应控制系统的理想选择。
基金项目
北华航天工业学院2024年硕士研究生科研创新项目(项目号:YKY-2024-47);北华航天工业学院2024年硕士研究生科研创新项目(项目号:YKY-2024-46)。
NOTES
*通讯作者。
[1] | 吴晨辉, 黄伟军, 华猛. 基于蝙蝠算法的发动机空燃比控制的研究[J]. 西南大学学报(自然科学版), 2019, 41(6): 135-140. |
[2] | 朱凤磊, 张立新, 胡雪, 等. 基于蝙蝠优化BP-PID算法的精准施肥控制系统研究[J]. 农业机械学报, 2023, 54(s1): 135-143, 171. |
[3] | 单港生. PID控制性能优化算法研究及应用[D]: [硕士学位论文]. 无锡: 江南大学, 2023. |
[4] | 庾泽华, 王亚伟, 王嘉文. 基于PID控制的交通边界控制方法[J]. 智能计算机与应用, 2024, 14(7): 231-235. |
[5] | 刘宁, 柴天佑. PID 控制器参数的优化整定方法[J]. 自动化学报, 2023, 49(11): 2272-2285. |
[6] | Patki, V., Sonawane, D. and Ingole, D.D. (2013) Design and Implementation of Discrete Augmented Ziegler-Nichols PID Control. Proceedings of the Mobile Communication and Power Engineering: 2nd International Joint Conference, AIM/CCPE 2012, Bangalore, 27-28 April 2012, 262-268. |
[7] | 张梦杰, 陈姚节, 邓江. 改进TD3算法在电机PID控制器中的应用[J]. 计算机系统应用, 2024, 33(5): 262-270. |
[8] | 宋娟, 李萍. 基于免疫果蝇优化算法的PID控制参数优化[J]. 控制工程, 2017, 24(12): 2502-2507. |
[9] | 鲁博, 张寿明, 冯欣怡, 郭英英. 单神经元PID控制仿真与实现研究[J]. 工业仪表与自动化装置, 2024(1): 3-8. |
[10] | 赵广复, 李凯. 基于改进人工蜂群算法的高校自动排课问题的研究[J]. 长江信息通信, 2024, 37(7): 162-164+168. |
[11] | 李波, 宋婧媛, 张邦成. 改进人工蜂群算法及其在工程设计中的应用[J]. 吉林大学学报(信息科学版), 2023, 41(5): 810-819. |
[12] |
Xu, J., Han, Z., Yin, L., Yan, Z., Yu, Y. and Ma, G. (2024) Multi-Strategy-Based Artificial Bee Colony Algorithm for AUV Path Planning with Angle Constraints. Ocean Engineering, 312, Article ID: 119155. https://doi.org/10.1016/j.oceaneng.2024.119155 |
[13] |
Zhang, Z., Fu, Y., Gao, K., Pan, Q. and Huang, M. (2024) A Learning-Driven Multi-Objective Cooperative Artificial Bee Colony Algorithm for Distributed Flexible Job Shop Scheduling Problems with Preventive Maintenance and Transportation Operations. Computers & Industrial Engineering, 196, Article ID: 110484. https://doi.org/10.1016/j.cie.2024.110484 |
[14] | 曾雄飞. 基于粒子群算法优化BP神经网络的PID控制算法[J]. 电子设计工程, 2022, 30(11): 69-73+78. |
[15] |
Cheng, F., Fan, K., Miao, J., Li, B. and Wang, H. (2012) A BPNN-PID Based Long-Stroke Nanopositioning Control Scheme Driven by Ultrasonic Motor. Precision Engineering, 36, 485-493. https://doi.org/10.1016/j.precisioneng.2012.03.001 |
[16] |
Fan, J., Zhong, J., Zhao, J. and Zhu, Y. (2015) BP Neural Network Tuned PID Controller for Position Tracking of a Pneumatic Artificial Muscle. Technology and Health Care, 23, S231-S238. https://doi.org/10.3233/thc-150958 |
[17] |
Pan, L., et al. (2019) Variable Pitch Control Strategy of Wind Power Generation Based on BPNN-PID Algorithm. 2019 IEEE Sustainable Power and Energy Conference (iSPEC), Beijing, 21-23 November 2019, 105-112. https://doi.org/10.1109/ispec48194.2019.8974952 |
[18] | 朱金磊, 袁晓兵, 裴俊. 基于改进人工蜂群算法的灾害场景下路径规划[J]. 中国科学院大学学报, 2023, 40(3): 397-405. |
[19] |
Elsisi, M., Soliman, M., Aboelela, M.A.S. and Mansour, W. (2015) ABC Based Design of PID Controller for Two Area Load Frequency Control with Nonlinearities. TELKOMNIKA Indonesian Journal of Electrical Engineering, 16, 58-64. https://doi.org/10.11591/tijee.v16i1.1588 |
[20] | 褚凯轩, 常天庆, 张雷. 基于改进人工蜂群算法的地面作战武器-目标分配[J]. 兵工学报, 2023, 44(7): 2171-2183. |
[21] |
Wang, J., Lei, D. and Tang, H. (2025) A Multi-Objective Dynamical Artificial Bee Colony for Energy-Efficient Fuzzy Hybrid Flow Shop Scheduling with Batch Processing Machines. Expert Systems with Applications, 259, Article ID: 125244. https://doi.org/10.1016/j.eswa.2024.125244 |