- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代优化算法汇编
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.1.1 二进制编码方法 二进制编码方法是遗传算法中最常用的一种编码方法,它使用的编码符号集是由二进制符号0和1所组成的二值符号集{0,1},它所构成的个体基因型是一个二进制编码符号串。 (1) 二进制编码方法的优点: a. 编码、解码操作简单易行; b. 交叉、变异等遗传操作便于实现; c. 符合最小字符集编码原则(使用能使问题得到自然表示 或描述的具有最小编码字符集的编码方案。); d. 便于利用模式定理对算法进行理论分析。 (2)二进制编码方法的缺点: a. Hamming cliffs(海明悬崖):相邻整数的二进制编码具有较大的Hamming距离,例如15和16的二进制编码表示分别为:01111和10000; b.二进制编码时,一般要先给出求解的精度以确定串长; c.二进制编码存在着连续函数离散化时的映射误差; d. 在求解高维优化问题时,二进制编码位串将非常长,从而使得算法的搜索效率很底。 e.二进制编码不便于反映所求问题的特定知识,不便于开发针对问题专门知识的遗传运算算子,人们在一些经典优化算法的研究中所总结出的一些宝贵经验也就无法在这里加以利用,也不便于处理非平凡约束条件。 4.1.2 浮点数编码方法 采用浮点数(十进制或真值)编码方法,通常需要针对十进制编码的特点,引入其它一些遗传算子。 实验证明,对于大部分数值优化问题,通过一些专门设计的遗传算子的引入,采用实数编码比二进制编码时的平均效率要高。 1 优点: a.直接使用实数作为染色体参与遗传操作,无需特别的编码与解码过程,提高了算法的执行效率,尤其是当处理大规模复杂问题、高维数值优化问题或子目标个数较多的多目标优化问题,算法的效率更能得到体现。 b.用实数编码可以消除二进制编码存在的“海明悬崖”问题。 c.使用实数编码时能用交叉和变异算子种类相对较丰富,同时也使得算法具有更好的搜索能力。 d.便于遗传算法与经典优化方法的混合使用; e.便于设计针对问题的专门知识的知识型遗传算子; f.便于处理复杂的决策变量约束条件。 2 实数编码遗传算法的基本操作 (1)常用的选择算子 ①轮盘赌选择:是一种最基本、最常用的选择机制,又 称比例选择法。 ②(μ+λ)选择:根据父代种群的μ个个体,用交叉或变 异操作产生λ个个体,然后将这μ+λ个个体进行比较 再在其中选择μ个最优者。 ③ 锦标赛选择:从种群中任意选择一定数量(称为竞赛规模,一般取2)的个体,其中适应度最高的个体保存到下一代。这个过程反复执行,直到保存到下一代的个体数达到预先设定的数目为止。 ④ 排序选择:在计算每个个体的适应度后,根据适应度大 小顺序对种群中全部个体排序,然后按事先设计的概率 分配表取对应序号的概率值作为各个个体的选择概率。 ⑤ 期望值选择:先按期望值 的整数部分安排个 体被选种的次数,而对其期望值的小数部分再按确定方 式、赌轮方式等确定该个体再次被选中与否及其选中的 次数。 ⑥ 最佳个体保存方法:将群体中适应度最高的个体不进行 配对交叉而直接复制到下一代中,此种选择操作又称复 制,此方法一般与其它选择方法结合使用。 ⑦ 截断选择:从种群中选择一定比列的最好个体作为父 体,然后均匀随机地对这些父体进行交叉配对直至子代 个数等于种群大小。 (2)常用的交叉算子 设参与交叉的两个父体分别为 ①平坦交叉:由两个父体 产生一个子代个体: 其中bi是均匀产生的在区间 内的一个数值。 ②简单交叉:首先随机产生一个交叉位 , 然后按下述方式产生两个新的个体B1和B2: ③算术交叉:此方法产生的个体B1和B2 为: 其中, 。若λ为常量,则 称为均匀算术交叉;若λ随代数而变化,则称为非均匀 算术交叉。 ④线性交叉:首先产生三个新的个体,然后从中选择两个 最好的个体作为子代个
文档评论(0)