简述

  遗传算法(GA)是一种模拟生物进化自然选择过程的非确定性搜索方法,源于达尔文的进化论和孟德尔的遗传定律,由美国 Michigan 大学的 Holland教授在 20 世纪 70 年代首先提出。生物理论指出, 生物个体的各种生命表征是由许多基因共同决定的。同一种群的不同生物个体通常拥有不同的基因,因此对外在环境的适应能力也是不同的。 在自然选择的作用下,一部分环境适应能力较差的个体会死亡被淘汰,而环境适应能力较强的个体则更多地存活下来并繁衍后代, 因此比较适应环境的基因会有较大的概率流传到下一代。 一般情况下子代的平均适应力普遍强于父代。 在基因从父代传递到子代的过程中,一部分基因会因为变异而在子代中产生新的基因,这种变异是随机的,有可能增强子代个体的环境适应力,也有可能会降低子代个体的适应力。
  遗传算法正是仿照上述理论,将一个问题的解空间编码,每一个编码代表一个个体,建立一个包含潜在的解的群体作为种群,在环境作用下通过选择(selection)、交叉(crossover)和变异(mutation)一代代繁衍,由于子代的环境适应力一般优于父代,因此算法最终能够得到问题的较优解。其中,编码中的每一位代表一个基因,环境作用由适应度函数模拟,适应度函数是判断某个解的优劣程度的函数,通常是目标函数本身或其修改形式。选择又称为选择算子,是指参照适应值函数,按照预先选定的策略随机从父代中挑选一些个体生存下来,剩下的个体则被淘汰。交叉是指仿照自然界基因传递的过程交配,对存活下来的父代个体的某些基因进行优化组合,办法是将两个父代个体某些对应位置的基因互换,以产生新的个体。变异是指对编码的某些位置上的基因按一定概率进行的改变。

2.选择策略

2.1轮盘赌选择法

轮盘赌选择法是依据个体的适应度值计算每个个体在子代中出现的概率,并按照此概率随机选择个体构成子代种群。轮盘赌选择策略的出发点是适应度值越好的个体被选择的概率越大。因此,在求解最大化问题的时候,我们可以直接采用适应度值来进行选择。但是在求解最小化问题的时候,我们必须首先将问题的适应度函数进行转换,以将问题转化为最大化问题。下面给出最大化问题求解中遗传算法轮盘赌选择策略的一般步骤:

(1)  将种群中个体的适应度值叠加,得到总适应度值==1 ,其中 为种群中个体个数。

(2)  每个个体的适应度值除以总适应度值得到个体被选择的概率

(3)  计算个体的累积概率以构造一个轮盘。

(4)  轮盘选择:产生一个[0,1]区间内的随机数,若该随机数小于或等于个体的累积概率且大于个体1的累积概率,选择个体进入子代种群。

重复步骤(4)次,得到的个体构成新一代种群。

2.2 随机遍历抽样法

像轮盘赌一样计算选择概率,只是在随机遍历选择法中等距离的选择体,设npoint为需要选择的个体数目,等距离的选择个体,选择指针的距离是1/npoint,第一个指针的位置由[0,1/npoint]的均匀随机数决定。

2.3 锦标赛选择法

锦标赛方法选择策略每次从种群中取出一定数量个体,然后选择其中最好的一个进入子代种群。重复该操作,直到新的种群规模达到原来的种群规模。具体的操作步骤如下:

(1) 确定每次选择的个体数量(本文以占种群中个体个数的百分比表示)。

(2) 从种群中随机选择个个体(每个个体入选概率相同) 构成组,根据每个个体的适应度值,选择其中适应度值最好的个体进入子代种群。

(3) 重复步骤(2)次,得到的个体构成新一代种群。

需要注意的是,锦标赛选择策略每次是从个个体中选择最好的个体进入子代种群,因此可以通用于最大化问题和最小化问题,不像轮盘赌选择策略那样,在求解最小化问题的时候还需要将适应度值进行转换。

参考资料

  [1]遗传算法:理论、应用及软件实现/王小平, 曹立明著 西安交通大学出版社,2002

  [2]张琛,詹志辉. 遗传算法选择策略比较[J]. 计算机工程与设计,2009,23:5471-5474+5478

文章转自:https://www.cnblogs.com/legend1130/archive/2016/03/29/5333087.html

