1 引言
模糊控制(Fuzzy Control)是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它从行为上模仿人的模糊推理和决策过程[1]。模糊控制器隶属度函数与控制规则的确定是控制器的设计关键,通常需要根据有经验的操作者或专家的经验制定出相应的控制规则和隶属函数。要使模糊控制器有良好的控制效果,必须使模糊控制器实现规则自调整,具有较完整的控制规则,这个过程实际上是个寻优过程[2]。由于模糊控制系统本身不具备自学习能力,所以开发具有自学习能力的模糊控制系统已经成为目前研究的一个重要方向[3]。
遗传算法是一种高效、并行、全局搜索的方法[4],它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优的方案。利用遗传算法这一特点,将模糊控制与遗传算法相结合是一个很值得研究的课题,而且已经取得了不少的成果。例如Karr最早研究了模糊控制器中隶属函数的遗传优化问题,他利用SGA对论域空间的语言变量模糊集进行优化,构成自适应控制系统,并运用到PH值系统控制问题上[5]。张毅研究了用GA对模糊变量的各个子集的隶属函数进行优化,给出了二级倒立摆系统的设计例子和实际控制曲线[6]。BIJCKLEY指出可以先确定隶属度函数的形状,如三角形、高等,然后对这些形状的参数进行优化,也可以取任意形状的隶属度函数进行优化[7]。顾海昌等人提出了一种智能控制算法,采用分层多规则集结构,通过遗传算法搜索出控制过程中控制效果最好的模糊规则表,并将之应用[8]。但这种方法只能在预先设定好的几张规则表内搜索,不能优化获得更好的规则表。
本文通过遗传算法对模糊控制器进行优化,并对遗传算法做进一步的改进后,用于模糊控制规则和隶属度函数的优化设计,最后通过仿真研究表明本文提出的基于改进遗传算法的模糊控制优化方法是很有效的。
2 遗传算法的改进
2.1 对象参数编码方式
在应用遗传算法优化对象参数时,首先需要对参数进行编码。由于采用传统的二进制编码会使染色体长度过长,算法收敛速度慢,而且操作时要不断的编码和解码,即增加了计算量与计算时间,又降低了控制精度,因此本文采用十进制编码方式来实现隶属函数和模糊控制规则的优化。十进制编码方式直接使用问题变量进行编码,染色体X的形式为:
1 2 3 4 5 下页