一种改进的变种群规模遗传算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0 引 言
遗传算法 ( Genetic Algorit hms) [1] 是由 Holland 教授 在 20 世纪 60 年代提出的一种基于生物和进化机制的适合 于复杂系统优化计算的自适应概率优化算法 。由于其具 有简单通用 、鲁棒性强 、有向随机性以及易于得到全局最 优解的特点 ,使得它能够应用到那些难以用传统方法来进 行求解的复杂问题中[2] 。例如组合优化[3] 等 。但是标准遗 传算法本身存在几个突出的缺陷 (早收敛 、局部搜索效率 、 遗传算子的无方向性) 阻碍了遗传算法的推广和应用 。
第 32 卷 第 2 期 2009 年 2 月
一种改进的变种群规模遗传算法
汪 洋 陈 亮 汤 欢
(东华大学信息科学与技术学院 上海 201620 )
摘 要 : 针对标准遗传算法存在早收敛和进化后期搜索效率低下等缺点 ,在变种群规模遗传算法 ( GAVa PS) 基础上 , 提出了一种改进的变种群规模遗传算法 。一方面 ,修改了种群中个体“寿命”的计算方法 ,用个体寿命限制个体的生存 期 ,实现对种群数的调控 ;另一方面 ,通过改进遗传算子 ,解决了遗传算子的无向性问题和早收敛现象 ,同时提高了算 法的搜索效率 。实验数据表明 ,该算法具有比标准遗传算法更好的性能 。 关键词 : 遗传算法 ; 早收敛 ; 变种群规模 ; 遗传算子 中图分类号 : TP 311 文献标识码 : A
·9 ·
第 32 卷
电 子 测 量 技 术
1 变种群规模遗传算法( GAVa PS)
种群是 GA 进化过程的基础 , 种群性质变化决定了 GA 的搜索能力 , GA 的收敛性取决于种群的收敛性 。其 中种群规模和多样性是群体设计的基本内容 。
为了自适应地调节种群的规模 , GAVa PS 算法引入了 两个变量“代龄”和“寿命”“: 代龄”表示个体从出生到当前 存活的代数 “, 寿命”表示个体可存活的最大代数 。在进化 的每一代中 , 重组种群一次 , 包括添加新个体 , 淘汰旧个 体 ,对个体进行遗传算子操作 。GAVa PS 流程如下 :
的个体适应度值 。
从式 (2) 和式 (3) 可以看出 ,如果个体较差 (适应度值
小于平局适应度值) “, 寿命”越低 ,对其就给予较大的交叉
率和较小的补算率 ,如果个体较优 (适应度值大于平均适
应度值) “, 寿命”越高 ,则依据其“寿命”和“代龄”赋予此个
体相应的交叉概率和补算概率 —个体的“代龄”越接近其
×iter [ i ] , f ′>
f av g
(2)
pc_max , ot hers
pm =
p m_ min
+
( pm_max - pm- min ) li f eti me ( t , i)
×iter [ i ] , f
>
f avg
(3)
pm_min , ot hers 式中 : pc 表示交叉概率 , pc_min 和 pc_max 分别表示给定的最
正常发挥进化和重组效应 。传统的遗传算子包括选择 、交
叉和变异等算子 。其中选择算子的作用是减弱种群的多
样性 ,交叉算子的作用是保持种群的多样性不变 ,而变异 算子的作用是提高种群的多样性 。
标准遗传算法的收敛性主要取决于作为其核心操作
的交叉算子和变异算子 ,因为交叉算子提供了全局搜索能 力 ,而变异算子则提供了局部搜索能力 。据此 ,本文算法 采用仲兆满等人[7] 提出的用补算算子代替变异算子来提
“寿命”,个体的交叉率就越小 ,而补算率就越大 。这种交
叉概率和补算概率调节方法一方面 ,在进化初期 ,有较强
的全局搜索 。另一方面 ,在进化后期 ,较大的补算概率可
以保证种群的多样性 。此改进措施有助于找到全局最优
点 ,防止“早熟”现象出现 。
个体 i 的“寿命”li f eti me ( t , i) ,并加以修正如下 :
li f eti me[ t + 1 , i ] =
li f eti me[ t , i ] - αf it ness [ t , i ] - W orst Fit , f it ness [ t , i ] ≤ Av g Fit A v g Fit - W orst Fit
小交叉概率和最大交叉概率 , pm 表示补算概率 , pm_min 和 pm_max 分别表示给定的最小补算概率和最大补算概 率 , li f eti me ( t , i) 为 个 体 i 的“寿 命 ”, 由 式 ( 1 ) 计 算 求 得 ,
iter [ i ] 为个体 i 的“代龄”, f avg 表示种群平均适应度 , f ′表 示在要交叉的两个个体中较大的适应度值 , f 表示要补算
早熟现象是搜索算法不成功的主要原因 。它的形成 主要是由于遗传算子操作所导致 。一般来说 ,当具有高适 应度 的 个 体 主 导 整 个 种 群 时 , 容 易 引 起 早 熟 现 象[4] 。 Harik 和 Miller [5] 指出 :应用 GA 求解具体应用问题成功 的概率取决于选择与解题难度相适应的种群规模 。选择 较大数目的初始种群可以同时处理更多的解 ,保持种群多 样性也容易找到全局最优解 。但是种群数目过多会增大 计算时间 ,使进化过程变得异常缓慢 ;种群数目太小则会
1) 初始化种群 p (t) ,所有个体“代龄”为 0 ; 2) 遗传算子操作 ,评价目标函数 ; 3) 约束条件是否被满足 ,若满足就结束 ,输出最终结 果 ;否则继续下一步操作 ; 4) 个体“代龄”增加 1 ,即 t = t + 1 ; 5) 重组种群 p ( t) : ①以复制率 pn 复制当前种群 ; ②遗传算子 (选择 、交叉 、变异) 操作 ,评价目标函数 ; ③淘汰“死亡了”的个体 ; 6) 返回第 3) 步骤 。 GAVa PS 用“代龄”的概念代替了选择的概念 ,因此算 法中没有选择操作 , 选择是通过个体适应度计算个体的 “寿命”来保证的 。该算法比标准遗传算法的收敛性能好 。
从式2和式3可以看出如果个体较差适应度值小于平局适应度值寿命越低对其就给予较大的交叉率和较小的补算率如果个体较优适应度值大于平均适应度值寿命越高则依据其寿命和代龄赋予此个体相应的交叉概率和补算概率一个体的代龄越接近其寿命个体的交叉率就越小而补算率就越大
研究与设计
电 子 测 量 技 术 EL EC TRON IC M EASU R EM EN T TEC HNOL O GY
2 改进的变种群规模遗传算法
2. 1 个体“寿命”的计算 Arabas 在文献中提出了“寿命”的概念[6] ,并使用了 3
种方法计算种群中个体的“寿命”: 比例分配法 、线性分配 法和双线性分配法 。然而其种群中个体的“寿命”在个体
的出生后 ,一直保持不变 ,这不利于优秀的个体基因片段 遗传给后代 。因此本文采用双线性计算公式计算种群中
Abstract :On t he base of genetic algorit hms wit h varying pop ulatio n size , A Imp roved Genetic Algo rit hms wit h Varying Pop ulation Size ( IGAV PS) is p ropo sed to overcome p remat ure convergence and slow co nvergent speed in t he later evolution p rocess of standard genetic algorit hms : On one hand , by mending t he calculatio n of t he individual lifetimes , IGAV PS using co nt rol based o n lifetimes of t he chromo somes to realize pop ulation size adaptation ; On t he ot her hand , imp roving t he genetic operatio ns co uld solve t he p roblems of non2directio n of genetic operatio ns and p remat ure co nvergence , and also co uld imp rove efficiency of t he algorit hms. The experiment s show IGAV PS has p rominently better perfo rmance t han standard genetic algorit hms. Keywords : Genetic Algo rit hms ; Premat ure Convergence ; Varying Pop ulation Size ; Genetic Operato rs
Improved genetic algorithms with varying population size
Wang Yang Chen Liang Tang Huan
( College of Information Science and Technology Donghua Universit y , Shanghai 201620)
使得算法收敛速度过快 ,以至于找不到全局最优解 。可见 种群规模对算法的收敛性影响很大 。变种群规模遗传算 法就是在标准遗传算法 (SGA) 的基础上调整种群规模 ,使 得种群规模在不同的遗传代数里具有自适应调整大小的 能力 。Arabas 等 人[6] 提 出 了 一种 变 种 群 规 模遗 传 算 法 ( GAVa PS) 。仲兆满等人[7] 提出了一种改进的变种群遗传 算法 ,并提出了补算算子来替代变异算子 ,保持了种群的 多样性 。何宏等人[8] 则提出了一种新的种群数自适应遗 传算法 。本文在变种群规模遗传算法 ( GAVa PS) 的基础 上 ,提出了一种改进的变种群遗传算法 :一方面 ,根据个体 的适应度值及“代龄”来调节个体的交叉率和补算率 ,防止 “早熟”现象出现 ;在进行交叉算子和补算算子操作后比较 个体适应度值 ,保留适应度大的个体 ,从而保证了遗传操 作所产生的新个体都是优良的 ,明确了进化的方向 ,加速 了遗传算法的进化速度 。另一方面 ,在每代进化过程中重 新计算个体的“寿命”,保证了优秀个体遗传基因片段能够 充分遗传给后代 ,减少遗传操作对它的影响 ,并加速了不 良基因的淘汰 。
li f eti me[ t , i ]
+αf
i
t ness [ t , B est Fit
i] -
A
A v g Fit v g Fit
,
f
ห้องสมุดไป่ตู้
it ness [
t
,
i]
>
Av g Fit
(1) 式中 :α = li f eti me[ t , i ] - iter [ i ] , iter [ i ] 为个体 i 的“代 龄”, li f eti me[ t + 1 , i ] 为个体 i 在“代龄”为 t + 1 时的“寿 命”, li f eti me[ t , i ] 为个体 i 在“代龄”为 t 时的“寿命”, li f eti me[ t , i ] 为 个 体 i 在“代 龄 ”为 t 时 的 适 应 度 值 , A v g Fit 、W orst Fit 和 B est Fit 分别为当前代即“代龄”为 t 时 的平均 、最差和最优适应度值 。
由式 (1) 可知 , 适应度值高的个体将具有更长的“寿 命”,将在更多进化代数中存活 。同时 ,当个体的“代龄”越 接近个体“寿命”时 ,其个体的“寿命”的变化受适应度值的 影响越小 ,这样防止了个体“寿命”无限增大 ,从而有效阻
止了超级个体和早熟现象的出现 。
2. 2 遗传算子的改进 对遗传计算过程来说 ,种群的多样性保证了遗传算子
高种群多样性的方法 ,并从下面两个方面对 GAVa PS 的遗 传算子操作进行改进 :
1) 根据适应度值 、“代龄”和“寿命”来调节个体的交叉 率和补算率 。其具体按式 (2) ~ (3) 调节 :
pc =
pc_max -
( pc_max - pc- min ) li f eti me ( t , i)
相关文档
最新文档