基于遗传算法的模糊控制器规则优化*

2010-09-22 06:55杨玺
电气传动自动化 2010年5期
关键词:模糊控制适应度算子

杨玺

(兰州交通大学自动化与电气工程学院,甘肃兰州730070)

1 引言

随着模糊控制在工业控制领域的广泛应用,模糊控制器的优化也越来越引起广泛关注。模糊控制系统性能很大程度上取决于模糊控制规则的优劣,合理地选择模糊控制规则集是模糊控制器在设计中的重要问题[1、2]。文献[3]提出了一种基于SAGACIA的混合随机优化方法优化模糊控制规则,该优化方法给出了影响搜索的目标函数来组织搜索,不需要编码解码。但是该优化方法存在盲目性搜索,会接受一些使性能变差的解的个体。对于常用的二维模糊控制器,优化算法的运行时间比较长。文献[4]介绍了遗传算法在模糊控制优化中实现的原理和方法,并结合气调温度模糊控制规则进行编码。本文提出了一种用遗传算法来优化模糊控制规则表,在遗传算法的编码方式上采用四位二进制编码,具体给出了遗传算法设计中的目标函数和遗传算子,并进行仿真实验优化出模糊控制规则表,为模糊控制器的设计提供了一个更加方便、有效的方法。仿真结果表明,系统的输出响应较好地达到控制要求,并证明该方法的可行性和有效性。

2 模糊控制规则表优化

2.1 模糊控制

目前工业过程控制中常用的模糊控制器属于双输入单输出的结构模式,其中e、ec和u分别为输入、输出变量[5]。考虑到输入、输出变量的正、负性,同时既要使制定的控制规则灵活、细致,又要兼顾其简单和易行的要求,将误差E、误差变化EC和控制量 U的模糊集论域设为 {-4,-3,-2,-1,0,1,2,3,4},共 9 档。在模糊控制规则表的优化中,规则的输入为误差(E)和误差变化率(EC),输出为控制量(U)。规则表的优化就是对于每种误差、误差变化率量化值组合的控制量的优化,实际上就是优化输出控制量的量化值。模糊控制规则表如表1所示。

表1 模糊控制规则表

2.2 遗传算法

遗传算法简称 GA(Genetic Algorithms),是1975年由美国的Holland提出的一种模拟生物进化过程的最优化方法。它将“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编码串群体中,根据所选择的适配值函数并通过遗传中的复制、交叉及变异对各个体进行筛选,使适应度高的个体被保留下来,组成新的群体,新的群体既继承了上一代的信息,又优于上一代[6]。这样周而复始,群体中的各个体适应度不断提高,直至满足一定的要求。其算法简单,可并行处理,能得到全局最优解。遗传算法流程如图1所示。

图1 遗传算法流程图

2.3 优化方法

遗传算法优化模糊控制规则要解决的首要问题就是规则编码问题,采用四位二进制编码方法,即将控制规则表的输出语言变量的量化值-4、-3、-2、-1、0、1、2、3、4 分别编码成 1100、1011、1010、1001、0000、0001、0010、0011、0100;其中第一位表示符号位,0代表正,1代表负,后三位表示十进制数到二进制数的转换,为一一对应关系。如表1所示的81条规则的编码依次为0100 0011 0011 0010 0010 0011…1010 1011 1011 1100。将这些编码串联成一条染色体。该染色体作为遗传算法的操作对象。通过遗传操作获得最优的“染色体”,将其复原成为原参数空间的值,这就是解码操作。解码与编码是互逆操作。然后是确定遗传参数,遗传参数的选择对遗传算法的运行性能有很大影响,主要包括:变异概率、交叉概率、最大世代数、染色体长度、种群大小。最后是适应度函数的确定,遗传算法所使用的适应度是指在优化计算群体中各个个体有可能达到或接近于最优解的优良程度。群体的进化就是以群体中各个个体的适应度为依据,通过反复过程,不断地寻找出适应度较大的个体,最终得到问题的最优解或次优解。采用下式作为参数选取的最优指标[7],即:

式中:e(t)为系统误差;u(t)为控制器输出;tu为上升时间;ω1,ω2,ω3为权值。

取适应度函数为:

然而生物的进化是通过遗传算子操作实现的,因此遗传算子在遗传算法中起着极其重要的作用。根据优化设计要求,设计模糊控制规则优化过程中的各个遗传算子,包括:选择算子、交叉算子和变异算子。选择算子是遗传算法用来对群体中的个体进行优胜劣汰的操作,在此选用的选择算子是适应度比例选择法。适应度比例选择法就是各个个体被选择的概率与其适应度成正比,即:

