为什么我的遗传算法没有收敛?

时间:2015-11-14 18:23:43

标签: c++ algorithm c++11 genetic-algorithm

我试图编写一个程序,使用遗传算法找到具有n个输入和n个输出的最佳组合电路。代码有效,但没有找到最佳解决方案。该算法只需要一个好的"解决方案并尝试随机修改它以获得更好的解决方案。我的问题是,我的方法是错误的(不应该随意做)或者我的代码在逻辑上是错误的吗?

Git存储库:https://github.com/Umuril/Genetic-Circuits

PS:我只需看看代码。代码是"评论"并且只需要:cd "dir"; make; ./Genetic.out

1 个答案:

答案 0 :(得分:1)

一般来说,进化算法并不能保证他们的反应最好,而是找到一个好的解决方案。您可以先通过GA找到一个好的解决方案,然后在解决方案社区中使用本地搜索。

也许Memetic算法可以帮到你。 https://en.wikipedia.org/wiki/Memetic_algorithm