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