用遗传算法求函数 f(x)=x2 的最大值,其中x为[0,31]间的整数。 1.设编码长度为5 2.初始种群: s01=1 1 1 0 1 s02=1 0 0 0 1 s03=0 1 0 1 0 s04=1 0 1 1 0 3.请确定适应度函数: 4.选择操作采用轮盘赌,假设轮盘赌产生的随机数为0.85,0.33,0.12和0.46,经过选择后的种群形式如何?
时间: 2023-06-27 09:03:57 浏览: 283
1. 编码长度为5表示x的取值范围是[0, 31],因为2^5=32。
2. 初始种群为:
s01 = 1 1 1 0 1
s02 = 1 0 0 0 1
s03 = 0 1 0 1 0
s04 = 1 0 1 1 0
3. 适应度函数为f(x)=x^2,因为我们要求的是函数f(x)=x^2的最大值。
4. 选择操作采用轮盘赌,计算每个个体的适应度值,然后根据适应度值在轮盘上分配一个区域。轮盘赌产生的随机数为0.85,0.33,0.12和0.46,经过选择后的种群如下:
- 对于s01,适应度值为31^2=961,占总适应度的(31^2+31^2+10^2+27^2)/4=225,所以它被选择的概率为961/225=4.27,但是轮盘赌的随机数0.85大于4.27,所以s01未被选中。
- 对于s02,适应度值为1^2=1,占总适应度的(31^2+31^2+10^2+27^2)/4=225,所以它被选择的概率为1/225=0.44,轮盘赌的随机数0.33小于0.44,所以s02被选中。
- 对于s03,适应度值为21^2=441,占总适应度的(31^2+31^2+10^2+27^2)/4=225,所以它被选择的概率为441/225=1.96,但是轮盘赌的随机数0.12小于1.96,所以s03被选中。
- 对于s04,适应度值为27^2=729,占总适应度的(31^2+31^2+10^2+27^2)/4=225,所以它被选择的概率为729/225=3.24,但是轮盘赌的随机数0.46小于3.24,所以s04被选中。
经过选择后的种群为:
s02 = 1 0 0 0 1
s03 = 0 1 0 1 0
s04 = 1 0 1 1 0
阅读全文