一种有效的实数编码遗传算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-
16
ቤተ መጻሕፍቲ ባይዱ
x
2 i
+
xi)
,
|
x i | ≤10 ,
n
= 10
n
∑ 3) F3 =
i
x
2 i
,
|
xi | ≤100 , i
= 1 , …, n , n =
i =1
20 ( Ellipsoidal f unction)
n
i
∑ ∑ 4) F4 = ( x j) 2 ,| x i | ≤100 , i = 1 , …, n , n
2 新的实数编码演化算法
2. 1 子空间正态分布杂交算子
实参数演化算法与其说是时间搜索法还不如说是
空间搜索法. UNDX 在两父体中心的周围由新坐标系
下的高斯变异产生后代 ,SPX 则由多父体组成的多面
体产生后代. 从杂交算子要求后代具有丰富的多样性
方面来看 ,UNDX 和 SPX 都有所不足 : UNDX 所产生
i =1
σζ取为 c/ n , c 为常数 ,根据实验 c 在区间 [1 , 1. 3 ]中
取值效果较好.
上述杂交算子与 UNDX 相比较 ,前者在多父体所
张成的子空间附近取点 ,后者在多父体中心附近取点 ,
前者产生的后代更具多样性和广泛性 ;新算子与仅仅
使用子空间搜索的 SPX 相比 , 同样更具多样性和广泛
正交化方法求得) . UNDX 中参数一般取为[9 ] :σξ = 1/ 2 ,ση = 0. 35/
n . μ个父体的 UNDX 算子是类似的 ,见文献[10 ]. SPX 算子使用 n + 1 个父体向量 x i ( i = 0 , … , n)
产生后代 , 这 n + 1 个向量形成 Rn 中的一个单形. 设
一种有效的实数编码遗传算法Ξ
周育人1 , 李元香1 , 王 勇2
(1. 武汉大学 计算机学院 , 湖北 武汉 430072 ; 2. 武汉化工学院 自动化系 ,湖北 武汉 430073)
摘 要 : 提出实数编码遗传算法的一个新重组算子 ———子空间正态分布算子 ,它在多父体张成的子空间中任取一 点 ,然后进行高斯变异产生后代. 与已有的一些重组算子相比 ,新算子产生的后代在保持向量均值的前提下具有更多的 广泛性和多样性 ,数值试验显示它在求解高维优化问题和复杂多极值优化问题方面有优势.
关 键 词 : 演化计算 ; 实数编码 ; 优化 ; 子空间正态分布算子 中图分类号 : TP 301. 6 文献标识码 :A
0 引 言
演化算法 ( Evolutionary Algorit hms , EAs) ,包括演 化策略 ( Evolution St rategies , ES) 、演化规划 ( Evolu2 tionary Programming , EP) 以及遗传算法 ( Genetic Al2 gorit hms , GAs) ,都成功地应用于函数优化问题. 演化 策略和演化规划针对连续变量使用浮点编码 ,变异算 子作为产生后代的首要算子 ;遗传算法则主要使用二 进制编码 ,其产生后代的首要算子为杂交算子. 然而 , 由于认识到二进制编码求解函数优化问题效果不理 想 ,遗传算法也采用实数编码 ,称之为实数编码遗传算 法 ( Real2Coded Genetic Algorit hms , RC GA) . 现在广泛 使用的实参数演化算法可分成 3 类 :1) 自适应演化策 略[1 ] ;2) 微分演化算法[2 ] ;3) 实数编码遗传算法[3 ] . 当 然 ,这种划分算不上严格 ,3 类方法之间有其公共性和 相似性.
线 (称为初始搜索线) 的距离 ;
4) 由下式产生一个后代
n- 1
∑ xc = x p + ξd + D ηiei , i =1
ξ~ N (0 ,σξ2) , ηi ~ N (0 ,ση2)
这里 n 是自变量维数 , ei ( i = 1 , …, n - 1) 为初始搜索 线的正交子空间的一组规范正交基 (由 Gram2Schmidt
出 ,现在已被广泛使用的模型[9] ,它较好的均衡了
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 1 期 周育人 等 :一种有效的实数编码遗传算法
3 数值试验
选取 4 个常见的测试函数来检验新算子. 求下列函数的最小值 :
1)
F1
=
sin2 x 2 + y2 (1 + 0. 001 ( x2 +
0. 5 y2) ) 2
-
0. 5 ,
x,
y
∈[
-
10 ,10 ] ( Schaffer f unction)
n
∑ 2)
F2 =
1 n
i =1
(
x
4 i
41
图 3 子空间正态分布杂交
算法的探索 ( Exploration) 和开发 ( Exploitation) 能力. 它将重组算子和选择算子以下列方式交叉进行 :
1) 从第 t 代群体 P ( t) 中随机地选取 μ个父体 ; 2) 对 μ个父体使用重组算子产生λ个后代 ; 3) 从群体中随机选取两个父体 ; 在所选的两个父 体中 ,一个由 λ个后代中最好的个体替换掉 , 另一个 由剩下的 λ- 1 个后代使用赌轮选择算子替换掉. 在数值实验中 , 使用下述稍加改进后的 M GG 模 型 ,与原始 M GG 模型的相比性能有所高 , 算法描述如 下: 1) 初始化 ,群体规模为 N (设为偶数) ,置 t = 0 ; 2) 从第 t 代群体 P ( t) 中随机地选取 μ个父体 ; 3) 对 μ个父体使用子空间正态分布杂交算子产 生λ个后代 ; 4) 从 μ个父体和λ个后代组成的集合中选取两 个个体 ,其中一个为 (μ+λ) 个个体中适应值最好的个 体 ,另一个在剩下的 (μ+ λ- 1) 个个体中由二进制联 赛产生 ; 5) 重复步骤 2) 、3) 和 4) , 直到选取 N 个后代 , 由 这 N 个后代这将群体 P ( t) 中的个体整体替换 掉 ; 6) 若满足停机条件则停机 , 否则 t = t + 1 , 转 2) .
n
∑ x 3 3 = x 3 + r ζiei ,ζi ~ N (0 ,σζ2) i =1
这里 ei ( i = 1 , …, n) 为 n 维的单位坐标向量 , r 为μ
μ
∑ 个父体到中心 o 的距离的平均值 , 即 r = ‖x i -
i =1
μ
∑ o ‖/ μ,其中
o
=
1 μ
x i , ‖·‖表示欧几里德距离;
面性能占优. 如图 1 ,3 父体的 UNDX 由以下步骤产生后代 : 1) 从群体中随机地选取 3 个父体 x 1 、x 2 、x 3 ; 2) 设 x 1 和 x 2 两父体之差为 d = x 1 - x 2 , x 1 和
x 2 两父体的中点为 x p = ( x 1 + x 2) / 2 ; 3) 设 D 为父体 x3 到连接两父体 x1 和 x2 的直
Ξ 收稿日期 : 2002207216 基金项目 :国家自然科学基金资助项目 (69703011) 作者简介 :周育人 (19652) ,男 ,副教授 ,现从事演化计算 、并行计算研究.
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
的后代局限在父体中心的周围 ; SPX 所产生的多面体
搜索空间不够广泛 ,若多父体向量线性相关则 SPX 的
不足更加突出. 以下提出的子空间正态分布杂交算子
可以在一定程度上克服上述不足 ,使搜索空间更广泛 ,
更具多样性. 子空间正态分布杂交算子在多父体张成
的子空间中任取一点 ,然后进行高斯变异产生后代 ,步
目前为止已有多种实数编码算子 ,主要有混和杂 交算子 (Blend Crossover , BL X) 、模拟二进制杂交算子 ( Simulated Binary Crossover , SBX) [4 ] 、单峰正态分布 杂交 算 子 ( Unimodal Normal Dist ribution Crossover , UNDX) [5 ] 和 单 形 杂 交 算 子 ( Simplex Crossover , SPX) [6 ]等等. 其中 UNDX 和 SPX 是现今使用较广 、效 果较好的两个算子 ,其他一些重组算子如算术杂交
1) 在重组算子运算前后 ,群体中个体向量的均值 应保持不变 ;
2) 在应用重组算子后 ,个体间距离的方差应增 加.
因为重组算子没有使用个体适应值函数 ,所以应 保持个体向量均值不变 ,这便是性质 1) . 性质 2) 的理 由是由于选择算子有减少群体中个体距离方差的倾 向 ,为了保持群体的适当的多样性 ,重组算子应增加群 体个体距离的方差.
i =1 j =1
= 20 ( Schwefel f unction)
函数 F1 是许多抗早熟收敛算法都要为之一试的
函数 ,它只有一个全局最小点 (0 , 0) , 最小值为 - 1 , 它
在自变量范围[ - 10 ,10 ] ×[ - 10 ,10 ]内有无数个局部
极小值点 ,这些局部最小值点形成几个圆环包围惟一
本文提出一种新的实数编码方法 ———子空间正态 分布杂交算子 ,该方法以群体的部分个体所张成的子 空间为中心 ,对其中的点进行自适应高斯变异 ,产生新 的后代. 数值实验证实了新方法的可行性和有效性 ,其 性能优于已有的一些方法.
1 UND X 算子和 SPX 算子
什么样的实数编码重组算子是好的重组算子 ? 文 献[ 8 ]提出了重组算子应具备的两个性质 :
n
∑ o 为 n + 1 个父体向量的中心 ,即 o =
1 n + 1 i=0
xi
,将
单形沿 x i - o 方向以扩张比例ε向外扩张 , 得到一个
新单形 ,在新单形中随机地取一点即为单形杂交算子
所产生的后代. 如图 2 是 R2 中 3
图 1 UNDX
图 2 SPX
个父体 x 1 、x 2 、x 3 所产生的单形及扩张后所产生的新 单形.
骤如下 : 1) 从群体中随机选取 μ个父体 x i ( i = 1 , … ,μ) ; 2) 从 μ个父体所张成的子空间中随机地取一点
x 3 = k1 x 1 + …+ kμxμ ,其中 k1 + …+ kμ = 1 , 0 ≤ki ≤ 1 , i = 1 , …,μ;
3) 对 x 3 进行高斯变异 ,产生一个后代
性. 图 3 是 R2 中 3 个父体 x 1 、x 2 、x 3 的子空间正态分 布杂交算子示意图.
2. 2 演化算法模型
对于实数编码遗传算法 , 重组算子的设计是一个
重要方面 ,另外 ,群体替换模型的设计也在算法的性能
上发挥重要的作用. 最小代数代沟 ( Minimal Genera2
tion Gap , M GG) 模 型 是 一 个 首 先 由 Satoh 提
( Arit hmetic Crossover ) , 中 间 杂 交 ( Intermediate Crossover) ,扩展杂交 ( Extended Crossover) 以及郭涛算 法[7 ]等基本上类似于单形杂交. 从自适应的角度来 看 ,这些重组算子都具有天然的自适应特征 ,因为它们 利用多个父体的分布信息产生后代.
第 49 卷 第 1 期 武汉大学学报 (理学版) 2003 年 2 月 J . Wuhan Univ. (Nat . Sci. Ed. )
Vol149 No11 Feb. 2003 ,039~043
文章编号 :167128836 (2003) 0120039205
40
武汉大学学报 (理学版) 第 49 卷
UNDX 算子是一个有良好搜索能力的算子 ,它在
多父体张成的椭圆形区域内搜索 (图 1) . 文献[ 9 ]对采 用自适应变异的演化策略和采用 UNDX 杂交算子的 实数编码遗传算法进行了比较 ,结果显示 ,实数编码遗 传算法 UNDX 在求解高维和多极值函数优化问题方