本发明涉及水产养殖中溶解氧含量的自动控制算法,特别是其中的参数优化问题。
背景技术:
在生产过程自动控制的发展历程中,按偏差的比例(p-proportional)、积分(i-integral)和微分(d-derivative)线性组合进行控制的方式―pid控制方式是历史悠久、生命力最强的基本控制方式。而按照pid控制设计的调节器,是连续系统中技术最成熟,应用最为广泛的一种调节器。在本世纪40年代以前,除在最简单的情况下可采用开关控制外,pid是唯一的控制方式,后来随着科学技术的发展特别是电子计算机的诞生和发展,涌现出许多新的控制方法。然而直到现在,pid控制由于自身的优点仍然是应用最广泛的基本控制方式。
本系统中溶解氧的控制即采用了pid控制方法,通过对增氧机转速的调节实现了溶解氧含量的智能调控。pid调节器的控制效果取决于pid参数kp、ki、kd的整定是否合理,传统的整定方法不仅需要熟练的技巧,而且往往比较费时,更重要的是当被控对象特性发生变化需要调节器参数作相应调整时,pid调节器没有这种“自适应”的能力,而且由于监控过程的连续性,参数的重整定,实际很难进行,甚至是不可能的。因此传统的pid参数整定已无法满足不断提高的控制要求。
模拟生物进化过程的遗传算法(geneticalgorithms,ga)自创建至今,吸引了大量的研究者,并已渗透到研究与工程的各个领域。最近几年来,遗传算法作为求解优化问题的有效手段,开始被引入控制系统的设计中来。遗传算法采用纯数值计算方法和随机进化策略,无需梯度信息,它能有效地攻克十分困难的优化问题,使处理问题更具灵活性、适应性、鲁棒性和全局性。它不仅能提高控制系统设计的品质,而且能降低设计的难度。根据遗传算法的特点,只要将控制器的参数构成基因型,将性能指标构成相应的适应度,便可利用遗传算法来整定控制器的最佳参数。
目前,用于pid优化的系统调节指标函数主要有3类:时域指标、频域指标、二次性能指标。参数优化有两种途径:
(1)间接寻优,即写出目标函数的解析式,然后根据目标函数取极值的充分与必要条件,求出参数的最优解,但通常求解都比较困难。
(2)直接寻优,即直接在参数空间中按照一定规律进行探索寻优,寻得目标函数即为最小参数点。已有的直接寻优法有梯度法、爬山法等。但是这些算法的最大缺点是容易陷于局部最优,而遗传算法的全局寻优能力较强,应用于此较为合理。
技术实现要素:
本发明的一种基自适应遗传算法的pid参数优化方法,包括如下步骤:
(1)对kp、ki、kd进行编码
这里对kp、ki、kd的编码采用二进制编码、多参数连接方式,对三个参数用10位二进制码表示,三个参数依次串联在一起形成一个解的字符串,即个体,其字符串长度为30。
(2)适应函数的设计
适应度函数的设计,应避免在进化的开始由于少数性能较优的个体适应度过大而淹没其他个体,使寻优过程缓慢或出现未成熟收敛。由于控制决策旨在使控制偏差趋于零,有较快的响应速度和较小的超调量,因此适应函数设计应把最优预测形成的反馈偏差e(t),偏差的变化率
适应函数如下:
f=c/j(1)
其中,c=10n,n为整数,当个体的适应度相差较大时,n≤0;相差较小时,n≥0。
j为与个体对应的kp、ki、kd的二次型性能指标函数:
其中,ω1,ω2和ω3是权值,一般取ω1=100,ω2=10,ω3=1。
(3)遗传算子的操作
遗传算子中的选择、交叉和变异的算法均采用引入自适应机制的遗传操作策略,即采用自适应选择、自适应交叉和自适应变异。
(4)最后输出结果
即该个体对应的kp、ki、kd值;反之则要进行新一轮选择、交叉和变异的遗传操作。
附图说明
图1是基于自适应遗传算法的pid控制系统结构框图。
图2是本发明中kp、ki、kd参数的编码数据结构。
图3是本发明中自适应遗传算法的pid参数整定流程图。
具体实施方式
下面结合附图和实例对本发明进一步说明。
(1)对kp、ki、kd进行编码
这里对kp、ki、kd的编码采用二进制编码、多参数连接方式,对三个参数用10位二进制码表示,三个参数依次串联在一起形成一个解的字符串,即个体,其字符串长度为30。
设参数kp∈[pmin,pmax],这里pmin,pmax为kp的上下限,则对kp的某一个值pi,
其对应的二进制值xi为:
式中l为二进制码的长度。同理,对ki、kd的处理采用类似方法。
(2)适应函数的设计
适应度函数的设计,应避免在进化的开始由于少数性能较优的个体适应度过大而淹没其他个体,使寻优过程缓慢或出现未成熟收敛。由于控制决策旨在使控制偏差趋于零,有较快的响应速度和较小的超调量,因此适应函数设计应把最优预测形成的反馈偏差e(t),偏差的变化率
f=c/j
其中,c=10n,n为整数,当个体的适应度相差较大时,n≤0;相差较小时,n≥0。
j为与个体对应的kp、ki、kd的二次型性能指标函数:
其中,ω1,ω2和ω3是权值,一般取ω1=100,ω2=10,ω3=1。
(3)遗传算子的操作
遗传算子中的选择、交叉和变异的算法均采用引入自适应机制的遗传操作策略,即采用自适应选择、自适应交叉和自适应变异。上一代群体通过对其个体的选择、交叉和变异,形成了新的群体,然后可以对新的群体中的个体(也就是kp、ki、kd构成的字符串)进行解码,从而得到所对应的kp、ki、kd的值,每个个体按其相应的kp、ki、kd值对系统进行pid控制,由控制输出u(t)、误差e(t)和误差的变化率
(4)当算法已收敛到指定精度或迭代步数达到最大值,则算法结束,本代中适应度值最大的个体即为最优解,最后输出结果,即该个体对应的kp、ki、kd值;反之则要进行新一轮选择、交叉和变异的遗传操作。
这样就形成了一个带终止条件判断的寻优循环,只要合理设置群体数量n、交叉概率pc与变异概率pm,构造一个有效的适应函数,就会使单一pid控制参数难以整定的问题得到很好的解决,从而使pid控制这一简单成熟的控制方法得以在各个领域继续发挥可靠的作用。