基于遗传算法PID控制寻优实现(有代码超详细)

合集下载

遗传算法入门实例:对 PID 参数寻优

遗传算法入门实例:对 PID 参数寻优

遗传算法入门实例:对PID参数寻优[原创][这乌龟飙得好快啊]开始之前:假设你已经:能运用C语言,初步了解PID、遗传算法的原理。

遗传算法能干什么?(我有个毛病:每当遇到一个东东,我首先会设法知道:这个东东能干什么呢?)遗传算法可以解决非线性、难以用数学描述的复杂问题。

也许这样的陈述让你觉得很抽象,把它换成白话说就是:有个问题我不知道甚至不可能用数学的方法去推导、解算,那么也许我就可以用遗传算法来解决。

遗传算法的优点是:你不需要知道怎么去解决一个问题; 你需要知道的仅仅是,用怎么的方式对可行解进行编码,使得它能能被遗传算法机制所利用。

如果你运用过PID来控制某个系统,那你一定非常清楚:PID麻烦就在那三个参量的调整上,很多介绍PID的书上常搬一些已知数学模型的系统来做实例环节,但事实上我们面对的往往是不可能用数学模型描述的系统,这个时候该怎么取PID的参值呢?1、可以依靠经验凑试,耗时耗精力。

2、离线规划,这就是下文要做的事情3、在线规划,比方说神经网络PID(后续文章将推出,做个广告先^_^)。

一、 将PID用在本次试验中来个问题先:A VR怎样利用片上和少量的外围器件快速准确地实现D/A输出?(0~5V)1、实验电路的搭建:图1:实验原理图搭建这样的电路纯粹是为了本次实验的直观(超调、调整不足等现象通过示波器一目了然),当然,如果实际工程这么简单那也用不到PID,更用不到遗传算法了。

回归话题,解释下上面的电路:M16单片机的OC2输出0~100%占空比的PWM,经过RC,可以得到0~5V 的直流电压,这就实现了简易的D/A(实际实验,发现输出电压是1.XX伏~4.XX 伏,未带负载)。

用一个图表示:这个时候如果我要输出 3.5V (可以是其它值)电压,该加怎样的PWM呢?(有个简单的方法:标定,但是这种方法系统调整响应速度较为缓慢,理由见图5下附言)也许我们可以把这个输出电压加到A/D反馈到系统,这样就形成了闭环控制:系统输出PWM ——>> PWM 转换成电压——>>A/D 采集,获得实际值与目标值的偏差(例如3.5V )——>>将偏差进行PID 加载到PWM 输出(然后输出又影响下一次的输入……)把示波器加到测试点上,调整扫描周期,使示波器能看到完整的一个调整过程。

MATLAB遗传算法PID大作业

MATLAB遗传算法PID大作业

遗传算法在调节控制系统参数中的应用【摘要】自动化控制系统多采用PID 控制器来调节系统稳定性和动态性,PID 的Kp,Ki,Kd 参数需要合理选择方能达到目标。

遗传算法是一种模拟生物进化寻求最优解的有效算法,本文通过利用GAbx 工具箱实现对控制电机的PID 进行参数优化,利用matlab 的仿真功能可以观察控制效果。

