1、100029825 2001 12 (02) 0270206 c 2001 Journal of Softw are 软 件 学 报 V o l. 12, N o. 2遗传算法优化速度的改进 X杨启文 , 蒋静坪 , 张国宏(浙江大学 电气工程学院 , 浙江 杭州 310027)E2m ail: qw yang2k 263. net; eejiangdial. zju. edu. cnh ttp: www. zju. edu. cn摘要 : 分析了传统变异算子的不足 , 提出用二元变异算子代替传统的变异算子 , 并讨论了它在克服早熟收敛方面的作用 . 同时 , 针对二进制编码的遗传算法的特点
2、, 提出了解码算法的隐式实现方案 , 使得遗传算法的寻优时间缩短 6 50 倍 . 实验从多方面对二元变异算子的遗传算法进行性能测试 , 结果表明 , 改进型算法收敛快 , 参数鲁棒性好 , 能有效地克服“早熟”收敛 . 通过改进变异算子和解码算法 , 遗传算法的优化速度得到了很大的提高 .关键词 : 遗传算法 ; 优化速度 ; 二元变异算子 ; 早熟收敛中图法分类号 : T P18 文献标识码 : A遗传算法 (genetic algo rithm s, 简称 GA s)是近年来迅速发展的一种全新的优化算法 1 . 该算法由密执安 (M ich igan) 大学教授 Ho lland 及其学
3、生创建 2 , 其基本思想是基于 D arw in 的进化论和M endel 的遗传学说 . 由于该算法具有很好的普适性 , 不苛求问题的动力学信息 (如连续、可微等 ) ,并且对非线性复杂问题显示出很强的求解能力 , 因而被成功地应用于许多不同的领域 3 .但是 , 作为一种随机优化算法 , 也存在着同其他优化算法相类似的不足之处 . 例如 , 为了寻求一个问题的最优解 , 寻优程序有时不得不花费相当长的时间进行搜索 . 造成这种现象主要有两方面的原因 : (1) GA s 算法自身的优化能力有限 , 不得不需要更多次的迭代运算才能找到最优解 ;(2) GA s算法在实现中产生了大量的计算开
4、支 . 因此 , 要提高 GA s 的优化速度 , 就必须对上述两个方面进行改进 .1 遗传算法根据编码方式的不同 , GA s 大致可分为两类 : 二进制编码和浮点编码 . 基于二进制编码的 GA s搜索能力强 , 而且适合于模式识别、生产调度等这类非数值问题的优化 , 因此应用范围广 , 更具有普适性 .用 GA s 求解一个优化问题可以描述为J = m axX 8 F(X ) , X = (x 1, x 2,. . . , x n) T.这里 , F (X )为评价函数 , X 是问题所涉及的解向量 , 8 为解向量的定义域 .1. 1 染色体的编码 (encode)和解码 (decod
5、e)GA s 对于不同类型的优化问题 , 其求解过程基本相同 . 但是 , 由于变量的性质不同 , 会导致染X 收稿日期 : 1999209214; 修改日期 : 1999211224基金项目 : 国家教育部博士点基金资助项目 (97033526) ; 浙江省自然科学基金资助项目 (598019)作者简介 : 杨启文 (1969- ) , 男 , 湖北黄冈人 , 博士生 , 讲师 , 主要研究领域为进化计算及其应用 , 模糊控制 , 神经网络技术 ;蒋静坪 (1935- ) , 男 , 浙江宁波人 , 教授 , 博士生导师 , 主要研究领域为智能控制 , 计算机控制 ; 张国宏 (1966-
6、) , 男 , 江西南昌人 , 工程师 , 主要研究领域为计算机控制 , 电机控制 . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.色体在编码和解码上存在差异 .例如 , F (X )有两个变量 . 其中 x 1 需要回答“是”还是“不是”的问题 ; x 2 是一个数值变量 , 其定义域为 a, b ,精度要求 E(E为一给定的正数 ). 这里 , 我们只需用一位基因“ 0”或“ 1”来完成对 x 1 染色体 x 1 的编码 . x 2 由于存在精度要求 , 因此需要确定其染色体 x 2 编码长度
7、 l, l 通常可由下式给出 :l ln b- aE + 1 .这样 , 解向量 X 染色体就可以由长度为 l+ 1 的二进制字符串 x 1x 2 组成 .x 1 的解码十分简单 . 实数 x 2 的解码一般可由下面的公式确定 :x 2= a+ (b- a) X 102l- 1. (1)其中 X 10表示二进制染色体 x 2 所对应的十进制数 .1. 2 杂交 (crossover)按一定的杂交概率 p c 随机地从种群中选择两个个体 (染色体 ) , 部分地交换其中的某些基因位 . 杂交方式通常有一点杂交、两点杂交、多点杂交和一致杂交 . 杂交的作用在于产生新的基因组合 , 即生成新染色体
8、.1. 3 变异 (m uta tion)按一定的变异概率 pm 对染色体中的基因进行变异操作 . 目前变异的主要方式是取反操作 , 其目的在于发现新基因 , 克服早熟收敛 .1. 4 选择策略 (selection stra tegy)按照某种方式从生成的子代中选择一定数量的个体作为下一代进化的初始种群 . 选择策略通常包括 : 轮盘赌、比例选择、锦标竞争和最优个体保留 .2 变异算子的改进早熟收敛一直是 GA s 中存在的主要问题 . 算法一旦出现早熟收敛 , 将无法得到问题的最优解 .变异算子作为克服算法早熟的最有效手段 , 极大地影响着 GA s 的优化速度 .2. 1 传统变异算子的
9、缺陷定义 1. 对待优化问题的最优解而言 , 其对应染色体上的每个基因称为该基因位上的有效基因 .定义 2. 同一基因位上等位基因的多样性是指在种群中 , 染色体相同基因位的基因既有“ 0”又有“ 1” , 即在该基因位上 , 基因全为“ 0” (或“ 1” )的概率 P (“ 0” ) (或 P (“ 1” ) )为P (“ 0” ) = 0 或 P (“ 1” ) = 0. (2)J. C raig Po tts 等人认为 , 产生早熟收敛主要是由有效等位基因的缺失 4 造成的 . 由于杂交算子不会产生新的基因 , 而选择策略目的在于加快基因的收敛过程 , 这不可避免地会造成某一类基因在特
10、定基因位上的比例下降 , 导致该基因位上的基因缺损 . 因此 , 为了预防早熟收敛 , 在有效基因未知的情况下 , 变异算子必须有能力保持同一基因位上等位基因的多样性 , 这样才有助于防止有效基因的缺失 , 从而能够最大限度地避免早熟收敛 .定理 . 传统的变异算子无法有效地保持同一基因位上等位基因的多样性 .172杨启文 等 : 遗传算法优化速度的改进 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.证明 : 在一个规模为 N 的种群中 , 假设在染色体第 j 个基因位上有 n1 个“ 0”和 n2
11、 (n2= N - n1)个 “ 1” , 则该基因位上的所有基因经取反变异后变为同一个基因的概率为P (“ 0” ) = (1- p m ) n1p n2m 0P (“ 1” ) = p n1m (1- pm ) n2 0, (3)与式 (2)矛盾 . 2. 2 二元变异算子传统的变异算子执行的是一元操作 (取反 ) , 即操作数只需一个基因 . 对于由二进制字符串组成的染色体 , 我们将数字技术中的二元逻辑算子引入到 GA s 中 , 对传统的变异方式进行彻底“变异” ,提出了一种全新的变异算子二元变异算子 : 同或 异或 .与传统的取反变异不同 , 二元变异操作需要两条“染色体”参与 ,
12、 例如 :01101011110100010100010110111010 “同或”运算“异或”运算由“同或 异或”的逻辑运算规律可知 , 运算后得到的两种逻辑状态互补 , 即一个为“ 0” , 另一个必为“ 1” . 也就是说 , 同一基因位上的基因经过变异之后 , 该基因位至少有一个“ 0”和一个“ 1”同时存在 , 而不会出现全“ 0”或全“ 1”的情况 . 因此 , 二元变异算子能够满足式 (2)的条件 .基于二元变异算子的 GA 算法 (genetic algo rithm based on dyadic m u tation operato r, 简称GADM O )流程如下 :(
13、1) 种群初始化 ;(2) 遗传操作 : 从种群中选择一对“父母” , 执行杂交和二元变异操作 ;(3) 计算适合值 , 若满足程序终止条件 , 则程序结束 ;(4) 转向第 (2)步 , 完成本代整个种群的进化 ;(5) 转向第 (2)步 , 进行种群下一代的进化 .2. 3 实验测试遗传算法作为一种随机优化算法 , 影响其性能的参数有很多 , 例如 , 初始化种群、种群规模、编码长度、遗传概率等 . 不同的参数设置会对问题的求解带来不同的影响 , 合适的参数有助于算法的快速收敛 , 而有些参数可能使 GA s 收敛显著变慢 , 有的参数则会导致算法“早熟” , 因而得不到问题的最优解 .
14、但如何为 GA s 选择合理参数 , 至今还没有一个很好的解决办法 . 因此 , 参数对算法性能的影响程度不但反映了算法的好坏 , 而且也影响着算法的应用 . 本节从 3 个不同的侧面对基于二元变异算子的遗传算法进行参数敏感度的测试 .实验所用函数为F 1= 0. 002+ 25j = 11j + 2i= 1(x i- a ij ) 6,F 2= (x 21+ x 22)0. 25 sin2 (50 (x 21+ x 22)0. 1) + 1. 0 .实验 . 种群规模和编码长度对算法性能的影响遗传算法采用一点杂交方式 , 变异算子分别为传统的取反变异和改进型变异算子 . 测试函数为F 1.
15、如果算法在 100 代内未能优化到阈值 1. 0, 则认为搜索失败 .实验结果见表 1. 在 20 次不同的种群规模和编码长度的测试中 , 改进型遗传算法只有 1 次未272 J ou rnal of S of tw are 软件学报 2001, 12 (2) 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.能在 100 代内找到阈值 , 而传统遗传算法有 7 次 . 传统的变异算子对种群规模比较敏感 , 种群越小 ,算法的成功率越低 , 而改进型变异算子能很好地维持算法在小种群时的收敛性 . 编码长
16、度对算法的影响不大 .Table 1 T he influence of m utation operato rs on the convergence of GA s表 1 变异算子对算法收敛性能的影响Convergence generations (unimp roved imp roved) Encoding length of the independent variables12 14 16 1820 F 77 F 96 F F F 7250 F 85 31 8 F 42 16 25Population size 80 F 14 31 13 79 37 29 39100 41 43
17、28 21 90 27 14 20120 13 22 17 25 21 28 38 12“ F” deno tes that the m axim um of the function can no t be found w ith in 100 generations .收敛代数 (改进前 后 ) , 自变量编码长度 , 种群规模 , 表中“ F”表示在 100 代内算法能找到函数的最大值 .实验 . 变异算子对遗传概率选择范围的影响遗传算法参数 : 种群规模 N = 20, 自变量编码长度 l= 16, 杂交概率在 0 1. 0 之间变化 , 变异概率在 0 0. 3 之间变化 ; 函数测
18、试重复 5 次 , 每次初始种群均随机产生 . 若算法在 100 代内均能优化到阈值 1. 0, 则记录所用的参数 (p c, p m ).实验结果如下 : 改进前 (p c, pm ) 为 39 组 , 改进后范围扩大了 2. 5 倍 , 为 97 组 (如图 1 中阴影部分所示 ) ; 平均收敛代数也由改进前的 53. 72 代降至 48. 27 代 . 由此可见 , 二元变异算子不但增大了对遗传概率选择的自由度 , 而且也提高了算法的收敛速度 .(a) T he traditional m utation operato r(a) 传统变异算子(b) T he dyadic m utat
19、ion operato r(b) 二元变异算子F ig. 1 T he influence of m utation operato r on the selection range of the genetic p robabilities图 1 变异算子对遗传概率选择范围的影响实验 . 3 种遗传算法的对比实验M. Srinvas 等人为解决 GA s 的早熟问题曾提出一种自适应遗传算法 (A GA ) 5 . 我们将改进型遗传算法和基于标准遗传算子的固定遗传概率 (SGA )、自适应遗传概率 (A GA ) 的遗传算法进行实验比较 . 改进型遗传算法取 (p c, pm ) = (0.
20、9, 0. 17) , 种群规模均为 100. SGA 和 A GA 方案详见文献 5 .实验结果 (见表 2)表明 , 改进型遗传算法收敛速度快 , 克服早熟的能力强 .Table 2 T he experim ental results of th ree k inds of GA s表 2 3 种遗传算法的实验结果N um ber offunctionsEncodinglengthA verage generations of convergence (sum of p rem aturity) SGA A GA GADM O T h resho ld M ax.generationF
21、1 17 64. 06 (7) 36. 63 (0) 23. 23 (0) 1. 0 100F 2 22 419. 9 (21) 220. 61 (5) 24. 27 (0) 0. 995 500函数编号 , 编码长度 , 平均收敛代数 (早熟次数 ) , 阈值 , 最大进化代数 .372杨启文 等 : 遗传算法优化速度的改进 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.通过上述 3 组实验 , 我们不难发现 : 在实验范围内 , 二元变异算子大大增强了算法的寻优能力 ,在不同的参数设置下 , 一
22、般只需较少代的进化就能优化到指定的阈值 , 早熟情况得到明显的改善 ;同时 , 改进型遗传算法的参数选择范围大 , 参数对算法性能的影响小 , 这为算法的实际应用提供了极大的方便 .3 解码算法的隐式实现当需要对浮点变量进行求解时 , GA s 往往存在如式 (1) 所示的解码算法 . 为了得到染色体 x 2的十进制数 X 10, 不得不为其转换编制相应的算法 , 每一个浮点变量的解码过程至少需增加 2l 次耗时的乘法运算 , 从而延长了 GA s 寻找到最优解的时间 . 因此 , 用求解时间作为衡量指标 , GA s 的实现算法也需要进一步优化 .基于二进制 GA s 的传统实现方式是将染色
23、体用字符串来表示 , 其相应的遗传操作也都是基于字符串间的相关运算 . 在数字计算机上 , 操作系统中的任何整数在其物理内存中都是以二进制数的形式存储的 , 其数据格式的转换由计算机硬件和操作系统协作完成 , 无须编程实现 . 利用计算机的这一特点 , 将整数 X 10在物理内存中的数据格式作为染色体 x 2 的编码信息 , 这样 , 其物理内存中的二进制数经过遗传操作后 , 其解码后的结果就直接反映到变量 X 10中 , 从而实现了解码算法由传统的显式转换变成隐式转换 . 同时 , 一个基因也由原来的 8 b its 字符表示降至 1 b it 位表示 , 节省了不少内存空间 .我们用 F
24、1 作为测试函数 , GA s 进化到 500 代终止 . 实验结果见表 3. 经过对代码的优化 , 在相同的实验条件下 , GA s 程序的运行时间缩短了 6 50 倍 , 而且这种优势随着种群规模和编码长度的增大更加明显 .Table 3 Comparison of run tim e w ith unimp roved and imp roved p rogram表 3 优化前、后程序运行时间对照表Run tim e (s) (unimp roved imp roved) Encoding length of the independent variables10 15 20 2530
25、7. 79 2. 64 24. 61 2. 69 29. 39 2. 86 36. 61 3. 0260 57. 62 5. 16 82. 34 5. 38 104. 63 5. 65 128. 25 5. 88Population size 90 119. 79 7. 75 171. 75 8. 07 224. 04 8. 46 277. 54 8. 79120 205. 23 10. 33 297. 37 10. 76 386. 46 11. 26 481. 48 11. 7150 315. 61 12. 91 455. 49 13. 46 581. 49 14. 06 743. 86 1
26、4. 61运行时间 (s) (程序优化前 后 ) , 自变量编码长度 , 种群规模 .4 结束语本文利用二元变异算子改进传统的变异方式 , 有效地克服了早熟收敛 , 提高了 GA s 的优化速度 , 增强了 GA s 对复杂问题的求解能力 ; 同时 , 针对 GA s 在求解数值解时存在的不足 , 提出了解码算法中的隐式实现方案 , 极大地缩短了程序的执行时间 . 通过上述两个方面的改进 , GA s 作为一种优化工具 , 其优化能力更强 , 速度更快 .References: 1 Zhang, X iao2hui, D ai, Guan2zong, Xu, N ai2p ing. Genet
27、ic algo rithm s a new op tim ization and search algo rithm s. Contro lT heo ry and A pp lication, 1995, 12 (3) : 265 273 (in Ch inese). 2 Ho lland, J. H. A dap tation in N atural and A rtificial System s. A nn A rbo r, M I: U niversity M ich igan P ress, 1975. 3 X i, Yu2geng, Cai, T ian2you, Yun, W
28、ei2m in. Survey on genetic algo ritym. Contro l T heo ry and A pp lication, 1996, 13 (6) :472 J ou rnal of S of tw are 软件学报 2001, 12 (2) 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.696 704 (in Ch inese). 4 Po tts, J. C. , T erri, D. G. , Surya, B. Y. T he developm ent and
29、evo lution of an imp roved genetic algo rithm based on m igra2tion an artificial selection. IEEE T ransactions on SM C, 1994, 24 (1) : 73 86. 5 Srinvas, M. , Patnaik, L. M. A dap tive p robabilities of cro ssover and m utation in genetic algo rithm s. IEEE T ransactions onSM C, 1994, 24 (4) : 656 66
30、6.附中文参考文献 : 1 张晓缋 , 戴冠中 , 徐乃平 . 一种新的优化搜索算法遗传算法 . 控制理论与应用 , 1995, 12 (3) : 265 273. 3 席裕庚 , 柴天佑 , 恽为民 . 遗传算法综述 . 控制理论与应用 , 1996, 13 (6) : 697 704.Im prov ing Optim iza tion Speed for Genetic A lgor ithm s3YAN G Q i2w en, J IAN G J ing2p ing, ZHAN G Guo2hong(E lectrical E ng ineering S chool, Z hej ia
31、ng U niversity , H ang z hou 310027, Ch ina)E2m ail: qw yang2k 263. net; eejiangdial. zju. edu. cnh ttp: www. zju. edu. cnAbstract: T he disadvantage of the traditionalm utation operato r of GA s w as analyzed in th is paper, and a DM O(dyadic m utation operato r) w as p resented to take the p lace
32、of the traditional one. T he function of DM O to p reventp rem ature convergence w as also discussed. M eanw h ile, acco rding to the features of binary2based GA s, an imp licitimp lem entation fo r decoding the ch romo som es fo r GA s w as p resented so that the run tim e of the imp roved p rogram
33、fo r GA s w as sho rtened by 6 50 tim es compared w ith the o riginal one. T he perfo rm ance of the genetic algo rithm istested based on the DM O (GADM O ) in several aspects. T he experim ental results show that the GADM O can con2verge quick ly and its robustness of param eters is strong. T he GA
34、DM O can p revent the p rem ature convergence ef2fectively. By imp roving the m utation operato r and the decoding algo rithm , the op tim ization speed of GA is speededup greatly.Key words: genetic algo rithm; op tim ization speed; dyadic m utation operato r; p rem ature convergence3 Received Sep t
35、em ber 14, 1999; accep ted N ovem ber 24, 1999Suppo rted by the N ational Research Foundation fo r the Docto ral P rogram of H igher Education of Ch ina under Grant N o.97033526; the N atural Science Foundation of Zhejiang P rovince of Ch ina under Grant N o. 598019572杨启文 等 : 遗传算法优化速度的改进 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.