Gurobi + CVX + Matlab

当前内容只是我的理解和经验,若有错误请斧正。

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 ([email protected])
    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 中输入激活码即可。

原文地址:https://www.cnblogs.com/lemonQ/p/8656455.html

时间: 2024-10-11 10:22:33

Gurobi + CVX + Matlab的相关文章

论文笔记-Augmented Lagrange Multiplier Method for Recovery of Low-Rank Matrices

论文题目:The Augmented Lagrange Multiplier Method for Exact Recovery of Corrupted Low-Rank Matrices Abstract 1.Robust PCA问题: recovering a low-rank matrix with an unknown fraction of its entries being arbitrarily corrupted. RPCA问题是一个凸优化问题:minimizes a comb

matlab调用CVX工具包

下载CVX:http://cvxr.com/cvx/download/ matlab如何使用CVX工具: 将下载完成的CVX压缩包解压到一个文件位置中,如:E:\paperprogram\cvx,注意,不要将CVX解压到matlab自身的toolbox目录中 . CVX安装:启动matlab,在command window中输入:cd E:\paperprogram\cvx,进入当前目录,输入cvx_setup,进行cvx的安装(要用命令进行安装,不要手动添加,也就是不要手动添加cvx工具到ma

MATLAB 安装 cvx 工具箱

步骤: matlab本身是没有cvx的工具箱,需要到[cvx主页],「http://cvxr.com/cvx/」上下载,菜单上有个「download」,进入后选择适合你的版本下载: 将cvx压缩包解压: 将cvx文件夹拷贝至如「C:\ProgramFiles\MATLAB\R2017a\Zdy Files」目录下: 在「Current Folder」窗口中打开cvx文件夹: 在「Command Window」中输入「cvx_setup」: 在「MATLAB的File」菜单下的「set path」

白话压缩感知(含Matlab代码)

压缩感知介绍 压缩感知(Compressive Sensing,CS),有时也叫成Compressive Sampling.相对于传统的奈奎斯特采样定理--要求采样频率必须是信号最高频率的两倍或两倍以上(这就要求信号是带限信号,通常在采样前使用低通滤波器使信号带限),压缩感知则利用数据的冗余特性,只采集少量的样本还原原始数据. 这所谓的冗余特性,借助MLSS2014马毅老师的课件上的例子来说明, 因为自然界的数据都存在局部低维结构.周期性.对称性等,因此,传统的固定采样率的采样方法必然存在信息冗

利用MATLAB进行曲线拟合

软件环境:MATLAB2013a 一.多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小. 在MATLAB中,利用函数ployfit和ployval进行多项式拟合. 函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n).其中x为自变量,y为因变量,n为多项式阶数. polyval的输入可以是标量或矩阵,调用格式为 pv = polyval(p,a) pv = pol

MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格

测试文件夹为: clear;close all;clc; %% %程序实现的功能 %检查指定路径中的子文件夹中的文件名中是否带有空格,并去掉文件名中的空格 %% %程序中用到的之前不清楚的函数如下 %1)strfind(a,b):即找a中是否有b,如果a中有b,则输出b的位置序号.没有输出空数组 %2)isempty(a):判断数组是否为空 %3)strrep(a,b,c):就是把a中所有出现的b换为c %4)movefile(a,b):a移动为b,如C:\test1.jpg移动为C\test2

关于MATLAB处理大数据坐标文件2017620

暑假已至,接下来组内成员将会各回各家,各找各妈,这肯定是对本次大数据比赛是很不利的. 接下来我会把任务分配给组员,当然任务会比起初的时候轻一点,因为我认为本次比赛的目的并不是我要求组员做什么,而是我的组员要求自己做什么! 我们现在主要接触的两门语言: MATLAB语言在数据处理方面很牛,它的画图功能也是杠杠的,尤其是3D画图 Python语言是一门近几年很火的语言,学好它对自己肯定只有益处,它的出生很晚,但是短短十多年,它已经稳居计算机语言前三名.尤其是现在的大数据时代,它的代码不仅简单易懂,而

linux用命令行运行matlab的.mat文件

入m文件所在目录后,运行 $ matlab -nodesktop -nosplash -r matlabfile 只用文件名matlabfile,不能添加.m

对AM信号FFT的matlab仿真

普通调幅波AM的频谱,大信号包络检波频谱分析 u(t)=Ucm(1+macos ?t)cos ?ct ma称为调幅系数 它的频谱由载波,上下边频组成 , 包络检波中二极管截去负半周再用电容低通滤波,可以得到基带信号,那么,截去负半周后的AM信号必定包含基带信号的频谱.我们可以通过matlab来验证. %已知基带信号为1hz,载波为64hz,调制系数ma=0.3,采样频率1024hz,FFT变换区间N为2048 clear; fs=1024; f=1; %1hz基带信号 fc=64; %64hz载