1. 直流伺服电机模型 1.1物理模型图1 直流伺服电机的物理模型αu ---电枢输入电压(V ) a R ---电枢电阻(Ω) S L ---电枢电感(H ) q u ---感应电动势(V ) g T ---电机电磁转矩(N m ⋅) J---转动惯量(2m kg ⋅)B---粘性阻尼系数(s m N ⋅⋅) g i ---流过电枢的电流(A ) θ---电机输出的转角(rad )1.2传递函数利用基尔霍夫定律和牛顿第二定律得出电机基本方程并进行拉布拉斯变换)()()()()()()()()()()(2s s K s U K s I s T s Bs s Js s T s I s L R s I s U s U e q t a g g a a a a q a θθθ⋅=⋅=⋅+⋅=⋅+⋅=-式中:t K 为电机的转动常数(m N ⋅)A ;e K 为感应电动势常数(s V ⋅)radaa R s L +1S1 BJs +1i KC K)(s U a)(s U q)(s I a )(s T g)(s Ω)(s θ图2 直流伺服电机模型方框图消去中间变量得系统的开环传递函数:sK K B Js R s L K s U s s G C t a d ta ]))([()()()(+++==θ系统参数如下:s m uN B m mg J ⋅⋅=⋅=51.3,23.32A m N K K uH L R e t a a )(03.0,75.2,4⋅===Ω=2. PID 校正图3 PID 校正s K sK K s G d ip c ++=)( Kp,Ki,Kd 为比例,积分,微分系数 令Kp=15、Ki=0.8 、Kd=0.6M 文件:J=3.23E-6;B=3.51E-6; Ra=4;La=2.75E-6; Kt=0.03; num= Kt;den=[(J*La) ((J*Ra)+(La*B)) ((B*Ra)+Kt*Kt) 0]; t=0:0.001:0.2; step(num,den,t); Kp=15; Ki=0.8; Kd=0.6;numcf=[Kd Kp Ki]; dencf=[1 0];numf=conv(numcf,num); denf=conv(dencf,den);[numc,denc]=cloop(numf,denf); t=0:0.001:0.04; step(numc,denc,t);matlab 进行仿真,我们可以看出不恰当的PID 参数并不能使系统达到控制系统的要求,因此需要对PID参数进行优化。

PID控制算法的C语言实现(完整版)

PID控制算法的C语言实现(完整版)

PID控制算法的C语言实现(完整版) 在现代工业生产中,为了实现对生产过程的精确控制,我们需要采用一种能够根据实际需求自动调整参数的控制算法。

PID(Proportional-Integral-Derivative)控制算法就是这样一种广泛应用于工业控制系统的算法。

本文将详细介绍PID控制算法的C语言实现,包括算法的基本原理、实现方法以及注意事项。

我们来了解一下PID控制算法的基本原理。

PID控制器由三个部分组成:比例(P)、积分(I)和微分(D)。

这三个部分分别对误差信号进行处理,然后将处理后的信号相加得到控制输出。

具体来说,比例部分根据误差信号的大小产生相应的控制作用;积分部分对误差信号进行累积,以消除系统的静差;微分部分对误差信号的变化趋势进行预测,以便及时调整控制策略。

通过这三个部分的综合作用,PID控制器能够实现对生产过程的精确控制。

接下来,我们来看一下如何用C语言实现PID控制算法。

我们需要定义一些变量来存储所需的参数和状态信息。

例如,我们需要定义比例系数Kp、积分系数Ki、微分系数Kd以及误差信号e等。

我们还需要定义一些变量来存储上一次的误差信号和积分项等。

这些变量的定义如下:```cdouble Kp, Ki, Kd; // 比例、积分、微分系数double e; // 当前误差信号double de; // 当前误差信号的导数double last_e; // 上一次的误差信号double integral; // 积分项有了这些变量之后,我们就可以开始实现PID控制器的计算过程了。

PID控制器的计算过程主要包括以下几个步骤:1. 计算误差信号:当前误差信号等于期望值与实际值之差。

2. 计算比例项:比例项等于当前误差信号乘以比例系数Kp;3. 计算积分项:积分项等于当前误差信号乘以积分系数Ki加上累积误差信号乘以积分系数Ki;4. 计算微分项:微分项等于当前误差信号的导数乘以微分系数Kd;5. 计算控制输出:控制输出等于比例项、积分项和微分项之和。

基于遗传算的PID参数优化及MATLAB实现

基于遗传算的PID参数优化及MATLAB实现

引言PID操纵器结构简单且鲁棒性强,在操纵领域一直被普遍应用。

运算机的进展为在线辩识提供了条件,从而也为在线整定PID参数提供了可能。

PID操纵是工业进程中应用最普遍的策略之一,因此PID 操纵器参数的优化成为人们关注的问题,它直接阻碍操纵成效的好坏,并和系统的平安、经济运行有着密不可分的关系。

目前PID参数的优化方式很多,如:间接寻优法,梯度法,登山法等,而在热工系统中单纯形法、专家整定法那么应用普遍。

尽管二者都具有良好的寻优特性,但却存在一些短处,单纯刑法对初值比较灵敏,容易陷入局部最优解,造成寻优失败。

专家整定法那么需要太多体会,不同的目标函数对应不同的体会,而整理知识库是一项长时刻的工程。

因此咱们选取遗传算法来进行参数寻优,该方式是一种不需要任何初始信息并能够寻求全局最优解的高效的优化组合方式。

第一章:遗传算法和PID操纵原理简介一遗传算法简介大体原理遗传算法是依照生物进化的模型提出的一种优化算法。

遗传算法是从代表问题可能潜在解集的一个群组(popuation)开始的,而一个种群那么由通过基因(gene)编码(coding)的必然数量的个体(individual)组成。

每一个个体事实上是染色体(chromosome)带有特点的实体。

染色体作为遗传物质的要紧载体,即多个基因组合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现。

因此,在一开始需要实现从表现型到基因型的映射即编码工作。

由于仿照基因编码的工作很复杂,咱们往往进行简化,如二进制编码。

初代种群产生以后,依照适者生存和优胜劣汰的原理,逐代(genetation)演化产生出愈来愈好的近似解。

在每一代,依照问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(genetic operator)进行组合交叉.(crossover)和变异(mutation),产生出代表新的解集的种群。

基于遗传算法PID参数寻优的电加热炉温度控制系统

基于遗传算法PID参数寻优的电加热炉温度控制系统

a oi m( G w s e e p dt o t i a m tr nP D cnr1 A A i u e pi i e e i a c —et r ae e p rtr l r h A A) a v l e pi z p r ee o I o t . G sdt o t z t s tn e ae f n c m ea e g t d o o m e a o s o m eh r s h du t u
维普资讯
《 电气 自动化) 0 8年第 3 20 0卷 第 4期

智 能控 制 技 术.
n e l eLeabharlann tCo to e h is t lg n n r I c nc i T
基 于遗传 算法 PD参数 寻优 的 电加热 炉温 度控 制 I 系统 六
PI P r me t r Op i z t f t e D aa ne t mia i o h Re it n e h a e F r a e Co to on ssa c — e t d u n c n r I Sy t m s d o n t g r h se Ba e n Ge e i Alo i m c t
[ 图分 类 号 ] P 7 [ 献 标 识 码 ] [ 章编 号 ]0 038 (0 8 0 .0 60 中 T2 3 文 A 文 10 8 6 20 )40 0 .3
1 前 言
PD控 制 是 工业 过 程 控 制 中应 用 最 广 泛 的控 制 策 略 之 一 ,其 I
遗传算法和 Zeir ihl算法对 PD参数 寻优 。 ig . co eN s I 采用 自适应遗传

要: 针对工业 过程 中常见 的一阶大滞 后对 象的 PD参数整定问题 , 出 自适应遗传算法对 PD控制进行参数寻优。应用 自适应遗传 I 提 I

惩罚函数结合遗传算法的PID参数优化

惩罚函数结合遗传算法的PID参数优化

第38卷第3期2021年3月吉林化工学院学报JOURNAL OF JILIN INSTITUTE OF CHEMICAL TECHNOLOGYVol.38 No.3Mar. 2021文章编号:1007-2853 (2021) 03-0057-04惩罚函数结合遗传算法的PID 参数优化高兴泉,黄东冬,丁三毛(吉林化工学院信息与控制工程学院,吉林吉林132022)摘要:针对传统优化算法对PID 参数优化时,由于目标函数选择不当岀现的超调量过大,从而引起系统的反应速度变慢和稳定性变差的问题,提岀以传统遗传算法为基础,引入惩罚函数的方法,根据系统中 岀现的超调量来构造新的目标函数,实现对PID 的参数优化.实验表明,该方法可以有效减少系统中的超调量,加快优化以及运行速度的同时保证系统的稳定性,实现对PID 参数的优化.关键词:惩罚函数;遗传算法;PID 中图分类号:TP 273 文献标志码:ADOI :10.16039/22-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) 误差平方积分:Je 2(t)dt;(3) 时间乘误差平方积分Jte 2( t)dt;(4) 时间乘绝对误差积分:JtI e( t) I dt.对于这4种目标函数优化出来的PID 参数效 果并不满意,使得系统中出现震荡和超调的现象 从而导致系统不稳定•这里提出将传统目标函数中结合惩罚函数的思想来解决此类问题•1 PID 控制算法及其参数优化2惩罚函数PID 控制器是根据系统的给定值与输出值之间的偏差作为输入信号,利用此信号来和PID 控 制器中的控制算法相乘产生控制输出,其控制规 律如下:t d [ e( t)]"(t ) =K p e(t ) + K. Ie (t )d t + K d ,0 dt惩罚函数法⑺的优点是能将系统约束融入最优化问题中,其中心思想就是将脱离可行域的 点通过构造惩罚函数的方式来进行约束,然后用 最优化方法解决无约束情况下的相应的问题•然 后考虑非线性约束优化问题[8-9]:minA %),(2)s.t. 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 eR n ,使得G ( c) =f(x c ) + cP (x c )成立,满足以下内容:(1) inf{/(x ) :g(x ) W 0,h(x)二 0} Msup c 〉0G( c),其中 G (c)二 inf{/(x) + cP (x ) };(2) 当c > 0时,/(x )关于x 单调不降,G (c)对于c 单调不降,P (x c )对于c 单调不增.为了得到满意的过渡过程动态特性,采用时间乘绝对误差积分为目标函数:/(x)二[tI e (t) \d t , (4)若系统中出现了超调,以原来的目标函数为基础再加入惩罚函数,将系统中出现的超调量作 为惩罚项加入目标函数中形成新的目标函数:G (x )二[t \ e( t) \ dt+c [\ e( t ) \ d t ,00(5)所以对于系统中的目标函数可以总结为:「8I t \ e(t) \ dtj 0G(x)二 \88I t \ e(t) \ dt+c I \ e(t) \ dtJ 0J 0e(t) M 0e(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 dr 、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参数的流程图如图24仿真实验并分析以双容水箱系统为例.将惩罚函数引入到目标函数中实现对PID参数优化的方法应用到双容水箱系统中.双容水箱模型描述如下:Sh1=Q-S12gh1Sh2=S12gh1-S2(7)其中:h1和h2分别代表上水箱和下水箱的液位;Q 代表流量;其他参数代表的意义及其数值如表1所示.双容水箱系统实际上是以下水箱的液位达到设定值为控制目标.上水箱和下水箱的初始液位均设为0.本次设计实验是对下水箱液位达到的设定值为15cm.表1参数代表意义及数值符号物理量及单位数值S上下水箱横截面积/cm215.5179S1上水箱出水口横截面积/cm20.1781S2下水箱出水口横街面积/cm20.1781g重力加速度/(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/ s3020 f \ —iSsSIt 算法40 80 120 160 200t/ 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 ,HOSSEINATTAR , et al.Kinetic parameters estimation of protease production using penalty function method with hybrid genetic algorithm and particle swarm optimization [ J]. Biotechnology &amp ; 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 PenaltyFunction and Genetic AlgorithmGAO 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 optimizationof 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;geneticalgorithm;PID。

基于遗传算法的PID控制器参数优化

基于遗传算法的PID控制器参数优化遗传算法是一种模拟生物进化过程的智能算法,适用于解决优化问题。

在PID控制器设计中,参数的选择对控制系统的性能和稳定性有很大影响。

使用遗传算法对PID控制器参数进行优化,能够自动找到最优参数组合,提高系统的控制性能。

PID控制器由比例(P)、积分(I)、微分(D)三个部分组成,其输出是通过对误差的线性组合得到的。

参数的选择直接影响控制器的稳定性、动态响应和抗干扰能力。

传统的方法通常是通过试错法进行参数整定,这种方法的缺点是效率低、调试过程繁琐且容易出错。

遗传算法是一种模拟自然界进化过程的智能优化算法,其中每个个体代表一组可能的参数,通过适应度函数来衡量个体的适应度,并选择适应度较高的个体进行遗传和变异操作,最终找到适应度最优的个体。

将遗传算法应用于PID控制器参数优化的步骤如下:1.确定优化目标:通过设置适应度函数来度量控制系统的性能指标,如超调量、调整时间和稳定性。

2.初始化种群:随机生成一组初始参数作为初始种群,并利用适应度函数来评估每个个体的适应度。

3.选择操作:根据适应度选择一部分适应度较高的个体作为父代,通过选择操作进行选择。

4.交叉操作:将选中的父代进行交叉操作,生成新的子代个体。

5.变异操作:对子代进行变异操作,引入新的个体差异。

6.评估适应度:利用适应度函数评估新生成的子代个体的适应度。

7.判断终止条件:判断是否满足终止条件,如达到最大迭代次数或找到满足条件的解。

8.更新种群:根据选择、交叉和变异操作的结果,更新种群。

9.重复步骤3-8,直到满足终止条件。

10.输出最优解:输出适应度最好的个体参数作为PID控制器的优化参数。

使用遗传算法进行PID控制器参数优化有如下优点:1.自动化:遗传算法能够自动寻找最优参数组合,减少了人工试错的过程。

2.全局:遗传算法具有全局的能力,能够参数空间的各个角落,找到更好的解决方案。

3.鲁棒性:遗传算法能够处理多变量、多模态和不连续的问题,具有较好的鲁棒性。

基于遗传算法的电液位置伺服控制系统PID参数整定

文章编号:167321220(2009)022044203基于遗传算法的电液位置伺服控制系统P I D参数整定汤 永,吴志刚,李新民(中国直升机设计研究所,景德镇,333001)摘 要 为了改善电液伺服位置系统的控制性能,本文采用了传统遗传算法对相关P I D参数进行寻优整定。

通过仿真工具S I M UL I N K和实际试验表明,控制系统既有较快的动态响应,又有较高的稳态精度。

关键词 电液位置伺服;P I D整定;遗传算法中图分类号: V227 文献标识码: AP I D Tun i n g ba sed on Gen eti c A lgor ithm s i n Electr o2Hydrauli cPositi on Ser vo SystemT ANG Y ong,WU Zhigang,L I Xinm in(China He licop ter R esearch and Deve l opment Institute,Jing dezhen,333001)Ab stra ct I n order to i m p r ove the perf or m ances of e lec tr o2hydraulic position servo syste m,traditi onG A(Gene tic Algorithm s)was applied t o P I D Tuning.The results of S I M U L I N K si mula ti ons indicatethat the system not only has the faster dynam ic res ponse,but also shows the better ulti ma te preci2 sion.It was pr oved to be eff ective by te st also.Key word s electr o2hydraulic positi on servo;genetic a lgorithm s;P I D tuning1 前言某型直升机地面联合试验台的旋翼系统桨距变化采用电液位置伺服控制系统来实现。

基于遗传算法寻优的PID控制与仿真

基于遗传算法寻优的PID控制与仿真
秦国经;任庆昌
【期刊名称】《中国西部科技》
【年(卷),期】2011(10)11
【摘要】目的:本文中介绍了遗传算法和基于遗传算法寻优的PID控制设计.方法:采用误差绝对值时间积分性能指标作为参数选择的最小目标函数,利用遗传算法的全局搜索能力,使得在无须先验知识的情况下实现对全局最优解的寻优.结果:并将结果与常规的PID控制方式进行比较,通过MATLAB仿真结果表明.结论:根据遗传算法寻优设计的PID控制器具有较好的动态品质和稳态精度.
【总页数】3页(P12-13,9)
【作者】秦国经;任庆昌
【作者单位】西安建筑科技大学,陕西西安710055;西安建筑科技大学,陕西西安710055
【正文语种】中文
【相关文献】
1.基于遗传算法寻优的PID控制及MATLAB仿真
2.基于遗传算法的锅炉水温PID 控制寻优
3.基于混合遗传算法的转台PID控制寻优
4.基于非线性模型和遗传算法寻优的无人艇航向PID控制研究
5.基于混合遗传算法的航空发动机PID控制参数寻优
因版权原因,仅展示原文概要,查看原文内容请购买。

基于自适应遗传算法的PID参数寻优


关 键词 :I PD参数调节; 适应遗传算法; 自 变异概率
中图分类 号 :P3 文 献标识码 : 文章编 号 :6241(070— 4—4 TI A 17— 020 ) 0 3 4 43 0
常规 PD调节 器是一 种应用广 泛 、 术成 熟 的 控制 方 法 。PD控 制 的基 本 思想 是 将偏 差 的 比例 、 I 技 I 积分 和微 分三参 数通过 线性组合 构成控 制器 , 被控对 象 进行 控制 , 用 PD控制 时 , 对 采 I 系统控 制 品质 的 优劣取 决于上 述三参数 的整定 。但在过 程控制 领域 中 , 控制 品质 的要 求越来 越高 , 控制对 象越 来越 对 且 复杂 , 特别 是在 具有纯滞 后特性 的工 业过 程 中 , PD 控 制器 的 局 限性 , 制 器 的参 数 难 以 自动 调 整 , 因 I 控 随着专 家系统 、 模糊控 制 、 神经 网络等智 能控制 理论 的发 展 , 成 了多种 智能 控制 与 PD 控 制相 结合 的 形 I 智能 PD 控制策 略… 。然 而 , I 这些控 制策 略或 者要 求 对 被控 过 程 有全 面 的先 验 知识 , 者 要求 参 数 优 或
在标准的遗传算法中, 复制概率 、 交叉概率和变异概率是事先确定的, 并且在遗传操作 的整个过程 中是不 变 的。考虑 到三个 主要算子对 群体 的多样性 的不 同作用 , 了防止遗传 算法 出现过早 收敛 , 以 为 可
在整 个遗传 操作 过程 中将 三个算子 的概率设 定为 与群体 多样性 及适 应度有关 的变量 , 交叉概 率 P 和变
维普资讯
第3 0卷 第 4期
2 0 年 8月 07
鞍 山 科 技 大 学 学 报
J u n l f s a ie s yo ce c n c n lg o ra h nUn v ri fS in ea dTeh oo y o An t
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于遗传优化算法对离散PID控制器参数的优化设计摘要PID控制作为一种经典的控制方法,从诞生至今,历经数十年的发展和完善,因其优越的控制性能业已成为过程控制领域最为广泛的控制方法;PID控制器具有结构简单、适应性强、不依赖于被控对象的精确模型、鲁棒性较强等优点,其控制性能直接关系到生产过程的平稳高效运行,因此对PID控制器设计和参数整定问题的研究不但具有理论价值更具有很大的实践意义,遗传算法是一种借鉴生物界自然选择和自然遗传学机理上的迭代自适应概率性搜索算法。

本论文主要应用遗传算法对PID调节器参数进行优化。

关键词:遗传优化算法PID控制器参数优化1.前言PID调节器是最早发展起来的控制策略之一,因为它所涉及的设计算法和控制结构都是简单的,并且十分适用于工程应用背景,此外PID控制方案并不要求精确的受控对象的数学模型,且采用PID控制的控制效果一般是比较令人满意的,所以在工业实际应用中,PID调节器是应用最为广泛的一种控制策略,也是历史最久、生命力最强的基本控制方式。

调查结果表明: 在当今使用的控制方式中,PID型占84. 5% ,优化PID型占68%,现代控制型占有15%,手动控制型66%,人工智能(AI)型占0.6% 。

如果把PID型和优化PID型二者加起来,则占90% 以上,这说明PID控制方式占绝大多数,如果把手动控制型再与上述两种加在一起,则占97.5% ,这说明古典控制占绝大多数。

就连科学技术高度发达的日本,PID控制的使用率也高达84.5%。

这是由于理论分析及实际运行经验已经证明了PID调节器对于相当多的工业过程能够起到较为满足的控制效果。

它结构简单、适用面广、鲁棒性强、参数易于调整、在实际中容易被理解和实现、在长期应用中己积累了丰富的经验。

特别在工业过程中,由于控制对象的精确数学模型难以建立,系统的参数又经常发生变化,运用现代控制理论分析综合要耗费很大的代价进行模型辨识,但往往不能达到预期的效果,所以不论常规调节仪表还是数字智能仪表都广泛采用这种调节方式。

正是PID控制算法具有以上多种优点,所以这种算法仍将在现场控制中居于主导地位。

PID控制器参数整定的方法很多,概括起来有两大类:一是实验凑试法,它主要依赖调试经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

二是理论计算整定法,它主要是依据系统的数学模型,经过理论计算确定控制器参数。

这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改[1]。

但根据参数凑试法得出的控制器参数的控制效果并不是很理想,而手动调整控制器参数找到较优值费时又费力,因此利用一种优化算法对控制器参数进行优化是非常必要的。

本文采用遗传优化算法,在二次型性能指标下对离散PID控制器的控制参数进行优化并给出了优化结果,同时通过仿真进行研究与分析。

本文的其余部分安排如下:第二部分介绍了PID控制器的基本原理;第三部分介绍了遗传优化算法;第四部分采用MATLAB编程和simulink模块对被控对象进行建模;第五部分使用遗传算法对系统进行仿真分析。

最后,在第六部分对本文的研究进行了总结。

2.PID控制器2.1. PID控制器基本原理PID控制是基于对变量“过去”、“现在”和“未来”信息估计的交叉控制算法。

控制系统框图如图2-1所示,系统主要由被控对象和PID控制器两部分组成。

常规的PID一般为线性控制器,实际输出值和给定值会存在一个偏差,将偏差按比例、积分和微分通过线性组合来构成控制量,最后对被控对象进行控制,故称PID控制器。

图2-1 PID控制器结构图当系统是连续控制时,PID 控制器的输出u(t)与输入e(t)之间会存在比例、积分、微分的关系,用下式表示出来,1()()[()()]tc dide t u t k e t e t dt T T dt=++⎰(2-1) 也可写成常见的传递函数形式:1()(1)()c d i U s K T s E s T s=++ (2-2) 式中,()()()e t r t y t =-,c K 是比例增益,i T 是积分时间,d T 是微分时间。

在计算机控制系统中,也普遍采用PID 控制思想。

此时,调节器的输出与输入之间的关系为:(){()()[()()]}kdc i iT Tu kT K e kT e it e kT e kT T T T ==++--∑ (2-3)其中,c K 、i T 、d T 分别为比例系数、积分时间常数和微分时间常数;T 为采样周期;k 为采样序号,k=0,1,2,…;u(kT)为第k 次采样输出值;e(kT)为第k 次采样的输入偏差值;e(kT -T)为第(K -1)次采样的输入偏差值。

2.2. PID 控制器参数对控制性能的影响PID 控制器各个参数对系统的动态和稳态性能起着不同的作用,这三个参数的取值优劣将直接影响PID 控制系统的控制品质好坏。

2.2.1. 比例作用比例作用就是以比例形式来反应系统的偏差信号e(t),以最快速度来产生控制作用,使偏差逐渐趋于减小。

(1)对动态特性的影响比例控制参数K c 加大,使系统的动作灵敏,速度加快,K c 越大,振荡次数加多,调节时间也越长。

当K c 太大时,系统会趋于不稳定,若K c 太小,又会使系统的动作缓慢。

(2)对稳态特性的影响在系统稳定的情况下,比例系数K c 增大,稳态误差就会减少,以此来提高控制精度,但是加大K c 只是减少,却无法从本质上上消除稳态误差。

2.2.2. 积分作用引入积分作用,主要是为了在稳态状态下,满足被控量对设定值的无静差跟踪,对系统的性能影响主要表现如下:(1)对动态特性的影响积分作用会引起系统的稳定性下降,T i太小,系统将不稳定,T i偏小到一定程度时,系统会出现振荡;T i太大,对系统性能的影响力也会缩减,只有当T i 合适时,才能出现比较理想的过渡特性。

(2)对稳态特性的影响积分作用能够降低系统稳态误差,同时也能提高系统的控制精度,不过,当T i值太大时,积分作用将会变得非常弱,稳态误差e ss也不会紧随减弱了。

2.2.3. 微分作用微分作用常规使用会与比例作用、比例积分作用联合,构成PD控制器或者PID控制器。

微分作用主要改善闭环系统的动态特性和稳定性。

T d偏大时,超调量会较大,调节时间也会较长;T d偏小时,超调量也较大,相应调节时间也会较长。

3.遗传优化算法遗传算法是-类可用于复杂系统优化计算的鲁棒搜索算法,与其他一些优化算法相比,它主要有下述几个恃点:(1) 遗传算法以决策变量的编码作为运算对象。

这种对决策变量的编码处理方式,使得我们在优化计算过程中可以借鉴生物学中染色体和基因等概念,可以模仿自然界中生物的遗传和进化等机理,也使得我们可以方便地应用遗传操作算子。

(2) 遗传算法直接以目标函数值作为搜索信息。

传统优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向。

而遗传算法仅使用由目标函数值变换来的适应度函数值,就可确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其他一些辅助信息。

这个特性对很多目标函数是无法或很难求导数的函数,或导数不存在的函数的优化问题,以及组合优化问题等,应用遗传算法时就显得比较方便,因为它避开了函数求导这个障碍。

(3) 遗传算法同时使用多个搜索点的搜索信息。

单个搜索点所提供的搜索信息毕竟不多,所以搜索效率不高,有时甚至使搜索过程陷于局部最优解而停滞不前。

遗传算法从由很多个体所组成的一个初始群体开始最优解的搜索过程,而不是从一个单一的个体开始搜索,这是遗传算法所特有的一种隐含并行性。

(4) 遗传算法使用概率搜索技术。

很多传统的优化算法往往使用的是确定性的搜索方法,而遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。

当然,交叉概率和奇异概率等参数也会影响算法的搜索效果和搜索效率,所以如何选择溃传算法的参数在其应用中是一个比较重要的问题。

而另一方面,与其他一些算法相比,遗传算法的鲁棒性又会使得参数对其搜索效果的影响会尽可能地低。

3.1. SGA的基本实现技术基于对自然界中生物遗传与进化机理的模仿,针对不同的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发出了许多种不同的遗传算子来模仿不同环境下的生物遗传特性。

这样,由不同的编码方法和不同的遗传算子就构成了各种不同的遗传算法。

但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最忧解的自适应搏索过程。

基于这个共同特点,Goldberg总结出了一种统一的最基本的遗传算法——基本遗传算法(Simple Genetic Algorithms,简称SGA)。

基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。

3.2. 编码方法在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法称为编码。

编码是应用遗传算法时要解决的首要问题,也是设计遗传算法时的一个关键步骤。

二进制编码方法是遗传算法中最常用的一种编码方法。

假设某一个参数U 的取值范围是[U min , U max ],用- 1 位二进制数n 来表示,则它们的关系如下式(3- 1)所示:min max min ()21lnu U U U =+-- (3-1)上述过程为解码,它的反过程即为编码。

3.3. 适应度函数在研究自然界中生物的遗传和进化现象时,生物学家使用适应度这个术语来度量某个物种对于其生存环境的适应程度。

遗传算法中也使用适应度这个概念来度量群体中各个个体在优化计算中有可能达到或接近于或有助于找到最优解的优良程度。

适应度较高的个体遗传到下一代的概率就较大:而适应度较低的个体遗传到下一代的概率就相对小一些。

度量个体适应度的函数称为适应度函数( Fitness Function)。

3.4. 选择、交叉、变异算子遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作。

最常用的选择算子是基本遗传算法中的比例选择算子。

其基本思想是:各个个体被选中的概率与其适应度大小成E 比。

设群体大小为M ,个体i 的适应度为F ,则个体i 被选中的概率P is 为:1,(1,2,...,)iis Mii F p i M F===∑ (3-2)交叉算子是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。

交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要办法。

相关文档
最新文档