[发明专利]RNA交叉操作共生生物算法的温室温度PID控制方法有效
申请号: | 202010653092.9 | 申请日: | 2020-07-08 |
公开(公告)号: | CN111781819B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 蒙桂余;王宁 | 申请(专利权)人: | 浙江大学 |
主分类号: | G05B11/42 | 分类号: | G05B11/42 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 傅朝栋;张法高 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | rna 交叉 操作 共生生物 算法 温室 温度 pid 控制 方法 | ||
1.一种RNA交叉操作共生生物算法的温室温度PID控制方法,其特征在于,包括如下步骤:
步骤1:通过现场测试或实验获得温室温度控制系统输出数据,即温室实际温度y,计算温室实际温度y与设定温度r的差值e,作为温室温度控制系统输入;
步骤2:将PID控制器用于步骤1中所述的温室温度控制系统中,PID控制器的输入为温室实际温度y与设定温度r的差值e,PID控制器输出即为温室温度控制系统中控制执行机构的输出量;PID控制器的待优化参数包含:比例系数KP、积分系数KI、微分系数KD;
步骤3:设置PID控制器参数范围;
步骤4:通过将遗传进化的交叉操作和共生生物搜索算法的互利阶段搜索相融合,形成一种RNA精英交叉操作;
所述RNA精英交叉操作为:
对选定的待更新个体Xi、Xj和最优解Xbest各个维度的数值进行RNA编码,每个维度数值均由字符集{0,1,2,3}编码为一个长度为L的RNA序列,分别得到编码后的RNA个体Ci、Cj和最优解Cbest;对Ci、Cj随机选取数量为L/2的单个碱基,将Ci选定位置的碱基与Cbest除选定碱基外的其它碱基进行组合,得到个体Cimix;再将Cbest选定位置的碱基与Cj除选定位置外的其它碱基进行组合,得到个体Cjmix;在Ci、Cj上分别随机选取数量为Bia×L和(1-Bia)×L的单个碱基,在选定位置上分别与Cjmix和Cimix进行调换,由此得到包含交叉操作另一个体和第三方个体的信息的更新个体Cinew、Cjnew;对Cinew、Cjnew进行解码,得到更新个体Xinew、Xjnew;
偏移量Bia的计算公式为:
其中:fitness(i)、fitness(j)分别表示个体Xi、Xj的目标函数值,best_fitness表示最优解Xbest的目标函数值;
步骤5:将步骤4所述的RNA精英交叉操作和遗传进化的变异操作结合到共生生物搜索算法中,形成RNA交叉操作共生生物算法;
步骤6:将在采样时间即采样次数kn与采样周期Ts乘积内温室温度控制系统误差e的积分式、温室实际温度y大于设定温度r时温室温度控制系统误差eσ的积分式的加权和作为RNA交叉操作共生生物算法寻优的目标函数,目标函数值的计算公式为:
其中:e(k)为第k次采样得到的温室温度控制系统误差e,eσ(k)的计算公式为:
使用步骤5所述的RNA交叉操作共生生物算法进行PID控制器参数寻优,将目标函数值最小的个体所代表的解作为温室温度PID控制器的参数值,完成PID控制器的参数整定;
所述RNA交叉操作共生生物算法的步骤为:
步骤6.1:设定RNA交叉操作共生生物算法的初始参数:种群数Size、参数个数n、个体编码长度L、最大进化代数Gmax;
设定终止规则为:算法进化代数达到最大进化代数Gmax;
步骤6.2:对比例系数KP、积分系数KI、微分系数KD在给定的范围内进行初始化,产生数量为Size,维数为n的候选解,作为RNA交叉操作共生生物算法的初始种群;
步骤6.3:种群中个体三个维度的数值分别作为PID控制器的比例系数KP、积分系数KI、微分系数KD,用于温室温度PID控制,将采样时间内温室温度控制系统误差的积分式、温室实际温度大于设定温度时温室温度控制系统误差的积分式的加权和作为RNA交叉操作共生生物算法寻优的目标函数fitness,以目标函数值作为比较种群中每个个体适应度的标准,目标函数值越小则适应度越高;
步骤6.4:将种群中所有个体按照适应度排列,适应度较高的一半个体记为中性个体En,适应度较低的一半个体记为有害个体Ed,适应度最高的个体记为最优个体Eb;
步骤6.5:对种群中所有个体进行如下操作:对于选定个体Xi,再随机选择种群中的另一个体Xj,若两者均为中性个体En则进行步骤4所述的RNA精英交叉操作,否则进行共生生物互利阶段搜索,每次得到两个更新个体Xinew、Xjnew;计算更新个体的目标函数值,与个体原有目标函数值进行比较,对任一更新个体Xinew或Xjnew,若目标函数值减小,则保留该更新个体,舍去原有个体,否则保留原有个体,舍去该更新个体;
共生生物互利阶段搜索的计算公式为:
Xinew=Xi+rand(0,1)×(Xbest-Mutual_Vector×BF1)
Xjnew=Xj+rand(0,1)×(Xbest-Mutual_Vector×BF2)
其中BF1、BF2为获益因子,随机取1或2;rand(0,1)表示维数为3,取值范围为(0,1)的随机数组;
步骤6.6:对种群中所有个体进行共生生物共栖阶段搜索:对于选定个体Xi,随机选择种群中的另一个体Xj进行共生生物共栖阶段搜索,每次得到一个更新个体Xinew;计算更新个体的目标函数值,与个体原有目标函数值进行比较,若目标函数值减小,则保留更新个体Xinew,舍去原有个体Xi;否则保留原有个体Xi,舍去更新个体Xinew;
共生生物共栖阶段搜索的计算公式为:
Xinew=Xi+rand(-1,1)×(Xbest-Xj)
其中rand(-1,1)表示维数为3,取值范围为(-1,1)的随机数组;
步骤6.7:对种群中所有个体进行寄生阶段搜索:对于选定个体Xi,再随机选择种群中的另一个体Xj作为寄主,若个体Xi是中性个体En,则进行变异寄生阶段搜索,否则进行共生生物寄生阶段搜索,每次得到一个寄生个体Xp;计算寄生个体的目标函数值,与寄主的目标函数值进行比较,若寄生个体的目标函数值小于寄主,则舍去寄主Xj,保留原有个体Xi和寄生个体Xp,否则舍去寄生个体Xp,保留原有个体Xi和寄主Xj;
共生生物寄生阶段搜索中寄生个体Xp的计算公式为:
Xp=rand(0,1)×(UB-LB)+LB
其中UB、LB分别为搜索空间的上界和下界;rand(0,1)表示维数为3,取值范围为(0,1)的随机数组;
变异寄生阶段搜索的具体步骤为:
对Xi各个维度的数值进行RNA编码,每个维度数值均由字符集{0,1,2,3}编码为一个长度为L的RNA序列,得到编码后的RNA个体Ci;在Ci上随机选取个数为0.1×L的碱基,对其逐个进行变异得到Cinew;对Cinew进行解码,得到寄生个体Xp;
假设选中的单个碱基为pos,其变异的计算公式为:
pos'=3-pos
其中pos'为变异后的单个碱基;
步骤6.8:若当前进化代数满足终止规则,则将最优解的各维度数值作为PID控制器的参数,否则返回步骤6.3进行迭代;
步骤7:将参数整定后的PID控制器用于温室系统的温度控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010653092.9/1.html,转载请声明来源钻瓜专利网。