Усин Мосек для CVXR
Я уже 3 раза устанавливал Мосек. Он работает в python, но функция CV_R (r package) instal_solvers() не может найти MOSEK.
Я работаю над MACos Mojave. Я установил Mosek через conda comand, получил академическую лицензию, создал папку в домашнем каталоге с именем mosek и поместил в нее файл лицензии. Затем я протестировал в лаборатории jupyter следующий скрипт https://docs.mosek.com/8.1/pythonapi/design.html и получил результат Solution x = 2.0, так что Mosek работает. Затем я установил сетку, используйте директорию по умолчанию, замените ее на use_python("/Users/apple/anaconda3") и use_python("/Users/apple/anaconda3/lib/python3.6"). В любом из них используется функция instal_solvers. () нашел мосек. Информация о моей сессии следующая
Документация в https://cvxr.rbind.io/cvxr_examples/cvxr_using-other-solvers/ самом деле не говорит, как решить проблему. Кто-нибудь нашел решение? Спасибо
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")
чтобы обнаружить, что мне действительно не хватало scipy в моей среде Python. После установки это работало как задокументировано..
Если это не поможет, попробуйте импортировать решатель вручную:
msk = MOSEK()
import_solver(msk)
и посмотреть, к чему это приведет.