数学建模——遗传算法

简单遗传算法(SGA)

由编解码、个体适应度评估和遗传运算三大模块构成,而遗传运算又包括染色体复制、交叉、变异甚至倒位等。

  1. 编码
    设某一参数的取值范围为(L,U),使用长度为k的二进制编码表示该参数,则它有2k种不同的编码。
    在这里插入图片描述
  2. 解码
    将不直观的二进制数据串还原成十进制。设某一个体的二进制编码为bkbk-1bk-2……b3b2b1,则对应的解码公式为:
    在这里插入图片描述
  3. 交配
    首先用随机数产生一个或多个交配点位置,然后两个个体在交配点位置互换部分基因码,形成两个子个体。例如,有两条染色体S1=01001011,S2=10010101,交换后4位基因,S1=01000101,S’2=10011011可以被看做是原染色体S1和S2的子代染色体。
  4. 突变
    “突变运算”是使用基本位进行基因突变对于二进制编码即0变成1,而1变成0。
  5. 倒位
    倒位是指一个染色体某区段正常排列顺序发生180°的颠倒。
    例如:
    在这里插入图片描述
  6. 个体适应度评估
    遗传算法依照与个体适应度成正比的几率决定当前种群中各个个体遗传到下一代群体中的机会。个体适应度大的个体更容易被遗传到下一代。通常,求目标函数最大值的问题可以直接把目标函数作为检测个体适应度大小的函数。
  7. 复制
    若设种群中个体总数为N,个体i的适应度为f,则个体i被选取的几率
    在这里插入图片描述
    当个体复制的几率决定后,再产生[0,1]区间的均匀随机数来决定哪些个体参加交配。若个体适应度高,则Pi大,可能被多次选中,它的遗传基因就会在种群中扩散;反之将逐渐淘汰。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值