当前内容只是我的理解和经验,若有错误请斧正。
CVX 是Matlab 中的凸优化安装包,通过安装 CVX包,要优化的问题(变量、约束、目标函数)可用matlab语句来表达。
CVX 安装: 原文参见 https://blog.csdn.net/lipengcn/article/details/51442005
* Note: CVX 安装的版本要和你的MATLAB一样,要兼容,64位就是64位,安装32位会报错
简单来说是:1、下载 http://cvxr.com/cvx/download/
2、解压
3、打开 MATLAB,并cd至 CVX解压所在文件夹,输入 cvx_setup
4、初次用户需要申请一个免费的 academic license, 其中的邮箱要是学校的邮箱 http://cvxr.com/cvx/academic/
5、等待 ,接收邮件中的 cvx_license. dat, 存至某目录
6、在 MATLAB中输入命令 cvx_setup D:/Download/cvx_license.dat 即可完成安装和注册
Gurobi 安装:
CVX 的包在下载时是会包含一些求解器的,其中就包括Gurobi,但是因为现在Gurobi的中国事务都应该是外包给了一家中国的公司,在申请 academic license的时候没有以前那么简单了,它安装以后极有可能无法检测出你的IP是高校IP,需要给这个公司写邮件传一个申请表和一些身份证明文件,等待他发给你 license。
原文参见 https://blog.csdn.net/u012705410/article/details/78196927
在 matlab 输入
cvx_setup /Users/lxy444/Documents/MATLAB/cvx_license.dat
就可以安装上 mosek 求解器了。但是我们不用着急,因为我们也想把 gurobi 一块装上。所以我们先按照官网要求(http://cvxr.com/cvx/doc/gurobi.html#gurobi)去获取一个 gurobi 的 license,在 gurobi 官网用教育邮箱注册后在这里:https://user.gurobi.com/download/licenses/free-academic 就可以直接获得一个 license 了。
获得 gurobi 的 license 之后,在 matlab 里面输入
cvx_grbgetkey ********-****-****-****-***********
后面是你的 license,然后就会验证成功了,不过这个验证过程貌似要连上学校的 wifi。
最后还是在 matlab 里面输入
cvx_setup /Users/lxy444/Documents/MATLAB/cvx_license.dat
一切成功后,显示如下
---------------------------------------------------------------------------
CVX: Software for Disciplined Convex Programming (c)2014 CVX Research
Version 2.1, Build 1116 (d4cc5c5) Thu Mar 30 21:54:11 2017
---------------------------------------------------------------------------
Installation info:
Path: /Users/lxy444/Documents/MATLAB/cvx
MATLAB version: 9.1 (R2016b)
OS: Mac OS X x86_64 version 10.13
Java version: 1.7.0_75 Verfying CVX directory contents: No missing files. Preferences: Path: /Users/lxy444/Library/Application Support/MathWorks/MATLAB/cvx_prefs.mat License host: Username: lxy444 Host ID: acbc327e4ff5 (en0) Installed license: No license installed. Installing license: File: /Users/lxy444/Documents/MATLAB/cvx_license.dat Organization: Peking University Contact: LiXiangyang (lxy444@pku.edu.cn) License type: academic Named user: lxy444 Host ID: acbc327e4ff5 Expiration: 2018-10-10 (365 days remaining) Status: verified --------------------------------------------------------------------------- Setting CVX paths...already set! Searching for solvers...5 shims found. 4 solvers initialized (* = default): Gurobi 6.00 {cvx}/gurobi/maci64 Mosek 8.0.0.60 {cvx}/mosek/maci64 * SDPT3 4.0 {cvx}/sdpt3 SeDuMi 1.34 {cvx}/sedumi 1 solver skipped: GLPK Could not find a GLPK installation. Saving updated preferences...done. Testing with a simple model...done! --------------------------------------------------------------------------- To change the default solver, type "cvx_solver <solver_name>". To save this change for future sessions, type "cvx_save_prefs". Please consult the users' guide for more information. ---------------------------------------------------------------------------
可以看到,此时求解器中已经包含 mosek 和 gurobi 了,安装成功!
Gurobi 的安装也可以直接安装,安装以后启动它,在 cmd 中输入激活码即可。
来源:oschina
链接:https://my.oschina.net/u/4326196/blog/4031712