法律状态公告日
法律状态信息
法律状态
2023-01-31
公开
发明专利申请公布
技术领域
本发明涉及一种基于元胞遗传算法的PID控制器参数整定方法,属于控制器参数整定方法技术领域。
背景技术
PID控制器结构简单、鲁棒性好,是目前应用最为广泛的控制器。如图1所示,PID控制器控制输出u(t)表达为:
传统的PID控制器参数整定分为理论整定方法和工程经验方法,理论整定方法主要依据系统数学模型,经过理论计算确定控制器参数,工程经验方法主要有Ziegler-Nichols整定方法、临界振荡法、1/4衰减振荡法等,传统的PID控制器参数整定方法需要操作者具有良好的专家知识,且步骤繁琐、耗时长,不利于实际应用,因此,一种能够解决现有技术问题的PID控制器参数整定方法成为目前的迫切需求。
发明内容
针对现有技术的不足,本发明的目的在于提供一种基于元胞遗传算法的PID控制器参数整定方法,解决了现有技术中出现的问题。
本发明所述的基于元胞遗传算法的PID控制器参数整定方法,包括以下步骤:
S1:确定元胞遗传算法参数;
确定元胞遗传算法中种群数量Size、进化代数N、编码形式、编码长度L参数,确定PID控制器K
S2:生成初始种群;
按既定的编码形式,在K
S3:计算个体适应度;
对每个元胞对应的编码进行解码计算得到K
S4:进行遗传操作;
对元胞进行选择、交叉和变异遗传操作,所有遗传操作均不得改变当代最佳个体,即保留最佳个体;
S5:通过步骤S4生成新一代种群,重复执行步骤S3-S4直至达到最大进化代数,保存并输出最佳个体的相关数据。
所述的步骤S1中PID控制器输出u(t)为:
其中K
进一步的,步骤S3中选取
ey(t)=y(t)-y(t-1),当y(t)-y(t-1)>0,否则为0;
其中:e(t)为系统误差;u(t)为控制器输出;ey(t)如下式所示表征超调量;t
进一步的,目标函数J的倒数为适应度函数F,即:
进一步的,步骤S2中生成初始种群具体包括以下操作:随机生成m*n的二维矩阵,矩阵元素为元胞,元胞是长度为L的二进制序列,其中前面1/3L、中间1/3L、后面1/3L分别对应PID控制器比例环节、积分环节和微分环节的系数K
进一步的,步骤S3中计算个体适应度具体包括以下:
S11:将每一个元胞对应的K
S12:根据得到的系统响应,计算每一个元胞对应的目标函数,对目标函数求倒数得到相应的适应度函数;
S13:对元胞按适应度函数值排序,适应度函数值最大的元胞,即为当代种群中的最佳个体,其对应的K
进一步的,步骤S4中遗传操作包括选择、交叉和变异遗传操作;
选择遗传操作:对适应度函数值高的元胞进行复制,并取代其某一邻居;
交叉遗传操作:适应度函数值高的元胞与其邻居发生交叉操作,交叉后的后代之一与该元胞比较,若后代的适应度值高于该元胞,则取代该元胞;交叉后的后代之二取代该元胞邻居中适应度值较小的个体;
变异遗传操作:对每一个元胞按照一定的比率进行变异操作,即对元胞中某些二进制位进行翻转操作。
进一步的,步骤S1中元胞遗传算法选用Von Neumann型邻居结构,一个元胞的上、下、左、右四个元胞为该元胞的邻居,即Neighbor={C
本发明与现有技术相比,具有如下有益效果:
本发明所述的基于元胞遗传算法的PID控制器参数整定方法,元胞遗传算子根据经验随机生成合理范围内的K
元胞遗传算法将元胞自动机的元胞空间概念及局部演化规则与遗传算法结合而成,将遗传算法种群中的每个个体视为一个元胞,元胞映射到一维、二维或多维网格中,将元胞自动机演化规则与遗传算法中的选择、交叉和变异操作相结合,使遗传操作发生在元胞邻域范围。元胞遗传算法是多峰搜索算法,具有隐并行性,能充分保持群体的多样性,有效地避免搜索陷入局部最优。解决了现有技术中存在的问题。
附图说明
图1为本发明中PID控制器的结构图;
图2为本发明中PID控制器在simulink的仿真模型图;
图3为本发明基于元胞遗传算法对PID控制器参数进行整定的原理图;
图4为本发明元胞遗传算法工作流程图;
图5为本发明实施例中VonNeumann元胞型邻居结构图;
图6为本发明实施例中最佳个体目标函数变化曲线图;
图7为本发明实施例中PID控制器的单位阶跃响应图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明:
实施例1:
如图4所示,本发明所述的基于元胞遗传算法的PID控制器参数整定方法,包括以下步骤:
S1:确定元胞遗传算法参数;
确定元胞遗传算法中种群数量Size、进化代数N、编码形式、编码长度L参数,确定PID控制器K
S2:生成初始种群;
按既定的编码形式,在K
S3:计算个体适应度;
对每个元胞对应的编码进行解码计算得到K
S4:进行遗传操作;
对元胞进行选择、交叉和变异遗传操作,所有遗传操作均不得改变当代最佳个体,即保留最佳个体;
S5:通过步骤S4生成新一代种群,重复执行步骤S3-S4直至达到最大进化代数,保存并输出最佳个体的相关数据。
步骤S3中PID控制器输出u(t)为:
其中K
步骤S3中选取
ey(t)=y(t)-y(t-1),当y(t)-y(t-1)>0,否则为0;
e(t)为系统误差,对其绝对值进行积分反映了系统跟踪输入信号的能力,其在目标函数中所占权重最大,当目标函数J为最小值时对应系统性能最佳。
目标函数J的倒数为适应度函数F,即:
步骤S2中生成初始种群具体包括以下操作:随机生成m*n的二维矩阵,矩阵元素为元胞,元胞是长度为L的二进制序列,其中前面1/3L、中间1/3L、后面1/3L分别对应PID控制器比例环节、积分环节和微分环节的系数K
步骤S3中计算个体适应度具体包括以下:
S11:将每一个元胞对应的K
S12:根据得到的系统响应,计算每一个元胞对应的目标函数,对目标函数求倒数得到相应的适应度函数;
S13:对元胞按适应度函数值排序,适应度函数值最大的元胞,即为当代种群中的最佳个体,其对应的K
步骤S4中遗传操作包括选择、交叉和变异遗传操作;
选择遗传操作:对适应度函数值高的元胞进行复制,并取代其某一邻居;
交叉遗传操作:适应度函数值高的元胞与其邻居发生交叉操作,交叉后的后代之一与该元胞比较,若后代的适应度值高于该元胞,则取代该元胞;交叉后的后代之二取代该元胞邻居中适应度值较小的个体;
变异遗传操作:对每一个元胞按照一定的比率进行变异操作,即对元胞中某些二进制位进行翻转操作。
如图2-3所示,SIMULINK中设置PID控制器的仿真模型,在仿真模型中In和PID(s)的参数需要m程序传递;SIMULINK的运行结果通过out模块传送至程序空间。在MATLAB软件m程序中运行元胞遗传算法,生成初代种群,计算初代种群每个个体对应的K
为验证算法的有效性,此处被控对象选择的为具有一般意义的负载。被控对象,又称控制对象,是控制系统所要操纵的对象,即负载。本实施例中被控对象为
元胞遗传算法程序根据SIMULINK仿真模型传递回的数据信息计算初代个体的目标函数和适应度函数,优选出初代种群最佳个体,并按前述规则对初代种群进行选择、交叉和变异操作,生成新一代种群。重复以上过程直至达到最大进化代数。
如图5所示,本发明采用二维元胞自动机,元胞之间采用四边形网格排列,构建如下图5所示四边形网格,每个网格代表一个元胞,即种群中的一个个体。按照元胞自动机的演化规则,元胞自动机的演化均发生在局部,指定元胞的状态更新仅与其邻域空间有关,其邻域空间称作该元胞的邻居。步骤S1中元胞遗传算法选用Von Neumann型邻居结构,一个元胞的上、下、左、右四个元胞为该元胞的邻居,即Neighbor={C
如图4所示,元胞遗传算法的程序流程:
1.随机生成5*6的二维矩阵,矩阵元素(即元胞,后面称作元胞)是长度为30bit的二进制序列,其中前面10bit、中间10bit、后面10bit分别对应PID控制器比例环节、积分环节和微分环节的系数K
2.将每一个元胞对应的K
3.控制系统接收到K
4.对元胞按适应度函数值排序,适应度函数值最大的元胞,即为当代种群中的最佳个体,其对应的K
5.对所有元胞进行遗传操作,遗传操作包括选择、交叉和变异操作。遗传算法是一种进化搜索算法,遗传算法中选择操作能够保留本代适应度高的个体,适应度高的个体具有较大的存活纪律;交叉操作保证个体之间进行基因交换,能够产生适应度更高的后代;变异操作则是给进化过程增加一些变量,有机会产生适应度更高的个体,且能够避免遗传算法早熟。
选择操作:对适应度函数值高的元胞进行复制,并取代其某一邻居。
交叉操作:适应度函数值高的元胞与其邻居发生交叉操作,交叉后的后代之一与该元胞比较,若后代的适应度值高于该元胞,则取代该元胞;交叉后的后代之二取代该元胞邻居中适应度值较小(表现较差)的个体。
变异操作:对每一个元胞按照一定的比率(0.1%)进行变异操作。(即对某些二进制位进行翻转)
所有遗传操作均不得改变当代最佳个体。(即保留最佳个体)
通过步骤5生成新一代种群,重复执行步骤2直至达到最大进化代数,保存并输出最佳个体的相关数据。
如图6所示,最佳个体目标函数变化曲线图,目标函数值不断下降,说明算法正在按照我们的目标函数设计优选出更好的个体。基于元胞遗传算法的PID控制器参数整定过程,由于每个元胞的影响范围仅限于其邻居,每个元胞在与其邻居形成的小的生态系统中进化,每一个小的生态系统通过边界影响其他小的生态系统,保证了种群的多样性,使得算法形成多峰搜索,该算法前期目标函数值下降较慢,但在进化过程中其不断出现新的最佳个体,目标函数值持续下降,最终获取到全局最优结果。
表1第1代、第10代、第100代最佳参数值和其对应的目标函数J的值
如表1所示,第1代、第10代、第100代达到最佳参数值,其对应的目标函数J的值获取到全局最优结果。
如图7所示,其中进化过程中,第1代、第10代和第100代中最佳个体对应的PID控制器的单位阶跃响应,其中包括第1代最佳个体对应的单位阶跃响应曲线,第10代最佳个体对应的单位阶跃响应曲线,第100代最佳个体对应的单位阶跃响应曲线。第1代最佳个体对应的单位阶跃响应曲线,系统超调σ=1.30%,上升时间t
本实施例中,元胞遗传算子以
采用以上结合附图描述的本发明的实施例的基于元胞遗传算法的PID控制器参数整定方法,元胞遗传算法将元胞自动机的元胞空间概念及局部演化规则与遗传算法结合而成,将遗传算法种群中的每个个体视为一个元胞,元胞映射到一维、二维或多维网格中,将元胞自动机演化规则与遗传算法中的选择、交叉和变异操作相结合,使遗传操作发生在元胞邻域范围。元胞遗传算法是多峰搜索算法,具有隐并行性,能充分保持群体的多样性,有效地避免搜索陷入局部最优。解决了现有技术中存在的问题。但本发明不局限于所描述的实施方式,在不脱离本发明的原理和精神的情况下这些对实施方式进行的变化、修改、替换和变形仍落入本发明的保护范围内。
机译: PID控制器整定设备,程序及用于Pid控制器整定的PID控制器整定方法
机译: PID控制器的PID控制器和整定装置的整定程序以及整定方法的无效过程
机译: 未知PID控制器的参数整定方法