我是在windows 8 系统下安装,和matlab一起使用。我下载的manual installation版本的mosek。
MOSEK Version 8.0.0.60 (Build date: 2017-3-1 13:09:33)
Copyright (c) MOSEK ApS, Denmark. WWW: mosek.com
Platform: Windows/64-X86
1.下载之后把安装包解压,解压到一个文件夹,任意位置即可。
然后把路径添加到matlab里面之后会报错。
用命令 mosekdiag验证安装会报错,错误如下:
MEX 文件 'D:\mosek\8\toolbox\r2014a\mosekopt.mexw64' 无效: 缺少依赖共享库:
'E:\R2019a/bin/win64\icuuc61.dll->E:\R2019a/bin/win64\icuin61.dll->E:\R2019a/bin/win64\libmwi18n.dll->E:\R2019a/bin/win64\libmx.dll->D:\mosek\8\toolbox\r2014a\mosekopt.mexw64'
需要 'icudt61.dll'
'D:\mosek\8\toolbox\r2014a\mosekopt.mexw64' 需要 'mosek64_8_0.dll'
出错 mosekdiag (line 55)
[r,res] = mosekopt('minimize',prob,param);
问题的原因是windows系统没有找到文件,具体的原因解释可以看官方的说明:
https://docs.mosek.com/9.0/toolbox/install-interface.html
解决方法是在matlab里面输入命令
setenv('PATH', [getenv('PATH') ';C:\Users\username\mosek\9.0\tools\platform\win64x86\bin']);
把路径填加到windows系统里面。注意上述的C:\Users\username\mosek\9.0\要根据你安装的mosek版本和路径进行替换。
然后你再运行mosekdiag会出现如下
Mosek error: MSK_RES_ERR_MISSING_LICENSE_FILE (License cannot be located. The default search path is ';C:\Users\xiao\mosek\mosek.lic;'.)
错误使用 mosekdiag (line 58)
mosekopt returned an error: 1008. [MSK_RES_ERR_MISSING_LICENSE_FILE]
这时候说明mosek安装成功了,只是缺少license,那就想办法找一个可用的license就行了。