MacOS下载安装Gurobi10.0+并在jupyterLab中使用(python)

本文详述了作者从解决线性规划问题的需求出发,尝试使用scipy未果,转向开源的scip优化器但因网站问题无法访问,最后选择了Gurobi。Gurobi因其详尽的文档和免费的学术许可而被选用。文章重点介绍了如何通过学术邮箱注册,获取免费许可,以及在MacOS上的安装步骤,包括环境变量的配置和Jupyter中使用Gurobi的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起初是为了解决一个线性规划问题,实际上世面上的解决方法以及优化器也比较多。

开始想使用scipy库,因为比较方便,但是其功能似乎无法解决我的问题。(也可能是我没有仔细研究)

后来准备使用scip优化器, 主要它是开源的,也能比较好地解决我的问题,但不知道为什么其网站主页始终上不去。

所以最终选择使用Gurobi, 主要也是因为网站做的内容比较详细,文档全面, 相关博客也非常多,同时对于学术用途是免费使用的。 本篇文章主要是详细讲述安装过程以及其中博主遇到问题的一些解答,对于其他系统下载安装Gurobi也有借鉴的意义。

注: 详细操作借鉴了官方文档以及这篇博客

下载GUROBI

首先登录【官网】 注册账号

在这里插入图片描述
注册的时候使用大学的邮箱,注册完毕以后登录你的账号。

进入下载中心
在这里插入图片描述
进入页面以后,下拉你会看见如下几个选项:
选择第一个
你需要选择第一个

这里有许多版本,你可以选择你需要的版本进行下载, 当然页面上还有更老的版本
在这里插入图片描述

获取学术许可

GUROBI显然是对学术用途是免费的, 如果是连着校园网的情况下, 并且学校的网关已经对ip地址进行了学术机构认证,那么直接按照下面(1)操作就行了。
如果IP认证不成功,需要通过邮件的方式去获取激活码。
(1)
点击【Academic】
在这里插入图片描述

在这里插入图片描述
进入页面后下拉
在这里插入图片描述
选择这个single person single pc
在这里插入图片描述
然后我的情况就是审核不通过。
在这里插入图片描述
(2)发邮件的形式获取激活码
中国官网GUROBI
按照其教程一步步做即可,一般当天就能获得激活码。

安装注意事项

(1)其实大体步骤很简单, 就是cd到对应的文件夹,然后输入

grbgetkey  激活码  

不过macos 安装的时候, 安装流程你并不知道它把GUROBI装哪里了, 为此我到官网看了文档,这是官网文档
默认是安装在

"/Library/gurobi1002/macos_universal2" 

(2)注意要改环境变量
激活以后会产生一个许可文件gurobi.lic,产生的 gurobi.lic 许可文件保存在以下目录:
Windows 操作系统:把 gurobi.lic 文件放在 c:\gurobi 目录下;
Linux 操作系统: 把 gurobi.lic 文件放在 opt/gurobi 目录下;
Mac 操作系统: 把 gurobi.lic 放在 /Library/gurobi 目录下;
如果保存到其他位置,需要创建 GRB_LICENSE_FILE 系统环境变量(不是用户环境变量),指向保存的目录和文件名(例如 GRB_LICENSE_FILE = C:\myfolder\gurobi.lic)。需要重启电脑使之生效。如果既放置在了上面的默认搜索目录,又设置了 GRB_LICENSE_FILE 系统环境变量指向不同的目录和文件,Gurobi 会以 GRB_LICENSE_FILE 的设置为准。
(3) setup.py
文件夹中有个setup.py的文件, cd到目录下面以后

python setup.py install

它会将包安到你的默认搜索路径下面, 如下:

running install
running build
running build_py
creating build
creating build/lib
creating build/lib/gurobipy
copying lib/python3.9/gurobipy/__init__.py -> build/lib/gurobipy
copying lib/python3.9/gurobipy/gurobipy.so -> build/lib/gurobipy
running install_lib
creating /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gurobipy
copying build/lib/gurobipy/gurobipy.so -> /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gurobipy
copying build/lib/gurobipy/__init__.py -> /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gurobipy
byte-compiling /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gurobipy/__init__.py to __init__.cpython-39.pyc
running install_egg_info
Writing /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gurobipy-10.0.2-py3.9.egg-info
removing /Library/gurobi1002/macos_universal2/build

Jupyter中使用Gurobi

然后进入jupterLab运行程序
注:代码摘来自这篇博客

from gurobipy import *

try:
 
    # Create a new model
    m = Model("mip1")
 
    # Create variables
    x = m.addVar(vtype=GRB.BINARY, name="x")
    y = m.addVar(vtype=GRB.BINARY, name="y")
    z = m.addVar(vtype=GRB.BINARY, name="z")
 
    # Set objective
    m.setObjective(x + y + 2 * z, GRB.MAXIMIZE)
 
    # Add constraint: x + 2 y + 3 z <= 4
    m.addConstr(x + 2 * y + 3 * z <= 4, "c0")
 
    # Add constraint: x + y >= 1
    m.addConstr(x + y >= 1, "c1")
 
    m.optimize()
 
    for v in m.getVars():
        print(v.varName, v.x)
 
    print('Obj:', m.objVal)

except GurobiError:
    print('Error reported')

运行结果如下(安装成功):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值