我目前正在研究遗传算法来解决群体分配问题(尽可能地将学生分配到平衡群体)。我已经实施了整个算法,但我不知道它是否产生高质量的结果或不。我认为我太早收敛,因为它从第10代左右开始保持相同的解决方案(没有改进)。
我使用了2-tournmenat选择并订购了交叉。我试图设置不同的人口规模,锦标赛规模和突变率,但它没有帮助! 问题出在哪儿?这是一个星期,我陷入了同样的进步。
有什么建议吗?
答案 0 :(得分:1)
一般情况下,如果你的GA收敛太快,你需要注意几件事情:
答案 1 :(得分:0)
你可能会在局部最大值上快速收敛;这是遗传算法中的固有问题。您通常可以通过长时间段检测这种状态,但没有进展。
如果是这种情况,可能最简单的解决方案是节省卡住的人口并创建一个新的人口。希望这个会陷入全局最大值,或者至少是不同的局部最大值。然后,您可以比较两个群体,并保持一个更好的解决方案。有时候,根据基因的相关程度,将两个种群一起繁殖,以寻求更好的解决方案。