其中:N为群体规模;fi为群体中第i个个体的适应度;Psi为第i个个体被选择的概率。在用遗传算法优化种群的过程中,随着群体的进化会产生越来越多的优良个体,但由于遗传操作的随机性,很可能使当前群体中适应度最高的个体遭到破坏。一般认为,带有选择、交叉、变异算子的标准遗传算法是不收敛的,而在标准遗传算法基础上具有最优保留特性的改进遗传算法则全局收敛。通过最优保留策略将保留进化群体中所发现的最优个体。交叉算子是指两个相互配对的染色体按某种方法相互交换其部分基因,从而形成两个新的个体。交叉算子是遗传算法区别于其它进化方法的重要特征,它在遗传算法中起着关键作用,是产生新个体的主要方法,它决定了遗传算法的全局搜索能力。对交叉算子的设计是根据规则染色体的编码特点,通过调用随机数发生函数在控制基因对应的编码位上产生一个交叉位置,在规则基因的每条规则表示位上分别产生一个交叉位置,并将交叉位置分别存入一个特定的数组中,然后根据这些随机产生的交叉位置将配对的染色体进行交叉操作(同时进行变异操作),具体的基因交叉方法为交叉点前的部分染色体只实现变异操作,交叉点后的部分染色体互相交换并实现变异操作。

父个体A:00110010 10111010…0100

父个体B:11001010 01000011…0011

随机产生交叉的位置为4,则交叉后的子个体为:

子个体A1:00111010 01000011…0011

子个体B1:11000010 10111010…0100

变异算子是指将染色体串中某些基因座上的基因用该基因座的其它等位基因代替,从而形成新的个体。因此变异算子就是把基因值取反,即1变为0,0变为1。

通过变异操作提高了遗传算法的局部搜索能力,同时维持了群体的多样性,防止出现未成熟收敛的现象。

在遗传算法优化模糊控制规则的过程中,存在着局部搜索能力差和未成熟收敛的问题,即规则染色体优化几代之后,其当前最优个体的适应度就会基本保持不变,直到优化过程结束。为了提高遗传算法的收敛性能,采用自适应的交叉、变异算子。采用的方法是:在遗传算法优化控制规则中,比较本次及相连的前两次的最优个体的适应度,如果它们相等,则在保留当前最优个体的前提下,将交叉概率减去a,变异概率加上a,即pc=pca,pm=pm+a。通过这种适当增大变异概率而减小交叉概率的方法,可以提高遗传算法的局部收敛能力,避免出现未成熟收敛的现象。

3 实验研究

被控对象的数学模型为二阶传递函数:

输入为阶跃信号,采样时间为1ms。如图2所示为适应度函数优化过程图,如图3所示为模糊控制器优化结果。

图2 适应度函数优化过程

图3 模糊控制器优化结果

从图2中可以看出,当遗传代数在35代左右时,适应度函数达到最大并趋于稳定。给定输入为阶跃信号时,输出响应达到了控制要求,并优化出比较理想的模糊控制规则表。优化后的模糊控制规则表如表2所示。

表2 优化后的模糊控制规则表

4 结论

从以上仿真实验的结果中可以看出,在模糊控制中采用遗传算法优化模糊控制规则表,可得到最优的规则表,使建立的规则表更为科学,输出响应较好的跟踪输入信号。证明了该优化方法是可行的,并达到了较好的控制效果。

[1] 张景元.模糊控制规则优化方法研究[J] .计算机工程与设计,2005,26(11):2917-2919.

[2] PalT,PalN R.Learning Fuzzy Rules for Controller with Genetic Algorithms[J] .International Journal of Intelligent Systems,2003,(18):569-592.

[3] 曹秀爽,李 兵.基于SAGACIA优化方法的模糊控制规则优化及其MATLAB实现[J] .河北理工学院学报,2007,29(1):72-74.

[4] 周小英等.遗传算法在模糊控制规则优化中的实现[J] .电子科技大学学报,2000,29(2):162-165.

[5] 董海鹰.智能控制理论及应用[M] .北京:中国铁道出版社,2006.

[6] 王小平,曹立明等.遗传算法理论、应用与软件实现[M] .西安:安交通大学出版社,2002.

[7] 刘金锟.先进PID控制-Matlab仿真[M] .北京:电子工业出版社,2004.

猜你喜欢
模糊控制适应度算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
改进的自适应复制、交叉和突变遗传算法
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
一种基于改进适应度的多机器人协作策略
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
基于模糊控制的恒压供水系统的研究