我希望在我参与的运营研究项目中添加一些遗传算法.目前我们有一个程序可以帮助优化一些调度,我们希望以遗传算法的形式添加一些启发式算法. c中的通用遗传编程/算法有没有好的库?或者你会建议我只编写自己的代码吗?
我应该补充说,虽然我不是新手,但我在c中进行这种数学优化工作还是比较新的,因为我以前合作的小组倾向于使用专有的优化包.
我们有一个相当计算密集的适应度函数来评估,我们有一个集群来运行它,所以非常需要并行代码.
那么这是一个很好的语言吗?如果不是,请推荐一些其他的,因为我愿意学习另一种语言,如果它让生活更轻松.
谢谢!
解决方法
我建议你自己动手. GP中90%的工作是编码基因型,如何操作,以及适合度计算.这些是针对每个不同问题/项目而改变的部分.实际的进化算法部分通常很简单.
那里有几个GP库(http://en.wikipedia.org/wiki/Symbolic_Regression#Implementations).我会用这些作为例子和参考.
对于GP来说,C是一个很好的选择,因为它们往往计算量很大.通常,适应度函数是瓶颈,所以至少要对这部分进行编译/优化是值得的.