基于改进蚁群免疫算法的PIDNN加热炉温度控制
2020-07-27周建新黄剑雄
周建新,黄剑雄
(华北理工大学电气工程学院,河北 唐山 063210)
蚁群算法自20世纪90年代提出以来就一直是控制科学领域研究的热点课题。然而,由于传统蚁群算法自身存在缺陷,对控制系统难以直接应用,为此近年来不少专家学者对蚁群算法进行改进来解决这一问题。唐立等人提出了一种改进蚁群算法对无人机进行路径规划,其通过泰森多边形构造初始解,并加入约束条件,研究发现此算法使蚂蚁搜索路径长度更短,收敛速度更快[1]。王晓燕等人提出了一种改进势场蚁群算法对机器人进行路径规划,通过引入启发信息递减系数和初始信息素不均衡分配原则,并设置迭代阈值,研究表明该方法提高了算法的搜索效率[2]。喻锴等人利用遗传算法对蚁群算法的参数进行优化,并应用优化后的蚁群算法去调节PID控制器的参数,研究表明蚁群算法参数优化后,系统的稳定性和鲁棒性明显加强[3]。
虽然PID神经网络对于某些复杂的控制系统可以产生较好的控制效果,但传统的PID神经网络需要大量时间进行学习,并需要对其权值进行反复修正。针对这一问题,将智能算法与PID神经网络结合,能够达到较好的控制效果。杜永等人提出了一种将遗传算法与PID神经网络相结合的方法,其仿真研究表明当被控对象的参数产生变化时,系统也能够保持系统的动态和静态特性,提高了系统的鲁棒性[4];黄晓萍等人采用粒子群算法对PID神经网络进行优化,研究发现该方法不仅克服了神经网络的缺陷,还提高了控制精度和响应速度[5];孙浩水等人将模糊算法与神经网络相结合建立模糊神经网络模型,并采用免疫算法对参数进行整定,其研究表明该算法降低了控制系统的稳态误差,控制效果较好[6]。
上述研究虽然能够解决复杂系统的部分控制问题,但是对于PID神经网络控制器的优化仍然存在局限性。因此,本文采用改进蚁群免疫算法对PID神经网络的权值进行优化,利用改进蚁群免疫算法收敛速度快的优点,使其尽快搜索到PID神经网络的最优权值,以减少PID神经网络的寻优时间。该方法能有效缩短PID神经网络控制器达到稳态所需时间并减小超调量,因此其具有一定的理论研究和实际应用的价值。
1 蚁群算法的原理及模型
1.1 基本原理
蚁群算法主要是对蚂蚁的觅食行为进行模拟,利用在蚂蚁觅食过程中所释放的信息素进行正反馈传递,蚂蚁则会根据状态转移规则以较大的概率选择信息素大的路径[7]。随着搜索过程的进行,较差路径和较优路径的信息素差异会明显增大,最终所有蚂蚁都会集中到一条路径上去,该路径便是最优路径,而蚂蚁便以最优的方式到达食物源获取食物。
1.2 状态转移概率
蚂蚁主要根据路径上信息素浓度和路径长度来选择下一个到达的节点,其状态转移概率公式为:
(1)
式中,α为信息启发式因子;β为期望启发式因子;τij(t)为t时刻节点i和节点j之间的信息量;ηij为启发函数;allowedk为下一步允许到达的节点。
1.3 信息素更新
所有蚂蚁完成一次迭代过后,需要对路径上残留的信息素进行处理,其按照式(2)进行更新:
(2)
2 改进蚁群免疫算法
2.1 引入免疫信息处理机制
免疫算法以生物免疫系统中对于抗原的处理为主要出发点,通过抗体的生成、克隆、交叉变异以及免疫记忆等操作,最终与抗原结合并杀死抗原[8]。
免疫算法具有自组织、自适应和群体多样性等特点并且其全局搜索能力相比于其他智能算法更好,可以快速地搜索到各个极值点。针对蚁群算法搜索速度慢,到达某节点处容易出现停滞现象等问题,本文将免疫算法中亲和力的概念引入到蚁群算法。免疫算法中把需要解决的问题作为抗原,因此抗体为该问题的解,克隆、变异与选择是免疫算法的三个基本操作,亲和力主要体现在选择策略过程中。
抗体间的亲和力为两抗体间的相似程度,引入到蚁群算法之中主要体现为蚂蚁之间的差异,因此该方法丰富了蚁群多样性,亲和力计算如下:
p(Ai(k))=αf(Ai(k))+(1-α)d(Ai(k))
(3)
式中,f(Ai(k))为第i只蚂蚁的适应度;d(Ai(k))为第i只蚂蚁的浓度;α为权重系数。
2.2 蚁群算法的改进
基本蚁群算法的数学模型主要由状态转移规则和信息素更新规则两部分组成,而对于蚁群算法改进也主要从这两方面入手。首先在传统的状态转移规则中引入搜索热区的概念[9],以蚁穴和食物源为对角画出一个矩形,将其作为搜索热区,最短路径在矩形内的概率远远大于在矩形外的概率。在状态转移概率公式中加入搜索权重,则蚁群转移概率变为:
(4)
(5)
其次,传统的信息素更新只考虑了蚁群迭代完成时根据总和数据进行更新,而没有考虑到蚂蚁路途中不同阶段不同信息素的分布特点,因此传统的信息素更新规则无法使算法达到最优。将信息素更新方式改为动态调节,其根据不同时间阶段的算法收敛情况对局部信息素更新和全局信息素更新进行调整[10],其更新公式如下:
τij(t+n)=2/δ+1(1-ρ)τij(t)
(6)
τij(t+1)=(1-ε)δτij(t)
(7)
式中,Tbs为蚁群本次搜索的最优路径;δ为自适应变量。
其中,式(6)为全局信息素更新规则,式(7)为局部信息素更新规则,当δ<1时,公式(6)的作用增强,公式(7)的作用减弱;当δ>1时则相反。上述对于信息素的调节方式是根据收敛次数建立的一个负反馈过程,保证了算法收敛和搜索的稳定性。
3 改进蚁群免疫算法的PIDNN控制器
PID神经网络控制器结构简单,应用于大多数控制系统,尤其对于一些复杂的控制系统有着不错的控制效果。但是PID神经网络控制器如果不能找到合适的网络权值参数,就很难发挥出它的优势,实现其良好的控制性能。本文所提出的改进蚁群免疫算法,可以对PIDNN的权值进行优化训练,以达到良好的控制性能。
3.1 PIDNN控制系统
PIDNN是一种多层前向神经元网络,但与大多数多层前向神经元网络的输入输出特性不同,其不仅具有静态特性,还因隐含层输入输出函数的原因具有动态特性[11]。误差反向传播算法对于解决PIDNN调节连接权重有着不错的效果,主要是对其进行在线的训练与学习,最终使系统的目标函数得到最优解。
SPIDNN控制系统的输入为设定值r和输出反馈值x的偏差,控制量为网络的输出v,SPIDNN控制系统结构如图1所示。
图1 SPIDNN控制系统结构
3.2 SPIDNN算法
对于任意采样时间k,SPIDNN的算法模型如下:
1)输入层
xi(k)=ui(k)
(8)
2)隐含层
隐含层输入的总均值为:
(9)
隐含层各个神经元的输出状态为:
(10)
隐含层各个神经元的输出为:
(11)
3)输出层
SPIDNN的输出层只包含一个神经元,负责神经元网络的整体输出,其输入为:
(12)
输出层神经元的输出为:
(13)
输出层神经元的输出就等于整个神经网络控制器的总输出v(k):
v(k)=x(k)
(14)
对SPIDNN进行学习与训练是为了使神经网络的实际输出值和理想输出值之差的平方和E达到最小,亦系统稳态误差达到最小,即:
(15)
3.3 算法流程
本文利用抗体与抗体之间亲和力原理和改进的转移规则、信息素更新规则对传统蚁群算法进行改进,并利用改进蚁群算法神经网络进行训练。PID神经网络依据公式(15)进行训练,蚁群的适应度函数为公式(15)所示[12],使得输出值和给定值之间的误差最小。
首先,建立一个神经网络权值参数的集合,蚂蚁从初始位置出发去觅食,即蚁群中的每只蚂蚁在权值参数的集合中选择一个权值,这样整个蚁群就会选择出一组神经网络权值。搜索过程中,每只蚂蚁对地点的选择行为是相互独立的,会根据每个地点的信息素和状态转移概率进行选择。当蚂蚁经过一系列地点之后就会到达食物所在的位置,最后调节每个地点的信息素。上述过程反复进行,直到达到要求的迭代次数或进化的趋势不明显为止,整个算法流程如下:
1)参数初始化;
2)将m只蚂蚁放入n个节点中,并把该节点添加进该蚂蚁的禁忌表之中;
3)判断禁忌表,根据状态转移规则公式选择下一个节点;
4)蚂蚁选择完成后,根据局部信息素更新规则公式对路径进行调整,直到全部蚂蚁完成搜索为止;
5)记录全部蚂蚁产生的最优解,形成蚂蚁的抗体群;
6)从蚂蚁的抗体群中选择初始抗体群,对初始抗体群进行克隆、变异和选择等操作,进而产生新一代抗体群;
7)更新最优解,并根据全局信息素更新规则公式更新;
8)重复步骤(2)~(7)直到满足终止条件为止,并输出SPIDNN控制器的权值系数wij和wj。
4 仿真结果
为了验证本文所提出的改进蚁群免疫算法的有效性和优越性,确定参数:蚁群规模m=40,信息启发式因子α=1,期望值启发式因子β=10,信息素残留系数ρ=0.5,克隆比例NB=4,最大迭代次数NC=100。仿真结果如图2和图3所示。
图2和图3分别为传统蚁群算法和改进蚁群免疫算法的收敛曲线,由图可知改进蚁群免疫算法在最小路径长度上要短于传统蚁群算法,在迭代次数上也展现出明显的优势,收敛速度显著提升。
图3 改进蚁群算法收敛曲线
图2 传统蚁群算法收敛曲线
改进蚁群免疫算法的PIDNN控制器应用范围很广,本文对热连轧加热炉的温度进行控制,并将理想温度值设定为1200 ℃。由于加热炉具有很强的非线性,难以对其精确建模,其数学模型选用二阶系统纯滞后环节表示,其传递函数为:
(16)
式中,K/(s+1)(Ts+1)代表二阶惯性部分;e-τs代表纯滞后部分,其参数选择为T=220、τs=30s、K=100,其仿真结果如图4和图5所示。
图4和图5分别为传统PIDNN加热炉温度控制和改进蚁群免疫算法的PIDNN加热炉温度控制曲线。由仿真结果可知,传统PIDNN加热炉温度控制到达设定温度需要44 min,而改进蚁群免疫算法的PIDNN加热炉温度控制到达设定温度只需要31 min,系统的调节时间明显缩短,并且改进蚁群免疫算法的PIDNN加热炉温度控制曲线的超调量更小,取得了比较满意的控制效果。
图4 传统PIDNN加热炉温度控制
图5 改进蚁群算法的PIDNN加热炉温度控制
5 结论
本文在传统蚁群算法的状态转移规则和信息素更新规则改进的基础上,引入免疫处理机制,加快了算法的收敛速度,并得到较短的最小路径长度;同时,应用改进蚁群免疫算法优化了神经网络权值,加快了加热炉控制系统的收敛速度并降低了超调量,控制效果明显改善,说明基于改进蚁群免疫算法的PIDNN加热炉温度控制具有一定的理论和实践价值。