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