我在为WHPP调度问题实现一个遗传算法解决方案时,使用了轮盘选择算法。我遇到的问题是,初始种群(随机生成)开始时具有非常相似的(非常低的)适应度值,导致父母之间以及随后他们的子代之间的概率几乎相等(至少非常接近),因此从执行开始就几乎是随机选择。我的问题是该如何处理这个问题?我是否应该寻找另一种评估种群的方法,使得其中最好的个体有不成比例的高概率被选中?还是说我生成初始种群的方式不应该产生均匀的适应度值?(这意味着我从一开始就做错了什么)这是我必须提交的人工智能作业,但不知为何我无法从教学人员那里得到直接的答案。提前感谢,我知道这是一个非常模糊的问题,但我无法从任何地方获得信息。
回答:
结果证明,轮盘选择法并不适合我的情况。我最终使用了排名选择算法,这正是我原本想用轮盘选择法实现的。它根据适应度值分配排名,然后你可以基于此计算概率。这样,即使是适应度稍高的个体也能获得更好的机会。你还可以使用偏差乘数变量来控制它们拥有的优势有多大。这在某些个体与其他个体相比具有极高适应度值的情况下也适用。