遗传算法中常用的选择策略相关推荐

  1. 程序设计中常用的解题策略 pdf电子书

    重要提示该尊敬的用户您好,由于该程序设计中常用的解题策略pdf书受百度网盘影响无法做公共分享,只能私密分享,有不到之处请多多谅解! 百度网盘链接: http://pan.baidu.com/s/107 ...

  2. Git 企业中常用分支管理策略

    Git 企业中常用分支管理策略 一般企业中开发一个项目的分支策略 主分支 master 开发分支 develop 功能分支 feature 预发布分支 release bug 分支 fixbug 其它 ...

  3. 遗传算法学习笔记(一):常用的选择策略

    简述 遗传算法(GA)是一种模拟生物进化自然选择过程的非确定性搜索方法,源于达尔文的进化论和孟德尔的遗传定律,由美国 Michigan 大学的 Holland教授在 20 世纪 70 年代首先提出.生 ...

  4. 程序化模型中常用的止损策略

    一.价差止损 最新价与基准价之间的价差触发设定的条件时进行止损平仓.我们将以资金盈亏额为条件的止损策略也归为这一类.比较常用的策略有限价止损.追踪止损.阶梯止损等. 优秀的止损策略,既要避免被无谓的随 ...

  5. 遗传算法中的锦标赛选择

    锦标赛选择:锦标赛选择方法是指每次从种群中取出一定数量个体,然后选择其中最好的一个进入子代种群,之后放回种群,即种群数量不变,再将选中的个体记录到新种群中.重复该操作,直到新的种群规模达到原来的种群规 ...

  6. 深度学习中常用的学习率衰减策略及tensorflow实现

    目录 引言 (1)分段常数衰减 (2)指数衰减 (3)自然指数衰减 (4)多项式衰减 (5)余弦衰减 (6)线性余弦衰减 (7)噪声线性余弦衰减 (8)倒数衰减 引言 学习率(learning rat ...

  7. 为什么谐振时电抗为0_高压直流输电(LCC-HVDC 和 MMC-HVDC)中平波电抗器的作用和选择策略...

    一.平波电抗器(smoothing reactor)在 LCC 中的作用: 1. 抑制直流电流纹波分量: 2. 在低功率传输时避免电流断续: 3. 限制直流系统故障或受扰动时直流电流上升的速率和幅值( ...

  8. 理解深度学习中的学习率及多种选择策略

    学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它.相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量,当学习率最优时,模型的有效容量最大.从手动选择学习率到 ...

  9. FPGA常用总线IIC 与SPI选择策略

    1.1 FPGA常用总线IIC 与SPI选择策略 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA常用总线IIC 与SPI选择策略: 5)结束语. 1.1.2 本 ...

最新文章

  1. boost::exception的用法测试
  2. 如何找到安全的贷款机构
  3. 分享:假如浏览器和搜索引擎不再支持外部链接跳转,优化何去何从呢?
  4. mysql1241 错误,[Err] 1241 - Operand should contain 1 column(s)错误解析
  5. unreal4怎么设置游戏模式_ue4(虚幻4)基础 Unreal4 服务器模式详细介绍
  6. 【声学基础】概述——振动学
  7. Webpack 学习记录
  8. 【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
  9. cad电气工程量计算机,CAD电气管线快速算量方法
  10. 一份完整的新媒体活动策划方案
  11. BIP63(隐身地址)
  12. WorldS4 2020 | 联邦学习的个性化技术综述
  13. win10无限蓝屏_Win10升级系统后蓝屏或无限重启解决办法
  14. php生成6位id,6位极品微信号?微信号id名字大全
  15. Google Indexing API 推送 (避免踩坑)
  16. Java job interview:项目开发小组成员网站数据访问层设计
  17. 中国呼吸介入领导者堃博医疗在港交所挂牌上市;勃林格殷格翰收购Abexxa Biologics | 医药健闻...
  18. html导航栏怎么加点,点靓网页的10种导航菜单设计
  19. linux c 内存elf,关于LINUX下的可执行程序ELF(一)
  20. CCTV与西方媒体的区别!句句发人深思...^^

热门文章

  1. python中readlines是什么意思_Python中read,readline,readlines三种方式的区别
  2. MPC多旋翼控制 - mav_control_rw项目
  3. 拉勾教育-求职技巧总结
  4. 第一卷 第一百三十六章 好白菜
  5. 将Spring Boot应用程序注册成为系统服务
  6. 秋招面/笔试题目集合——06
  7. 异度装甲解惑(转载)
  8. python 异步加载图片_Python 爬取拉钩网异步加载页面
  9. 圆柱模板价格计算器V1.0版本
  10. 滴滴出行 DoKit 2.0 - 泛前端开发者的百宝箱