我试图编写一个程序,使用遗传算法找到具有n个输入和n个输出的最佳组合电路。代码有效,但没有找到最佳解决方案。该算法只需要一个好的"解决方案并尝试随机修改它以获得更好的解决方案。我的问题是,我的方法是错误的(不应该随意做)或者我的代码在逻辑上是错误的吗?
Git存储库:https://github.com/Umuril/Genetic-Circuits
PS:我只需看看代码。代码是"评论"并且只需要:cd "dir"; make; ./Genetic.out
答案 0 :(得分:1)
一般来说,进化算法并不能保证他们的反应最好,而是找到一个好的解决方案。您可以先通过GA找到一个好的解决方案,然后在解决方案社区中使用本地搜索。
也许Memetic算法可以帮到你。 https://en.wikipedia.org/wiki/Memetic_algorithm