代码之家  ›  专栏  ›  技术社区  ›  Alejandro Andrade

用于CVXR的Usign Mosek

  •  0
  • Alejandro Andrade  · 技术社区  · 5 年前

    我已经安装了3次Mosek。它在python中工作,但安装的CVXR(r软件包)函数\u 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 使用python(“/Users/apple/anaconda3”) 和 使用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 回复  |  直到 5 年前
        1
  •  6
  •   Henrik Alsing Friberg    5 年前

    我能够复制,不幸的是错误是非常沉默的。但是根据源代码, 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)
    

    看看这会导致什么。

    推荐文章