模糊控制规则优化方法研究
1引言2规则后件优化
在窑炉的温度控制中,被控对象具有变量多、非线性和强
模糊控制技术自1965年由美国L ・A ・扎德(Zadeh )教授首次提出以来,以其特有的优越性受到人们的广泛重视,已发展成为实现智能控制的方法之一。模糊控制系统性能很大程度上取决于模糊控制规则的优劣,合理地选择模糊控制规则集是模糊控制器在设计中的重要问题。很多情况下是根据专家经验来确定,但专家经验并不是总能得到,并且对于同一问题,从不同的专家那里得到的经验也不尽相同,甚至有相反的情况。因此,如何对已获取的规则进行优化,使其具有较好的一致性,一直以来成为重要的研究课题之一。遗传算法与其他优化方法相比,其主要特点在于它不需要求导或其他辅助计算,只需给出影响搜索的目标函数和相应的遗传算子[1],它以种群的方式组织搜索,因而可以同时搜索解空间的多个区域,并相互交流信息,这种内在的并行性,使得它以较少的计算获得较大的收益,在函数数值优化,组合优化等诸多领域已得到了成功地应用。模糊控制规则的优化本质上属于组合优化问题,即寻求输入输出模糊变量的最佳组合。在T. Pal 等人提出的方法中,用户可通过对性能的衡量来选择规则的条数[2],由于模糊控制对象往往是高度的非线性和强耦合性,难以保证其所得规则的完整性。
耦合等特点,难以建立精确数学模型,然而用模糊控制方法可以不必建立精确数学模型。在精度要求不是很高的情况下,可以采用二维模糊控制,即误差(e )和误差变化量(ec ),每个{负大,输入量有7个语言值,即:负中,负小,零,正小,正中,{NB ,正大},一般用英文字头缩写为:NM ,NS ,O ,PS ,PM ,PB },代表输入变量的高低变化。一个输出变量u (控制量),有8个{负大,语言值,即:负中,负小,负零,正零,正小,正中,正大},{NB ,英文字头缩写为:NM ,NS ,NO ,PO ,PS ,PM ,PB }。这样,其规则的组合为7×7×8=392条。在以往许多通过训练数据建模的方法中,往往出现规则前件相同,而后件相矛盾的情况,即出现规则的不一致性。为了保证其所得规则的完整性和一致性,采用遗传算法对规则的后件进行优化。
2.1目标函数
目标函数采用ITAE 积分性能指标[2]
,
,
它可以综合评价控制系统的响应时间,超调量等动态和静态性能。式中的|e(
-2917-
1+
(t+
J=J式中数
T 。
=
=
+
ec
u e
故上式中被积函T 一般很小,
(J ITAE )=
2.2初始种群
为了保证初始种群对整个输入空间具有较高的覆盖度,
确定优化时初始种群的个体所包括的规则条数就为49条,这对应49条是两输入的语言值按照上述顺序的完全排列组合。两输入变量的每一种组合所形成的规则的前件,其相应的后件控制量也只有一个,以此来保证其一致性。这样,问题就转化为对控制量的优化,通过优化可以得到一个控制量的规则表。另外,初始种群的质量和数量对遗传算法计算的复杂性和能否快速收敛都有很大的影响,由于完全没有专家经验,吸取截断选择法的部分思想,对种群进行初始筛选:
(1)随机抽取
个个体按适应度
进行排序。
(3)去掉适应度差的验研究发现:一般
减
取20~50之间的整数较好。
。这里的种群大小取法可根据具体问题来定。经实确定了初始种群后,要对种群中的个体进行选择,然后再进行交叉、变异等操作。选择运算使用比例选择算子,即通过适应度函数求得适配值,进而求得每个个体的复制概率,复制概率与每代种群所包含的个体总数的乘积为该个体在下一代中要复制的个数。复制概率大的在下一代中将有较多的子孙,相反则会被淘汰[5]。
体的染色体编码为:
个体1:[***********]……111个体2:[***********]……010
如果确定交叉点的位置为
单点交叉的方法为:
设交叉点的位置为
,例如,如有以下所示的两个父个
2.3编码方法
因为二进制编码具有搜索能力强,编码和解码比较简单,
开始
交叉和变异也易于实现的优点,所以采用二进制编码方法。将输出语言变量的变量值{NB ,NM ,NS ,NO ,PO ,PS ,PM ,PB }依次编码为000,001,010,011,100,101,110,111,如表1所示的49条规则的编码依次排列组成一条染色体:[***********]一条染色体包括100111111……[**************]。这样,
对于目前计算机硬件的条件来说,导致的搜49×3=147个基因,
索空间并不是很大。在解码时,由于在MATLAB 仿真中模糊控制规则表的代码是从1开始的,所以可将得到的最优个体的染色体编码在解码后得到的0到7的整数分别加1,得到数值为1到8的49条规则的输出变量的代码表。
在遗传操作的过程,交叉操作是新个体产生的主要方法,它决定了遗传算法的全局收敛能力,变异算子则决定了遗传算法的局部收敛能力。为了减少对优良个体的破坏,在每一代遗传操作后,采取以下措施:将最优个体作为该代种群的最后一个个体;采用单点交叉的方法;减小变异的概率。因为变异很容易使模糊规则集产生很大的变化,比如:000代表NB ,如果首位变异为1即变异后为100,代表PO ,则控制量就由NB 变为PO 。
图2
算法流程
-2918
-
看作是1×n 的矩阵(n 为染色体中所包含的基因的个数) 。MAT-提供标准函数库,从而使LAB 语言具有强大的矩阵运算功能,
编程变得快捷,代码简练。算法流程如图2所示。部分代码如下:(1,k )e=y-R; (e-e1)de=/T;
(1,k )为输入,%e 为误差,R y 为输出%de 为误差变化
(e )采样时间;itae=k*T*abs*T+itae;%T :k*T为第k 个采样点所在的时间;itae 即为所求的ITAE 性能指标的值(1,k )itae =tie;(rand (1,21))E=round; 编码的解码for i=2:1:7
%从第2个起计算编码的解码
for k=i*3
((k-2)(k-1)(k )f k )=E*2^2+E*2^1+E*2^0+1;%由于产生的是0到7而规则代码为1-8所以要加1
]; (k )Rcode=[Rcode,f end end code=Rcode;ranseti=E;
%以下算出规则中第2至7行的代码for m=2:1:7
(rand (1,21))E=round; for i=2:1:7;for k=i*3
((k-2)(k-1)(k )f k )=E*2^2+E*2^1+E*2^0+1;%因产生的
是0到7而规则代码为1-8所以要加1
]; (k )Rcode=[Rcode,f end end
ranseti=[ranseti,E ]; 后遗传用
code=[code
Rcode ]; end
code;
(1)(code )y =computeitae; %计算第一个个体的ITAE ,compu-(code )是计算ITAE 的函数,teitae code 为输入的7×7的规则矩阵。
(1+y(1))fit=1;
%计算适应度
图4
模糊控制、PID 控制阶跃响应曲线比较
rsa=ranseti;%将染色体的编码保存以后进行遗传操作
%编码后形成染色体留作以%将7个连接
=
×
×
ΪÎó²î£»ÎªÎó²î±ä»¯Á¿£»»ý·ÖÏîÓÃÓÚÏû³ý¿ØÖÆϵ
ͳµÄÎÈ̬Îó²î¡£²ÉÓÃÌÝÐκÍÈý½ÇÐεÄÁ¥Êôº¯Êý¡£ÊäÈë±äÁ¿µÄÂÛÓòΪ[-6, 6],输出变量的隶属函数形状与输入变量的相同,论域为[-3, 3]。并将模糊控制方法与传统的PID 方法进行比较,
取
仿真结果如图4所示。=5,=0.1,=0.001,
%第2行的二进制编码
%第1个代码
(1)(2)(3)Rcode=E*2^2+E*2^1+E*2^0+1;
%从第2个起计算编码
=60,k
(k =0.8,
为量化因子,k
可直接用于仿真实验。通常的工业过程可以等效成二阶系统加上一些典型的非线性环节,如死区、饱和、纯延迟等[6]。这里
20
设系统为=2
+4.4
%算出了规则中第1行的7个代码
%将7个连接
%规则中第1行的二进制编码
%第1行的第1个
(1)(2)(3)Rcode=E*2^2+E*2^1+E*2^0+1;
图3
经过30
代后产生的适应度值变化曲线
从上图可以看出,本算法的收敛速度还是比较快的,在经过7代之后适应度值就基本接近于收敛值,在12代以后略有上升,在22代后基本趋于稳定。这样运行几次后,从中可以获得比较理想的模糊控制规则。将所得的模糊控制规则用于设计模糊控制器,规则代码形成的矩阵为:
4仿真结果
仿真时遗传算子的参数值分别为:
=20;S =80;
5结论
P (n 为随机产生的种群大小;=0.001
为参加遗传操作的种群大小;P
为变异率),经过30代后,适应度函数的变化曲线分别
由仿真的结果可以看出,与PID 控制性能比较,利用优化过的规则来设计的模糊控制器,虽然响应曲线上升时间比PID 控制稍慢,但超调量较小,调整时间较短,总体性能好于
PID
(下转第2948页)
如图3所示。
-2919-
络异常检测模型检测性能的网络会话属性组合模式。实验结果表明,优化后的会话记录属性组合模式确实能够有效提高网络异常检测模型对已知和未知攻击的检测能力。采用基本属性、全部属性和任意部分属性训练检测模型,并不能获得最佳的检测效果,且检测能力与会话属性的数量也无直接关系,而取决于会话属性的优化组合。
[3]Matthew V Mahoney, Philip K Chan. An Analysis of the 1999DARPA/lincolnlaboratories evaluation data for network anom-aly detection [C ]. Berlin Germany:Springer, Proceedings of the 6th International Symposium on Recent Advances in Intrusion Detection, Lecture Notes in Computer Science, 2003. 220-237.
[4]
参考文献:
[1]
Juan M Estévez-Tapiador,Pedro García-Teodoro, JesúsE Díaz-V erdejo. Measuring normality in HTTP traffic for anomaly-ba-sed intrusion detection [J ].International Journal of Computer and Telecommunications Networking, 2004, 45(2) :175-193. [2]
Wenke Lee, Sal Stolfo. A Framework for constructing feature
and models for intrusion detection systems [J ]. ACM Transac-tions on Information and System Security, 2000, 3(4) :227-261.
[6][5]
Lee W, Fan W, Miller M, et al. Toward cost-sensitive modeling for intrusion detection and response [J ]. Journal of Computer Se-curity, 2002, 10(1) :5-22.
Richard Lippmann, Joshua W Haines, David J Fried, et al. The 1999DARPA off-line intrusion detection evaluation [J ]. The In-ternational Journal of Computer and Telecommunications Net-working, 2000, 34(4) :579-595.
William W Cohen. Fast effective rule induction [C ]. California USA:Proceedings of the Twelfth International Conference on Machine Learning, 1995. 115-123.
(上接第2919页)
控制。控制规则可以满足完整性、一致性的要求。在不改变其它遗传参数的条件下,利用初始筛选种群的方法是较有效的,在不致过早收敛到次优解的前提下,加快算法的收敛速度。对于常用的是二维模糊控制器,在没有专家经验的情况下,可用此方法来实现模糊控制规则的生成及优化。其缺点之以是优化程序运行时间比较长;另外,算法还需进行理论上的严格证明。
[5][6][7][4][3]
Genetic Algorithms [J ]. International Journal of Intelligent Sys-tems, 2003, (18) :569-592.
马长华. 基于遗传算法的模糊控制规则的优化研究[J ]. 江苏大
学学报(自然科学版) , 2002,24(4) :69-73.
李士勇. 模糊控制・神经控制和智能控制论[M ]. 哈尔滨:哈尔滨工业大学出版社, 1996.
刘金琨. 先进PID 控制MATLAB 仿真(第2版) [M ]. 北京:电子工业出版社, 2004.
楼顺天. 基于MA TLAB 的系统分析与设计[M ]. 西安:西安电子科技大学出版社, 2001.
陈晓龙, 钟碧良. 基于遗传算法分阶段快速寻优[J ]. 计算机工程与设计, 2004,25(8) :1261-1263.
参考文献:
[1][2]
王小波, 曹立明. 遗传算法——理论、应用与软件实现[M ]. 西安:西安交通大学出版社, 2002
Pal T, Pal N.R, Pal M. Learning Fuzzy Rules for Controllers with
(上接第2944页)
fwrite (&bitmapInfoHeader,1, sizeof (BITMAPINFOHEA-DER ) ,filePtr ) ; //写位图信息头
fwrite (imageData,1,bitmapInfoHeader.biSizeImage,filePtr ) ; //写图像数据
需要注意的是位图信息颜色表结构中的颜色顺序是而OpenGL 绘制的图像中的颜色顺序是RGB ,因此在将BGR ,
图像数据写入位图文件之前,必须把颜色数据从RGB 格式转换成BGR 格式。
[2][3][4][5][6]
状态;将显示的图像保存为位图文件,这样可以方便地查看图像。
参考文献:
[1]
龚涛, 杨海西, 邓康. 连铸过程中结晶器内流体流动和温度传输
的数值模拟[J ]. 计算物理, 2001,17(6) :690-694.
石教英, 蔡文立. 科学计算可视化算法与系统[M ]. 北京:科学出版社, 1996.
李颖. OpenGL 函数与范例解析手册[M ]. 北京:国防工业出版社, 2002.
李颖, 李文海. 现代通信技术[M ]. 北京:人民邮电出版社, 2002. 和平鸽工作室.OpenGL 高级编程与可视化系统开发[M ]. 北京:中国水利水电出版社, 2003.
张曙, 程兴亚, 胡晓峰.OpenGL 图像的一种直接输出方法[J ]. 电脑开发与应用, 2001,14(1) :14-15.
5结论
本文在连铸模拟中采用计算机图形技术把数值数据进行可视化处理,使人们能直接看到场的分布图像,从图像上进行分析判断来获得有用结论。利用非均匀量化技术将温度值对应到颜色值,完成了温度场的可视化;借助于一定的算法将流场数据转换为矢量图的形式,直观地表现出流场的
-2948-