遗传算法

  1. 遗传算法
  2. 使用二进制
  3. 初始化
  4. 基本参数
  5. 基本遗传算法定义
  6. 个体适应度评价
  7. 目标函数求最大值
  8. 目标函数求最大值
  9. 比例选择算子
  10. 单点交叉算子
  11. 变异算子

遗传算法

使用二进制

初始化->选择算子->交叉算子->变异算子->选择算子

初始化

基本参数

群体大小20-100
进化代数100-500
交叉概率0.4-0.99
变异概率取0.0001-0.1
这4个运行参数对遗传算法的结果和求解效率都有一定影响,但是没有理论依据,需要进行多次试算才能确定参数合理大小和取值范围

基本遗传算法定义

$$
SGA=(C, E, P_0, M, \Phi, R, \Psi, T) \C—–个体的编码方法 \E——个体适应度评价函数 \P_0—初始群体 \M—–群体大小 \\Phi—-选择算子\R—-交叉算子 \\Psi—-变异算子 \T—-遗传运算终止条件 \
$$

个体适应度评价

目标函数求最大值

定义一个较小的值C,目标函数值-C
C:
预先指定一个较小的值
当前代的最小值的目标函数值
最近几代中最小目标函数值

目标函数求最大值

定义一个较大的值C,C-目标函数值
C:
预先指定一个较大的值
当前代的最大值的目标函数值
最近几代中最大目标函数值

比例选择算子

先计算出群体中所有个体适应度的总和
计算出每个个体的相对适应度,既为各个个体被遗传到下一代群体中的概率
模拟赌盘操作,来确定各个个体被选中的次数

单点交叉算子

对群体中的个体两两随机配对
对配对的个体随机数配置一个基因座,
基因座后面的位置参数进行置换,生成两个新的个体

变异算子

对每个编码为随机生成一个(0,1)小数,
如果小于变异概率不变异,大于就取反变异


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com

×

喜欢就点赞,疼爱就打赏