我目前正在使用RGP作为遗传编程库。如果有人对另一个图书馆有了想法(更好的文档,更积极的开发等),我想听听你的建议。
问题很简单:给定R中具有n个参数的函数,如何使用遗传编程找到全局最小值。我尝试修改其中一个example programs ,但似乎这个例子使用的是线性回归,我觉得这种情况并不合适。
有没有人有我可以使用的示例代码?
答案 0 :(得分:3)
我可以建议使用HeuristicLab。实现了一些算法:遗传算法,进化策略,模拟退火,粒子群优化等,如果您正在研究实值函数的最小化,这些算法可能会很有趣。该软件在C#中实现,并在Windows上运行。它提供了一个GUI,您可以在其中优化多个提供的测试功能(Rosenbrock,Schaffer,Ackley等)。还有很好的基因编程(GP)实现,但从我的印象中你不需要GP。在遗传编程中,您可以根据未知函数的输出数据来演化函数。我认为在你的情况下,函数是已知的,你需要找到那些最小化函数输出的参数。
该软件的最新主要版本于2010年向公众发布,并在几个次要版本中进一步开发。我们现在每年发布一次大约两次。有一个谷歌小组,你可以请求帮助,越来越活跃,有一些视频教程,显示功能。查看youtube上的tour video,它会在不到3分钟的时间内概述这些功能。围绕Metaheuristics领域的研究员Affenzeller教授的研究小组开发了这个软件,位于奥地利。我也是这个小组的成员。
查看howtos如何在GUI中实现您的功能,或者如果您了解C#,那么如何将您的问题作为插件实现。
答案 1 :(得分:2)
您可以使用遗传算法代替GP来查找具有n个变量的函数的最小值。
基本上你做的是: