c++ - c++ 中的遗传编程,库建议?

标签 c++ genetic-algorithm genetic-programming

<分区>

我希望将一些遗传算法添加到我参与的运筹学项目中。目前我们有一个程序可以帮助优化某些调度,我们希望以遗传算法的形式添加一些启发式算法。在 C++ 中是否有任何好的通用遗传编程/算法库?或者您会建议我自己编写代码吗?

我应该补充一点,虽然我不是 c++ 的新手,但我对在 c++ 中进行此类数学优化工作还很陌生,因为我之前合作的小组倾向于使用专有的优化包。

我们有一个适应度函数,该函数的评估计算量相当大,而且我们有一个集群来运行它,因此非常需要并行代码。

那么,C++ 是一种很好的语言吗?如果没有,请推荐一些其他语言,因为如果它能让生活更轻松,我愿意学习另一种语言。

谢谢!

最佳答案

我建议您自己滚动。全科医生 90% 的工作是对基因型进行编码、如何对其进行操作以及适应度计算。这些是针对每个不同的问题/项目而改变的部分。实际的进化算法部分通常非常简单。

那里有几个 GP 库 ( http://en.wikipedia.org/wiki/Symbolic_Regression#Implementations )。不过,我会将这些用作示例和引用。

C++ 是 GP 的不错选择,因为它们的计算量往往非常大。通常,适应度函数是瓶颈,因此至少编译/优化这部分是值得的。

关于c++ - c++ 中的遗传编程,库建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2857526/

相关文章:

c# - 轮盘赌选择程序

c++ - 静态数据类型(结构)的组织

c++ - 如何检测不再响应的事件 x 组件?

c++ - 在 C++ 中声明一个 const int 数组

classification - 分类的遗传算法

python - 如何在 Python 中使用 DEAP 绘制多目标帕累托边界

c++ - 清理堆分配对象的良好做法或约定?

syntax-error - 用户定义的软件包RNG中的VHDL语法错误,用于第5行的遗传算法

c++ - 当我编译我的程序时,这个内存映射意味着什么?