问题说明
目前cvx不再颁发学生证书,而是直接使用mosek的学生证书,安装过程会遇到一些莫名奇妙的问题。
CVX 3?
不知道为什么,cvx 3 检测不到mosek,因此建议使用cvx 2。
安装流程:
首先安装cvx,检测是否可行。参考链接
然后获取mosek的学生认证 (上官网找academic license 或试试这个链接还能不能用 https://www.mosek.com/products/academic-licenses/),放在\users\user_name\mosek\文件夹下即可。
然后在matlab里重新运行cvx_setup,若安装成功,mosek求解器会出现在【solvers initialized (* = default):】栏目下。
若没有出现,可以尝试安装完整的mosek包。参考链接(发现这个博客现在要vip。。。)
安装完整的mosek包同样是上官网https://www.mosek.com/downloads,安装之后需要将安装目录(C:\Program Files\Mosek\11.0\toolbox\r2019b和:\Program Files\Mosek\11.0\toolbox\r2019b\mosekopt.mexw64,具体路径随你的安装路径改动)添加到matlab的搜索路径里【设置路径】(然后好像要重启)。
重新执行cvx_setup,可用的求解器有如下这些(我也不知道aom啥意思)
7 solvers initialized (* = default):
Mosek 9.1.9 {cvx}\mosek\w64
Mosek_2 9.1.9 E:\Program Files\Mosek\10.1\toolbox\r2017aom
Mosek_3 9.1.9 E:\Program Files\Mosek\10.1\toolbox\r2017aom
Mosek_4 9.1.9 E:\Program Files\Mosek\10.1\toolbox\r2017a
Mosek_5 10.1.27 E:\Program Files\Mosek\10.1\toolbox\r2017a
切换求解器时使用cvx_solver命令,直接在后面跟求解器名字即可,不需要尖括号(好坑)>>cvx_solver mosek