我正在写一个遗传算法。我的人口迅速发展单一栽培。我正在使用少量离散基因(每个个体24个基因)的小群体(32个个体)和单点交叉交配方法。将其与轮盘赌选择策略相结合,很容易看出几代遗传多样性是如何丢失的。
我想知道的是,适当的反应是什么?我没有关于GA的学术水平知识,只有少数解决方案浮现在脑海中:
对这种情况有什么适当的回应?
答案 0 :(得分:3)
您可以添加:
答案 1 :(得分:3)
我会看一个更大的人口,32个人是一个非常小的人口。我通常使用至少在染色体数量^ 2范围内的人群(按经验)运行GAs,以获得良好的个体初始分布。
一种加速人口增长的可能方法是在运行健身功能时(通常是GA中最昂贵的部分)产生不同的线程(每个人1个,可能是批量)。
假设一个32和一个四核系统的人口,以8个批量生成线程(每个cpu 2个线程将很好地交错),你应该能够以大约4 *的速度运行。
因此,如果您对运行GA的时间有时间限制,这可能是一个解决方案。