第38卷第3期
2021年3月
吉林化工学院学报
JOURNAL  OF  JILIN  INSTITUTE  OF  CHEMICAL  TECHNOLOGY
Vol.38 No.3Mar. 2021
文章编号:1007-2853 (2021) 03-0057-04
惩罚函数结合遗传算法的PID 参数优化
高兴泉,黄东冬,丁三毛
(吉林化工学院信息与控制工程学院,吉林吉林132022)
摘要:针对传统优化算法对PID 参数优化时,由于目标函数选择不当岀现的超调量过大,从而引起系统
的反应速度变慢和稳定性变差的问题,提岀以传统遗传算法为基础,引入惩罚函数的方法,根据系统中 岀现的超调量来构造新的目标函数,实现对PID 的参数优化.实验表明,该方法可以有效减少系统中的
超调量,加快优化以及运行速度的同时保证系统的稳定性,实现对PID 参数的优化.
关键词:惩罚函数;遗传算法;PID 中图分类号:TP  273 文献标志码:A
DOI :10.16039/jki22-1249.2021.03.012
现如今,多数PID 参数进行优化的相关优化 算法在求解最优化问题时,都是依靠适应度函数 值的大小来区分优化结果的好坏,可以看出目标 函数的选取在优化算法中起着决定性的作用.一 些常见的目标函数如绝对误差积分[1]、误差平方 积分[2]、时间乘误差平方积分[3]、时间乘绝对误 差积分[4]都被引用到优化算法的过程中,这些目 标函数能够迅速减小起始误差,并且在系统中反 应较快,但是系统中因此出现的超调变大将会无
法避免,这些适应度函数作用于系统时选择性较 差,最终导致系统的反应速度变慢和稳定性变差 等问题•本文提出将惩罚函数[5]引入到目标函数 中实现对PID 的参数优化的方法,首先以传统遗 传算法[6]为基础,选用时间乘绝对误差积分为目
标函数,然后将系统中出现的超调量作为惩罚项 来构建新的目标函数•最后以双容水箱为例的仿 真结果中表明,用惩罚函数构造出的新的目标函 数能大大减小超调量,提高系统的动态响应能力.
(1)
其中:/是一个比例系数;&是积分系数;心是微 分系数;e(t)是误差信号;吠t)是PID 的控制输出.PID 控制器在实际应用时,最为困难的在于 比例、积分、微分系数的选取问题上•所以一般都
会使用优化算法对这3个参数进行优化进而得到 理想的参数来应用于系统•对于传统优化算法都 会使用如下4种目标函数来对参数进行优化.
(1) 绝对误差积分J  I  e( t) I  dt;(2) 误差平方积分:J
e 2(t)dt;(3) 时间乘误差平方积分Jte 2( t)dt;(4) 时间乘绝对误差积分:J
tI  e( t) I  dt.
对于这4种目标函数优化出来的PID 参数效 果并不满意,使得系统中出现震荡和超调的现象 从而导致系统不稳定•这里提出将传统目标函数
中结合惩罚函数的思想来解决此类问题•
1 PID 控制算法及其参数优化
2惩罚函数
PID 控制器是根据系统的给定值与输出值之
间的偏差作为输入信号,利用此信号来和PID 控 制器中的控制算法相乘产生控制输出,其控制规 律如下:
t  d [ e( t)]
"(t ) =K p e(t ) + K. I
e (t )d t  + K d  ,
0 dt
惩罚函数法⑺的优点是能将系统约束融入
最优化问题中,其中心思想就是将脱离可行域的 点通过构造惩罚函数的方式来进行约束,然后用 最优化方法解决无约束情况下的相应的问题•然 后考虑非线性约束优化问题[8-9]:
minA %),
(2)
< g :( %) M  0 ,i  = 1,…,m.
收稿日期:2020-12-31
基金项目:吉林省教育厅十三五科学技术项目(JJKH20200252K);吉林市科技创新发展计划项目(20200202003) 作者简介:高兴泉(1976-),男,吉林松原人,吉林化工学院教授,博士,主要从事先进控制、智能制造方面的研究
.
58
吉 林 化 工 学 院 学 报
2021 年
hj (x )二 0,j  = 1, — ,1, (3)其中f( x  )为目标函数旳(x  )(j  = 1, •••,/)是等式 约束条件,g :( x  ) ( i  = 1,…,m)是不等式约束条
件,三者均是在R n 上的连续函数.
惩罚函数中心思想就是将问题(2)转化为: min G (x)二f(x) + cP (x),此处的 G(x )就是惩罚
函数,c 为惩罚因子,P (x)则为惩罚项.
通常当x 在可行域内时,P (x)二0,则G (x)二
f(x );当x 不在可行域内的时候,在x 处,cP(x )是
很大的正数,他的存在就是迫使脱离点靠近可
行域.
引理2.1[10] 假设仁g ,h 是R n 上的连续函
数,对于每一个惩罚因子c,都会存在一个x c  e
R n ,使得G ( c) =f(x c ) + cP (x c )成立,满足以下
内容:
(1) inf{/(x ) :g(x ) W  0,h(x)二 0} M
sup c 〉0G( c),其中 G (c)二 inf{/(x) + cP (x ) };
(2) 当c  > 0时,/(x )关于x 单调不降,G (c)
对于c 单调不降,P (x c )对于c 单调不增.
为了得到满意的过渡过程动态特性,采用时
间乘绝对误差积分为目标函数:
/(x
)二
[t
I  e (
t) \
d t , (4)
若系统中出现了超调,以原来的目标函数为
基础再加入惩罚函数,将系统中出现的超调量作 为惩罚项加入目标函数中形成新的目标函数:
G  (x )二
[t  \ e( t) \ dt+c  [
\ e( t ) \ d t ,
00
(5)
所以对于系统中的目标函数可以总结为:
「8
I  t  \ e(t) \ dt
j  0
G(x)二 \
88
I  t  \ e(t) \ dt+c  I  \ e(t) \ dt
J  0
J  0
e(t) M  0
e(t) < 0
(6)
将带有惩罚函数的目标函数应用到PID 的
参数优化中需要一种优化算法,这里结合传统遗
传算法实现PID 的参数优化.
3遗传算法解决PID 参数优化问题
3.1遗传算法
遗传算法是一种可以模拟自然界生物繁衍规
则进化发展机制的随机全局搜索和优化学习算
法.该算法的工作原理大致为以下3步:第1步,
初始体是在给定区域内的随机方式产生;第2
步,通过研究选取的适应度函数来计算各个个体
的适应度值,以适应度值的大小来判断所得解或 个体是否为系统最优;第3步,按照遗传算子3大
基本步骤进行寻优处理,也就是选择、交叉、变异,
从而得到最优良的个体,最终让种不断地寻优
直至达到理想的目标区域内为止.
3.2遗传算法求解PID 参数优化问题的步骤
遗传算法来优化K p , K i , K d 3个参数,优化得
到的参数对系统的控制性能有很大的改善.首先
随机产生初始种,将种信息给予PID 参数.若
系统中出现超调,那么将超调量作为惩罚项构造
惩罚函数并且加入目标函数中,从而生成新的目
标函数.将新的目标函数融入遗传算法中的性能
指标中进行判断,借助遗传算法中的基本法则不 断优化,直到系统达到最大进化代数,输出最优一
组参数.惩罚函数结合遗传算法优化PID 参数示
意图如图 1 所示.
图1遗传算法优化PID 参数系统图
K d
r  、T  1
图1中:r(t)为系统输入信号;y(t)为系统输
出信号;e( t )为误差信号;J  =
I  t  \ e( t) \ dt ;
J 1 =J  + c f
\ e( t) \ d t  ,u (t)为 PID  控制器
输出 .
3.3实施步骤
遗传算法通过以下步骤优化PID 参数:
(1) 按经验选取一组K p 、人、K d 参数,根据系 统的实际情况以及要求确定约束条件,K p  e  [0,
8],K  i e[0,2],K °丘[0,1].
(2) 编码及初始种生成.采用二进制的方法
对系统中的久、仏、心参数进行编码,并且设置种
规模为50,根据之前按经验法所得参数产生初
始种.
(3) 系统如果存在超调,则选择加入惩罚函
数的目标函数J 1,如果没有超调,则选择目标函
数J 作为最优性能指标.
(4) 解码,确定适应度函数/ = 1/J,根据适应
第3期高兴泉,等:惩罚函数结合遗传算法的PID参数优化59
度函数来算个体适应度值的大小来判断并出最优个体.
(5)若符合优化要求(达到设置的最大进化代数),即可输出系统中最优的一组PID参数,算法结束,若不满足要求,按照遗传算法的核心三大步继续寻优以寻得最优一组参数为止.
(6)返回步骤(3),若系统流程优化至指定要求(达到设置的最大进化代数),将最优解输出,否则,继续进行优化.
遗传算法优化PID参数的流程图如图2
4仿真实验并分析
以双容水箱系统为例.将惩罚函数引入到目标函数中实现对PID参数优化的方法应用到双容水箱系统中.
双容水箱模型描述如下:
Sh1=Q-S12gh1
Sh2=S12gh1-S2
(7)其中:h1和h2分别代表上水箱和下水箱的液位;Q 代表流量;其他参数代表的意义及其数值如表1所示.
双容水箱系统实际上是以下水箱的液位达到设定值为控制目标.上水箱和下水箱的初始液位均设为0.本次设计实验是对下水箱液位达到的设定值为15cm.
表1参数代表意义及数值
符号物理量及单位数值
S上下水箱横截面积/cm215.5179
S1上水箱出水口横截面积/cm20.1781
S2下水箱出水口横街面积/cm20.1781
g重力加速度/(cm-s-2)981
下面采用基本遗传算法、惩罚函数引入到目标函数两种方法对PID参数整定的仿真进行对比实验.遗传算法中的种大小设置为50,进化代数为100代,交叉率为0.9,变异率为0.01,惩罚函数的惩罚因子设置为100.
两种方法优化PID参数结果如表2所示.
表2两种方法优化PID参数的结果
优化方法K p K i K d迭代次数基本遗传算法  2.07070.06510.617162
惩罚结合遗传算法0.87130.04220.762712
图3所示为两种优化PID参数方法对最优适应度值的对比图.
从图3就可以看出,通过两种优化方法最后得到的最优指标几乎是一致的,但是基本的遗传算法在58代的时候接近最优,62代才能达到最优,而惩罚函数引入到目标函数的方法在5代的时候接近最优,到12代的时候就达到了最优,表明了惩罚函数引入到目标函数的方法能够大大提高系统的动态响应能力.
图4为总仿真时间为200s下的两种优化后的下水箱液位曲线和PID输出控制量曲线.
从图4可以看出,基本的遗传算法虽然能使
60
吉 林 化 工 学 院 学 报
2021 年
系统达到稳态,但是系统中还是存在着较大的超 调.而用本文所设计的新目标函数的结果来看,系 统中几乎没有存在超调,有效地控制了系统中的 超调量,并且能够有效地改善系统控制性能的稳
t/ s
30
20 f  \ —iSsSIt 算法
40 80 120 160 200
t/ s
图4液位曲线及控制量曲线
5 结 论
针对传统优化算法对PID 参数优化时,由于 目标函数选择不当出现的超调量过大,从而引起 系统的反应速度变慢和稳定性变差的问题,提出
了惩罚函数引入到目标函数中实现对PID 的参
数优化的方法.在系统的运行过程中,一旦产生超 调,则惩罚函数将会用超调量作为惩罚项加入目
标函数中,进而形成新的目标函数,遗传算法将会
以带有罚函数的目标函数进行优化.本文中,以双 容水箱系统仿真为例,实践仿真结果表明,惩罚函
数引入到目标函数中实现对PID 的参数优化的方
法能有效地减小了超调量,加快优化以及运行速
度的同时保证了系统的稳定性.
参考文献:
[1]
康有,夏传清,马顺刚•洪水频率分析中目标函数的统计试验研究[J/OL  ].水力发电:1-9[ 2019-08-23 ]. http ://kns. cnki. net/kcms/detail/11. 1845. TV.20190726.1700.002.html.
[2] 张娟,孙彦超,高杨,等.基于花授粉算法的无刷直
流电动机速度控制研究[J].微特电机,2020, 48(3) :58-60,64.
董子健
[3] 汪浩,李晓明,严伟,等.具有最小时间加权平方误
差积分的主动队列管理算法ISTE-PI[J].计算机学 报,2012,35(5) :951-963.
[4] 周志刚,马永光,董子健,等.基于人搜索算法的
自抗扰控制器参数优化[J].热力发电,2018, 47(9) :1-8.
[5] 闫帅印,薄瑞峰,李瑞琴,等.动态惩罚函数非线性
规划遗传算法及在汽车变速器中的应用[J].机械 传动,2015,39(2):146-149.
[6] 周勇,邓仕英.基于改进遗传算法的PID 参数优化
在闪蒸罐压力控制中的应用[J].现代制造工程, 2019(2) :134-139.
[7] 皇甫尚乾.改进罚函数分级遗传算法及其在结构优
化设计中的应用[D].广州:广州大学,2018.
[8 ] MAHSA  GHOVVATI , GHOLAM  KHAYATI  ,HOSSEIN
ATTAR , et  al.Kinetic  parameters  estimation  of  protease  production  using  penalty  function  method  with  hybrid  genetic  algorithm  and  particle  swarm  optimization  [ J]. Biotechnology  &  ; Biotechnological  Equipment , 2016,30(2) :404-410.
[9] 黄静,刘玉惠•一种求解约束优化问题的遗传算法[J].
青海师范大学学报(自然科学版),2020,36 ( 1): 11-15.
[10] 徐健锐,朱会娟.基于自适应惩罚函数的云工作流调
度协同进化遗传算法[J].计算机科学,2018, 45(8) :105-112.PID  Parameter  Optimization  based  on  Penalty
Function  and  Genetic  Algorithm
GAO  Xingquan , HUANG  Dongdong , DING  Sanmao
( School  of  Information  and  Control  Engineering,Jilin  Institute  of  Chemical  Technology,Jilin  132022,China)
Abstract  : Aiming  at  the  problem  that  the  overshoot  of  the  traditional  optimization  algorithm  in  the  optimization
of  PID  parameters  is  too  large  due  to  the  improper  selection  of  objective  function , which  results  in  the  slow  reaction  speed  and  poor  stability  of  the  system, a  new  method  based  on  the  traditional  genetic  algorithm  and  introducing  penalty  function  is  proposed  to  construct  a  new  one  according  to  the  overshoot  in  the  system.The  objective  function  is  used  to  optimize  the  parameters  of  PID . Experiments  show  that  this  method  can  effectively  reduce  the  overshoot  in  the  system,speed  up  the  optimization  and  operation  speed  while  ensuring  the  stability  of  the  system , and  realize  the  optimization  of  PID  parameters.Key  words : penalty  function;genetic
algorithm;PID