一、cvx是什么?
是一个解决优化问题的Matlab工具箱,通常用于解决凸优化问题,提供了一种简洁的方式来定义和求解优化模型。
二、cvx怎么安装?
- 我是首先安装的cvx,在官网下载cvx-w64.zip包,然后解压缩。我的matlab放在D:\program里,所以解压缩中,我选择的地址也是D:\program. 那么cvx包就会放在D:\program\cvx里。
- 打开MATLAB,输入命令
cvx_setup
运行成功,cvx安装成功,路径顺便也添加到MATLAB里了。
- 输入cvx-version
找到以下信息
License host:ssssss
user Host ID: 64e756441 (eth3)
Installed license:
No license installed.
以上信息是要到cvx官网注册用到的,参考cvx注册
选择academic user身份注册,把基本信息填好就会给你的邮箱发送证书。(注:本文所有证书都是以学生身份申请的,所以我填的都是学校邮箱)
- 在D:\program\cvx下新建一个文件夹license,然后把下载的证书cvx_license.dat放到里面,接着在MATLAB里运行
cvx_setup D:\program\cvx\cvx_license.dat
cvx 证书认证成功。
- gurobi证书,
cvx安装及证书
mosek证书我没弄,因为我在翻看cvx_setup运行信息时,发现mosek后面写的有证书,也许被包含在cvx里了吧,目前的使用中也没有报证书的错,也许不需要弄。
gurobi证书申请还挺快的,发完邮件很快就给我验证码了。 - gurobi证书安装
上面那个guide实在看不懂,用的官网给的方法,就简单描述一下吧。(以上面的安装地址为例)
打开cmd,输入D:,进入D盘,然后cd D:\program\cvx\gurobi\w64,
运行邮件给的那一串,基本格式是(xxxxxxxx代表的是颁发给你的激活码,grbgetkey是目录下的exe)
grbgetkey xxxxxxxx
输入以上命令后,会自动生成一个证书文件,放在C盘的一个位置,具体位置生成时会弹,注意看。
然后到该位置去找证书文件,“gurobi.lic”,把它移到D:\program\cvx\gurobi\w64里来,然后运行cvx_setup,(按理说该命令是安装命令,不该一直输,但我确实不知道其他看证书有没有安装的命令了,用了几次也没问题,大胆用。),查看gurobi后面跟的信息,有没有证书,如果有就是成功了,没有就是没成功,还需要创建 GRB_LICENSE_FILE 系统环境变量(不是用户环境变量),即 GRB_LICENSE_FILE = D:\program\cvx\gurobi\w64\gurobi.lic。就可以了。
三、cvx怎么用?
- 基本格式
cvx_begin % 开始 也可选择模式
cvx_solver % 选择求解器
variable %定义变量
maximize (% 目标函数)
subject to
% 约束条件
cvx_end %结束
cvx既可以求maximize,又可以求minimize。