【问题标题】:Usign Mosek for CVXR使用 Mosek 进行 CVXR
【发布时间】:2023-03-12 10:53:01
【问题描述】:

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

我正在开发 MACos Mojave。我通过 conda 命令安装了 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。我的会话信息如下

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

【问题讨论】:

    标签: r optimization cvx mosek cvxr


    【解决方案1】:

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

    看看这会导致什么。

    【讨论】:

    • 感谢您对命令的帮助我发现 reticulate 没有找到 mosek,我刚刚更新了我的 R 并且它工作了。
    猜你喜欢
    • 1970-01-01
    • 2019-06-29
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多