陈功贵, 谭晓霞, 郭艳艳, 刘 耀
(1. 重庆邮电大学 重庆市复杂系统与仿生控制重点实验室, 重庆 400065;2. 武汉铁路职业技术学院 机械与电子学院, 湖北 武汉 430205;3. 四川外国语大学 教育学院, 重庆 400031)
电力系统中,用户端负荷的不稳定会造成用电的质量安全问题,因此控制系统必须根据负荷变化有效地调节发电机组有功功率的输出,保证其输出频率在允许范围之内[1]。同时要求控制系统具有良好的动态特性,使得系统能够在受到频率扰动后能尽快地恢复到稳定状态[2]。由于水轮机调速器参数的选择直接影响系统动态性能的优劣,因此为了保证用户用电的安全,必须正确并高效地选择调速器的最优参数。
PID参数整定方法被Ziegler和Nichols提出后,被广泛应用于各种控制过程中[3]。随着PID控制参数整定方法和技术的发展,各类基于人工智能、模糊逻辑、神经网络、遗传算法以及粒子群算法的智能PID控制已经不断涌现[4]。
人工蜂群算法(ABC)是近年来发展较为迅速的一种仿生智能进化算法,该算法通过模拟蜜蜂觅食活动进行优质解的寻找[5]。每次迭代过程中该算法都将进行全局探索和局部搜索,这也是该算法与遗传算法、粒子群算法等智能算法的区别,但也存在寻优精度不高和收敛效果不佳等问题。因此,本文将模糊控制以及粒子群算法中的全局最优机制[6]与ABC 算法相结合进行水轮机调节系统的控制,即本文将要提出的MFABC算法。在系统处于不同扰动工况下,分别采用Ziegler Nichols(ZN)算法[7-8]、模糊PID控制算法[9-11]、粒子群算法(PSO)、标准ABC算法以及MFABC算法对HTRS进行仿真研究。将Matlab运用到水轮机调节系统的仿真实验教学中,既加强了学生将理论知识与实践仿真相结合的能力,又激发了学生的学习热情,Matlab中直观详细的实验数据和仿真图形,使学生更好地掌握水轮机调节系统的动态性能[12]。
本文采用水锤效应下的水轮机调节系统作为实验对象,其数学模型框图如图1所示[13]。该系统主要由PID调速器、电液随动系统、水轮机及引水系统以及发电机和负载等环节构成。
图1 水锤效应下水轮机调节系统数学模型图
本文采用水轮机调节系统中最常见的PID控制规律。其中,PID调速器的表达式如下[13]:
(1)
式中,Kp、Kd、Ki分别为PID调速器的比例、微分、积分调节参数,Tn为微分时间常数。
水轮机及引水系统是水轮机调节系统研究的关键部分。其中,将接力器行程y和水轮机主动力转矩Mt分别作为水轮机模型的输入与输出,在系统处于小波动情况下,水轮机模型可由力矩函数和流量函数qt进行描述,表示如下[13]:
(2)
其中,将主动力矩与流量特性曲线相结合,可得ex,ey,eh,eqx,eqy,eqh6个传递系数。
假设水流及水流管壁呈刚性,即水锤不受水流和水流管壁弹性的影响时,此时的引水系统可看作一个刚性水锤装置,该装置水头g和流量q的关系可表示为[13]:
(3)
式中,Tw为水流惯性时间常数。
电液随动系统是水轮机的执行机构,它主要作用于控制器。忽略一些非线性环节,电液随动系统的传递函数可以表示为[13]:
(4)
式中,Ty为接力器响应时间常数。
发电机系统由发电机和负载环节组成,其动态特性可表示为[13]:
(5)
式中,Ta为机组惯性时间常数,eg为发电机负载调节系数。
大自然中蜂群寻找蜜源的行为被众多学者所研究,最终形成人工蜂群算法。觅食过程中,蜂群为了找到最好的蜜源,即待优化问题的最优解,不同类型的蜜蜂需要根据不同分工对蜜源进行搜索,并共享搜索信息。其中,适应度大小决定蜜源的质量。该算法中3个重要参数的运用以及蜜蜂两种行为模式的自由切换尤为重要[14]。其中,三个重要参数包括蜜源、雇佣蜂和待工蜂(包括跟随蜂和侦察蜂);蜜蜂行为的两种模式,一是寻找新蜜源,二是放弃旧蜜源。
人工蜂群算法有两个重要的任务,即蜜源位置的初始化以及最优蜜源的搜索。
首先是蜜源位置的初始化,本文蜜源的位置分量为PID参数整定问题中的Kp、Ki、Kd3个决策变量。在搜索开始阶段,初始解xi(i=1,2,…,SN)的产生是随机的。邻域范围内,第i个蜜源的第j个位置分量的初始值为:
(6)
式中,i=1,2,…,SN,SN为蜜源个数;j=1,2,…,D,D为决策控制变量个数。xijmax和xijmin分别为第j个位置分量取值的上限和下限。
蜂群开始搜索后,蜂群对最优蜜源的搜索过程分为雇佣蜂、跟随蜂以及侦察蜂3个阶段。
(1) 雇佣蜂阶段。雇佣蜂通过搜索发现与其相关联的蜜源,并通过摇摆舞在舞蹈区将相应蜜源信息分享给跟随蜂。其中,新蜜源j的搜索方程如下:
vij=xij+φij(xij-xkj)
(7)
式中,i,k∈{1,2,…,SN},k在[1, SN]中随机生成,且k≠i;j∈{1,2,…,D},为了将当前搜索范围控制在邻域范围内,φij取[-1, 1]之间的随机数。
(2) 跟随蜂阶段。跟随蜂根据雇佣蜂分享的信息进行蜜源选择,同时在该蜜源附近按照一定的概率选择适应度值较高的蜜源作为新蜜源进行开采,其中,选择概率为:
(8)
式中,Fiti为第i个蜜源的适应度值,Pi为选择第i个蜜源的概率。按照贪婪选择法,若搜索到更高适应度值的蜜源,则跟随蜂转变为雇佣蜂,进行新一轮的采蜜与信息的传递。此外,适应度值公式定义为:
(9)
Fiti取值越大,选择到该蜜源的概率越大。fit(xi)为第i个蜜源的目标函数值,本文采用绝对误差积分(ITAE)作为目标函数,其表达式为:
(10)
(3) 侦察蜂阶段。邻域搜索范围内,若某只雇佣蜂的搜索次数达到阈值Limit时仍未找到更高适应度值的蜜源,则放弃该蜜源,同时与该蜜源相关联的雇佣蜂转变为侦察蜂,并继续新蜜源的寻找,其搜索方程为:
(11)
标准的人工蜂群算法在寻找最优解的过程中,往往存在易陷入局部最优解和收敛速度慢的问题[15]。因此本文针对标准人工蜂群算法的缺点进行了一定的改进,改进过程中,对不同阶段的搜索分别采用不同的搜索方程,一方面保证种群的多样性,另一方面增强算法的收敛效果。
(1) 全局优化搜索策略。在雇佣蜂和跟随蜂阶段,为了保证对蜜源更好的开发和利用,将PSO算法中的全局最优(Global Best,即gbest)融入人工蜂群算法中,产生如下新的搜索方程:
vij=xij+φij(xij-xkj)+rij(xgbest-xij)
(12)
式中,xgbest为目前第j个元素的全局最优值;rij为[0,C]之间的随机数,由文献[16]可得,C的最佳取值为1.5。在新的搜索方程中,添加的gbest更新部分,驱使待优化解向全局最优的方向发展,避免算法陷入局部最优和过早收敛。
在ABC算法中,雇佣蜂和跟随蜂的工作属性主要表现为开发,即运用已有的解决方法寻找更好的解决方法。而侦察蜂的工作属性主要表现为探索,即蜜蜂在解空间内对未知区域进行搜索并发现全局最优的能力。本文提出的MFABC算法中,雇佣蜂和跟随蜂均采用式(12)进行蜜源的开发,提升了蜂群的探索能力,也在一定程度上保证了开发能力与探索能力的平衡。
(2) 侦察蜂自适应搜索策略。在侦察蜂阶段,由新蜜源的搜索方程式(11)可以看出,侦察蜂在搜索空间内产生新位置的方式是随机的,即该位置的产生具备不确定性,因此可将此过程作为一个模糊过程进行处理。在此模糊过程中,引入新的变量位置调整百分比p,其定义如下:
(13)
式中,MaxCycle为最大迭代次数,Iteration为迭代次数,pmax和pmin的值分别表示侦察蜂位置调整百分比的最大值和最小值。由文献[17]可得,pmax和pmin的值分别取1和0.2,表示基于侦察蜂当前位置的位置调整百分比将在每轮实验中从100%线性降低至20%。但是线性减小的位置调整百分比存在一定的缺陷:比如在搜索后期,侦察蜂已经收敛到最优值附近,此时搜索范围较小,且搜索范围越小,侦察蜂越易陷入局部最优。因此,为了保证蜂群全局探索和局部开采能力的平衡,位置调整百分比应呈非线性和动态的变化。
同时,本文引入模糊控制思想来进一步改进ABC算法,以此来解决不同迭代时期位置调整百分比的取值问题。其中,位置调整百分比修正值pc受两个因素影响,一个是当前的位置调整百分比p,另一个是当前蜂群最优蜜源质量(NCValue),其定义如下:
(14)
式中,Valuemax为初始蜂群最大蜜源质量,即最大适应度估计值;Valuemin为最终蜂群蜜源质量;Value为当前蜂群最优蜜源质量。
将NCValue和p相结合,完成对模糊算法中的位置调整百分比进行动态修正。前者可以表明侦察蜂远离最优解的距离,后者体现侦察蜂所处的收敛阶段,此时的位置调整百分比根据两者作出相应动态改变。在模糊控制中,将NCValue和当前线性递减的p作为输入量,输出量为位置调整百分比修正值pc。图2为pc的模糊规则控制曲面,模糊规则的设计应满足以下条件。
图2 pc的模糊规则控制曲面图
(1) 迭代初期,p较大。若此时NCValue为大,表示侦察蜂离最优值较远,此时需要扩大搜索范围,让侦察蜂在全局范围内进行全面探索;若此时NCValue处于中等或较小值时,则表示侦察蜂距离最优值较近,此时需要适当缩小搜索范围,此时pc应取中等或较小值。
(2) 迭代中期,p适中。若此时NCValue为大或中等,pc应取一个中等数值;若NCValue为小,即侦察蜂非常接近最优值,则pc应取较小值,使侦察蜂在最优值附近作精细搜索。
(3) 迭代后期,p较小。若NCValue数值为中等或大,pc均应取大,使侦察蜂适当扩大搜索范围。
综上所述,可得pc的模糊规则表(见表1)。其中,输入量和输出量均采用小(S)、中(M)、大(B)作为模糊词集。
表1 模糊规则表
本文在模糊化方法的基础上采用基于迭代次数非线性调整侦察蜂搜索空间的方式,具体的搜索方程如式(15)所示:
vij=xij+rand(0,1)pcxij
(15)
由式(13)和式(15)可以看出,侦察蜂搜索空间随迭代次数的增加而呈非线性的变化,基于引入的位置调整百分比,第一次迭代时,侦察蜂在寻优过程中将远离最优解,且搜索范围较大,侦察蜂在搜索空间中将以较大的步长来动态调整侦察蜂的位置。随着迭代次数的增加,侦察蜂在后续的迭代中逐渐收敛到最优解,且侦察蜂的搜索步长也将逐渐减小,此时搜索范围也相应减小,使得侦察蜂能在较小范围内进行较为精细的搜索。
综上,MFABC算法的优化步骤具体如下:
Step1:初始化种群。首先对蜂群规模、最大迭代次数以及阈值Limit进行初始化,接着按照公式(6)对种群蜜源进行初始化;
Step2:保留最优个体。计算初始化后蜂群的适应度值,记录目前适应度值较大的蜜蜂个体;
Step3:雇佣蜂寻优。雇佣蜂按照改进后的位置更新公式(12)进行位置更新,并利用式(9)计算其适应度值;
Step4:保留最优位置。根据贪婪选择机制,雇佣蜂选择新旧位置之间适应度值较大的位置作为当前最优位置;
Step5:跟随蜂寻优。跟随蜂按照轮盘赌方法对蜜源进行初步筛选,接着按照与雇佣蜂相同的方式进行寻优,同时采用贪婪机制进行更优蜜源的选择;
Step6:侦察蜂寻优。判断某只雇佣蜂在一定搜索次数范围内是否找到更优质的蜜源,若没有找到,则该雇佣蜂转变为侦察蜂,并按照式(15)产生新蜜源;
Step7:记录最优解。判断是否满足ABC算法的终止条件,若满足,输出并记录最优蜜源,若不满足,则返回Step2,重复执行上述步骤。
为验证本文提出的改进模糊人工蜂群算法(MFABC)的有效性,对图1所示的水轮机调节系统在分别处于负荷扰动和频率扰动的状态下进行仿真研究,并将实验结果与ZN算法、模糊PID算法、PSO算法以及标准ABC算法得到的实验结果进行比较与分析。其中,仿真实验所采用的HTRS的参数设置如表2所示[18]。
表2 水轮机调节系统参数
(1) 负荷扰动工况下仿真结果。图3和图4分别为5%负荷扰动工况下的适应度函数收敛曲线图和水轮机调节系统转速相对偏差过渡过程曲线图。表3为ZN算法、模糊PID算法、PSO算法、ABC算法以及MFABC算法的实验结果数据对比。
图3 5%负荷扰动平均适应度曲线图
图4 5%负荷扰动转速相对偏差曲线图
在5%负荷扰动工况下,相比于标准ABC算法:由图3的平均适应度函数曲线可以看出,改进的MFABC算法收敛速度更快,收敛结果更好,同时由表3可得MFABC算法优化后的BestJ值降低了9.19%;由图4的转速相对偏差曲线可以看出, MFABC算法优化后的超调量和稳定时间都有所下降,由表3可得,分别降低了1.13%、6.36%。这些数值表明采用MFABC算法优化后的系统寻优精度更高,收敛效果更好,且受到负荷扰动后能更快达到稳定。
表3 负荷扰动工况下不同优化算法仿真实验结果
同理,相比于其他几种优化算法,MFABC算法在10%负荷扰动工况下的BestJ值以及各个动态性能指标(超调量和稳定时间)均有所下降,说明本文提出的MFABC算法求解过程更为稳定,收敛精度更高。其中,10%负荷扰动下的平均适应度和转速相对偏差分别如图5和图6所示。
(2) 频率扰动工况下仿真结果。图7和图8分别为5%频率扰动工况下的适应度函数收敛曲线图和水轮机调节系统转速相对偏差过渡过程曲线图。表4为ZN算法、模糊PID算法、PSO算法、ABC算法以及MFABC算法的实验结果数据对比。
图5 10%负荷扰动平均适应度曲线图
图6 10%负荷扰动转速相对偏差曲线图
图7 5%频率扰动平均适应度曲线图
图8 5%频率扰动转速相对偏差曲线图
在5%频率扰动工况下,相比于标准ABC算法:由图7的平均适应度函数曲线可以看出,改进的MFABC算法收敛速度更快,收敛结果更好,同时由表4可得MFABC算法优化后的BestJ值降低了21.08%;由图8的转速相对偏差曲线可以看出,MFABC算法优化后的超调量和稳定时间都有所下降,由表3可得,分别降低了47.45%和7.16%。这些数值表明采用MFABC算法优化后的系统寻优精度更高,收敛效果更好,且受到频率扰动后能更快达到稳定。
水轮机调节系统在10%频率扰动工况下的平均适应度和转速相对偏差分别如图9、图10所示,相比于标准ABC算法,MFABC算法在10%频率扰动工况下的BestJ值、超调量以及稳定时间均有所下降,说明本文提出的MFABC算法求解过程更为稳定,收敛精度更高。
图9 10%频率扰动平均适应度曲线图
图10 10%频率扰动转速相对偏差曲线图
表4 频率扰动工况下不同优化算法仿真实验结果
综上所述,无论是在频率扰动,还是负荷扰动工况下,相比于ZN算法、模糊PID算法、PSO算法和标准ABC算法,本文提出的MFABC算法整定后的系统具有更小的目标值、更小的超调量和更短的稳定时间,因此,MFABC算法整定后的系统动态性能更优越。
针对标准ABC算法寻优精度不高、收敛速度较慢以及收敛精度较差的问题,本文提出一种改进的模糊人工蜂群算法(MFABC)。该算法对标准ABC算法的各个寻优阶段分别进行改进,即将PSO算法中的全局最优机制与ABC算法中的雇佣蜂和跟随蜂阶段相结合,有效提高算法的全局探索能力;同时将模糊控制思想与侦察蜂阶段相结合,进一步提高算法的局部搜索能力,并加快算法的收敛速度。此外,在系统处于不同扰动工况下,本文采用不同的控制算法进行仿真实验,实验结果表明,ZN算法、模糊PID算法、PSO算法以及标准ABC算法均不能达到满意的控制效果,而提出的MFABC算法能获得更优的解以及更好的动态性能。
在此研究中,将水轮机调节系统仿真实验引入教学,不仅能使学生更好地掌握水锤效应下水轮机调节系统的结构,又能加强学生对水轮机调速器PID参数对于系统动态性能影响的理解。如何将简单高效的MFABC算法推广到电力系统中也将成为学生下一步研究的课题。