遗传算法优化模糊控制规则
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遗传算法优化模糊控制规则
声明:本博客只是为⽅便交流学习, 不得⽤于任何商业⽤途。
内容涉及知识产权,版权所有,抄袭翻版必究。
⽬录:
遗传算法优化模糊控制规则
1、 系统辨识
2、 模糊控制器
3、 遗传算法
4、 代码实现
本⽂将系统且贯彻分析实现模糊智能控制算法,分别对⽐分析模糊控制(fuzzy),模糊PID控制(fuzzy_PID),遗传优化模糊控制(GA_fuzzy_PID)三种控制器的性能指标。
采⽤阶跃信号作为输⼊信号,设计伺服跟踪控制系统,观察响应曲线的变化。
0.系统辨识
采⽤理论建模的⽅式,状态⽅程难以确定,⽽且受控对象的结构不⼀定可知,这就很难建⽴受控对象的数学模型。
采⽤系统辨识的⽅法,从实测的输⼊和输出数据⽤数值分析的⽅法来构建数学模型。
系统辨识⾸先由经验法,确定系统的阶次。
根据控制系统中实测的输⼊输出数据, 采⽤最⼤信息准则, 确定模型中的未知参数量。
在采集的样本数据较少,采⽤输⼊的范围内进⾏插值取样的⽅法,⽣成更多观测样本数据。
将⽣成的可观测数据,加载⾄训练模型,可以修正模型的估计参数。
在实际⼯程中,由于受控对象的输出值可能受扰动信号影响,因此,从样本数据中随机分层抽样并添加⾼斯⽩噪声信号。
采⽤连续系统数学模型直接系统辨识,会存在参数求解不唯⼀的现象。
将对离散系统进⾏辨识,并通过离散模型连续化的⽅法,求解连续模型的函数。
采⽤的单输⼊单输出的离散线性系统如下:
式中, 控制系统的输⼊ ,控制系统输出为 ,为系统模型阶次, 是待辨识的系统参数,系统噪声为 。
其中,当 时, 假设均为0。
将上述公式改写成矩阵运算的形式,如下。
采⽤最⼩⼆乘⽅法可以实现对未知参数 进⾏⽆偏估计。
在系统辨识前,应该合理的选择系统的阶次,故⽂中引⼊⾚池信息量准则
(Akaike information criterion)。
该准则是衡量统计模型拟合优良性的⼀种标准,是建⽴在熵的概念基础上,可以权衡所估计模型的复杂度和模型拟合数据的优良性。
⾚池信息准则(AIC)是寻找既能较好的解释数据⼜能包含最少参数的模型,其表达式如下。
式中,表⽰模型的阶次, 为样本的数量, 表⽰给定参数 的条件下,第个样本残差值。
参数越少,AIC值越⼩,模型越好。
样本数越多,AIC值越⼩,模型越好。
测试不同的参数组合下的AIC值,其结果如下表。
y (k )=a y (k −11)+....+a y (k −n n )+
b u (k )+0b u (k −11)+....+b u (k −m m )+ϵ(k )
u (k )y (k )m ,n a ,.....,a ,b ,....b 1m 0n ϵ(k )t <=0y (k ),u (k )θk M ε(i ,θ)θi
选取好受控对象的结构参数,进⾏对输⼊数据进⾏辨识,得到离散型传递函数表达式。
将得到的离散化的系统模型进⾏连续化处理,可以得到连续模型传递函数。
⽤原始观测数据来对⽐分析系统模型拟合情况,曲线1为模型计算出系统的输出信号,曲线2为系统的实测信号。
两者⽐较吻合,即系统辨识出模型较为理想。
1.模糊控制器
模糊控制算法属于⼀种智能控制算法,具有模糊性,⾮定量。
“模糊”是间接地反映定义变量属于某个集合的程度。
模糊控制采⽤模糊数学理论来模仿⼈脑的模糊推理和决策过程,然后给出准确控制量。
模糊控制不需要建⽴被控对象的数学模型,⽽且具有⼀定的鲁棒性,也可以解决⾮线性系统动态控制问题。
模糊控制的核⼼部分是模糊控制器,⽽模糊控制器主要有三部分组成,分别是模糊化接⼝,模糊推理,解模糊接⼝。
模糊控制器采⽤⼆输⼊多输出的形式。
两个输⼊变量为偏差值∆I和变化率∆Ic ,将∆I和∆Ic转换为模糊⼦集,⽤作模糊推理输⼊信号。
模糊控制系统采⽤
Mamdani的推理机制,将推理结果进⾏质⼼法反模糊化处理,并作⽤于执⾏单元上。
模糊规则的设定不仅需要资深的专家经验,⽽且还需要不断⼤量实验操作,不断调节更新模糊规则库。
⽂中更好的分析响应曲线控制效果的好坏,假定被控对象传递函数形式如下:
设置好仿真步长T,即系统抽样时间。
采⽤双线性离散逼近法进⾏离散化处理,在MATLAB中SIMLINK⼯具箱组件模糊控制所需的模块如下:
传感器传来的定值定量信号,不能直接作⽤于模糊控制器,需要模糊化接⼝进⾏处理。
模糊控制器接收的信号为模糊集合,需要进⾏模糊化处理。
⽂中将系统的误差值∆I,误差的变化率∆Ic和控制量输出U分别划分为七个模糊等级,分别为正⼤(PB)、正中(PM)、正⼩(PS)、零(ZO)、负⼩(NS)、负中(NM)、负⼤(NB)。
在模糊控制系统在线运⾏时,模糊规则以控制查询表的形式运算。
为快速查询输⼊输出关系,通常将输⼊模糊语⾔变量的论域定义有限整数的离散论域。
⽂中将误差∆I和误差变化率∆Ic的论域设置为[-3,3],系统输出(U)的论域设置为[-2,2]。
在量化因⼦(Ke)和⽐例因⼦(Ku)的作⽤下,可以实现连续域和模糊离散论域的转换。
,为量化因⼦,为⽐例因⼦。
式中, 分别为输⼊输出模糊集合离散论域最⼤值,误差输⼊量实测的范围为[ ] ,控制量的连续取值为[ ] 。
⾪属度函数反映了当前变量属于某个集合的程度,⾪属函数由⼀组模糊集值组成。
采⽤⾪属度最⼤化的原则,确定当前实测数据的模糊⼦集。
系统中PB使⽤S型⾪属度,⽽NB使⽤Z型⾪属度,其余变量的⾪属度函数均为三⾓形,如下表所⽰。
模糊推理以控制查询表的形式给出,⽽表的设计⼤多依据⼈为经验。
模糊推理为Mamdani推理,其机制可以表⽰IF…is…and…is…
THEN…is…。
输⼊变量∆I、∆Ic分别均有7个模糊集合,这样就形成了49条模糊规则的总集合。
模糊推理的结果为模糊集合,并不能直接作⽤于执⾏单元,需要采⽤⽐例因⼦,将模糊集合转化为实际的输出值。
式中,控制量的连续取值为[ ] ,⽐例因⼦ , U为模糊推理的结果, 为实际的输出值。
选⽤⾯积重⼼法的⽅法进⾏解模糊,此外还有取最⼩值法、中位数法等。
模糊控制规则表经验选取,控制效果如下:
从上图仿真结果分析,采⽤模糊控制算法,输出信号能⼤体上跟随输⼊信号,没有震荡现象,具有良好的稳定性。
但没有达到最佳的理想效果,系统存在⼀定的稳态误差。
2. 模糊PID 控制器
G (s )=s +γs +constant
2αs +constant
K e K c K u m ,l e ,e l h u ,u l h u ,u l h K u u
根据误差(e)、误差变化率(ec)作为输⼊,采⽤模糊推理进⾏PID参数在线整定,推理出PID控制器的参数修正量分别为 、 、。
系统结构如下。
同样根据经验法,选择模糊控制规则,分别对⽐PID控制、模糊控制、模糊PID控制的优劣性,模糊PID控制从整体上表现较好。
3.遗传优化模糊控制规则
上述模糊PID控制具有响应时间快,消除稳态偏差,但仍然具有⼀定的超调量,故采⽤经验法选取模糊控制规则具有⼀定的局限性。
遗传算法属于智能优化算法,它采纳⾃然进化的模型,属于全局优化搜索的⽅法。
遗传算法(GA)是借鉴⽣物进化的理论,是群体寻优的算法。
随机多个产⽣实际问题的可⾏解(种群),对种群进⾏编码操作,将可⾏解转化染⾊体的形式。
根据⽬标函数构造适值函数,对种群进⾏评估,遗传运算(交叉、变异、反转),选择,经多代更替,获得适应度较好的个体,作为全局最优解。
将遗传算法与模糊控制器相结合,可
以对模糊控制规则进⾏全局寻优,可以摆脱模糊控制的规则不受⼈为经验的限制。
遗传算法流程如下:
(1) 编码
编码是将实际问题的可⾏解空间转化为染⾊体的搜索空间。
常见的编码⽅式主要有⼆进制编码,实数编码和整数编码。
⼆进制编码具有较强的搜索能⼒,染⾊体的长度取决于编码的精度。
由于模糊控制规则变量较多,染⾊体的基因数量较多,采⽤整数编码,易于编码。
模糊控制器是采⽤两输⼊输出的形式,每个输⼊输出均与7个模糊⼦集。
⽤整数7、6、5、4、3、2、1分别代替正⼤(PB) 、正中(PM)、正⼩(PS) 、零(ZO) 、负⼩(NS) 、负中(NM) 、负⼤(NB)模糊⼦集。
模糊控制器性能的直接影响因素为模糊⼦集⾪属度函数覆盖的论域⾯积,⽽三⾓形、⾼斯型、钟形等模糊⾪属度函数形状对其影响却不是很⼤。
为了便于优化⾪属度函数,采⽤等腰三⾓形函数形状。
假定顶点坐标不变,将三⾓底边宽度的⼀半(记做L)作为待优化的参数⾪属度函数的待优化参数为21个,也就是各⾃的底边宽度,它们的编码表⽰为{2222222 2222222 2222222}。
这三组 {2222222}分别代表输⼊量∆I,∆Ic和控制量U的7个模糊⼦集的⾪属函数底边宽度的⼀半,即 L 的编码。
同时对量化因⼦(Ke、Kc)和⽐例因⼦(Ku)进⾏编码。
将模糊控制规则转化⼆位矩阵,将⼆维矩阵拉直排列,就形成染⾊体个体,染⾊体的基因长度为7×7+3×7+3=73 。
(2) 适值函数标定
⽬标函数选⽤ITAE性能指标,它可以综合评价控制系统的快速性,准确性和稳定性等静态和动态性能。
将⽬标函数进⾏转化,进⽽优化⽬标函数的最⼤值,其转化关系如下。
选择压⼒是种群中个体被选中的概率之差,由于 取值范围在[0,1]之间,所以各个染⾊体被选中的概率的差别很⼩,即选择压⼒⼩。
选择压⼒越⼩,遗传算法选优的功能将被弱化,所以需要对⽬标函数进⾏标定。
⽂章选⽤线性标定法,其标定公式如下所⽰。
式中, 为适值函数, 为⽬标函数, 为⽬标函数的最⼩值。
为染⾊体。
确定系数。
本⽂将 设置为较⼩数,⽬的是种群最差的个体也可能会被选中,增加种群的多样性。
在遗传算法搜索过程中,希望初始迭代过程中,选择压⼒⼩,可以实现解空间的⼴域搜索。
经多次迭代后,逐步的倾向于局部搜索,可⾏解逐渐收敛,因此选择压⼒应当选⼤。
故对值进⾏改进,其结果如下。
式中, 为第 次迭代取值。
随着迭代的进⾏, 越来越接近于0,说明当前种群中最差的染⾊体被选中的概率越来越⼩。
ΔK p ΔK i ΔK d J (ITAE )=t ∣∣e (t )∣∣dt
∫1∞
f (x )F (x )f (x )f (x )min x a ,b ζζζk k ζζk
(3) 选择、交叉、变异
⽂中在赌轮盘法的基础上进⾏改进,采⽤精英策略,从旧种群中选出适应度较⾼的少数个体,直接复制到⼦代。
这样可以保证⼦代的个体永远⽐⽗代的个体好。
交叉操作采⽤凸组合交叉,可以有效的避免有简单操作产⽣不可⾏解。
亲代样本:
交叉后:
将交叉后的进⾏round取整数,保证交叉操作,产⽣可⾏解。
交叉概率初始值。
迭代初始时,为更好的保证种群的多样性,交叉率设置尽可能⼤,有利于找到全局最优解。
随着迭代的进⾏,希望种群能快速收敛于某⼀个体,则交叉率设置有所减⼩。
固定变异率 =0.05,当满⾜变异条件时,随机对第i个体,第j个基因进⾏变异,其操作运算如下。
(4) 逆转
逆转操作为了改善遗传算法的局部搜索能⼒,对每条染⾊体随机的选择两点基因位置,将两基因点之间的序列进⾏逆转操作,并计算逆转后的染⾊体适值。
如果适值有所增加,则逆转后的染⾊体将取代原有染⾊体。
否则,逆转失败,不做处理。
(5) 迭代停⽌准则
如果种群达到最⼤迭代次数之前,有可能出现收敛,此时应提前结束迭代。
其判定准则为:分别计算当前种群的最⼤和最⼩误差值,如果两者之差⼩于值,则可以提前终⽌迭代。
4.结果分析
P 1:X =(x ,x ,........x )
12n P 2:Y =(y ,y ,........y )
12n Z 1=αX +(1−α)Y
Z 2=αY +(1−α)X
pc i ε
迭代过程中⽬标函数ITAE随迭代次数更替如下。
采⽤遗传优化算法,模糊控制最优规则如下表所⽰。
采⽤遗传优化算法,优化的模糊⼦集⾪属度函数如图所⽰。
对遗传算法优化模糊规则和⼈为经验选取模糊规则进⾏⽐对,其结果如下。
可以看出遗传优化的模糊PID有明显的性能改善。
总结: 本⼈是Double control 专业,双⼀流A+,985⾼校。
本博客主要介绍控制领域中常见的问题,内容涉及知识产权,版权所有,抄袭必究。