适用于CVXR的Usign Mosek

时间:2019-02-04 15:32:11

标签: r optimization cvx mosek cvxr

我已经安装了3次Mosek。它在python中工作,但是CVXR(r包)函数installed_solvers()无法找到MOSEK。 enter image description here

我正在研究MACos Mojave。我通过conda comand安装了Mosek,获得了学术许可,在主目录中创建了一个名为mosek的文件夹,并将许可文件放入其中。然后,我在jupyter实验室中测试了以下脚本https://docs.mosek.com/8.1/pythonapi/design.html#hello-world-in-mosek,并获得了结果 解x = 2.0,因此Mosek正在运行。 然后我安装了网状结构,使用默认目录,将其替换为 use_python(“ / Users / apple / anaconda3”) 和 use_python(“ / Users / apple / anaconda3 / lib / python3.6”) 在其中任何一个函数中,installed_solvers()函数都已找到mosek。我的会话信息如下 enter image description here

https://cvxr.rbind.io/cvxr_examples/cvxr_using-other-solvers/中的文档并未真正说明如何解决问题。有人找到了解决方案?谢谢

1 个答案:

答案 0 :(得分:4)

我能够复制,但不幸的是,错误非常安静。但是根据源代码https://rdrr.io/cran/CVXR/src/R/mosek-solver.R,我尝试了所有要求

reticulate::py_module_available(module = "numpy")
reticulate::py_module_available(module = "scipy.sparse")
reticulate::py_module_available(module = "mosek")

发现我实际上在Python环境中缺少scipy。安装后,它按文档所述工作。

如果这对您没有帮助,请尝试手动导入求解器:

msk = MOSEK()
import_solver(msk)

并查看结果。