摘要
本文提出了一种具有基于多样性的变异因子的自适应遗传算法(AGADM),它混合了具有自适应交叉率和变异率的遗传因子。通过均匀有限马尔科夫链,本文证明了在有最优解的情况下,AGADM和具有基于多样性的变异因子的遗传算法(GADM)能够收敛到全局最优解,研究了具有自适应交叉率和变异率的自适应遗传算法的收敛性,并且就上述几种算法在解决单峰函数和多峰函数最优化问题的结果进行了比较。结果表明:对于多峰函数,AGADM的平均收敛代数是900,少于具有自适应概率的自适应遗传算法和具有基于多样性的自适应遗传算法。AGADM能够避免早熟现象的发生,能够平衡早熟发生和收敛速度的矛盾。
1 引言
众所周知,遗传算法的好坏依赖于所采用的遗传因子,改善遗传因子的自适应性是提高遗传算法性能的有效途径,例如:取得更好的最优解,提高收敛速度等。因此,一些研究者尝试根据解的情况自适应的调整遗传因子[1-3]。同时,早熟是遗传算法的一个主要问题,自适应的遗传算法容易导致早熟的发生[4]。为了克服早熟,我们引入多样性的概念。多样性对遗传算法的性能有很多的影响,特别在避免早熟和陷入局部最优解方面。一些研究者[5-8]用种群的多样性来控制进化算法的搜索方向。
通过混合Srnivas提出的自适应交叉和变异因子和基于多样性的变异因子,本文提出了一种具有基于多样性的变异因子的自适应遗传算法(AGADM),并且用均匀有限马尔科夫链证明了,当存在最优解的情况下,AGADM和具有基于多样性的变异因子的遗传算法(GADM)。但是具有自适应交叉率和变异率的自适应遗传算法(AGA)不总式收敛于全局最优解。最后,比较了AGA,GADM和AGADM的性能。
2主要内容
遗传算法过去常被用来解决静态优化问题。假设种群中有N个个体(候选解),我们用固定长度为l的二进制串来表示每个个体:
,(
=0,1,j=1,2,...,l,i=1,2,…,N),适应度值表示为{
,i=1,2,…,N}.
定义 1 设
是一个随机变量的序列,它代表状态为i的种群进化到第t代时,种群中个体的最佳适应度值,
是全局最优解。假如
,那么认为遗传算法能够收敛到全局最优解。
在执行遗传算法时,假如种群中的最佳适应度值在
代中没有改进,就认为算法结束,这常被用来当做算法收敛的判断条件。收敛速度是遗传算法达到收敛条件之前运行的代数(收敛代数)。本文中,在15维函数的优化问题中设
=300,在2维函数的优化问题中设
=50.
定义 2 对于方阵A=
- 假如
0,
,那么A为非负矩阵(A
0); - 假如
>0,
,那么A为正定矩阵。
对于非负矩阵A:
- 假如存在k>0使得
>0,那么A为原始矩阵; - 假如
=1,
,那么称A为随机矩阵。
假如一个随机矩阵的每一列至少有一个正值,那么我们称随机矩阵式列允许的。
引理 1[9] 设C,M和S式随机矩阵,其中M是正定矩阵,S是列允许的,那么CMS
式正定矩阵。
定理 1 设C,M,
和S式随机矩阵,假如M是正定矩阵,S是列允许的,
式
对角线正定矩阵,那么P=CM
S是正定矩阵。
证明:M=
,
=
,
=M
=
.
因为M是正定矩阵,
那么有
(其中
,
是正定矩阵)
因为随机矩阵的乘积还是随机矩阵。
根据引理1知,P(P=CM
S=C
S)是正定矩阵。
定理得证。
3 改进的自适应遗传算法AGADM
具有基于多样性的变异因子和自适应的交叉概率和变异概率的改进遗传算法(算法1)可以描述为:
开始
选择初始种群;
计算每个个体的适应度值;
执行选择;
Do
{
执行具有自适应概率的交叉因子;
执行基于多样性的变异因子;
执行具有自适应概率的变异因子;
计算每个个体的适应度值;
执行选择;
}unitil 某个终止条件满足
本文以后称算法1为具有基于多样性的变异因子的自适应遗传算法。在算法1中,“执行基于多样性的变异因子”(算法2)可以描述为:
开始
计算种群的多样性 d;
If(d<
)执行变异率为
的变异因子;
Else if(d<
) 执行变异率为
的变异因子;
Else 执行变异率为
的变异因子。
结束
算法2中,0<
<
<1,0<
<
<1,
>0且无限接近于0.
算法1中,种群中个体的自适应交叉率和变异率记为
和
,它们由当前种群中个体的适应度决定。Srinivas提出的计算
和
的方法如下:
(2)
(3)
其中0<
<
≤1,0<
<
<1,
和
为种群的最大适应度值和平均适应度值,
是执行交叉的两个个体i和j中适应度值的较大值,f是执行变异的个体i的适应度值。
ZONG et al[2,3]通过修改公式(2)和(3)改进了Srinvas的自适应遗传算法。他们提出的算法虽然可以提高收敛速度,但是还存在一些缺陷:
- 因为最佳个体的交叉率很小(几乎接近于0),所以好的基因不能被下一代继承
- 算法经常导致早熟[4]
为了使好的基因能一更大的概率被遗传到下一代,我们用(4)式代替(2)
(4)
其中
式种群中的最小适应度值,
是进行交叉的两个个体i和j中的较小适应度值。
公式(4)的作用是增加种群中较好个体的交叉概率。假如交叉的两个个体较好,那么它们交叉后产生更好子代的概率就更大。假如交叉的两个个体中,一个较好,另一个不好,那么不好的个体就有更多的机会获得好的个体中的基因,这样就可以提高种群的平均适应度值。算法的收敛速度就会提高。
为了克服早熟现象,本文采用了一种多样性度量方法。对于N维数值问题,种群的多样性定义为:
(5)
其中
是搜索空间对角线的长度(
),
是第i个个体的第j个基因位的值,
种群中个体在第j个基因位的平均值, N和l分别为种群大小和个体的长度。
4 AGADM 和GADM的马尔可夫链分析
具有基于多样性的变异因子的自适应遗传算法(AGADM)和具有基于多样性的变异因子的遗传算法(GADM)可以用马尔科夫链来表示,其有限的状态空间为
,基数为
.AGADM和GADM中交叉概率和变异概率用矩阵P表示,P能够分解为几个随机矩阵的乘积,在AGADM中
,在GADM中
,其中C,M,
和S分别代表由具有自适应概率的交叉因子引起的过渡矩阵,由具有基于多样性的变异因子引起的过渡矩阵,由具有自适应概率的变异因子引起的过渡矩阵和由选择操作引起的过渡矩阵。因此,我们能得到下面的结果。
定理2 设基于多样性的变异因子的变异概率为
,自适应变异概率为
,自适应交叉概率为
,假如0<
<1,0
<1,
[0,1],那么采取比例选择策略的AGADM的过渡矩阵是正定矩阵。
证明:把交叉操作看做是定义域和值域都是
的随机函数,即定义域中的元素按概率值映射到某一值域元素,那么矩阵C是随机矩阵。
同理,可以得到矩阵M ,
和S也是随机矩阵。
又因为变异操作分别作用域种群中的每一个基因位,经过基于多样性的变异因子的作用,个体由状态i变为j的概率可由下式计算:
其中
为表示个体状态i和状态j的二进制串的海明距离。
再经过自适应变异因子的变异操作,矩阵
的对角线元素为
因此,矩阵M是正定矩阵,
是对角线正定矩阵,S是列允许的,由引理1知,
式正定矩阵。
因此,每个原始矩阵式
证毕
推论1 AGADM是一个遍历的马尔可夫链,即对于链的状态存在一个唯一的有限的分布,不论这个分布的初始值是什么,它都会以不为0的概率被转变为另一个状态。
如果用M代替参考文献[10]中定理6和7的M
,那么用定理6和7的证明可以推导出下面的结论。
定理 3 假如AGADM存在在选择之前或者之后寻找最优解的时间阀值,那么它能够收敛到全局最优解。
假如所有的自适应概率K7=0,K5=0 和K6=0,AGADM将变成GADM。从定理3我们能推导出如下结论。
推论2 假如GADM存在在选择之前或者之后寻找最优解的时间阀值,那么它能够收敛到全局最优解。
正如参考文献[11]中所示,尽管Srinivas提出的AGA是一个马尔可夫链,但是假如最优解不存在的话它不能收敛到全局最优解。但是假如存在最优解,但是寻找时间会超过设定的选择之前或者之后寻找最优解的时间阀值,那么从有限马尔可夫链定理不能推导出AGA能够收敛到全局最优解的结论,这是因为AGA的过渡矩阵不是正定矩阵(最优个体的变异率等于0)。
5 试验
为了比较算法AGADM,AGA和GADM,选取一个单峰函数和两个具有可变复杂性的多峰函数。
Quadric 是连续单峰函数,具有全局最小值0,f(0,0,…0)=0.
Ackley 是多峰函数,全局最大值为0,f(0,0,…0)=0.
Rastrigin是离散的多峰函数,有全局最大值0,f(0,0,…0)=0.
表一是上述各函数的参数
算法参数设置如下:
=
=0.8,
=0.01,
=0.25,
=0.60,
=0.03,
=0.00001,
对于AGA:
=
=0.5,对于AGADM:
=
=0.3.
5.1 GADM的不足
具有基于多样性的变异因子的遗传算法(GADM)(算法3)描述如下:
开始
生成初始种群;
计算每个个体的适应度值;
执行选择;
Do{
执行具有固定交叉率的交叉因子;
执行基于多样性的变异因子(参看算法2);
计算每个个体的适应度值;
执行选择操作;
}until 满足某个结束条件
在算法3中,交叉概率固定不变
=0.8,变异概率同算法2.尽管算法3能够保持种群多样性,避免早熟,但是仍有一些不足。
当种群的多样性越小时,算法越容易在局部搜索,收敛速度越快。相反,当种群的多样性越大时,算法在全局搜索的可能性越大,收敛速度越慢。为了证明以上结论,对二维单峰函数Quatric分别使用变异概率
=0.06不变的遗传算法和具有基于多样性的变异因子的遗传算法。种群大小为30.图1为算法结束时种群中的个体。图1(a)为具有固定变异概率的遗传算法的结果,图2(b)为具有基于多样性的变异因子的遗传算法的结果。从图2(b)中可以看到,最终种群中的个体比较分散,相反,图1(a)中的个体聚集在最大值附近。试验中,具有固定变异概率的遗传算法和具有基于多样性的变异因子的遗传算法的平均收敛代数分别为97.3和112.4.
图1(a)
图1(b)
对于多峰函数,具有固定变异率的遗传算法经常陷于局部最优解。增加种群多样性能使算法避免早熟。和具有固定变异率的遗传算法相比,AGA也会陷于局部最优解,但是它具有较快的收敛速度。
5.2 结果比较
表 2是每个算法的平均收敛代数(当找到一个使目标函数值小于表1列出的阀值的个体时就认为算法结束)。每个算法运行50次。从表2可以反映出三种算法对于不同函数的鲁棒性和收敛速度。
从表2可以看到,AGADM的平均收敛代数明显少于其它两种算法,因此AGADM优于其它两种算法。从表3可以看到,AGADM能得到更好的适应度值(当适应度值在300代没有改进时就认为AGADM结束)。表3表示最好适应度值的平均值,表4表示平均结束代数,其中设每个函数使用15维的搜索空间,每个算法运行20次。由于AGADM和GADM能保持种群的多样性,因此它们能避免陷入局部最优解,而且由于AGADM具有自适应的交叉率和变异率,因此比GADM有更快的收敛速度。总之,AGADM明显由于其它两种算法。
6 总结
- AGA由较快的收敛速度,但是经常陷于局部最优解;GADM能有效的克服早熟现象。但是收敛速度较慢,通过结合AGA和GADM的优点,本文提出了一种新的进化算法AGADM.它实现了微观和宏观上的自适应变异率。
- 分析了AGA,GADM和AGADM的全局收敛性。运用均匀有限马尔科夫链,假如AGADM和GADM就有最优解,那它们一定能收敛到全局最优解。
- 比较了AGA,GADM和AGADM用于单峰和多峰函数优化问题时的结果。模拟试验表明,AGADM较其它两种算法具有更快的收敛速度。
- 将基于多样性的变异因子和其它遗传因子混合,能提高算法的收敛速度,能平衡收敛速度和早熟现象的矛盾,能改得到更好解。
参考文献
[1] Srinivas M, Patnai L M. Adaptive probabilities of crossove and mutation in genetic algorithms [J]. IEEE Trans Syst,Man, and Cybern, 1994, 24(4): 656 -666.
[2] ZONG Jing-qun. A kind of mixture adaptive genetic al-gorithm and analysis of property [J]. Systems Engineer-ing: Theory & Practice, 2001 21(4): 14 -18(in Chi-nese).
[3] ZHOU Ming, SUN Shu-dong.Genetic Algorithms: Theory and Applications [M]. Beijing: National Defence Industry Press, 1999.(in Chinese).
[4] Rudolph G. Self-adaptive mutations may lead to premature convergence [J]. IEEE Transactions on Evolutionary Com-putation, 1998, 5(4): 410 -414.
5] Burke E, Gustafson S, Kendall G. A survey and analysis of diversity measures in genetic programming [A]. The Genetic and Evolutionary Computation Conference 2002[C]. New York, 2001.
[6] Burke E, Gustafson S, Kendall G, et al. Advanced popula-tion diversity measures in genetic programming [A]. The Parallel Problem Solving from Nature Conference, 7th Inter-national Conference[C]. Granada, 2002.
[7] Shimodaira H. A diversity control oriented genetic algo-rithm (DCGA): development and experimental result [A]. The Genetic and Evolutionary Computation Confer-ence [C]. Florida, 1999.
[8] Bosman P A N, Thierens D. The balance between proximity and diversity in multi-objective evolutionary algorithms [J].IEEE Transactions on Evolutionary Computation, 2003, 7(2): 174 -188.
[9] Iosifescu M. Finite Markov Processes and their Applica-tions [M]. Chichester: Wiley, 1980.
[10] Rudolph G. Convergence properties of canonical genetic algorithms [J]. IEEE Transactions on Neural Net-works, 1994, 5(1): 96 -101.
[11] HE Lin, WANG Ke-jun, LI Guo-bin, et al. The dis-cussion about the paper“the analysis of global conver-gence and computational efficiency for genetic algo-rithm”[J]. Control Theory and Applications, 2001, 18(1): 141- 144.(in Chinese)