遗传算法(GA)简介及应用——非常适合小白

1.概念

  遗传算法( Genetic Algorithm )是受生物进化学说和遗传学说的启发发展起来的。生物在进化的过程中:不断繁殖、生存竞争、适者生存、遗传和变异。
1)涉及
  遗传算法涉及生物进化学说和遗传学说中最重要的几个概念:基因重组、基因突变、染色体变异

2)研究对象
  研究各种非线性(哪怕是没有明确的函数关系的系统)、多变量、多目标、复杂的自适应系统问题。

3)基本特征
●渐进式搜索
●能得到全局最优解(交换和突变操作产生新个体)
●根据问题特性确定输入输出,不关心输入与输出之间的联系(所以可以求解没有明确函数关系的问题)

4)改进方向

●编码技术和程序表达技术的改进。
●复制、交换、突变等遗传操作的改进。
●适应度的表达和计算的改进。
●寻求其它有效遗传算子,防止近缘杂交、过早收敛。

2.基本运算过程

1)编码与解码

  要便于计算机处理

十进制码二进制码
优点无需解码变异时取反(唯一)
缺点突变的可能性太多(9种)需要解码,加大运算量
适用变量多、数字大、粗选阶段变量少、取值少、精选阶段
其他编码方法格雷码浮点数编码符号编码多参数级联编码多参数交叉编码
定义对连续函数进行局部空间搜索使用决策变量的真实值编码值取自无数值含义、只有代码含义的符号集多个变量分别编码,按顺序连接在一起多个变量分别编码,将起主要作用的码集中在一起,然后按顺序连接
适用相比于2进制码快,相比于10进制码精确多维、高精度要求的连续函数优化旅行商、营销商、机器人设计问题多变量寻优时,让每个变量都有交叉的可能

二进制码又分为直接二进制码(有符号位和小数点)、间接二进制码(没有符号位和小数点)

2)适应度函数与评估

  通过适应度函数可以评价个体的优劣,并确定是否输出目前最优解,或者继续循环。
  适应度函数确定方法:对个体编码串解码后,可得到个体值;由个体真值可求出个体的目标函数值;由最优化问题的类型,由目标函数值按一定的转换规则可求出个体的适应度。
3)复制
  选取哪些个体进行复制可以用等差、等比、轮盘赌的方法来决定。

4)交叉
  个体基因发生“交叉”的概率为50%~80%,可以上下浮动。
  交叉中有三个随机:个体随机、概率可调、编码位置随机。

5)变异
  个体基因发生“变异”的概率为0.1%~1%,可以上下浮动
  变异中有三个随机:个体随机、哪位变异随机、变异几位随机。

6)终止条件
  遗传算法的终止条件有以下三种:

  • 循环次数
  • 当目标函数有最优目标值时,可采用控制偏差的方式实现终止。
  • 检查适应度的变化。如,最后两次迭代,种群适应度没有太大变化,即可停止。
3.遗传算子

  遗传算法中涉及的算子有:选择算子、交叉算子、复制算子、变异算子、重排序算子(选择之前按适应度进行排序)。

4.一道例题

例题

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值