摘 要:鉴于一般智能控制理论的教科书对于遗传算法的介绍
关键词:寻优搜索;遗传算法;变异;交叉;应用
Easy genet algorithm and its applications to control syst
HUANG TuanHua,HU JianJun,LIU YaLi,CHEN MingLang
(Institute of Modern Physics,Chinese Academy of Sciences,Gansu L
Abstract:Owing to most of the textbooks of in
Key words:optimal searching;genetic algorithm;mutation;crossove
0概述
上世纪60年代,密执根大学的一篇博士论文首次提及遗传算法。1975年John Holland正式创立遗传算法。1985年开始召开遗传算法的专门国际会议。此后遗传算法飞速
大自然不断地给人类以启示。物种进化原理告诉我们:一个生物群体,通过杂交或变异,产
现将几种寻优方法比较评述如下:
(1)解析法(如:牛顿法、龙格库塔法、梯度法等《数值计算》方法)方法成熟,有成套的
(2)穷举法按照预先设定的试验点一一普查;但是试验点太多,工作量太大。
(3)优选法又叫“0.618法”(黄金分割法),它可以大踏步地缩小试验区域。但是它只能
(4)随机枚举法试验点的设定如“枚举法”一样,不过用伪随机函数rand()来产生要抽查
(5)遗传算法这是文中将要介绍的。它是多点同时搜索,把有序搜索与随机搜索结合起来
遗传算法广泛地应用于函数寻优、静态优化、优化调度、优化控制、专家系统、模式识别、
1遗传算法
1.1设定
(1)基因:根据被优化的参数,设计每个个体的“基因”结点;
1.2变异算法
在需要变异的数目中随机产生i,也可以按某种规则依次产生i;在结点数m内随机
假设第i个个体的基因为:
![]()
设只有m1=5,称为“单基困变异”,则使第5个(设从左起数)基因“1-0”跳变,得到新个
![]()
设m1=15、m2=4、mj=7,称为“多基因变异”,则使第15、4、7个(设从左起数)基因“1
![]()
1.3交叉算法
在交叉运算之前,先两两配对。配对的方式,最好是随机配对;但是考虑到不重复
例如,将要进行交叉的个体的基因以及与之配对的个体的基因为:
![]()
设随机产生m1=15、m2=4、mj=7,则将第m1、m2、mj个的基因交换,那么这2个新
![]()
如果基因交换的规则改为,只随机产生一个m=5,并且规定m以后基因全部交换,那
![]()
如果改规定m以前基因全部交换,那么这2个新个体为:
![]()
如果改规定m以后7个基因交换,那么这2个新个体为:
![]()
如果改规定m以前4个基因交换,那么这2个新个体为:
![]()
总之,设计者可以灵活规定遗传算法。虽然从物种进化的自然事实而言,“变
2应用于系统辨识
例如,设一阶线性系统的z传递函数G(z)=
![]()
…,u(20)y(20);求系数a,b,c
解:根据精确度要求,确定一个系数占用5 bits,3个系数为15 bits如下:

所以每个个体的基因结点数为m=15,于是把群体中个体数定为n=3

设复制率0.1,淘汰率0.2,变异率0.4,交叉率0.5。再设n表示个体数,i表示第几个
编辑思路如下:
(1)给每个个体的系数数组赋以初值;
(2)计算每个个体的评价指标E(i);
(3)根据评价指标排序,去掉最差的个体;
(4)根据变异算法产生新个体;
(5)根据交叉算法产生新个体;
(6)保留最佳个体,重复(2)~(5)操作,直至找到最佳系数数组。
这里介绍的是“离线辨识”。如果要编写“在线辨识”程序,以便插入自适应控制运行程序
3应用于控制系统

设控制系统如图1,已知预定值r(k)和被控对象G(z),控制器D(z)的形式设计
![]()
就可以算出一系列y(k
[e2(k)+pu2(k)]最小,p是权因子。(系数精确度要求为0
根据系数精确度要求确定每个系数要占用10 bits,5个系数共需要50 bits;就是
由此可见,遗传算法是一种寻优方法。被寻优的参数是什么领域的,就叫做把遗传算法应用
参考文献
[1]孙增圻.智能控制理论与技术[M].北京:清华大学出版社,1997.
[2]王耀南.智能控制系统——模糊逻辑、专家系统、神经网络控制[M].长沙
[3]蔡自兴.智能控制——基础与应用[M].北京:国防工业出版社,1998.
[4]John Yen,Reza Langari.Fuzzy Logic[M].Preutice Hall,美国texas
[5]S.G.Tzafestas.t.Computing in Systems and Control Techno