2010年第5期杨玺基于遗传算法的模糊控制器规则优化·43·
度;Psi为第i个个体被选择的概率。在用遗传算法优化种群的过程中,随着群体的进化会产生越来越多的优良个体,但由于遗传操作的随机性,很可能使当前群体中适应度最高的个体遭到破坏。一般认为,带有选择、交叉、变异算子的标准遗传算法是不收敛的,而在标准遗传算法基础上具有最优保留特性的改进遗传算法则全局收敛。通过最优保留策略将保留进化群体中所发现的最优个体。交叉算子是指两个相互配对的染色体按某种方法相互交换其部分基因,从而形成两个新的个体。交叉算子是遗传算法区别于其它进化方法的重要特征,它在遗传算法中起着关键作用,是产生新个体的主要方法,它决定了遗传算法的全局搜索能力。对交叉算子的设计是根据规则染色体的编码特点,通过调用随机数发生函数在控制基因对应的编码位上产生一个交叉位置,在规则基因的每条规则表示位上分别产生一个交叉位置,并将交叉位置分别存入一个特定的数组中,然后根据这些随机产生的交叉位置将配对的染色体进行交叉操作(同时进行变异操作),具体的基因交叉方法为交叉点前的部分染色体只实现变异操作,交叉点后的部分染色体互相交换并实现变异操
作。
父个体A:0011001010111010…0100父个体B:1100101001000011…0011
随机产生交叉的位置为4,则交叉后的子个体为:
子个体A1
:0011101001000011…0011子个体B1:1100001010111010…0100
变异算子是指将染色体串中某些基因座上的基因用该基因座的其它等位基因代替,从而形成新的个体。因此变异算子就是把基因值取反,即1变为0,0变为1。
个体X0011101001000011…0011
变异基因
个体X1
0010101101000011…0011
通过变异操作提高了遗传算法的局部搜索能力,同时维持了群体的多样性,防止出现未成熟收敛的现象。
在遗传算法优化模糊控制规则的过程中,存
在着局部搜索能力差和未成熟收敛的问题,即规则染色体优化几代之后,其当前最优个体的适应度就会基本保持不变,直到优化过程结束。为了提高遗传算法的收敛性能,采用自适应的交叉、变异算子。采用的方法是:在遗传算法优化控制规则中,比较本次及相连的前两次的最优个体的适应度,如果它们相等,则在保留当前最优个体的前提下,将交叉概率减去a,变异概率加上a,即pc=pc-a,pm=pm+a。通过这种适当增大变异概率而减小交叉概率的方法,可以提高遗传算法的局部收敛能力,避免出现未成熟收敛的现象。
3实验研究
被控对象的数学模型为二阶传递函数:
G(s)=200
s+50s
输入为阶跃信号,采样时间为1ms。如图2所示为适应度函数优化过程图,如图3所示为模糊控制器优化结果。
1度
0.8应适大0.6最0.40.2
010
2030
4050
遗传代数
图2适应度函数优化过程
1.5)
出(蓝输1
红),入(0.5输0
020
4060
80100
时间(周期)
图3模糊控制器优化结果
从图2中可以看出,当遗传代数在35代左右时,适应度函数达到最大并趋于稳定。给定输入为阶跃信号时,输出响应达到了控制要求,并优化出