问题标签 [nlopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
421 浏览

visual-studio-2012 - nlopt 无法使用 MSVC 2012 编译 cobyla.c

当我尝试使用网站提供的 Windows cmake 文件使用 Visual Studio Express 2013编译nlopt时,子目录中的配置 via工作正常,但编译 via失败并显示以下错误消息:cmake -DCMAKE_BUILD_TYPE=Release -DNLOPT_BUILD_SHARED=On -G"NMake Makefiles" ..buildnmake

0 投票
2 回答
2362 浏览

python - NLOPT 无效的参数 Python

当我在 python 中运行以下简单的 NLOPT 示例时:

我收到一个错误:

参考这里给出的唯一建议:

http://ab-initio.mit.edu/wiki/index.php/NLopt_Python_Reference

是下限可能大于上限,或者存在未知算法(这里都不是这种情况)。我正在运行以下版本的 Python、NLOPT 和 NumPy

0 投票
1 回答
351 浏览

algorithm - 使用 ISRES 搜索算法使用 nloptr 指定约束

我有一个非线性约束的非线性最小化问题,但没有雅可比。我想使用nloptrR 优化包中的 ISRES 搜索算法。我对是否应该将不等式约束定义为 ineq<=0 或 ineq>= 有点困惑。在 nloptr 的文档中,似乎不等式约束应表述为 ineq<=0,而在 ISRES 函数的文档中,不等式约束被表述为 ineq>=0。

0 投票
1 回答
4125 浏览

linux - 在 Ubuntu 上本地安装 nloptr 的问题

我目前正在使用开源(R 和 ubuntu)为我的组织工作。问题是我们不能使用互联网,这意味着如果我想安装一些软件包或软件,我必须从其他电脑下载它并将其传输到工作电脑。正如您现在可能知道的那样,我在使用 R3.1.3 的 Ubuntu 12.04 上安装 nloptr 包时遇到了问题。

尝试 1

我已将“nlopt-2.4.2.tar.gz”放在“home”文件夹中。我这样做的原因是因为“配置”源代码显示它使用 R 中的 download.file 函数并从那里安装它。但是由于我无法使用互联网,所以我在默认目录(我打开终端的目录)上找到了“nlopt-2.4.2.tar.gz”但是,我收到一条错误消息

尝试 2

看来我可以使用“sudo make install”来安装“nlopt”。但是,再次,似乎我必须手动更改一些配置设置。问题是我真的不知道安装后我必须更改哪种配置nloptr才能成功安装“ ”。我得到的错误信息是

如果您能分享您的想法或任何想法,那就太好了。

0 投票
8 回答
20026 浏览

r - 在 Linux 上安装 nloptr

我正在尝试在没有 Internet 连接的 CentOS Linux 机器上安装 R 包nloptr ,如下所示:

该命令依次在线查找以下文件

但是,这失败了,因为没有与机器的互联网连接。

我尝试了以下stackoverflow帖子中的建议:

在 Ubuntu 上本地安装 nloptr 的问题

我更改了 configure 和 configure.ac 文件中的 URL,如下所示:

但是,当我尝试再次安装该软件包时出现以下错误:

有人可以指导我如何在本地安装这个 R 包吗?

更新 1

根据 Dirk 关于首先安装 nlopt 的建议,我按照以下页面中的说明进行操作:

http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation

我安装 nlopt 如下:

当我尝试在 R 中重新安装 nloptr 时,它不再寻找 nlopt 链接,而是抛出以下错误:

更新 2

正如 Dirk 所建议的,我查看了 ldconfig 命令并使用了以下参考:

http://codeyarns.com/2014/01/14/how-to-add-library-directory-to-ldconfig-cache/

我编辑了 /etc/ld.so.conf 文件,添加了包含共享库的目录 /usr/local/lib 并运行了 ldconfig 命令。这添加了相关的共享库,如下所示:

但是,当我尝试重新安装 nloptr 包时,我仍然得到相同的共享对象错误。

有人可以指导我解决共享库错误吗?

0 投票
1 回答
290 浏览

vectorization - NLopt 中的矩阵优化

NLopt是一个优化求解器,它实现了不同的优化算法,用不同的语言实现。

为了在 Julia 中使用 LD_LBFGS 算法,变量是否必须是向量而不是矩阵?

如果是,一旦我们需要优化作为矩阵变量的单变量函数的目标,我们是否必须对矩阵进行矢量化才能使用这个包?

0 投票
1 回答
582 浏览

julia - 如何将参数和数据传递给目标函数以使用 NLopt 进行优化

在 Ubuntu 14.04 上的 Julia v0.3.10 中,我需要将参数和数据传递给目标函数,以便在 Julia 中使用 NLopt 的优化例程中使用。以下示例代码演示了我目前如何执行此操作:

这可行,尽管localObjectiveFunction存在匿名问题,因此编译器将无法在运行时确定函数的输出类型,这反过来又会影响性能。

我只是想知道是否有更好的方法来处理这个问题?我应该使用FastAnonymous吗?还是有另一种形式的魔法可以解决这个问题?

0 投票
1 回答
4100 浏览

r - 使用 R nloptr 包最小化 - 多个等式约束

是否可以在 R 中的函数中指定多个等式约束nloptr?我试图运行的代码如下:

它产生的结果如下:

然而,这些值不具有等式约束,即

我猜要么不可能在nloptr函数中指定多个等式约束,要么我以错误的方式传递它们。我在包文档中没有找到任何具有多个等式约束的示例。

更新

好的,我解决了。情况是指定constrand gradin eval_g_eq,应该使用rbind()而不是c().

0 投票
1 回答
587 浏览

r - 从 R 中的 nloptr 提取控制的最佳值

我对 R 相当陌生,我编写了一个函数,我正在使用 R 中的 nloptr 包进行优化。优化本身可以工作并收敛到一个解决方案,但是它以列表的形式呈现。无论如何要在输出的最后一个通道中提取最后一个“控件的最佳值”(如下所示):

称呼:

0 投票
1 回答
1272 浏览

c++ - 在 Windows cmd 提示符下工作时设置 NLOpt

我正在从 windows cmd 提示符下编写一个 c++ 程序,并使用 mingw ( g++) 进行编译。这个程序需要一个非线性优化器,NLOpt看起来是个不错的选择。我为一门课程学习了c++,所以我使用的环境已经设置好了,我没有设置库等方面的经验。

到目前为止,我的步骤是;

  1. 从这里下载 64 位 Windows 的预编译 DLL(这是我正在运行的)。

  2. 运行命令dlltool --input-def libnlopt-0.def --dllname libnlopt-0.dll --output-lib libnlopt-0.lib(来自同一页面),该命令运行没有错误。

这会创建一个 .hpp 文件,但是,当我尝试获取#include的文件时

nlopt.h并且nlopt.hpp彼此位于同一目录中。我的程序位于不同的文件夹中。 文件夹设置的图像

这可能是非常基本的,很抱歉给您带来麻烦。也许我的无知并不完全是我一个人,这也会对其他人有所帮助。另外,我已经看到了这个问题,但它涉及在 Visual Basic 上安装,而且我没有使用 GUI,只使用 notepad++ 和 cmd 提示符。

谢谢您的帮助。