这是处理无法编码为2的全功率的整数的最佳方式/正确方法,并且解决方案范围不能简单地扩展?例如,我可能有6而不是8的限制,因为只存在6种可能的结果: 000 - >可能的结果,低适应性 001 - > - “ - ,更高的健康 .. 011 - >可能,高健身 100 - >可能,最高的健身 101 - >不可行,零适应度(?) 111 - >不可行,零适应度(?)
谢谢和亲切的问候
答案 0 :(得分:1)
我这样做的方式是,我包含了一个条件语句,将所有超出范围的解决方案的适用性设置为0,然后使得#34;不可选择"为了下一代。
例如(在matlab中):
for i=1:population_size
if bin2dec(population(i))>6
population_fitness(i)=0
end
population_fitness(i)=bin2dec(population(i)/6
end
这样,超出界限的解决方案将被认为是不可行的,并且有可能被选择用于下一代。