遗传算法(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.一道例题

例题

原创文章 35 获赞 17 访问量 7851

猜你喜欢

转载自blog.csdn.net/dear_jing/article/details/104245039