遗传算法的应用之函数优化和组合优化

转载+原创

函数优化

函数最值

函数最值

该例子参考 深入浅出遗传算法,透析GA本质.(强烈安利)中的例子,加上了一些自己的理解和改动
ex:已知x为整数,求在区间[0,31]区间上的二次函数y=x^2的最大值(max:x2)
分析:
个体:区间上的每一个x;适应度 f(x)=x^2;解空间 [0,31]

解:

  1. 设定种群规模;编码;产生初始种群
    设种群规模为4;用二进制数编码;取已下个体为初始种群:
    13(01101)
    24(11000)
    8 (01000)
    19(10011)

  2. 设定适应度函数
    令f(x) = x^2

  3. 计算各代种群中的个体适应度,对染色体进行遗传操作,直到个体适应度最高的个体出现
    由f(x) = x^2计算适应值、由f(xi)/ΣF(xi)计算选择概率、再逐个累加得积累概率 填入下表。
    设 从[0,1]区间产生4个随机数:
    r1 = 0.329876
    r2 = 0.098798
    r3 = 0.580045
    r4 = 0.790431
    代入积累概率区间可得选中次数分别为

编号 初始群体 变量x 适应值f(x) 选择比 积累概率 选中次数
1 0 1 1 0 1 13 169 0.14 0.14 1
2 1 1 0 0 0 24 576 0.49 0.63 2
3 0 1 0 0 0 8 64 0.06 0.69 0
4 1 0 0 1 1 19 361 0.31 1.00 1
------------- ------------ 1170 1 ------------ 4
平均值 ------------- ------------ 293 0.25 ------------ 1
最大值 ------------- 24 576 0.49 ------------ 2

于是经复制得到到:
13(01101)
24(11000)
24(11000)
19(10011)
假设交叉率Pc=100%,作交叉操作(1和2、3和4)

编号 交配池 交叉位置 交叉后的新种群 变量x 适应值f(x)
1 0 1 1 0 \ 1 4 0 1 1 0 0 12 144
2 1 1 0 0 \ 0 4 1 1 0 0 1 25 625
3 1 1 \ 0 0 0 2 1 1 0 1 1 27 729
4 1 0 \ 0 1 1 2 1 0 0 0 0 16 256
1754
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值