问题标签 [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.
r - 链接到 nlopt 库的 R-Rcpp 包
在某些方面,这是这篇旧文章的延续,R 包带有 Rcpp 和 nloptr。
大多数情况下,这个解决方案被证明是暂时的,有几个原因,一些次要的,但主要是我正在努力完善这个项目以进行 cran 提交,这仍然是最后一个障碍。
也就是说,我尝试并未能让这个示例运行https://github.com/jyypma/nloptr/issues/39。这里的错误是“..../sourceCpp_2.so 原因:找不到图像”
之后,我制作了一个测试包,其中 nlopt 安装到“inst”文件夹中,“src”中的“makevars”和“makevars.win”以及上面的测试示例。这个包现在在 GitHub 上:https ://github.com/shortyatz/Nlopt-and-Rcpp 。
并给我一个与上面类似的错误消息。
这是我的会话信息:
julia - 如何在 Julia 中使用 NLopt 和 equal_constraint
我正在努力修改NLopt 上的 Julia 特定教程以满足我的需求,如果有人能解释我做错了什么或未能理解,我将不胜感激。
我希望:
- 最小化一些目标函数的值
myfunc(x)
;在哪里 x
必须位于单位超立方体中(在下面的示例中只有 2 个维度);和- 的元素之和
x
必须为1。
下面我做myfunc
的很简单——距离的平方,x
这样[2.0, 0.0]
问题明显正确的解决方案就是x = [1.0,0.0]
for which myfunc(x) = 1.0
。我还添加了println
语句,以便我可以看到求解器在做什么。
我已在此处和此处阅读了类似的问题和文档,但仍然无法弄清楚出了什么问题。令人担忧的是,每次我运行时我都会看到不同的行为,就像在这个屏幕截图中一样,包括求解器多次无用评估的情况。testNLopt
myfunc([NaN,NaN])
r - 如何处理 R 中的这个 nloptr 错误?
r - 使用 nloptr 与 Excel 在 R 中进行非线性优化
我似乎无法为我的特定问题找到答案。我试图最小化实值向量和模型线性组合之间的平均绝对误差,如下所示:
如您所见,我正在使用该nloptr
软件包。上面的代码对目标函数产生了 14.85 的非最优结果,并且参数都是初始参数。您可以将初始参数更改为其他向量,但仍无法获得最佳解决方案。
但是,使用 excel 求解器可以很容易地得到目标函数的10.77和参数的(0, 0, .15, 0, 0, .85)的结果。
我尝试过使用带有渐变的算法,但是我似乎无法正确使用语法。这是我的另一个尝试。
python - 我已安装 nlopt,但收到消息:没有名为“nlopt”的模块
我已经安装了 nlopt: conda install -c conda-forge nlopt
我可以看到安装的包: conda list
但是当我尝试在 Spyder 上导入它时,我收到消息:没有名为“nlopt”的模块。我在 Windows 10 上运行它,如果有帮助的话,我对 python 完全陌生!
任何人都知道如何解决它?提前致谢 :)
r - 算法“NLOPT_LD_auglag”有什么作用?
我遇到了一些使用算法 NLOPT_LD_MMA 和 NLOPT_LD_AUGLAG 的代码。
我找不到任何文档,尤其是关于 NLOPT_LD_AUGLAG 的文档。
我想知道算法在做什么,因为我想用一些额外的约束来执行任务。
不幸的是,我无法为您提供我的其余代码,我真的在寻找这些算法背后发生了什么的解释(如果可能的话,最好用一些数学方法!)
r - nloptr COBYLA 方法无法识别 R 中的等式约束
我现在在 R 中运行 nloptr-COBYLA 最小化模型,我遵循 nloptr 接口并从目标最小化收敛中得到解决方案。但该解决方案不满足约束条件。有没有人可以在代码中找到我的错误?...
代码
在代码中,h[7] 和 h[8] 是等式约束。(在界面中,我们还可以看到“COBYLA 通过将它们转换为两个不等式约束来支持等式约束。”)但是,如果我使用解决方案计算 h[7] 条件,则它不满足该条件。为什么会发生?...
结果
谢谢您的帮助
julia - 使用 JuMP 解决 NL 优化问题时未定义 erf()
我正在用 Julia 中的 JuMP 解决非线性优化问题,我的目标函数中有一个 erf() 调用。我的代码抛出一个错误,指出未定义 erf() 函数。
我调用了 Pkg.update(),加载了 SpecialFunction 包并在不同的求解器(NLopt、Itopt)之间切换,但它们都没有工作。
下面是我在 Julia 1.0.3 下测试的环境和最小化代码
有没有办法用求解器在这里调用 erf() ?
r - 准备具有外部依赖项的 CRAN R 包 (nlopt)
我正在尝试向 CRAN 提交一个在 Debian 的预测试过程中失败的包。
我使用了一些 C++ 代码,这些代码通过 Rcpp/RcppArmadillo(使用<nlopt.hpp>
)连接到 nlopt 优化库。因此,我的包需要一个系统版本的 nlopt,可以通过 deb 包 libnlopt-dev 安装(我将它添加到 SystemRequirements 字段)。
我使用配置脚本和 pkg-config 来检索(希望)适当的编译器标志,然后将其发送到 src/Makevars
这种方法适用于我的系统(Ubuntu 18.04,R 3.5.2)和 Travis(linux 和 mac OS),但在 Debian CRAN 服务器上失败: https ://win-builder.r-project.org/incoming_pretest/PLNmodels_0 .7_20190119_161032/Debian/00install.out
我添加了一些详细信息来检查标志是否在 CRAN 服务器上正确导出,它们对我来说似乎没问题:至少,在系统上找到了一个 nlopt 版本(见下文,NLOPT_LIBS=-lnlopt -lm
)。但是,<nlopt.hpp>
后者在...上找不到
任何帮助将不胜感激。感谢您花时间阅读本文。
r - 如何使用 nloptr 库来最大化两个数组之间的 Spearman 相关性
我有两个数组。例如第一个是A,第二个是B:
A<-c(2,5,6,10,11) B<-c(13,2,6,8,12)
我也有常数 teta=1。我做了一个数组:
D=B-teta
A和D之间的相关系数
koeff<-cor(A,D)
挑战是通过改变常数 teta 使 koeff 达到最大值。据我了解,我可以使用 nloptr 库。我应该如何使用它?
此致!
PS我用求解器一般减少梯度在excel中完成了这项工作。我在R中没有找到这个函数。