zoukankan      html  css  js  c++  java
  • 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 中输入激活码即可。

  • 相关阅读:
    Python staticmethod
    pandas通过字典生成dataframe
    关于series的统计
    python的*args与**kwargs
    python global
    matplotlib画子图时设置总标题
    matplotlib两种画散点图的方式
    idea下web工程的编译和输出设置
    Vue&webpack入门实践
    《图解设计模式》读书笔记6-1 VISITOR模式
  • 原文地址:https://www.cnblogs.com/lemonQ/p/8656455.html
Copyright © 2011-2022 走看看