当前位置: 首页 > news >正文

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 (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 中输入激活码即可。

 

转载于:https://www.cnblogs.com/lemonQ/p/8656455.html

相关文章:

  • MooseFS源代码分析(二)
  • 积累各种好的链接
  • 开肩
  • 2018网易在线笔试题
  • 面试题:Student s = new Student();在内存中做了哪些事情?即创建一个对象做了哪些事情...
  • Unity Shader-后处理:简单均值模糊
  • AppScan扫描
  • etcd使用入门(二)
  • 将被自然语言处理和文字分析颠覆的行业:法律,保险和客服
  • 16.1 Tomcat介绍;16.2 安装jdk;16.3 安装Tomcat
  • win10 为了对电脑进行保护,已经阻止此应用 解决方法
  • Hadoop实战项目:小文件合并
  • Apache Calcite Avatica 1.10.0 发布,动态数据管理框架
  • Ambari-单步创建cluster
  • worker模式 多线程实现
  • 【译】JS基础算法脚本:字符串结尾
  • 时间复杂度分析经典问题——最大子序列和
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【mysql】环境安装、服务启动、密码设置
  • Angular Elements 及其运作原理
  • Fabric架构演变之路
  • laravel5.5 视图共享数据
  • react 代码优化(一) ——事件处理
  • Service Worker
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 从伪并行的 Python 多线程说起
  • 番外篇1:在Windows环境下安装JDK
  • 入手阿里云新服务器的部署NODE
  • 手机端车牌号码键盘的vue组件
  • 手写双向链表LinkedList的几个常用功能
  • 我的业余项目总结
  • 写代码的正确姿势
  • 正则表达式小结
  • 终端用户监控:真实用户监控还是模拟监控?
  • Java总结 - String - 这篇请使劲喷我
  • linux 淘宝开源监控工具tsar
  • #Linux(帮助手册)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)(1.9) MSP (version 4.2)
  • (12)Hive调优——count distinct去重优化
  • (33)STM32——485实验笔记
  • (poj1.3.2)1791(构造法模拟)
  • (十)c52学习之旅-定时器实验
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)Mysql的优化设置
  • (转)setTimeout 和 setInterval 的区别
  • (转载)Linux网络编程入门
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core 控制台应用程序读取配置文件app.config