繁体   English   中英

如何在 R 中使用旧版本的 NLopt

[英]How to use a older version of NLopt in R

我正在尝试复制使用nloptr function 的代码。唯一的区别是我使用的是另一个版本:

正如您在我的 output 中看到的,我使用的是 2.7.1 版

> # optimization result
> opt_result

Call:
nloptr(x0 = theta_init, eval_f = obj, eval_grad_f = grad, lb = lb,     ub = ub, opts = opts)


Minimization using NLopt version 2.7.1 

NLopt solver status: 4 ( NLOPT_XTOL_REACHED: Optimization stopped because xtol_rel or xtol_abs 
(above) was reached. )

Number of Iterations....: 15 
Termination conditions:  xtol_rel: 0.001    maxeval: 10000 
Number of inequality constraints:  0 
Number of equality constraints:    0 
Optimal value of objective function:  121997.975378908 
Optimal value of controls: 10.04425 52.50066 1 0.218371

但是,在原始代码中,他们使用的是 NLopt 的 2.4.2 版本

在此处输入图像描述

有没有办法让我现在可以使用 2.4.2 版本? 因为我想要完全相同的值(代码是相同的,我只是复制并粘贴它)。

提前致谢!

NLopt 源代码的旧版本可在 NLopt GitHub 页面的releases下找到,从版本 2.4.2 开始。 您可以按照通常的方式在命令行上安装:

$ curl -LO https://github.com/stevengj/nlopt/archive/refs/tags/nlopt-2.4.2.tar.gz
$ tar -xvf nlopt-2.4.2.tar.gz
$ cd nlopt-2.4.2
$ ./configure
$ make
$ sudo make install

在同一目录中运行sudo make uninstall以卸载,例如,如果您稍后决定恢复到最新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM