当前位置:文档之家› 基于自适应果蝇优化算法的PID参数优化

基于自适应果蝇优化算法的PID参数优化

2018年10月第46卷第20期机床与液压MACHINETOOL&HYDRAULICSOct 2018Vol 46No 20DOI:10.3969/j issn 1001-3881 2018 20 033收稿日期:2017-05-09基金项目:陕西省重点研发计划资助项目(2018GY⁃042);咸阳市科技局资助项目(2017K02⁃05)作者简介:李明辉(1972 ),男,博士,教授,主要从事智能及高级过程控制的研究㊂E-mail:60334@sust edu cn㊂基于自适应果蝇优化算法的PID参数优化李明辉1,曹泽1,王玉洁2(1 陕西科技大学机电工程学院,陕西西安710021;2 上海亚太计算机信息系统有限公司,上海200040)摘要:针对基本果蝇优化算法(FOA)控制精度不高且易陷入局部最优的缺陷,提出一种自适应果蝇优化算法(IFOA)的PID参数优化方案㊂该算法以控制偏差绝对值和输入平方项的时间积分作为适应度函数,经过迭代寻优得到最优的PID参数值㊂通过二阶时滞系统测试并与基本果蝇优化算法比较,结果表明:该算法控制精度高㊁响应速度快㊁鲁棒性好,为PID参数优化提供了参考㊂关键词:自适应果蝇优化算法(IFOA);适应度函数;PID;参数优化中图分类号:TP273㊀㊀文献标志码:A㊀㊀文章编号:1001-3881(2018)20-144-4OptimizationofPIDParametersBasedonImprovedFruit⁃flyOptimizationAlgorithmLIMinghui1,CAOZe1,WANGYujie2(1 CollegeofMechanicalandElectricalEngineering,ShaanxiUniversityofScience&Technology,Xi anShaanxi710021,China;2 ShanghaiAsia&PacificComputerInformationSystemCo.,Ltd.,Shanghai200040,China)Abstract:Aimingatthedefectsofthebasicfruit⁃flyoptimizationalgorithm(FOA),thecontrolaccuracywasnothighandeasytofallintolocaloptimum,amethodforparameteroptimizationofPIDcontrollerbasedonimprovedfruit⁃flyoptimizationalgorithm(IFOA)wasproposed,inwhichabsoluteerrorandthesquareofcontrolinputwereusedasfitnessfunctionandtheoptimalPIDparametervaluewasobtainedthroughiterativeoptimization.Comparedwiththebasicfruit⁃flyoptimizationalgorithm,thesimulationresultsshowthatthealgorithmhashighcontrolprecision,fastresponseandrobustnessthroughtwoorderdelaysystemtest.ItprovidesareferenceforPIDparameteroptimization.Keywords:Improvedfruit⁃flyoptimizationalgorithm(IFOA);Fitnessfunction;PID;Parameteroptimization0㊀前言PID控制器由于其算法简单㊁鲁棒性好㊁可靠性高,被广泛应用于工业过程控制中[1]㊂传统的PID控制器参数整定采用人工经验,很难得到理想的最优值㊂目前,随着人工智能技术的发展,不少学者针对PID参数整定提出新的算法,如遗传算法㊁粒子群算法等得到了一定的效果[2]㊂这些算法灵活㊁简单㊁易理解,在解决工业过程控制的实际问题中具有非常广阔的应用前景[3]㊂然而,遗传算法编程复杂,参数较多;粒子群算法在进化后期收敛速度减慢,同时陷入局部最优的可能性加大㊂果蝇优化算法(Fruit⁃flyOptimizationAlgorithm,FOA)是2011年台湾学者潘文超提出的一种新的全局优化进化算法[4]㊂该算法由于程序代码简单㊁易于理解㊁参数较少,且全局寻优能力强㊁收敛速度快等优点,在近几年来引起广泛关注[5]㊂JHAN等[6]采用果蝇优化算法进行PID参数整定,得到FOA避免早熟的结论;YLIU等[7-8]采用混沌搜索的FOA算法整定PID参数,减少了适应度波动;宋娟[9]采用FOA与PSO相结合的混合寻优来优化PID整定参数,使得控制器有较好的控制效果和收敛特性㊂作者针对基本果蝇优化算法(FOA)寻优精度不高㊁容易陷入局部最优的缺陷,提出一种自适应果蝇优化算法[10]的PID参数优化方案㊂通过在果蝇搜索过程中引入半径调节系数以及选择合适的适应度函数,对PID的3个参数进行了优化㊂结果表明该算法能够快速高效地寻找到最优参数,有效提高了PID控制器的控制精度㊂1㊀PID控制器基本原理PID控制器是通过对偏差信号进行比例㊁积分㊁微分3个参数的控制,使得系统表现较好性能㊂PID控制原理如图1所示㊂图1㊀PID控制系统框图PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差为:㊀㊀㊀㊀e(t)=rin(t)-yout(t)(1)PID控制传递函数形式可表示为:u(t)=Kpe(t)+1Tiʏt0e(t)dt+Tdde(t)dtéëêêùûúú(2)其中:Kp为比例系数;Ki=Kp/Ti为积分增益;Kd=KpTd为微分增益㊂比例环节Kp反映系统的偏差信号,Kp越大,系统反应越快,调节精度也会越高,但易产生超调㊂Ki主要是用来消除静差,提高系统的无差度,Ti增大,积分作用减弱㊂微分环节反映信号的变化率速率,Td越大,能够有效减小超调,但会使系统的调节时间延长[11]㊂所以,要合理调节PID的3个参数才能达到理想效果㊂2 果蝇优化算法及其改进2 1㊀基本果蝇优化算法果蝇优化算法(FOA)是从果蝇的觅食行为过程启发而来㊂果蝇的主要食物搜索机制是以嗅觉为基础的,它们能够非常有效地在很远的地方找到食物源㊂然后,飞到食物位置附近后再使用敏锐的视觉发现食物与同伴的位置,并且往该方向飞去[12]㊂果蝇和食物之间的距离与食物的味道浓度是相关的,即距离越近,其味道浓度越大[13]㊂果蝇群体迭代搜寻食物示意图如图2所示㊂图2㊀果蝇群体迭代搜寻食物示意图果蝇优化算法具体实现步骤如下:(1)初始化果蝇种群㊂设定果蝇种群数量和迭代次数,随机给定果蝇个体初始位置(x,y)㊂(2)给出果蝇(x,y)的随机方向和距离(xi,yi)㊂xi=x+ayi=y+a(3)式中:a为随机值㊂(3)由于不能确定食物位置,所以需要先计算果蝇个体到原点距离Di,然后得出味道浓度判定值Si㊂Di=x2i+y2iSi=1/Di(4)(4)将判定值Si代入需要的适应度函数F(Si)中,从而得出果蝇个体位置的味道浓度Smelli㊂Smelli=F(Si)(5)(5)从果蝇群体中找到味道浓度最优的浓度和个体㊂bestSmellbestIndex[]=min(Smelli)(6)(6)将最优味道浓度值和(x,y)坐标记录并保留下来,这时果蝇利用视觉飞向该位置去㊂Smellbest=bestSmellx=x(bestIndex)y=y(bestIndex)(7)(7)进入迭代寻优,将步骤(2) (5)循环进行,判断当前最佳浓度是否优于前一次最佳浓度,并且当前迭代次数是否小于最大迭代次数,若是则记录下来㊂2 2㊀自适应果蝇优化算法2 2 1㊀搜索步长的改进果蝇优化算法在寻优第(2)步中搜寻范围一直是[-1,1]之间,即半径为1的区域㊂这样的弊端是在搜索前期可能会因选择步长较小而使搜索效率下降,在搜索后期又因步长较大而错过最优解㊂为此在搜寻过程当中引入半径调节系数λ㊂自适应果蝇优化算法IFOA调整搜寻范围的策略是果蝇个体采用嗅觉搜寻食物,其随机方向和距离为:xi=x+ωˑ(2rand()-1)(8)其中:ω=ωˑλi,初始值设定为ω=1,i为当前迭代次数㊂在搜索初期,可以先进行全局搜索,在搜索后期随着迭代次数的增加,搜索范围逐步减小,进行局部搜索㊂这样可以根据果蝇搜索初期和后期的不同阶段,使搜索范围随迭代次数自适应调整㊂2 2 2㊀搜索方向的改进基本果蝇优化算法在第(3)步计算果蝇味道浓度判定值Si时始终为正值,从而得出的适应度函数不精确㊂为了便于处理,直接将气味浓度判定值Si=xi,从而计算出最小的气味浓度适应度值㊂自适应果蝇优化算法(ImprovedFruit⁃flyOptimizationAlgo⁃rithm,IFOA)具体流程如图3所示㊂图3㊀自适应果蝇优化算法流程图㊃541㊃第20期李明辉等:基于自适应果蝇优化算法的PID参数优化㊀㊀㊀3㊀自适应果蝇优化算法的PID控制器设计3 1㊀适应度函数的选取IFOA算法在搜索过程中不仅用气味浓度适应度函数来评价果蝇个体或解的优劣,而且作为以后寻优个体位置更新的依据㊂气味浓度适应度函数是自适应果蝇优化算法与控制系统结合的纽带,使算法不断向控制目标寻找到最优解㊂为了防止初始误差较大影响获取理想的动态特性,采用误差绝对值的时间积分性能指标作为最小目标函数[14]㊂为进一步避免控制量太大,加入控制的输入平方项在内,使得目标函数由误差量和输出量同时控制㊂则目标函数为:J=ʏɖ0[ω1e(t)+ω2u2(t)]dt(9)其中:e(t)为输入量rin(t)和PID控制输出yout(t)之间的误差值;u(t)为控制器输出;ω1和ω2为权值常数,在[0,1]之间㊂为了避免超调,采用一定的惩罚控制,将超调量作为最优指标的一项,此时最优指标为:当e(t)<0时:J=ʏɖ0(ω1e(t)+ω2u2(t)+ω3e(t))dt(10)其中:ω3为权值,且ω3≫ω1,一般情况下,ω1=0 999,ω2=0 001,ω3=100㊂3 2㊀PID控制器的IFOA算法设计基于IFOA算法的PID参数整定原理如图4所示㊂图4㊀基于IFOA的PID参数整定原理图用于PID参数整定的IFOA算法步骤如下:(1)设置果蝇种群大小nsize及最大迭代次数nmax,并初始化果蝇个体的位置X,其中,每个果蝇的位置由比例㊁积分㊁微分3个控制参数组成:X=KpKiKd[](11)由于果蝇种群的多样性,可以根据实际工程背景设定Kp㊁Ki㊁Kd的取值范围,初始位置在相应范围内随机产生㊂(2)给出果蝇个体使用嗅觉来寻找食物的随机方向及距离,见式(8),其中ω为搜寻半径,初始值设定为ω=1;rand()是[0,1]区间内的随机数,且服从均匀分布㊂(3)设置半径调节系数λ,令ω=ωˑλi,i为当前迭代次数,保证迭代次数越大,搜索范围越小㊂(4)令气味浓度判定值Si=Xi,根据公式(8)(10)计算出气味浓度的适应度值:Smelli=F(Si)(12)(5)执行基本果蝇优化算法步骤(5) (7)㊂通过执行程序,输出最优个体气味浓度适应度值Smellbest以及PID最优参数Xbest(Kp,Ki,Kd)㊂4㊀仿真实验与结果分析4 1㊀控制对象及仿真条件设置在工业控制过程中,许多系统常被近似为一阶或二阶的典型系统,文中选用二阶延迟系统作为控制对象,分别用FOA㊁IFOA对该系统PID控制器参数进行整定㊂二阶延迟系统为:G1(s)=800s2+1 5s+1.6e-10s(13)对该系统进行仿真,设果蝇种群大小为30,最大迭代次数为100代;Kp搜索范围为[0,100],Ki搜索范围为[0,20],Kd搜索范围为[0,20],输入信号为单位阶跃信号,采样时间间隔为0 001s,半径调节系数λ=0 97㊂4 2㊀仿真结果及分析对该系统采用FOA㊁IFOA两种算法进行仿真,IFOA算法优化个体气味浓度适应度函数曲线如图5所示,图6为系统阶跃响应输出曲线图,两种算法得到的PID优化参数如表1所示㊂图5㊀个体气味浓度适应度函数曲线㊀图6㊀系统阶跃响应表1㊀两种算法PID优化参数参数IFOAFOAKp36.229819.6721Ki0.31820.2509Kd0.87660.8745上升时间/s0.0310.098调节时间/s0.0420.113超调量/%00.01迭代次数/次451适应值14.783116.7253㊀㊀从图5的个体气味浓度适应度函数变化曲线可以看出:IFOA算法比FOA算法的精度要高,收敛速度更快,更容易得到全局最优解㊂从图6的系统阶跃响应曲线以及表1可以判断:改进后的IFOA算法PID㊃641㊃机床与液压第46卷优化参数上升时间较基本FOA算法快0 067s,能快速找到更小的适应值,并且没有超调量㊂因此IFOA算法PID参数优化的方法相比基本FOA算法控制精度高㊁收敛速度快,说明IFOA算法的有效性和优越性㊂5㊀结语PID参数优化在工业控制中具有重要意义,为了进一步提高算法的收敛速度及寻优精度,提出了基于IFOA算法的PID参数整定方案㊂通过二阶时滞系统仿真,验证了该算法的有效性和优越性㊂与FOA算法相互比较可知,IFOA算法具有更快的收敛速度和较高的收敛精度㊂因此,基于IFOA算法的PID参数优化对工业控制具有一定的参考价值㊂参考文献:[1]何佳佳,侯再恩.PID参数优化算法[J].化工自动化及仪表,2010,37(11):1-4.HEJJ,HOUZE.AlgorithmsforParametesOptimizationofPIDController[J].ControlandInstrumentsinChemicalIndustry,2010,37(11):1-4.[2]蔺小林,邓雄峰.基于改进的DE算法对PID参数的优化[J].陕西科技大学学报(自然科学版),2014,32(1):161-164.LINXL,DENGXF.BasedonImprovedDifferentialEvolu⁃tionAlgorithmforPIDParametersOptimization[J].JournalofShaanxiUniversityofScienceandTechnology(NaturalScienceEdition),2014,32(1):161-164.[3]贺圣彦,曹中清,余胜威.基于花授粉算法的PID参数优化[J].计算机工程与应用,2016,52(17):59-62.HESY,CAOZQ,YUSW.OptimizationofPIDParame⁃tersBasedonFlowerPollinationAlgorithm[J].ComputerEngineeringandApplications,2016,52(17):59-62.[4]潘文超.果蝇最佳化演算法[M].台北:沧海书社,2011.[5]朱志同,郭星,李炜.新型果蝇优化算法的研究[J].计算机工程与应用,2017,53(6):40-45.ZHUZT,GUOX,LIW.ResearchonNewFruitflyOptimi⁃zationAlgorithm[J].ComputerEngineeringandApplica⁃tions,2017,53(6):40-45.[6]HANJ,WANGP,YANGX.TuningofPIDControllerBasedonFruitFlyOptimizationAlgorithm[C]//Proceed⁃ingsofInternationalConferenceonMechatronicsandAu⁃tomation,2012:409-413.[7]LIUY,WANGX,LIY.AModifiedFruit⁃flyOptimizationAlgorithmAidedPIDControllerDesigning[C]//Proceed⁃ingsofIntelligentControlandAutomation,2012:233-238.[8]ISCANH,GUNDUZM.ASurveyonFruitFlyOptimizationAlgorithm[C]//ProceedingsofInternationalConferenceonSignal⁃imageTechnology&Internet⁃basedSystems,2016:520-527.[9]宋娟.一种用于PID控制参数优化的混合果蝇算法[J].传感器与微系统,2015,34(6):137-140.SONGJ.AHybridFlyFruitAlgorithmforPIDControlParametersOptimization[J].TransducerandMicrosystemTechnologies,2015,34(6):137-140.[10]范千.基于改进果蝇算法的非线性模型参数估计方法[J].大地测量与地球动力学,2016,36(12):1092-1095.FANQ.ParameterEstimationMethodforNonlinearModelBasedonImprovedFruitFlyOptimizationAlgorithem[J].JournalofGeodesyandGeodynamics,2016,36(12):1092-1095.[11]张连强,王东风.基于改进人群搜索算法的PID参数优化[J].计算机工程与设计,2016,37(12):3389-3393.ZHANGLQ,WANGDF.OptimizationPIDParametersBasedonImprovedSeekerOptimization[J].ComputerEngineeringandDesign,2016,37(12):3389-3393.[12]潘文超.应用果蝇优化算法优化广义回归神经网络进行企业经营绩效评估[J].太原理工大学学报(社会科学版),2011,29(4):1-5.PANWC.UsingFruitFlyOptimizationAlgorithmOpti⁃mizedGeneralRegressionNeuralNetworktoConstructtheOperatingPerformanceofEnterprisesModel[J].JournalofTaiyuanUniversityofTechnology(SocialSciencesEdi⁃tion),2011,29(4):1-5.[13]郭晓东,王丽芳,张学良,等.基于自适应步长的果蝇优化算法[J].中北大学学报(自然科学版),2016,37(6):570-575.GUOXD,WANGLF,ZHANGXL,etal.FruitFlyOptimi⁃zationAlgorithmBasedonAdaptiveStepSize[J].JournalofNorthUniversityofChina(NaturalScienceEdition),2016,37(6):570-575.[14]余胜威,曹中清.基于人群搜索算法的PID控制器参数优化[J].计算机仿真,2014,31(9):347-350.YUSW,CAOZQ.OptimizationParametersofPIDCon⁃trollerParametersBasedonSeekerOptimizationAlgorithm[J].ComputerSimulation,2014,31(9):347-350.[15]陈彬彬,曹中清,余胜威.基于风驱动优化算法WDO的PID参数优化[J].计算机工程与应用,2016,52(14):250-253.CHENBB,CAOZQ,YUSW.PIDParametersOptimiza⁃tionBasedonWindDrivenOptimizationAlgorithm[J].ComputerEngineeringandApplications,2016,52(14):250-253.(责任编辑:张艳君)㊃741㊃第20期李明辉等:基于自适应果蝇优化算法的PID参数优化㊀㊀㊀。

相关主题