Lua的优化函数optim()的替代方案

我目前正在寻找 lua 对 R 编程语言的;optim() 函数的替代方案,如果有人知道如何处理这个问题,请告诉我。

原文链接 https://stackoverflow.com/questions/6208078

点赞
stackoverflow用户388520
stackoverflow用户388520

R 的 optim 实现实际上并不是用 R 语言编写的。如果在提示符中键入不带括号的 "optim",它将显示函数的定义,您将看到在进行一些错误检查和参数处理之后,它调用一个 .Internal 程序(用 C 和 / 或 Fortran 编写)来执行所有实际工作。

因此,您最好是找到一个用于数学优化的 C 库(抱歉,我没有推荐的)并将其包装到 Lua 中。我怀疑没有人为此编写了本地 Lua 代码,我也不建议尝试自己编码;高效地进行数学优化仍然是基础研究的一个活跃领域,迄今为止最好的算法明显不容易实现。

2011-06-01 22:00:19
stackoverflow用户190277
stackoverflow用户190277

http://numlua.luaforge.net/ 看起来很有趣,但似乎没有最小化功能。最有前途的线索似乎是一个 Lua 对 GSL 的包装器,其中包括多种多维最小化算法

带导数 - BFGS ( 在 optimmethod="BFGS" ) 和两种共轭梯度方法 (Fletcher-Reeves 和 Polak-Ribiere),它们是 optimmethod="CG" 的三个选项中的两个。 不带导数 - Nelder-Mead simplex ( 在 optimmethod="Nelder-Mead",是默认值)。

更具体地,请参见此处有关最小化的 Lua shell 文档。

我同意 @Zack 的看法,你应该尽可能使用现有的实现,并且你可能需要更多的背景知识才能知道哪些算法对于你的特定问题是有用的...

2011-06-01 23:22:53